diff options
-rw-r--r-- | app-admin/eselect-scala/Manifest | 2 | ||||
-rw-r--r-- | app-admin/eselect-scala/eselect-scala-0.1.ebuild | 23 | ||||
-rw-r--r-- | app-admin/eselect-scala/files/scala.eselect | 107 | ||||
-rw-r--r-- | dev-lang/scala-bin/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/scala-bin/scala-bin-2.10.3.ebuild | 35 |
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 +} + |