From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 849081581FB for ; Tue, 27 Aug 2024 07:45:50 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C6465E2A1E; Tue, 27 Aug 2024 07:45:49 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id AB746E2A1E for ; Tue, 27 Aug 2024 07:45:49 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DB6E7340C76 for ; Tue, 27 Aug 2024 07:45:48 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 77AF71F24 for ; Tue, 27 Aug 2024 07:45:47 +0000 (UTC) From: "Miroslav Šulc" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Miroslav Šulc" Message-ID: <1724744535.c926aba47473b4b4ee4094bd020f29218783c3e7.fordfrog@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/cxprolog/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lang/cxprolog/cxprolog-0.98.2-r2.ebuild X-VCS-Directories: dev-lang/cxprolog/ X-VCS-Committer: fordfrog X-VCS-Committer-Name: Miroslav Šulc X-VCS-Revision: c926aba47473b4b4ee4094bd020f29218783c3e7 X-VCS-Branch: master Date: Tue, 27 Aug 2024 07:45:47 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9aaa8f93-acdd-402d-8661-8f72ce386b90 X-Archives-Hash: a82a6f1fc69bce1a0109a54ab8de46c1 commit: c926aba47473b4b4ee4094bd020f29218783c3e7 Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Mon Jul 1 07:12:32 2024 +0000 Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 27 07:42:15 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c926aba4 dev-lang/cxprolog: rewrite with java-pkg-simple Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/37468/commits/4c4c144d33e7ecd8281357c4673012e0538fb0ac Signed-off-by: Miroslav Šulc gentoo.org> dev-lang/cxprolog/cxprolog-0.98.2-r2.ebuild | 150 ++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/dev-lang/cxprolog/cxprolog-0.98.2-r2.ebuild b/dev-lang/cxprolog/cxprolog-0.98.2-r2.ebuild new file mode 100644 index 000000000000..32ad5e2f536a --- /dev/null +++ b/dev-lang/cxprolog/cxprolog-0.98.2-r2.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.2-gtk3" +VIRTUALX_REQUIRED="manual" + +inherit flag-o-matic java-pkg-opt-2 java-pkg-simple toolchain-funcs virtualx wxwidgets + +DESCRIPTION="A WAM based Prolog system" +HOMEPAGE="http://ctp.di.fct.unl.pt/~amd/cxprolog/" +SRC_URI="http://ctp.di.fct.unl.pt/~amd/cxprolog/cxunix/${P}.src.tgz" +S="${WORKDIR}"/${P} + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples java +readline test wxwidgets" +RESTRICT="!test? ( test )" + +COMMON_DEP=" + readline? ( sys-libs/readline:= ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) +" + +DEPEND="${COMMON_DEP} + java? ( >=virtual/jdk-1.8:* ) + test? ( + java? ( ${VIRTUALX_DEPEND} ) + wxwidgets? ( ${VIRTUALX_DEPEND} ) + )" + +RDEPEND="${COMMON_DEP} + java? ( >=virtual/jre-1.8:* )" + +DOCS=( ChangeLog.txt MANUAL.txt README.txt ) +PATCHES=( + "${FILESDIR}"/${P}-portage.patch + "${FILESDIR}"/${P}-printf-musl.patch + "${FILESDIR}"/${P}-test-io.patch +) + +src_prepare() { + default #780585 + use java && java-pkg-opt-2_src_prepare && java-pkg_clean + + sed -i -e "s|lib/cxprolog|$(get_libdir)/cxprolog|" "${S}"/src/FileSys.c || die + cp "${FILESDIR}"/cx_dev_boot.pl "${S}"/cx_dev_boot.pl || die + rm -f "${S}"/pl/test_file_io_1.txt + + use wxwidgets && setup-wxwidgets +} + +src_compile() { + local CX_EXT_DEFINES + local CX_EXT_CFLAGS + local CX_EXT_LDFLAGS + local CX_EXT_LIBS + + if use readline; then + CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_READLINE" + CX_EXT_LIBS="$CX_EXT_LIBS -lreadline" + fi + + if use java; then + local java_arch + use x86 && java_arch=i386 + use amd64 && java_arch=amd64 + local CX_JVM + for i in jre/lib/${java_arch}/server lib/server; do + [[ -f ${JAVA_HOME}/${i}/libjvm.so ]] && CX_JVM=${JAVA_HOME}/${i} + done + CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_JAVA" + CX_EXT_CFLAGS="$CX_EXT_CFLAGS $(java-pkg_get-jni-cflags)" + CX_EXT_LDFLAGS="$CX_EXT_LDFLAGS -Wl,-rpath,${CX_JVM}" + CX_EXT_LIBS="$CX_EXT_LIBS -L${CX_JVM} -ljvm" + fi + + if use wxwidgets; then + CX_EXT_DEFINES="$CX_EXT_DEFINES -DUSE_WXWIDGETS" + CX_EXT_CFLAGS="$CX_EXT_CFLAGS $(${WX_CONFIG} --cflags)" + CX_EXT_LIBS="$CX_EXT_LIBS $(${WX_CONFIG} --libs)" + fi + + emake lib \ + PREFIX=/usr \ + TMP_DIR="${S}/tmp" \ + CC="$(tc-getCC)" \ + CPP="$(tc-getCXX)" \ + LD="$(tc-getLD)" \ + CFLAGS="${CFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + EXT_DEFINES="${CX_EXT_DEFINES}" \ + EXT_CFLAGS="-Wall ${CX_EXT_CFLAGS}" \ + EXT_LDFLAGS="${CX_EXT_LDFLAGS}" \ + EXT_LIBS="${CX_EXT_LIBS}" + + if use java; then + JAVA_SRC_DIR="${S}/lib/cxprolog/java" + java-pkg-simple_src_compile + fi +} + +cxprolog_src_test() { + cd "${S}"/pl + + if use java; then + local test_javadir="${S}"/pl/$(get_libdir)/cxprolog/java + mkdir -p "${test_javadir}" || die + ln -s "${S}"/cxprolog.jar "${test_javadir}"/prolog.jar || die + fi + + LD_LIBRARY_PATH="${S}" \ + "${S}"/cxprolog_shared \ + --boot "${S}"/cx_dev_boot.pl \ + --script "${S}"/pl/test_all.pl \ + | tee "${S}"/cxprolog_test.log +} + +src_test() { + if use java || use wxwidgets; then + virtx cxprolog_src_test + else + cxprolog_src_test + fi + + grep -q "ALL THE TESTS PASSED" "${S}"/cxprolog_test.log \ + || die "cxprolog unit tests failed" +} + +src_install() { + newbin cxprolog_shared cxprolog + dolib.so libcxprolog.so + + insinto /usr/$(get_libdir)/cxprolog + doins lib/cxprolog/lib.pl + + insinto /usr/share/${PN}/pl + doins pl/*.{pl,txt} + + if use java; then + java-pkg_jarinto /usr/$(get_libdir)/cxprolog/java + java-pkg_newjar cxprolog.jar prolog.jar + fi + + if use examples; then + dodoc -r examples + fi +}