From: Ulrich Müller Date: Mon, 19 Dec 2011 07:38:20 +0000 (+0000) Subject: Fix linking failure on amd64, bug 395223. Respect LDFLAGS. Move binaries from /usr... X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=1ef720740feb7d7860f5e0a77870e956c8292a75;p=gentoo.git Fix linking failure on amd64, bug 395223. Respect LDFLAGS. Move binaries from /usr/share to /usr/libexec. Move GNU Info files to /usr/share/info. Don't install C source files in etc. Package-Manager: portage-2.1.10.41/cvs/Linux x86_64 --- diff --git a/app-editors/emacs/ChangeLog b/app-editors/emacs/ChangeLog index 24f08411512c..9d513506e9e5 100644 --- a/app-editors/emacs/ChangeLog +++ b/app-editors/emacs/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-editors/emacs # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.445 2011/12/14 18:31:35 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.446 2011/12/19 07:38:20 ulm Exp $ + +*emacs-18.59-r7 (19 Dec 2011) + + 19 Dec 2011; Ulrich Mueller +emacs-18.59-r7.ebuild: + Fix linking failure on amd64, bug 395223. Respect LDFLAGS. Move binaries + from /usr/share to /usr/libexec. Move GNU Info files to /usr/share/info. + Don't install C source files in etc. 14 Dec 2011; Fabian Groffen emacs-23.3-r3.ebuild: Fix out-of-prefix issue due to locallisppath, thanks MATSUI Tetsushi in bug diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest index 0fa98a6acc99..ad11a70c0972 100644 --- a/app-editors/emacs/Manifest +++ b/app-editors/emacs/Manifest @@ -14,17 +14,18 @@ DIST emacs-23.3-patches-3.tar.bz2 14783 RMD160 5a609bfded363d63f6146c482881d63ea DIST emacs-23.3a.tar.bz2 38748283 RMD160 21f201714bca420c3a8fed8c92058cec786e724e SHA1 795bdfa372e42b9589a80f6dcb2ad8fed65b90e4 SHA256 9f4beee3bf4987914d57851c0aac017cb92a1410c2b31ba313265c64a38cc6ba DIST leim-21.4.tar.gz 3291433 RMD160 89e1108bfe06425a0d6b4d941f9c297551bafcca SHA1 dd63f9aca1a58d40d9d426dd410fb627230974f7 SHA256 db24946985dd644bfed18815d6e991dad27f8ab1fd5823dd6dc4eb8dcd04333b EBUILD emacs-18.59-r6.ebuild 2736 RMD160 23d2b7c5cbf0deb8d76035a77fe803206581a810 SHA1 997a0271b8b4114867b308843180a59ab03fcf63 SHA256 bcc584e1ee5a50c6a6539458acf0ce229f79981430fe624e4f0301c63ddaf14a +EBUILD emacs-18.59-r7.ebuild 4269 RMD160 a2973caf8af08ef4b51529d52381b8fcd66980db SHA1 5a75c5ae5375a22f85c8a7cf05dc3196598a1981 SHA256 60896c3ed60b69dfd640e3f428f22438e6525c8aa7e373b759a1aa4148c03129 EBUILD emacs-21.4-r23.ebuild 5010 RMD160 2b7019a59d7ba82a320c8464c3c2b6c098410b5a SHA1 04e1932afc02456234eb46ffc0baa35681162a7e SHA256 263a626ed20b87ae8f19b136ce75f90d9f188e4a69d8bcfdbef540b419f9b693 EBUILD emacs-22.3-r8.ebuild 7832 RMD160 d74e25b91dbe8783930d1647dec3cf8e44b49b17 SHA1 92e6d6b50578faf6f669e6b2389d7599712048e9 SHA256 b9a75b8b6f468f984441ab725779ff581c8ddbfa14ccff404cc11381d0db741b EBUILD emacs-23.3-r1.ebuild 10301 RMD160 885b752594822d1425e3afe95e997ea9fb5a2776 SHA1 90bcec933661eb0f5066a6ae679ecdb6b7ac42d0 SHA256 93cf3fe5516ed9b9f0e06ae9de0472e55c47d89d0c7824da5269e71d548e4d0c EBUILD emacs-23.3-r2.ebuild 10656 RMD160 015444a016093e78a11dec0ad71857e1fcc7ef61 SHA1 600b0741c75f0bc0ab246380ce1d105c83186cd3 SHA256 821938b07f1303e0b0a2a8751f1d98760c4623bb87817c722c9f8e60a9f6d106 EBUILD emacs-23.3-r3.ebuild 10418 RMD160 614088e8d707016d832304080cc8a18c767c85c1 SHA1 78086accf5e921d31de5da9cdc848e100776a058 SHA256 dad8aef6845189bdaa6456b046a70824041f3a24ff5d02905a3db042d309ce45 -MISC ChangeLog 63798 RMD160 166a28aabd57490637427fd52f828c15b045b038 SHA1 174e9b4c54e25800cf43da3b429fca4c9010b72b SHA256 e5641e6d666dc9a4b42136448b4faf3b2ec3adcf52304eb7c82706109cf4aac0 +MISC ChangeLog 64086 RMD160 2ce57174b11f87fb40d65e7e702f31423febba5b SHA1 e3c914b105ce0785bb6293801ac5855c3409588c SHA256 12cfb345a11a1b2b8aae735b04823e449cbca258f486277888a8a139b2448ddb MISC metadata.xml 1644 RMD160 911d63b0a921d248984f3c5efeb1922f05aa5111 SHA1 7281388d7c274016274e888d97821fda9e5c958c SHA256 7c703ad3af721dfa1d9737f78cd848b7c69a7b906ead5c5fe8fd1db23a1d3166 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.18 (Darwin) +Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk7o64wACgkQX3X2B8XHTolbagCgiHUKD3UMXDI5Mw0N/15KXtxk -z9AAnivepdD4P2OopiC01M7ZHJaq1yjT -=aGWK +iEYEARECAAYFAk7u7E0ACgkQOeoy/oIi7uzwkgCgvvqPAFs0qAI7EJjwBHVwrEOu +cDUAnRI+OOJL8NLO33XlRXOKOrlN79Cw +=bZnq -----END PGP SIGNATURE----- diff --git a/app-editors/emacs/emacs-18.59-r7.ebuild b/app-editors/emacs/emacs-18.59-r7.ebuild new file mode 100644 index 000000000000..7436e691b786 --- /dev/null +++ b/app-editors/emacs/emacs-18.59-r7.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-18.59-r7.ebuild,v 1.1 2011/12/19 07:38:20 ulm Exp $ + +EAPI=4 + +inherit eutils toolchain-funcs flag-o-matic multilib + +DESCRIPTION="The extensible self-documenting text editor" +HOMEPAGE="http://www.gnu.org/software/emacs/" +SRC_URI="mirror://gnu/old-gnu/emacs/${P}.tar.gz + ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz + mirror://gentoo/${P}-patches-5.tar.bz2" + +LICENSE="GPL-1 GPL-2 BSD" #as-is +SLOT="18" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="sys-libs/ncurses + >=app-admin/eselect-emacs-1.2 + amd64? ( app-emulation/emul-linux-x86-baselibs )" +# X? ( x11-libs/libX11[-xcb] ) +DEPEND="${RDEPEND}" + +src_prepare() { + epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff" + EPATCH_SUFFIX=patch epatch +} + +src_configure() { + # autoconf? What's autoconf? We are living in 1992. ;-) + local arch + case ${ARCH} in + amd64) arch=intel386; multilib_toolchain_setup x86 ;; + x86) arch=intel386 ;; + *) die "Architecture ${arch} not supported" ;; + esac + local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/" + #use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/" + sed -e "${cmd}" src/config.h-dist >src/config.h + + cat <<-END >src/paths.h + #define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp" + #define PATH_EXEC "/usr/share/emacs/${PV}/etc" + #define PATH_LOCK "/var/lib/emacs/lock/" + #define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!" + END + + sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \ + src/s-linux.h || die + + # -O3 and -finline-functions cause segmentation faults at run time. + filter-flags -finline-functions + replace-flags -O[3-9] -O2 + strip-flags +} + +src_compile() { + # Do not use the sandbox, or the dumped Emacs will be twice as large + export SANDBOX_ON=0 + emake --jobs=1 CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${LDFLAGS}" etc + emake --jobs=1 \ + CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \ + LD="$(tc-getCC)" LDFLAGS="-nostdlib ${LDFLAGS}" +} + +src_install() { + local basedir="/usr/share/emacs/${PV}" i + + dodir ${basedir} + dodir /usr/share/man/man1 + emake --jobs=1 \ + LIBDIR="${D}"${basedir} \ + BINDIR="${D}"/usr/bin \ + MANDIR="${D}"/usr/share/man/man1 \ + install + + rmdir "${D}"${basedir}/lock || die + find "${D}"${basedir} -type f \ + \( -name ChangeLog -o -name COPYING -o -name "*.c" \) \ + -exec rm "{}" + || die + fperms -R go-w ${basedir} + + # move executables to the correct place + mv "${D}"/usr/bin/emacs{,-${SLOT}} || die + for i in etags ctags emacsclient; do + mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die + rm "${D}"${basedir}/etc/${i} || die + done + + dodir /usr/libexec/emacs/${PV}/${CHOST} + for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \ + yow env server + do + mv "${D}"${basedir}/etc/${i} \ + "${D}"/usr/libexec/emacs/${PV}/${CHOST}/${i} || die + dosym ../../../../libexec/emacs/${PV}/${CHOST}/${i} ${basedir}/etc/${i} + done + for i in test-distrib make-docfile; do + rm "${D}"${basedir}/etc/${i} || die + done + + # move man page + mv "${D}"/usr/share/man/man1/emacs{,-emacs-${SLOT}}.1 || die + + # move Info files + dodir /usr/share/info + mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die + dosym ../../info/emacs-${SLOT} "${basedir}"/info + docompress -x /usr/share/info + + # move Info dir to avoid collisions with the dir file generated by portage + mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die + touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir + + dodir /var/lib/emacs + diropts -m0777 + keepdir /var/lib/emacs/lock + + dodoc README PROBLEMS +} + +pkg_preinst() { + # move Info dir file to correct name + mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die + + # remove symlink and directory installed by -r6 and earlier + if [[ -L "${ROOT}"/usr/share/info/emacs-${SLOT} ]]; then + ewarn "Removing old symlink /usr/share/info/emacs-${SLOT}" + rm "${ROOT}"/usr/share/info/emacs-${SLOT} || die + fi + if [[ -d "${ROOT}"/usr/share/emacs/${PV}/info ]]; then + ewarn "Removing old directory /usr/share/emacs/${PV}/info" + rm -r "${ROOT}"/usr/share/emacs/${PV}/info || die + fi +} + +pkg_postinst() { + eselect emacs update ifunset +} + +pkg_postrm() { + eselect emacs update ifunset +}