diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2014-12-14 11:10:54 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2014-12-14 11:10:54 +0000 |
commit | 36359b6960125d80808ba19338e1b5e5592d8d0c (patch) | |
tree | 64b4b0b2c09959ceccfabb9770718e60302e690f /dev-libs/ffcall | |
parent | Bump classy-prelude to 0.10.2 (diff) | |
download | gentoo-2-36359b6960125d80808ba19338e1b5e5592d8d0c.tar.gz gentoo-2-36359b6960125d80808ba19338e1b5e5592d8d0c.tar.bz2 gentoo-2-36359b6960125d80808ba19338e1b5e5592d8d0c.zip |
Respect CFLAGS/LDFLAGS (bug #334581), mark noexecstack (bug #253963). Thanks to w0rm for the report.
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 611FF3AA)
Diffstat (limited to 'dev-libs/ffcall')
-rw-r--r-- | dev-libs/ffcall/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/ffcall/ffcall-1.10-r5.ebuild | 76 |
2 files changed, 83 insertions, 1 deletions
diff --git a/dev-libs/ffcall/ChangeLog b/dev-libs/ffcall/ChangeLog index 73ccb84f1070..095e4abe1102 100644 --- a/dev-libs/ffcall/ChangeLog +++ b/dev-libs/ffcall/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/ffcall # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/ffcall/ChangeLog,v 1.44 2014/03/02 09:39:44 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/ffcall/ChangeLog,v 1.45 2014/12/14 11:10:54 slyfox Exp $ + +*ffcall-1.10-r5 (14 Dec 2014) + + 14 Dec 2014; Sergei Trofimovich <slyfox@gentoo.org> +ffcall-1.10-r5.ebuild: + Respect CFLAGS/LDFLAGS (bug #334581), mark noexecstack (bug #253963). Thanks + to w0rm for the report. 02 Mar 2014; Pacho Ramos <pacho@gentoo.org> ffcall-1.10-r2.ebuild: amd64 stable, bug #438334 diff --git a/dev-libs/ffcall/ffcall-1.10-r5.ebuild b/dev-libs/ffcall/ffcall-1.10-r5.ebuild new file mode 100644 index 000000000000..1ca63743536f --- /dev/null +++ b/dev-libs/ffcall/ffcall-1.10-r5.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/ffcall/ffcall-1.10-r5.ebuild,v 1.1 2014/12/14 11:10:54 slyfox Exp $ + +EAPI=5 +inherit eutils flag-o-matic toolchain-funcs + +# CLISP maintains ffcall now +CLISP_PACKAGE="clisp-2.41" + +DESCRIPTION="foreign function call libraries" +HOMEPAGE="http://www.haible.de/bruno/packages-ffcall.html" +SRC_URI="mirror://sourceforge/clisp/${CLISP_PACKAGE}.tar.bz2" + +# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep +# or in derivate works of GNUstep, the included parts of ffcall are +# under GNU LGPL." -ffcall author +LICENSE="|| ( GPL-2 LGPL-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="" + +S=${WORKDIR}/${CLISP_PACKAGE}/${PN} + +DEPEND="" +RDEPEND="" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-make-jN.patch + + # The build system is a strange mix of autogenerated + # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly. + # We are adding them consistently here and a bit over the top: + # bugs: #334581 + + for mfi in {,*/,*/*/,}Makefile.in + do + elog "Patching '${mfi}'" + # usually uses only assembler here, but -march= + # and -Wa, are a must to pass here. + sed -e 's/$(CC) /&$(CFLAGS) /g' \ + -i "${mfi}" || die + + # usually uses '$(CC) ... -o something' for linking + sed -e 's/\($(CC) .* \)-o /\1 $(LDFLAGS) -o /g' \ + -i "${mfi}" || die + done +} + +src_configure() { + append-flags -fPIC + append-flags $(test-flags-CC -Wa,--noexecstack) #253963 + + # Doc goes in datadir + econf \ + --datadir="${EPREFIX}"/usr/share/doc/${PF} \ + --enable-shared \ + --disable-static +} + +src_compile() { + # Because CHOST is set to (for example) + # alphaev67-unknown-linux-gnu, CPU gets set to alphaev67 which + # doesn't work in the Makefile (29 Jan 2004 agriffis) + local cpu_setting + [[ "${ARCH}" == "alpha" ]] && cpu_setting='CPU=alpha' + + emake ${cpu_setting} +} + +src_install() { + dodoc NEWS README + dodir /usr/share/man + default + prune_libtool_files +} |