Fix linking failure on amd64, bug 395223. Respect LDFLAGS. Move binaries from /usr...
authorUlrich Müller <ulm@gentoo.org>
Mon, 19 Dec 2011 07:38:20 +0000 (07:38 +0000)
committerUlrich Müller <ulm@gentoo.org>
Mon, 19 Dec 2011 07:38:20 +0000 (07:38 +0000)
Package-Manager: portage-2.1.10.41/cvs/Linux x86_64

app-editors/emacs/ChangeLog
app-editors/emacs/Manifest
app-editors/emacs/emacs-18.59-r7.ebuild [new file with mode: 0644]

index 24f08411512cfd0cb5c1dbe1f25883545fd83884..9d513506e9e5b16a2a91ceac672479870329b3b7 100644 (file)
@@ -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 <ulm@gentoo.org> +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 <grobian@gentoo.org> emacs-23.3-r3.ebuild:
   Fix out-of-prefix issue due to locallisppath, thanks MATSUI Tetsushi in bug
index 0fa98a6acc993d6b56e12dc19a78298cee81cdc2..ad11a70c097223b02e55067df4b4ae0300005b9e 100644 (file)
@@ -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 (file)
index 0000000..7436e69
--- /dev/null
@@ -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
+}