123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- # Copyright 1999-2015 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI="5"
- inherit base autotools pax-utils
- MY_P="${PN}.${PV}"
- DESCRIPTION="Poly/ML is a full implementation of Standard ML"
- HOMEPAGE="http://www.polyml.org"
- SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
- LICENSE="LGPL-2.1"
- SLOT="0/${PV}"
- KEYWORDS="~amd64 ~x86"
- IUSE="X elibc_glibc +gmp portable test +threads"
- RDEPEND="X? ( x11-libs/motif:0 )
- gmp? ( >=dev-libs/gmp-5 )
- elibc_glibc? ( threads? ( >=sys-libs/glibc-2.13 ) )
- virtual/libffi"
- DEPEND="${RDEPEND}"
- S=${WORKDIR}/${MY_P}
- PATCHES=(
- # Bug 256679 - patch the assembler code. The remaining executable stacks in ./.libs/poly
- # comes from the polyml generated ./polyexport.o file.
- "${FILESDIR}/${PN}-5.5.0-asm.patch"
- # https://sourceforge.net/p/polyml/code/1875/ for isabelle-2013.2
- "${FILESDIR}/${PN}-5.5.1-inputN-return-for-zero-chars.patch"
- # https://sourceforge.net/p/polyml/code/1869/
- # Adds Test146.ML that fails, applying it anyway as it is required by
- # sci-mathematics/isabelle-2013.2
- "${FILESDIR}/${PN}-5.5.1-optimize-closure.patch"
- )
- src_prepare() {
- base_src_prepare
- eautoreconf
- if [ -f "${S}/Tests/Succeed/Test146.ML" ]; then
- mv "${S}/Tests/Succeed/Test146.ML" "${S}/Tests/Succeed/Test146.ML.disable-test-as-it-fails"
- fi
- }
- src_configure() {
- econf \
- --enable-shared \
- --disable-static \
- --with-system-libffi \
- $(use_with X x) \
- $(use_with gmp) \
- $(use_with portable) \
- $(use_with threads)
- }
- src_compile() {
- # Bug 453146 - dev-lang/polyml-5.5.0: fails to build (pax kernel?)
- pushd libpolyml || die "Could not cd to libpolyml"
- emake
- popd
- emake polyimport
- pax-mark m "${S}/.libs/polyimport"
- emake
- pax-mark m "${S}/.libs/poly"
- }
- src_test() {
- emake tests || die "tests failed"
- }
|