You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.5 KiB
102 lines
2.5 KiB
# Copyright 1999-2019 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
inherit eutils multilib
|
|
|
|
# weird failures
|
|
RESTRICT="test"
|
|
|
|
DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages"
|
|
HOMEPAGE="http://www.parrot.org/"
|
|
SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz"
|
|
|
|
LICENSE="Artistic-2"
|
|
SLOT="0/${PV}"
|
|
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
|
IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre"
|
|
|
|
CDEPEND="sys-libs/readline:0=
|
|
dev-libs/libffi
|
|
net-libs/libnsl:0=
|
|
opengl? ( media-libs/freeglut )
|
|
nls? ( sys-devel/gettext )
|
|
unicode? ( >=dev-libs/icu-2.6:= )
|
|
gdbm? ( >=sys-libs/gdbm-1.8.3-r1 )
|
|
gmp? ( >=dev-libs/gmp-4.1.4:0= )
|
|
ssl? ( dev-libs/openssl:0= )
|
|
pcre? ( dev-libs/libpcre )
|
|
"
|
|
RDEPEND="${CDEPEND}
|
|
doc? ( dev-perl/JSON )"
|
|
DEPEND="${CDEPEND}"
|
|
BDEPEND="dev-lang/perl[doc?]
|
|
${RDEPEND}"
|
|
|
|
src_configure() {
|
|
myconf="--disable-rpath"
|
|
use unicode || myconf+=" --without-icu"
|
|
use ssl || myconf+=" --without-crypto"
|
|
use gdbm || myconf+=" --without-gdbm"
|
|
use nls || myconf+=" --without-gettext"
|
|
use gmp || myconf+=" --without-gmp"
|
|
use opengl || myconf+=" --without-opengl"
|
|
use pcre || myconf+=" --without-pcre"
|
|
|
|
perl Configure.pl \
|
|
--ccflags="${CFLAGS}" \
|
|
--linkflags="${LDFLAGS}" \
|
|
--prefix="${EPREFIX}"/usr \
|
|
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
|
--mandir="${EPREFIX}"/usr/share/man \
|
|
--sysconfdir="${EPREFIX}"/etc \
|
|
--sharedstatedir="${EPREFIX}"/var/lib/parrot \
|
|
$myconf || die
|
|
}
|
|
|
|
src_compile() {
|
|
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib
|
|
# occasionally dies in parallel make
|
|
emake -j1
|
|
if use doc ; then
|
|
emake -j1 html
|
|
fi
|
|
}
|
|
|
|
src_test() {
|
|
emake -j1 test
|
|
}
|
|
|
|
src_install() {
|
|
emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
|
|
dosym parrot-ops2c /usr/bin/ops2c
|
|
rm -vfr "${ED}/usr/share/doc/${PF}/parrot" || die "Unable to prune excess docs"
|
|
DOCS=(
|
|
CREDITS
|
|
ChangeLog
|
|
DONORS.pod
|
|
PBC_COMPAT
|
|
PLATFORMS
|
|
README.pod
|
|
RESPONSIBLE_PARTIES
|
|
TODO
|
|
)
|
|
use doc && DOCS+=( editor )
|
|
use examples && DOCS+=( examples )
|
|
use doc && HTML_DOCS=(
|
|
docs/html/developer.html
|
|
docs/html/DONORS.pod.html
|
|
docs/html/index.html
|
|
docs/html/ops.html
|
|
docs/html/parrotbug.html
|
|
docs/html/pdds.html
|
|
docs/html/pmc.html
|
|
docs/html/tools.html
|
|
docs/html/docs
|
|
docs/html/src
|
|
docs/html/tools
|
|
)
|
|
einstalldocs
|
|
}
|