* [gentoo-commits] proj/musl:master commit in: app-editors/emacs/, app-editors/emacs/files/
@ 2017-04-06 21:59 Aric Belsito
0 siblings, 0 replies; 2+ messages in thread
From: Aric Belsito @ 2017-04-06 21:59 UTC (permalink / raw
To: gentoo-commits
commit: a8d338d9fe131f0cfcf71737cb8cce9a506ddf8b
Author: Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Thu Apr 6 21:58:11 2017 +0000
Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Thu Apr 6 21:59:36 2017 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=a8d338d9
app-editors/emacs: sync with tree
Drop r99 suffix.
app-editors/emacs/Manifest | 7 +-
...{emacs-24.5-r99.ebuild => emacs-24.5-r3.ebuild} | 52 ++++++-------
app-editors/emacs/files/emacs-24.3-stderr.patch | 4 +-
app-editors/emacs/files/preload.c | 88 ----------------------
4 files changed, 28 insertions(+), 123 deletions(-)
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
index bd935ec..de94e07 100644
--- a/app-editors/emacs/Manifest
+++ b/app-editors/emacs/Manifest
@@ -1,10 +1,9 @@
AUX emacs-24.3-alloc-invalid-frees.patch 1312 SHA256 f9d44c64663d546bfd1010230f8f7cdfdbce1d7320bf166d86045ff00ec6d498 SHA512 197c2146a2c6a820b8d01fa48e306c8ee083c2407d83589e0b18be8453e03438be1c64a010c06b9d68f2393ae4cccf86780ce8b17cd42335847f91f671ffaf2d WHIRLPOOL 2eb68ff289594b56117a26001b556c808336805771d62344183f9387aa459cb549e90476ae3f0216f0d42cdc1610b5de729d9cb8d19fb2cce679b39c196c7603
-AUX emacs-24.3-stderr.patch 277 SHA256 1fc337fac4e28cf20eed65f88cfcf94b46339408cceadc8a0d17bce969ae6d3a SHA512 370cb1d053530824050eec6b9f02f0eed0e91270940551712f7308ffd4657bba39513d9ab94d47306bbac1e507283a97326e6f366e47f64d093e794a25684b56 WHIRLPOOL 8ad5ab8c6cdaea01fcd784ef3993fbdd9c8e00d2f6aa12c70fc63a8da0e7e1513be45f74aa7b415c1b488cc73c9a1d2fc1f5c0283bfc0ad0a3417bd183bbb92d
+AUX emacs-24.3-stderr.patch 278 SHA256 ca8f431a822b0ae6e82e1600e5943a150ff18b0bfdf16ba2762a8b4aa715f276 SHA512 19c5f6292361f19649add12994b6179575962cefad50826d1584aab3a2d367ed38b2a6e9f733c12dda462dde72b1dd9465c62850ea572d728ea797a1db8f188f WHIRLPOOL 9e049bbd4356aa363b7118e92445bb47429ab5761987e83f495a03891c1a0217863356c4a2d3421e32834b5db2271ada3382fccffdb52244ba782e139e396930
AUX emacs-24.4-configure.patch 334 SHA256 696710ea84e88a364bd89c9c66393b01b2b8782d2bd0fc08166e64b67b24b0fe SHA512 d75df3a772713e08b45759b58c92944a1719ce291069f111d296b15c7de86f7a9a89d023fa3ccd191390d8a79a671d0a60116f039cf6f57ebeeb7baa14f7af29 WHIRLPOOL 6420f6a5f8009096aa71f2e64d920dec6a1436bbb83c26c2a0d4180555b6e251ebfa92be801ddcf70bd840cb9afd56f99a84ad50be7361289baefe83e35ca52b
AUX emacs-24.4-lisp.patch 421 SHA256 da45d30d4e305ba5220749d3ac884aaeac395bc896839a5e7a24fb112912cbff SHA512 7dda7632f7af4207c94bf2b4384d07bb13ef4562ade02393c668b35ff48d7b64d95a9c05d8700c2ba272abf69e8b9c38a690b10afa86b8857a2ba34cb344f3a3 WHIRLPOOL 28e3346a1b47f8421d56ec37005a806828f1f6995cd4dc213ac8a6011457a7d1d0524f8418a2801e176c5ea09cb5910cd6432a55c592d679f7752c3df23ca339
AUX emacs-24.4-preload-hack.patch 343 SHA256 289febdc960bee609514fe5291fb3d60cc9b505345853370aa94b9bd9ccb5fd2 SHA512 ee765cc9f3a84b48c00a0c8a36934af6da737fa6b9f9d993e0e5e1c8b9f05cf7b1f96c260daba10e4b4df149abcf8ea125cf8d6ebbe5e2c0d508007e381ecd6b WHIRLPOOL f5c1c6313392325949edc955d9f1b3dc74395ff18cd214f5bef6f8f77ce1975233c870101a03d5218da007a61f3107474ef461d129313b00b07da762970b749a
-AUX preload.c 1868 SHA256 3498abf641e809c06bf6a265d54880e93ee31f7abf81210856b6dbef7d267129 SHA512 6268255b7afa8455ad7ce63ef6f01a7d114b53fbb3dc557b187de0ee6514b33b3419d70b8d7984dc289f5eed075a30b508133147821f77c4345df5cbd62e616e WHIRLPOOL 0c72d97de94cf5e1cf6a8ee4f8f42800d63f35465ea22f8c409857620ecc37e304ff6c2c4670659a063e5f275488fcdd1b45226d9d0130c4506480df7708bff6
-DIST emacs-24.5-patches-1.tar.xz 3744 SHA256 dbcad232dff47e5540fff33351d76a92165e3d379a9c1fe52c04268a1ae245f8 SHA512 0c17546211493a521eec026e05722ebfa0988d2d97c916f8ddbe4d54220fbb6256cb8ad76769a8832fe7028051ecfe04d8ac46da71d7c5a6d2906b57466496db WHIRLPOOL 29cbd3513a62b025994918c6fbf86d70e282dfc0b1fc70639afcf356946e7c46ecc099a552e3735346d6b13c494db93246605eff002c34f1d0859ac04f1025fe
+DIST emacs-24.5-patches-3.tar.xz 12500 SHA256 4927e037141c0c242d0d6d3aa7dfde140faae361aa556e6ded64b7ab26819f07 SHA512 9bddca3d4a67b57ca03c26fbca378def345592a95c40e868fc47fd9944ed0f750bc30f3a4d588a8a0b4c90daa6c9ed63b56182e8d2d87b4c8d849bf834ead1cc WHIRLPOOL c16cbfda1040b205ced4c1ed120aad6f65285fb315ce89dc936e6a357fbc8f9215fb178b696d2a914c53c6869384f0b1b56fcb6b84c5438f026101b4989de6c5
DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3
-EBUILD emacs-24.5-r99.ebuild 11260 SHA256 c751b63ac327a79cbd3970d9014936b597c68d9b15cb13244cfd065a92682d85 SHA512 e7cfa88e9006e7c0b40d5d8c38689c0b695eebc4d8d95bb6778ae24e56d35e9d06b76eac90e721721292bd14dd7699b4fc4da8254258c4907758167408b81d82 WHIRLPOOL e9de6b45f6fe38518dc88dcbb758f037f43e2f808877a9ad2fa814389c0883fd65052db9ae0727d945c172c51db0dd340e72360b8e040c801aa8e448d3128cf6
+EBUILD emacs-24.5-r3.ebuild 11297 SHA256 9c0a7e05ebd9cb5995f3baad0d14d906c9b80d83d4277c9d8594796e29aec495 SHA512 4f63e74f1fdb760e54b5fd874772872c25b2d4a8486d25223f651e814d37090e4b63731fe2a7ea9afc8e23e1b6941f26ab88886df35b26bcb87fef6c1e9376e0 WHIRLPOOL 330dd385d43183b74f94894499566920ea22c6a858ac7971ceb5f9f1eb33d3047563135f68a7a90cfe690c9a07738a1aef6a059f9a06213b432d4e3a3b641129
MISC metadata.xml 2576 SHA256 2ea79bae728183789a3619b7d1e02422125237513dcc8ab2c7e3580011d4ff59 SHA512 e1af4c39ed9ff2ccad79bb0401809ed433fb30836270ddc76937bffcc3688b32e5d8dc29f23c0c01facdcaa069acf73fa0b75e33f26dc075cd79afb49f46c37c WHIRLPOOL 3dce181c54e30d66ed75abad7ced29949105a435f0b1f669c95f267466d97d6da92b3f3d200c4d711c7633dcadef1a5fb2e8d9a71288999db693fcb669c724dd
diff --git a/app-editors/emacs/emacs-24.5-r99.ebuild b/app-editors/emacs/emacs-24.5-r3.ebuild
similarity index 89%
rename from app-editors/emacs/emacs-24.5-r99.ebuild
rename to app-editors/emacs/emacs-24.5-r3.ebuild
index d2d27e6..a83f805 100644
--- a/app-editors/emacs/emacs-24.5-r99.ebuild
+++ b/app-editors/emacs/emacs-24.5-r3.ebuild
@@ -1,36 +1,35 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id$
-EAPI=5
+EAPI=6
-inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
HOMEPAGE="https://www.gnu.org/software/emacs/"
SRC_URI="mirror://gnu/emacs/${P}.tar.xz
- https://dev.gentoo.org/~ulm/emacs/${P}-patches-1.tar.xz"
+ https://dev.gentoo.org/~ulm/emacs/${P}-patches-3.tar.xz"
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
SLOT="24"
-KEYWORDS="amd64 arm ~mips ppc x86"
-IUSE="acl alsa aqua athena dbus games gconf gfile gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
REQUIRED_USE="?? ( aqua X )"
-RDEPEND="sys-libs/ncurses:0
+RDEPEND="sys-libs/ncurses:0=
>=app-eselect/eselect-emacs-1.16
>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
net-libs/liblockfile
acl? ( virtual/acl )
alsa? ( media-libs/alsa-lib )
dbus? ( sys-apps/dbus )
- gfile? ( >=dev-libs/glib-2.28.6 )
- gnutls? ( net-libs/gnutls )
gpm? ( sys-libs/gpm )
hesiod? ( net-dns/hesiod )
+ !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
kerberos? ( virtual/krb5 )
libxml2? ( >=dev-libs/libxml2-2.2.0 )
selinux? ( sys-libs/libselinux )
+ ssl? ( net-libs/gnutls )
zlib? ( sys-libs/zlib )
X? (
x11-libs/libXmu
@@ -38,13 +37,13 @@ RDEPEND="sys-libs/ncurses:0
x11-misc/xbitmaps
gconf? ( >=gnome-base/gconf-2.26.2 )
gsettings? ( >=dev-libs/glib-2.28.6 )
- gif? ( media-libs/giflib )
+ gif? ( media-libs/giflib:0= )
jpeg? ( virtual/jpeg:0= )
png? ( >=media-libs/libpng-1.4:0= )
svg? ( >=gnome-base/librsvg-2.0 )
tiff? ( media-libs/tiff:0 )
xpm? ( x11-libs/libXpm )
- imagemagick? ( >=media-gfx/imagemagick-6.6.2 )
+ imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
xft? (
media-libs/fontconfig
media-libs/freetype
@@ -70,10 +69,7 @@ RDEPEND="sys-libs/ncurses:0
DEPEND="${RDEPEND}
virtual/pkgconfig
gzip-el? ( app-arch/gzip )
- pax_kernel? (
- sys-apps/attr
- sys-apps/paxctl
- )"
+ pax_kernel? ( sys-apps/attr )"
RDEPEND="${RDEPEND}
!<app-editors/emacs-vcs-${PV}"
@@ -87,21 +83,22 @@ FULL_VERSION="${PV%%_*}"
S="${WORKDIR}/emacs-${FULL_VERSION}"
src_prepare() {
- EPATCH_SUFFIX=patch epatch
+ eapply ../patch
- epatch "${FILESDIR}/${PN}-24.3-stderr.patch"
- epatch "${FILESDIR}/${PN}-24.3-alloc-invalid-frees.patch"
- epatch "${FILESDIR}/${PN}-24.4-configure.patch"
- epatch "${FILESDIR}/${PN}-24.4-preload-hack.patch"
- epatch "${FILESDIR}/${PN}-24.4-lisp.patch"
+ eapply "${FILESDIR}/${PN}-24.3-stderr.patch"
+ eapply "${FILESDIR}/${PN}-24.3-alloc-invalid-frees.patch"
+ eapply "${FILESDIR}/${PN}-24.4-configure.patch"
+ eapply "${FILESDIR}/${PN}-24.4-preload-hack.patch"
+ eapply "${FILESDIR}/${PN}-24.4-lisp.patch"
- epatch_user
+ eapply_user
# Fix filename reference in redirected man page
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
|| die "unable to sed ctags.1"
AT_M4DIR=m4 eautoreconf
+ touch src/stamp-h.in || die
}
src_configure() {
@@ -150,7 +147,7 @@ src_configure() {
"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
fi
- local f
+ local f line
if use gtk; then
einfo "Configuring to build with GIMP Toolkit (GTK+)"
while read line; do ewarn "${line}"; done <<-EOF
@@ -200,24 +197,21 @@ src_configure() {
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
--with-gameuser=":gamestat" \
--without-compress-install \
- --with-file-notification=$(usev gfile || usev inotify || echo no) \
+ --with-file-notification=$(usev inotify || usev gfile || echo no) \
$(use_enable acl) \
$(use_with dbus) \
- $(use_with gnutls) \
$(use_with gpm) \
$(use_with hesiod) \
$(use_with kerberos) $(use_with kerberos kerberos5) \
$(use_with libxml2 xml2) \
$(use_with selinux) \
+ $(use_with ssl gnutls) \
$(use_with wide-int) \
$(use_with zlib) \
${myconf}
}
src_compile() {
- # compile preload hack
- $(tc-getCC) -shared -fPIC -o preload.so "${FILESDIR}/preload.c" || die
-
export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
emake
}
diff --git a/app-editors/emacs/files/emacs-24.3-stderr.patch b/app-editors/emacs/files/emacs-24.3-stderr.patch
index a3beb9f..8c7d552 100644
--- a/app-editors/emacs/files/emacs-24.3-stderr.patch
+++ b/app-editors/emacs/files/emacs-24.3-stderr.patch
@@ -1,5 +1,5 @@
---- a/emacs-24.3/src/print.c
-+++ b/emacs-24.3/src/print.c
+--- emacs-24.3.orig/src/print.c
++++ emacs-24.3/src/print.c
@@ -733,7 +733,7 @@
print_output_debug_flag = x;
}
diff --git a/app-editors/emacs/files/preload.c b/app-editors/emacs/files/preload.c
deleted file mode 100644
index 65cdcef..0000000
--- a/app-editors/emacs/files/preload.c
+++ /dev/null
@@ -1,88 +0,0 @@
-// http://www.openwall.com/lists/musl/2015/02/03/1
-#include <pthread.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dlfcn.h>
-#include <unistd.h>
-#include <stdio.h>
-
-static void *(*real_malloc)(size_t);
-static void *initial_brk;
-
-static pthread_once_t once_control[1];
-static void once_func()
-{
- real_malloc = dlsym(RTLD_NEXT, "malloc");
- initial_brk = sbrk(0);
-}
-
-static int cmp(const void *a, const void *b)
-{
- void *aa = *(void **)a, *bb = *(void **)b;
- return aa < bb ? -1 : aa > bb ? 1 : 0;
-}
-
-void *malloc(size_t n)
-{
- size_t i, j, k;
- pthread_once(once_control, once_func);
- if (n < 100000 || n > (size_t)-1/2) {
- void *p;
- do p = real_malloc(n);
- while (p > sbrk(0) || (p && p < initial_brk));
- return p;
- }
- size_t cnt = n/16384;
- void **list = real_malloc(sizeof *list * cnt);
- if (!list) return 0;
- for (i=0; i<cnt; i++) list[i] = 0;
- for (i=0; i<cnt; i++) {
- list[i] = real_malloc(65536 - 2*sizeof(size_t));
- if (!list[i]) goto fail;
- if (i<cnt/4) continue;
- size_t base = 0;
- qsort(list, i+1, sizeof(void *), cmp);
- for (j=0; j<i; j++) {
- char *p = list[base];
- char *s = list[j];
- char *z = list[j+1];
- if (z-s > 65536) {
- base = j+1;
- continue;
- }
- if (z-p < n+64) {
- continue;
- }
- for (k=0; k<base; k++) free(list[k]);
- *(size_t *)(p-sizeof(size_t)) = z-p | 1;
- *(size_t *)(z-2*sizeof(size_t)) = z-p | 1;
- for (k=j+1; k<i+1; k++) free(list[k]);
- free(list);
- return p;
- }
- }
-fail:
- for (i=0; i<cnt; i++) free(list[i]);
- free(list);
- return 0;
-}
-
-void *calloc(size_t n, size_t m)
-{
- if ((size_t)-1/n <= m) n *= m;
- else n = (size_t)-1;
- void *p = malloc(n);
- if (p) memset(p, 0, n);
- return p;
-}
-
-void *realloc(void *p, size_t n)
-{
- void *q = malloc(n);
- if (!q) return 0;
- size_t l = *(size_t *)((char *)p - sizeof(size_t)) & -8;
- memcpy(q, p, l<n ? l : n);
- free(p);
- return q;
-}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/musl:master commit in: app-editors/emacs/, app-editors/emacs/files/
@ 2017-04-06 22:04 Aric Belsito
0 siblings, 0 replies; 2+ messages in thread
From: Aric Belsito @ 2017-04-06 22:04 UTC (permalink / raw
To: gentoo-commits
commit: 1e9fa4be730271d32f38376cbab2691500efb94e
Author: Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Thu Apr 6 22:04:26 2017 +0000
Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Thu Apr 6 22:04:26 2017 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=1e9fa4be
app-editors/emacs: restore preload hack
app-editors/emacs/Manifest | 3 +-
app-editors/emacs/emacs-24.5-r3.ebuild | 3 ++
app-editors/emacs/files/preload.c | 88 ++++++++++++++++++++++++++++++++++
3 files changed, 93 insertions(+), 1 deletion(-)
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
index de94e07..f72390d 100644
--- a/app-editors/emacs/Manifest
+++ b/app-editors/emacs/Manifest
@@ -3,7 +3,8 @@ AUX emacs-24.3-stderr.patch 278 SHA256 ca8f431a822b0ae6e82e1600e5943a150ff18b0bf
AUX emacs-24.4-configure.patch 334 SHA256 696710ea84e88a364bd89c9c66393b01b2b8782d2bd0fc08166e64b67b24b0fe SHA512 d75df3a772713e08b45759b58c92944a1719ce291069f111d296b15c7de86f7a9a89d023fa3ccd191390d8a79a671d0a60116f039cf6f57ebeeb7baa14f7af29 WHIRLPOOL 6420f6a5f8009096aa71f2e64d920dec6a1436bbb83c26c2a0d4180555b6e251ebfa92be801ddcf70bd840cb9afd56f99a84ad50be7361289baefe83e35ca52b
AUX emacs-24.4-lisp.patch 421 SHA256 da45d30d4e305ba5220749d3ac884aaeac395bc896839a5e7a24fb112912cbff SHA512 7dda7632f7af4207c94bf2b4384d07bb13ef4562ade02393c668b35ff48d7b64d95a9c05d8700c2ba272abf69e8b9c38a690b10afa86b8857a2ba34cb344f3a3 WHIRLPOOL 28e3346a1b47f8421d56ec37005a806828f1f6995cd4dc213ac8a6011457a7d1d0524f8418a2801e176c5ea09cb5910cd6432a55c592d679f7752c3df23ca339
AUX emacs-24.4-preload-hack.patch 343 SHA256 289febdc960bee609514fe5291fb3d60cc9b505345853370aa94b9bd9ccb5fd2 SHA512 ee765cc9f3a84b48c00a0c8a36934af6da737fa6b9f9d993e0e5e1c8b9f05cf7b1f96c260daba10e4b4df149abcf8ea125cf8d6ebbe5e2c0d508007e381ecd6b WHIRLPOOL f5c1c6313392325949edc955d9f1b3dc74395ff18cd214f5bef6f8f77ce1975233c870101a03d5218da007a61f3107474ef461d129313b00b07da762970b749a
+AUX preload.c 1868 SHA256 3498abf641e809c06bf6a265d54880e93ee31f7abf81210856b6dbef7d267129 SHA512 6268255b7afa8455ad7ce63ef6f01a7d114b53fbb3dc557b187de0ee6514b33b3419d70b8d7984dc289f5eed075a30b508133147821f77c4345df5cbd62e616e WHIRLPOOL 0c72d97de94cf5e1cf6a8ee4f8f42800d63f35465ea22f8c409857620ecc37e304ff6c2c4670659a063e5f275488fcdd1b45226d9d0130c4506480df7708bff6
DIST emacs-24.5-patches-3.tar.xz 12500 SHA256 4927e037141c0c242d0d6d3aa7dfde140faae361aa556e6ded64b7ab26819f07 SHA512 9bddca3d4a67b57ca03c26fbca378def345592a95c40e868fc47fd9944ed0f750bc30f3a4d588a8a0b4c90daa6c9ed63b56182e8d2d87b4c8d849bf834ead1cc WHIRLPOOL c16cbfda1040b205ced4c1ed120aad6f65285fb315ce89dc936e6a357fbc8f9215fb178b696d2a914c53c6869384f0b1b56fcb6b84c5438f026101b4989de6c5
DIST emacs-24.5.tar.xz 39759804 SHA256 dd47d71dd2a526cf6b47cb49af793ec2e26af69a0951cc40e43ae290eacfc34e SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 WHIRLPOOL 3d9f8fb840f4c846246e642369f967ba0ec357c7cf718ed865523a3cd39605ba14b8c15fc9ae3f076c27e5b6e41fcb681d15f1c6ffc5934430c0a2bf47c233a3
-EBUILD emacs-24.5-r3.ebuild 11297 SHA256 9c0a7e05ebd9cb5995f3baad0d14d906c9b80d83d4277c9d8594796e29aec495 SHA512 4f63e74f1fdb760e54b5fd874772872c25b2d4a8486d25223f651e814d37090e4b63731fe2a7ea9afc8e23e1b6941f26ab88886df35b26bcb87fef6c1e9376e0 WHIRLPOOL 330dd385d43183b74f94894499566920ea22c6a858ac7971ceb5f9f1eb33d3047563135f68a7a90cfe690c9a07738a1aef6a059f9a06213b432d4e3a3b641129
+EBUILD emacs-24.5-r3.ebuild 11394 SHA256 3cacb6d7d80c231fbf91672bec23459e926b11055fe060fda90d471cc3a67380 SHA512 686c87909c5f7381da890f8fd3fb89b320584ee498fbe0afdd2565d17e99fb4c7e5ec4884e0752d06befa8739434d170e894a3c4b634d5d34a3803b70778201b WHIRLPOOL a9b17e5391e6c9a03a8c912b8e7177bac316b6111b5834d77d8b79ff61e3a84e5afde3a670099169cd11413e1d7ef66bf913c282ec722d9f1776947088ed69aa
MISC metadata.xml 2576 SHA256 2ea79bae728183789a3619b7d1e02422125237513dcc8ab2c7e3580011d4ff59 SHA512 e1af4c39ed9ff2ccad79bb0401809ed433fb30836270ddc76937bffcc3688b32e5d8dc29f23c0c01facdcaa069acf73fa0b75e33f26dc075cd79afb49f46c37c WHIRLPOOL 3dce181c54e30d66ed75abad7ced29949105a435f0b1f669c95f267466d97d6da92b3f3d200c4d711c7633dcadef1a5fb2e8d9a71288999db693fcb669c724dd
diff --git a/app-editors/emacs/emacs-24.5-r3.ebuild b/app-editors/emacs/emacs-24.5-r3.ebuild
index a83f805..41e240d 100644
--- a/app-editors/emacs/emacs-24.5-r3.ebuild
+++ b/app-editors/emacs/emacs-24.5-r3.ebuild
@@ -212,6 +212,9 @@ src_configure() {
}
src_compile() {
+ # compile preload hack
+ $(tc-getCC) -shared -fPIC -o preload.so "${FILESDIR}/preload.c" || die
+
export SANDBOX_ON=0 # for the unbelievers, see Bug #131505
emake
}
diff --git a/app-editors/emacs/files/preload.c b/app-editors/emacs/files/preload.c
new file mode 100644
index 0000000..65cdcef
--- /dev/null
+++ b/app-editors/emacs/files/preload.c
@@ -0,0 +1,88 @@
+// http://www.openwall.com/lists/musl/2015/02/03/1
+#include <pthread.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+#include <unistd.h>
+#include <stdio.h>
+
+static void *(*real_malloc)(size_t);
+static void *initial_brk;
+
+static pthread_once_t once_control[1];
+static void once_func()
+{
+ real_malloc = dlsym(RTLD_NEXT, "malloc");
+ initial_brk = sbrk(0);
+}
+
+static int cmp(const void *a, const void *b)
+{
+ void *aa = *(void **)a, *bb = *(void **)b;
+ return aa < bb ? -1 : aa > bb ? 1 : 0;
+}
+
+void *malloc(size_t n)
+{
+ size_t i, j, k;
+ pthread_once(once_control, once_func);
+ if (n < 100000 || n > (size_t)-1/2) {
+ void *p;
+ do p = real_malloc(n);
+ while (p > sbrk(0) || (p && p < initial_brk));
+ return p;
+ }
+ size_t cnt = n/16384;
+ void **list = real_malloc(sizeof *list * cnt);
+ if (!list) return 0;
+ for (i=0; i<cnt; i++) list[i] = 0;
+ for (i=0; i<cnt; i++) {
+ list[i] = real_malloc(65536 - 2*sizeof(size_t));
+ if (!list[i]) goto fail;
+ if (i<cnt/4) continue;
+ size_t base = 0;
+ qsort(list, i+1, sizeof(void *), cmp);
+ for (j=0; j<i; j++) {
+ char *p = list[base];
+ char *s = list[j];
+ char *z = list[j+1];
+ if (z-s > 65536) {
+ base = j+1;
+ continue;
+ }
+ if (z-p < n+64) {
+ continue;
+ }
+ for (k=0; k<base; k++) free(list[k]);
+ *(size_t *)(p-sizeof(size_t)) = z-p | 1;
+ *(size_t *)(z-2*sizeof(size_t)) = z-p | 1;
+ for (k=j+1; k<i+1; k++) free(list[k]);
+ free(list);
+ return p;
+ }
+ }
+fail:
+ for (i=0; i<cnt; i++) free(list[i]);
+ free(list);
+ return 0;
+}
+
+void *calloc(size_t n, size_t m)
+{
+ if ((size_t)-1/n <= m) n *= m;
+ else n = (size_t)-1;
+ void *p = malloc(n);
+ if (p) memset(p, 0, n);
+ return p;
+}
+
+void *realloc(void *p, size_t n)
+{
+ void *q = malloc(n);
+ if (!q) return 0;
+ size_t l = *(size_t *)((char *)p - sizeof(size_t)) & -8;
+ memcpy(q, p, l<n ? l : n);
+ free(p);
+ return q;
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-04-06 22:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-06 21:59 [gentoo-commits] proj/musl:master commit in: app-editors/emacs/, app-editors/emacs/files/ Aric Belsito
-- strict thread matches above, loose matches on Subject: below --
2017-04-06 22:04 Aric Belsito
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox