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.
99 lines
1.9 KiB
99 lines
1.9 KiB
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
inherit cmake elisp-common java-pkg-2 java-ant-2
|
|
|
|
PATCHSET_VER="2"
|
|
|
|
DESCRIPTION="Advanced development platform for intelligent, distributed applications"
|
|
HOMEPAGE="http://mozart2.org/"
|
|
SRC_URI="https://github.com/mozart/mozart2/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
|
https://dev.gentoo.org/~keri/distfiles/mozart/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
|
|
|
|
LICENSE="BSD-2"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 ~x86"
|
|
IUSE="emacs test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
RDEPEND="dev-libs/boost:=
|
|
dev-libs/gmp:0
|
|
dev-lang/tcl:0
|
|
dev-lang/tk:0
|
|
emacs? ( >=app-editors/emacs-23.1:* )"
|
|
|
|
DEPEND="${RDEPEND}
|
|
dev-java/ant-core
|
|
>=virtual/jdk-1.8:=
|
|
dev-lang/scala:2.12
|
|
test? ( dev-cpp/gtest:= )"
|
|
|
|
SITEFILE="50${PN}-gentoo.el"
|
|
|
|
S="${WORKDIR}/${PN}2-${PV}"
|
|
|
|
src_prepare() {
|
|
if [[ -d "${WORKDIR}"/${PV} ]] ; then
|
|
eapply "${WORKDIR}"/${PV}
|
|
fi
|
|
|
|
touch stdlib/CMakeLists.txt || die
|
|
touch vm/vm/test/gtest/CMakeLists.txt || die
|
|
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DMOZART_BOOST_USE_STATIC_LIBS=OFF
|
|
-DEMACS=$(usex emacs "/usr/bin/emacs" "")
|
|
)
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_compile() {
|
|
EANT_GENTOO_CLASSPATH="scala:2.12"
|
|
pushd bootcompiler > /dev/null || die
|
|
ANT_OPTS="-Xss2M" eant jar
|
|
popd > /dev/null || die
|
|
|
|
cmake_src_compile
|
|
}
|
|
|
|
src_test() {
|
|
cmake_build vmtest platform-test
|
|
cmake_src_test -V
|
|
}
|
|
|
|
src_install() {
|
|
cmake_src_install
|
|
|
|
dolib.so "${BUILD_DIR}"/vm/vm/main/libmozartvm.so
|
|
dolib.so "${BUILD_DIR}"/vm/boostenv/main/libmozartvmboost.so
|
|
|
|
if use emacs; then
|
|
elisp-install ${PN} "${S}"/opi/emacs/*.el
|
|
elisp-site-file-install "${FILESDIR}"/"${SITEFILE}" \
|
|
|| die "elsip-site-file-install failed"
|
|
fi
|
|
}
|
|
|
|
pkg_postinst() {
|
|
if use emacs; then
|
|
xdg_icon_cache_update
|
|
xdg_desktop_database_update
|
|
elisp-site-regen
|
|
fi
|
|
}
|
|
|
|
pkg_postrm() {
|
|
if use emacs; then
|
|
xdg_icon_cache_update
|
|
xdg_desktop_database_update
|
|
elisp-site-regen
|
|
fi
|
|
}
|