summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2015-01-17 16:03:13 -0800
committerPalmer Dabbelt <palmer@dabbelt.com>2015-01-17 16:06:31 -0800
commit4576f9bbcedef66741fd98ede62ab96112302677 (patch)
tree4f435da0c770582b924b84012c4b405488c43059
parentName this repo "user/palmer" (diff)
downloadpalmer-4576f9bbcedef66741fd98ede62ab96112302677.tar.gz
palmer-4576f9bbcedef66741fd98ede62ab96112302677.tar.bz2
palmer-4576f9bbcedef66741fd98ede62ab96112302677.zip
Add scala-bin (and eselect-scala)
So Scala is kind of a mess, but this at least allows me to install a binary version of it so I can build Chisel-related things.
-rw-r--r--app-admin/eselect-scala/Manifest2
-rw-r--r--app-admin/eselect-scala/eselect-scala-0.1.ebuild23
-rw-r--r--app-admin/eselect-scala/files/scala.eselect107
-rw-r--r--dev-lang/scala-bin/Manifest2
-rw-r--r--dev-lang/scala-bin/scala-bin-2.10.3.ebuild35
5 files changed, 169 insertions, 0 deletions
diff --git a/app-admin/eselect-scala/Manifest b/app-admin/eselect-scala/Manifest
new file mode 100644
index 0000000..dde120a
--- /dev/null
+++ b/app-admin/eselect-scala/Manifest
@@ -0,0 +1,2 @@
+AUX scala.eselect 2115 SHA256 ccaaf2eca96af6780fbbbd229f670c3e01acf3d339a6f642c4197deac0dcbf86 SHA512 a614927c420ab615d2116185249a6dea6b0f598436093defbf0dfe1b6b7fe9c8b8f6fd550b2213d50e8ad07f15199377fc629c604e9b1b1eb20af5c6ada24e1d WHIRLPOOL 9ce4e09da2488d77f0fd0d55bb441e54f2347cde4472c49224263150f30e58bf515f3d2668210a533396a7c213482e577957d0013ac08c874d1242b1bae5f987
+EBUILD eselect-scala-0.1.ebuild 457 SHA256 43d9fb89c7570e1b58ea3fe2b86e0e713ab2313078dc6ba10b696a167d7374a1 SHA512 62e0de9b3406ee6016213c5e57e01e3b2610fcc948da3d9cc0f997477e38be5dd64a3aa10b21699f1453af2bce6c60d7a8c295fc2e2ac0f5711b4cc73bd2407b WHIRLPOOL 9b930eb99d272ff8954582ad78f8a0e452a6f73df2ddff4b1b00e5ffd9a800b93ad8c5ebd9baa2007ccbe5be38ba9a6a615a35b0775fce361fe106113a6f653f
diff --git a/app-admin/eselect-scala/eselect-scala-0.1.ebuild b/app-admin/eselect-scala/eselect-scala-0.1.ebuild
new file mode 100644
index 0000000..b4be479
--- /dev/null
+++ b/app-admin/eselect-scala/eselect-scala-0.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+DESCRIPTION="Manages Scala symlinks"
+HOMEPAGE="http://whiter4bbit.info"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=">=app-admin/eselect-1.0.10
+ !<dev-lang/scala-2.8.1"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ insinto /usr/share/eselect/modules
+ doins "${FILESDIR}/scala.eselect" || die "doins failed"
+}
diff --git a/app-admin/eselect-scala/files/scala.eselect b/app-admin/eselect-scala/files/scala.eselect
new file mode 100644
index 0000000..e9e5a88
--- /dev/null
+++ b/app-admin/eselect-scala/files/scala.eselect
@@ -0,0 +1,107 @@
+DESCRIPTION="Manage Scala targets"
+MAINTAINER="wr4bbit@gmail.com"
+VERSION="0"
+SCALA_BIN="${ROOT}/usr/bin/scala"
+BIN="${ROOT}/usr/bin"
+
+SCALA_BINARIES=(scala scalac scaladoc scalap fsc)
+
+describe_list() {
+ echo "List of installed scala versions"
+}
+
+find_targets() {
+ for f in $(ls -r ${BIN}/scala-[0-9]*) ; do
+ echo ${f}
+ done
+}
+
+do_list() {
+ local targets=( $(find_targets) )
+ local i line
+ for (( i = 0; i < ${#targets[@]}; i++ )) ; do
+ line=$(basename "${targets[i]}")
+ if [[ ${targets[i]} = $(readlink ${SCALA_BIN}) ]] ; then
+ line=$(highlight_marker "${line}")
+ fi
+ targets[i]="${line}"
+ done
+ write_numbered_list "${targets[@]}"
+}
+
+describe_show() {
+ echo "Show current target"
+}
+
+do_show() {
+ if [ -e "${SCALA_BIN}" ] ; then
+ local p=$(readlink ${SCALA_BIN})
+ write_kv_list_entry "$(basename ${p})" ""
+ else
+ write_kv_list_entry "(none)" ""
+ fi
+}
+
+describe_set() {
+ echo "Set current target"
+}
+
+describe_set_parameters() {
+ echo "<target>"
+}
+
+describe_set_options() {
+ echo "target: scala target to set"
+}
+
+remove_symlinks() {
+ local postfix=${1}
+ for b in ${SCALA_BINARIES[*]}
+ do
+ local bin_path="${BIN}/${b}"
+ [[ -e "${bin_path}" ]] && rm "${bin_path}"
+ done
+}
+
+create_symlinks() {
+ local postfix=${1}
+ for b in ${SCALA_BINARIES[*]}
+ do
+ local link_path="${BIN}/${b}${postfix}"
+ local bin_path="${BIN}/${b}"
+ ln -s "${link_path}" "${bin_path}"
+ done
+}
+
+check_postfix() {
+ local postfix=${1}
+ local target=${2}
+ for b in ${SCALA_BINARIES[*]}
+ do
+ local link_path="${BIN}/${b}${postfix}"
+ if [[ ! -e "${link_path}" ]]; then
+ write_error_msg "Invalid target ${target}"
+ exit
+ fi
+ done
+}
+
+do_set() {
+ local target=${1}
+
+ local postfix
+ if [[ ${target} =~ (\-([0-9\.]+)) ]]; then
+ postfix="${BASH_REMATCH[1]}"
+ else
+ write_error_msg "Incorrect target"
+ exit
+ fi
+
+ check_postfix "${postfix}" "${target}"
+
+ remove_symlinks "${postfix}"
+ create_symlinks "${postfix}"
+
+ do_show
+}
+# vim: set ft=eselect :
diff --git a/dev-lang/scala-bin/Manifest b/dev-lang/scala-bin/Manifest
new file mode 100644
index 0000000..7154ca5
--- /dev/null
+++ b/dev-lang/scala-bin/Manifest
@@ -0,0 +1,2 @@
+DIST scala-2.10.3.tgz 30531249 SHA256 25d1ee0e8b3a2d3ba25e697d3f9647b30bbac9b78d922de3ce3d37cfcb484c99 SHA512 a3d325dc27342394c4ba43aefdd7e921e2968646839b8823eeb6138ab6f9998931673a8415315993ef819aadec92864bc2e1aac9d606291a7977aaa4b8ec92fe WHIRLPOOL 23ece9e1f358ef421200290b942a1ee777e08a29c6fb1e2cf1f3c3b2982f0c33d8b66dada825e59a41be0ad3b92066608e6ae0aec2773ff179e9405f8426848d
+EBUILD scala-bin-2.10.3.ebuild 788 SHA256 190c8aa6dd712c9ede5d8e3c61d6f0ad5759b1abe0fa4439520ccd16af865d3e SHA512 3a02156e7efdfe935b0198987013a76ae58a884598a3600a5e8298748ffb238efdbae3d1a3d8fbe89565391d4876fdd3e7ed055de4324022b630b037e09b0534 WHIRLPOOL 9cd09513696bfb55a02ec3587196fab5e764bd22f4a37d40b73a77def64a6e191f9846bd8ae7607474fbbf0894331133f4afc7ebd2505fab91b8ac9462c7e023
diff --git a/dev-lang/scala-bin/scala-bin-2.10.3.ebuild b/dev-lang/scala-bin/scala-bin-2.10.3.ebuild
new file mode 100644
index 0000000..f9f124e
--- /dev/null
+++ b/dev-lang/scala-bin/scala-bin-2.10.3.ebuild
@@ -0,0 +1,35 @@
+inherit eutils multilib portability java-pkg-2 versionator
+
+PROJECT_DISTR="scala-${PV}"
+
+SLOT="2.10.1"
+LICENSE="BSD"
+DESCRIPTION="Scala 2.10.1 release"
+HOMEPAGE="http://www.scala-lang.org"
+SRC_URI="http://www.scala-lang.org/files/archive/${PROJECT_DISTR}.tgz"
+
+DEPEND=">=virtual/jdk-1.5
+ app-admin/eselect-scala"
+
+S=${WORKDIR}
+
+SCALA_BINARIES=(scala scalac scaladoc scalap fsc)
+
+KEYWORDS="~amd64"
+
+src_install() {
+ declare SCALA_HOME=/opt/
+
+ dodir ${SCALA_HOME}
+ cp -R ${PROJECT_DISTR}/ "${D}"${SCALA_HOME} || die "Unable to install"
+
+ java-pkg_dojar "${PROJECT_DISTR}"/lib/*.jar
+ java-pkg_dojar "${PROJECT_DISTR}"/misc/scala-devel/plugins/*.jar
+
+ dodir /usr/bin
+ for b in ${SCALA_BINARIES[*]}
+ do
+ dosym "${SCALA_HOME}/${PROJECT_DISTR}/bin/${b}" /usr/bin/${b}-${SLOT}
+ done
+}
+