diff options
Diffstat (limited to 'dev-lang/gprolog/gprolog-1.5.0-r1.ebuild')
-rw-r--r-- | dev-lang/gprolog/gprolog-1.5.0-r1.ebuild | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild b/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild new file mode 100644 index 000000000000..29233aa9547b --- /dev/null +++ b/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="Native Prolog compiler with constraint solving over finite domains (FD)" +HOMEPAGE="http://www.gprolog.org/" +SRC_URI="http://www.gprolog.org/${P}.tar.gz" +S="${WORKDIR}"/${P} + +LICENSE="|| ( GPL-2+ LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="debug doc examples" + +PATCHES=( + "${FILESDIR}"/${P}-ldflags.patch + "${FILESDIR}"/${P}-links.patch + "${FILESDIR}"/${P}-destdir.patch + "${FILESDIR}"/${P}-llvm-as.patch +) + +src_prepare() { + default + + cd "${S}"/src || die + eautoconf +} + +src_configure() { + CFLAGS_MACHINE="$(get-flag -march) $(get-flag -mcpu) $(get-flag -mtune)" + + use debug && append-flags -DDEBUG + + if tc-enables-pie; then + # gplc generates its own native ASM; disable PIE + append-ldflags -no-pie + fi + + if tc-is-gcc && ! use x86; then + gprolog_use_regs=yes + else + gprolog_use_regs=no + fi + + if tc-is-clang; then + AS=$(tc-getCC) + else + AS=$(tc-getAS) + fi + + cd "${S}"/src || die + local myeconfargs=( + AS="${AS}" + CFLAGS_MACHINE="${CFLAGS_MACHINE}" + --with-c-flags="${CFLAGS}" + --with-install-dir="${EPREFIX}"/usr/$(get_libdir)/${P} + --with-links-dir="${EPREFIX}"/usr/bin + --enable-regs=${gprolog_use_regs} + $(use_with doc doc-dir "${EPREFIX}"/usr/share/doc/${PF}) + $(use_with doc html-dir "${EPREFIX}"/usr/share/doc/${PF}/html) + $(use_with examples examples-dir "${EPREFIX}"/usr/share/doc/${PF}/examples) + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + cd "${S}"/src || die + + # gprolog is compiled using gplc which cannot be run in parallel + emake -j1 +} + +src_test() { + cd "${S}"/src || die + + emake -j1 check +} + +src_install() { + cd "${S}"/src || die + emake DESTDIR="${D}" TXT_FILES= install + + cd "${S}" || die + dodoc ChangeLog NEWS PROBLEMS README +} |