summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/golang-single.eclass')
-rw-r--r--eclass/golang-single.eclass185
1 files changed, 0 insertions, 185 deletions
diff --git a/eclass/golang-single.eclass b/eclass/golang-single.eclass
deleted file mode 100644
index e8007f7..0000000
--- a/eclass/golang-single.eclass
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# @ECLASS: golang-single.eclass
-# @MAINTAINER:
-# Mauro Toffanin <toffanin.mauro@gmail.com>
-# @AUTHOR:
-# Mauro Toffanin <toffanin.mauro@gmail.com>
-# @BLURB: An eclass for GoLang packages not installed inside GOPATH/GOBIN.
-# @DESCRIPTION:
-# This eclass allows to install arbitrary packages written in GoLang which
-# don't support being installed inside the Go environment.
-# This mostly includes traditional packages (C/C++/GUI) embedding tools written
-# in GoLang, and GoLang packages that need to be compiled with GCC instead of
-# the standard Go interpreter.
-#
-# @EXAMPLE:
-# Typical ebuild using golang-single.eclass:
-#
-# @CODE
-# EAPI=5
-#
-# GOLANG_PKG_IMPORTPATH="github.com/captObvious"
-# GOLANG_PKG_ARCHIVESUFFIX=".zip"
-# GOLANG_PKG_HAVE_TEST
-# inherit golang-single qt4-r2
-#
-# DESCRIPTION="Foo bar application"
-# HOMEPAGE="http://example.org/foo/"
-#
-# LICENSE="MIT"
-# KEYWORDS="~amd64 ~x86"
-# SLOT="0"
-# IUSE="doc qt4"
-#
-# CDEPEND="
-# qt4? (
-# dev-qt/qtcore:4
-# dev-qt/qtgui:4
-# )"
-# RDEPEND="${CDEPEND}
-# !media-gfx/bar"
-# DEPEND="${CDEPEND}
-# doc? ( app-doc/doxygen )"
-#
-# DOCS=(AUTHORS ChangeLog README "Read me.txt" TODO)
-#
-# PATCHES=(
-# "${FILESDIR}/${P}-qt4.patch" # bug 123458
-# "${FILESDIR}/${P}-as-needed.patch"
-# )
-#
-# src_install() {
-# use doc && HTML_DOCS=("${BUILD_DIR}/apidocs/html/")
-# autotools-utils_src_install
-# if use examples; then
-# dobin "${BUILD_DIR}"/foo_example{1,2,3} \\
-# || die 'dobin examples failed'
-# fi
-# }
-#
-# @CODE
-
-
-inherit golang-common
-
-EXPORT_FUNCTIONS src_prepare src_unpack src_configure src_compile src_install src_test
-
-if [[ -z ${_GOLANG_SINGLE_ECLASS} ]]; then
-_GOLANG_SINGLE_ECLASS=1
-
-
-# This eclass uses GOLANG_PKG_IMPORTPATH to populate SRC_URI.
-SRC_URI="${SRC_URI:="https://${GOLANG_PKG_IMPORTPATH}/${GOLANG_PKG_NAME}/archive/${GOLANG_PKG_ARCHIVEPREFIX}${GOLANG_PKG_VERSION}${GOLANG_PKG_ARCHIVESUFFIX} -> ${P}${GOLANG_PKG_ARCHIVESUFFIX}"}"
-
-# This eclass uses GOLANG_PKG_DEPENDENCIES associative array to populate SRC_URI
-# with the required snapshots of the supplied GoLang dependencies.
-if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then
-
- for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do
-
- # Collects all the tokens of the dependency.
- local -A DEPENDENCY=()
- while read -d $'\n' key value; do
- [[ -z ${key} ]] && continue
- DEPENDENCY[$key]="${value}"
- done <<-EOF
- $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" )
- EOF
-
- # Debug
- debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}"
- debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}"
- debug-print "${FUNCNAME}: revision = ${DEPENDENCY[revision]}"
-
- # Downloads the archive.
- case ${DEPENDENCY[importpath]} in
- github*)
- SRC_URI+=" https://${DEPENDENCY[importpath]}/archive/${DEPENDENCY[revision]}${GOLANG_PKG_ARCHIVESUFFIX} -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}${GOLANG_PKG_ARCHIVESUFFIX}"
- ;;
- bitbucket*)
- SRC_URI+=" https://${DEPENDENCY[importpath]}/get/${DEPENDENCY[revision]}.zip -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}.zip"
- ;;
- code.google*)
- SRC_URI+=" https://${DEPENDENCY[project_name]}.googlecode.com/archive/${DEPENDENCY[revision]}.tar.gz -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}.tar.gz"
- ;;
- *) die "This eclass doesn't support '${DEPENDENCY[importpath]}'" ;;
- esac
-
- done
-fi
-
-
-# @FUNCTION: golang-single_src_unpack
-# @DESCRIPTION:
-# Unpack the source archive.
-golang-single_src_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
-
- default
-
- # Creates S.
- mkdir -p "${S%/*}" || die
-
- # Moves main GoLang package from WORKDIR into GOPATH.
- if [[ "${GOLANG_PKG_IMPORTPATH}" != "${GOLANG_PKG_IMPORTPATH_ALIAS}" ]]; then
- local alias_abspath="${WORKDIR}/gopath/src/${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}"
- mkdir -p "${alias_abspath%/*}" || die
- mv "${GOLANG_PKG_NAME}-${GOLANG_PKG_VERSION}" "${alias_abspath}"/ || die
- else
- mv "${GOLANG_PKG_NAME}-${GOLANG_PKG_VERSION}" "${S}"/ || die
- fi
-}
-
-
-# @FUNCTION: golang-single_src_prepare
-# @DESCRIPTION:
-# Prepare source code.
-golang-single_src_prepare() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Sets up GoLang build environment.
- golang_setup
-
- golang-common_src_prepare
-}
-
-# @FUNCTION: golang-single_src_configure
-# @DESCRIPTION:
-# Configure the package.
-golang-single_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- golang-common_src_configure
-}
-
-# @FUNCTION: golang-single_src_compile
-# @DESCRIPTION:
-# Compiles the package.
-golang-single_src_compile() {
- debug-print-function ${FUNCNAME} "$@"
-
- golang-common_src_compile
-}
-
-# @FUNCTION: golang-single_src_install
-# @DESCRIPTION:
-# Installs binaries and documents from DOCS or HTML_DOCS arrays.
-golang-single_src_install() {
- debug-print-function ${FUNCNAME} "$@"
-
- golang-common_src_install
-}
-
-# @FUNCTION: golang-single_src_test
-# @DESCRIPTION:
-# Runs the unit tests for the main package.
-golang-single_src_test() {
- debug-print-function ${FUNCNAME} "$@"
-
- golang-common_src_test
-}
-
-fi