| # Copyright 1999-2018 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI="5" |
| |
| inherit eutils flag-o-matic toolchain-funcs |
| |
| DESCRIPTION="Super-useful stream editor" |
| HOMEPAGE="http://sed.sourceforge.net/" |
| SRC_URI="mirror://gnu/sed/${P}.tar.xz" |
| |
| LICENSE="GPL-3" |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="acl forced-sandbox nls selinux static" |
| |
| RDEPEND="acl? ( virtual/acl ) |
| nls? ( virtual/libintl ) |
| selinux? ( sys-libs/libselinux )" |
| DEPEND="${RDEPEND} |
| nls? ( sys-devel/gettext )" |
| |
| src_bootstrap_sed() { |
| # make sure system-sed works #40786 |
| export NO_SYS_SED="" |
| if ! type -p sed > /dev/null ; then |
| NO_SYS_SED="!!!" |
| ./bootstrap.sh || die "couldnt bootstrap" |
| cp sed/sed "${T}"/ || die "couldnt copy" |
| export PATH="${PATH}:${T}" |
| emake clean |
| fi |
| } |
| |
| src_prepare() { |
| # Don't use sed before bootstrap if we have to recover a broken host sed. |
| src_bootstrap_sed |
| |
| if use forced-sandbox ; then |
| # Upstream doesn't want to add a configure flag for this. |
| # https://lists.gnu.org/archive/html/bug-sed/2018-03/msg00001.html |
| sed -i \ |
| -e '/^bool sandbox = false;/s:false:true:' \ |
| sed/sed.c || die |
| # Make sure the sed took. |
| grep -q '^bool sandbox = true;' sed/sed.c || die "forcing sandbox failed" |
| fi |
| } |
| |
| src_configure() { |
| local myconf=() |
| if use userland_GNU; then |
| myconf+=( --exec-prefix="${EPREFIX}" ) |
| else |
| myconf+=( --program-prefix=g ) |
| fi |
| |
| export ac_cv_search_setfilecon=$(usex selinux -lselinux) |
| export ac_cv_header_selinux_{context,selinux}_h=$(usex selinux) |
| use static && append-ldflags -static |
| myconf+=( |
| $(use_enable acl) |
| $(use_enable nls) |
| ) |
| econf "${myconf[@]}" |
| } |