From e0631bd3e5aa6d45efcfec8f2d2ce9199fdd9e6c Mon Sep 17 00:00:00 2001 From: Kent Fredric Date: Sun, 4 Sep 2016 16:59:42 +1200 Subject: [PATCH] dev-java/boot-bin: Added at 2.6.0 This is mostly just giving users a better choice than "sudo bash curl..." boot will still have to install its own dependencies when executed via maven glue into ~/.m2/, but this still means they can easily get `boot` accessible globally in "$PATH" without security paranoia, and from then on it "mostly just works" without needing to understand boot-specific install procedures. Ideally this itself will be built from sources one day, but java upstream logic fights this at every stage. Also, "boot -u" still does "something", but it doesn't do anything useful. Package-Manager: portage-2.3.0 --- dev-java/boot-bin/Manifest | 1 + dev-java/boot-bin/boot-bin-2.6.0.ebuild | 60 +++++++++++++++++++++++++ dev-java/boot-bin/files/boot | 6 +++ dev-java/boot-bin/metadata.xml | 11 +++++ 4 files changed, 78 insertions(+) create mode 100644 dev-java/boot-bin/Manifest create mode 100644 dev-java/boot-bin/boot-bin-2.6.0.ebuild create mode 100644 dev-java/boot-bin/files/boot create mode 100644 dev-java/boot-bin/metadata.xml diff --git a/dev-java/boot-bin/Manifest b/dev-java/boot-bin/Manifest new file mode 100644 index 0000000000000..9d842b5a1dadc --- /dev/null +++ b/dev-java/boot-bin/Manifest @@ -0,0 +1 @@ +DIST boot-2.6.0.jar 8289462 SHA256 6ad8b10ff63b5ed884fefef9b784fd05675d94486526d059ebcc2c3b8a8a7701 SHA512 715aa320c0e44a2376020aa84c0640ae8e6fb15a4842b4267ff58e1d09682aae17f74dc568e50fa611993947bcd7b1430157a0f0b6b8bcddff1eaa3149ddc9ad WHIRLPOOL e39fa91d481ecf74747da7b81477d27110c61ad51ad5b662da9ef60c0a8727c035abacbc0cf1201d6dce2e31d76115ce2fecc2193228ae23dfe251e11858d93f diff --git a/dev-java/boot-bin/boot-bin-2.6.0.ebuild b/dev-java/boot-bin/boot-bin-2.6.0.ebuild new file mode 100644 index 0000000000000..8bf39a4268e2d --- /dev/null +++ b/dev-java/boot-bin/boot-bin-2.6.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +inherit java-pkg-2 + +MY_PN="${PN%-bin}" +MY_PNV="${MY_PN}-${PV}" + +DESCRIPTION="Build tooling for Clojure" +HOMEPAGE="http://boot-clj.com/" +SRC_URI="https://github.com/boot-clj/${MY_PN}/releases/download/${PV}/${MY_PN}.jar -> ${MY_PNV}.jar" + +LICENSE="EPL-1.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=virtual/jdk-1.7:*" +DEPEND=">=virtual/jdk-1.7:*" + +RESTRICT="test" + +src_unpack() { + mkdir -p "${S}" || die "Can't mkdir ${S}" + cd "${S}" || die "Can't enter ${S}" + for file in ${A}; do + einfo "Copying ${file}" + cp "${DISTDIR}/${file}" "${S}/" || die "Can't copy ${file}" + done +} + +src_prepare() { + einfo "Copying boot shell-script" + cp "${FILESDIR}/boot" "${S}/" || die "Can't copy boot" + + java-pkg_init_paths_ + + sed -i "s|@@JAVA_PKG_SHAREPATH@@|${JAVA_PKG_SHAREPATH}|g" "${S}/boot" || die "Can't patch JAVA_PKG_SHAREPATH path in boot" + sed -i "s|@@JAVA_PKG_JARDEST@@|${JAVA_PKG_JARDEST}|g" "${S}/boot" || die "Can't patch JAVA_PKG_JARDEST path in boot" + sed -i "s|@@PN@@|${PN}|g" "${S}/boot" || die "Can't patch PN in boot" + + default +} + +src_compile() { :; } + +src_install() { + dobin "${S}/boot" + java-pkg_newjar "${S}/${MY_PNV}.jar" +} + +pkg_postinst() { + einfo "This package will still download a whole lot of its own runtime" + einfo "dependencies the first time you run it." + einfo "" + einfo "This currently can't be helped and is expected behaviour for a" + einfo "java based development toolkit" +} diff --git a/dev-java/boot-bin/files/boot b/dev-java/boot-bin/files/boot new file mode 100644 index 0000000000000..acd8e404c28cf --- /dev/null +++ b/dev-java/boot-bin/files/boot @@ -0,0 +1,6 @@ +source @@JAVA_PKG_SHAREPATH@@/package.env +jarpath="@@JAVA_PKG_JARDEST@@/@@PN@@.jar" +declare -a "options=($BOOT_JVM_OPTIONS)" +self="${BASH_SOURCE[0]}" +exec ${BOOT_JAVA_COMMAND:-java} "${options[@]}" -Dboot.app.path="$jarpath" -jar "$jarpath" "$@" + diff --git a/dev-java/boot-bin/metadata.xml b/dev-java/boot-bin/metadata.xml new file mode 100644 index 0000000000000..c22b260f28937 --- /dev/null +++ b/dev-java/boot-bin/metadata.xml @@ -0,0 +1,11 @@ + + + + + kentnl@gentoo.org + Kent Fredric + + + java@gentoo.org + +