# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 JAVA_PKG_IUSE="source" inherit autotools java-pkg-2 DESCRIPTION="Java-based Scheme system & Language Framework" HOMEPAGE="https://www.gnu.org/software/kawa/ https://gitlab.com/kashell/Kawa/" SRC_URI="https://gitlab.com/kashell/${PN^}/-/archive/${PV}/${PN^}-${PV}.tar.gz" S="${WORKDIR}"/${PN^}-${PV} LICENSE="MIT public-domain jemacs? ( GPL-2 ) krl? ( GPL-2 )" SLOT="0" KEYWORDS="amd64 x86" IUSE="+awt +frontend jemacs krl +sax servlets +swing +xml" RESTRICT="test" # fails COMMON_DEPEND=" frontend? ( sys-libs/readline:0 ) sax? ( dev-java/sax:0 ) servlets? ( dev-java/javax-servlet-api:3.0 ) " DEPEND=" ${COMMON_DEPEND} || ( virtual/jdk:11 virtual/jdk:1.8 ) " RDEPEND=" ${COMMON_DEPEND} >=virtual/jre-1.8 " PATCHES=( "${FILESDIR}"/${PN}-${PV}-configure.ac-single_AM_INIT_AUTOMAKE.patch ) src_prepare() { default java-pkg-2_src_prepare eautoreconf } src_configure() { local -a myconf=( $(use_enable frontend kawa-frontend) $(use_enable jemacs) $(use_enable krl brl) $(use_enable xml) $(use_with awt) $(use_with sax sax2) --with-java-source="$(java-pkg_get-source)" ) if use jemacs && ! use swing; then einfo "Although the swing USE flag is disabled you chose to enable jemacs," einfo "so swing is enabled anyway." myconf+=( "--with-swing" ) else myconf+=( "$(use_with swing)" ) fi if use servlets; then myconf+=( "--with-servlet=$(java-pkg_getjar javax-servlet-api-3.0 javax-servlet-api.jar)" ) fi econf "${myconf[@]}" } src_compile() { emake -j1 } src_install() { use source && java-pkg_dosrc ./kawa/* ./gnu/* java-pkg_newjar ./lib/kawa.jar java-pkg_dolauncher "kawa" --main kawa.repl java-pkg_dolauncher "qexo" --main kawa.repl --pkg_args \ "--xquery" use servlets && java-pkg_dolauncher "kawa-cgi-servlet" --main gnu.kawa.servlet.CGIServletWrapper use jemacs && java-pkg_dolauncher "jemacs" --main gnu.jemacs.lang.ELisp einstalldocs doinfo doc/kawa.info* cp doc/kawa.man doc/kawa.1 || die cp doc/qexo.man doc/qexo.1 || die doman doc/*.1 }