summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/twisted-r1.eclass238
1 files changed, 0 insertions, 238 deletions
diff --git a/eclass/twisted-r1.eclass b/eclass/twisted-r1.eclass
deleted file mode 100644
index 16faf25866c0..000000000000
--- a/eclass/twisted-r1.eclass
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: twisted-r1.eclass
-# @MAINTAINER:
-# Gentoo Python Project <python@gentoo.org>
-# @AUTHOR:
-# Author: Michał Górny <mgorny@gentoo.org>
-# Author: Jan Matejka <yac@gentoo.org>
-# @SUPPORTED_EAPIS: 4 5
-# @BLURB: Eclass for Twisted packages
-# @DESCRIPTION:
-# The twisted eclass defines phase functions for Twisted packages.
-
-case "${EAPI:-0}" in
- 0|1|2|3)
- die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
- ;;
- 4|5)
- ;;
- *)
- die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
- ;;
-esac
-
-if [[ ! ${_TWISTED_R1} ]]; then
-
-inherit distutils-r1 versionator
-
-fi # ! ${_TWISTED_R1}
-
-EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm
-
-if [[ ! ${_TWISTED_R1} ]]; then
-
-# @FUNCTION: _twisted-r1_camelcase
-# @USAGE: <pn>
-# @DESCRIPTION:
-# Convert dash-separated <pn> to CamelCase name suitable for Twisted.
-# In pure bash, therefore safe for global scope execution.
-_twisted-r1_camelcase() {
- local IFS=-
-
- # IFS=- splits words by -.
- local words=( ${1} )
-
- # we can't keep '-' as it collides with [a-z] check
- # and '' is used by bash-4 words[*], so let's just set globally
- IFS=
-
- if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
- echo "${words[*]^}"
- return
- fi
-
- local w LC_COLLATE=C uc='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
- local out
- for w in "${words[@]}"; do
- local fl=${w:0:1}
-
- # Danger: magic starts here. Please close your eyes.
- # In base 36, a..z represents digits 10..35. We substract 10
- # and get array subscripts for uc.
-
- [[ ${fl} == [a-z] ]] && fl=${uc:36#${fl} - 10:1}
-
- out+=${fl}${w:1}
- done
-
- echo "${out}"
-}
-
-# @ECLASS-VARIABLE: TWISTED_PN
-# @DESCRIPTION:
-# The real package name. Default to camel-case conversion of ${PN}.
-#
-# Example: TwistedCore
-: ${TWISTED_PN:=$(_twisted-r1_camelcase ${PN})}
-
-# @ECLASS-VARIABLE: TWISTED_P
-# @DESCRIPTION:
-# The real package name with version appended.
-#
-# It is used to build the default SRC_URI and S values.
-#
-# Example: TwistedCore-1.2.3
-: ${TWISTED_P:=${TWISTED_PN}-${PV}}
-
-# @ECLASS-VARIABLE: TWISTED_RELEASE
-# @DESCRIPTION:
-# The 'release' of Twisted. Defaults to the major & minor version
-# number from ${PV}.
-#
-# It is used to build the default SRC_URI. It may be also used
-# in dependencies against other Twisted packages.
-#
-# Example: 1.2
-: ${TWISTED_RELEASE:=$(get_version_component_range 1-2 ${PV})}
-
-HOMEPAGE="https://www.twistedmatrix.com/trac/"
-SRC_URI="https://twistedmatrix.com/Releases/${TWISTED_PN#Twisted}"
-SRC_URI="${SRC_URI}/${TWISTED_RELEASE}/${TWISTED_P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE=""
-
-S=${WORKDIR}/${TWISTED_P}
-
-# @ECLASS-VARIABLE: TWISTED_PLUGINS
-# @DESCRIPTION:
-# An array of Twisted plugins, whose cache is regenerated
-# in pkg_postinst() and pkg_postrm() phases.
-#
-# If no plugins are installed, set to empty array.
-declare -p TWISTED_PLUGINS &>/dev/null || TWISTED_PLUGINS=( twisted.plugins )
-
-# @FUNCTION: twisted-r1_python_test
-# @DESCRIPTION:
-# The common python_test() implementation that suffices for Twisted
-# packages.
-twisted-r1_python_test() {
- local sitedir=$(python_get_sitedir)
-
- # Copy modules of other Twisted packages from site-packages
- # directory to the temporary directory.
- local libdir=${BUILD_DIR}/test/lib
- mkdir -p "${libdir}" || die
- cp -r "${ROOT}${sitedir}"/twisted "${libdir}" || die
- # Drop the installed module in case previous version conflicts with
- # the new one somehow.
- rm -fr "${libdir}/${PN/-//}" || die
-
- distutils_install_for_testing || die
-
- if [[ ${TEST_DIR} != ${BUILD_DIR}/test ]]; then
- eerror "twisted-r1 integrity check failed."
- eerror "TEST_DIR: ${TEST_DIR}"
- eerror "expected: ${BUILD_DIR}/test"
- die "TEST_DIR integrity check failed"
- fi
-
- cd "${TEST_DIR}"/lib || die
- trial ${PN/-/.} || die "Tests fail with ${EPYTHON}"
-}
-
-# @FUNCTION: python_test
-# @DESCRIPTION:
-# Default python_test() for Twisted packages. If you need to override
-# it, you can access the original implementation
-# via twisted-r1_python_test.
-python_test() {
- twisted-r1_python_test
-}
-
-# @FUNCTION: twisted-r1_src_install
-# @DESCRIPTION:
-# Default src_install() for Twisted packages. Automatically handles HTML
-# docs (unless HTML_DOCS is set explicitly) and manpages in Twisted
-# packages.
-twisted-r1_src_install() {
- [[ -d doc ]] && local HTML_DOCS=( "${HTML_DOCS[@]:-doc/.}" )
- [[ -d doc/man ]] && doman doc/man/*.[[:digit:]]
-
- distutils-r1_src_install
-}
-
-# @FUNCTION: _twisted-r1_create_caches
-# @USAGE: <packages>...
-# @DESCRIPTION:
-# Create dropin.cache for plugins in specified packages. The packages
-# are to be listed in standard dotted Python syntax.
-_twisted-r1_create_caches() {
- # http://twistedmatrix.com/documents/current/core/howto/plugin.html
- "${PYTHON}" -c \
-"import sys
-sys.path.insert(0, '${ROOT}$(python_get_sitedir)')
-
-fail = False
-
-try:
- from twisted.plugin import getPlugins, IPlugin
-except ImportError as e:
- if '${EBUILD_PHASE}' == 'postinst':
- raise
-else:
- for module in sys.argv[1:]:
- try:
- __import__(module, globals())
- except ImportError as e:
- if '${EBUILD_PHASE}' == 'postinst':
- raise
- else:
- list(getPlugins(IPlugin, sys.modules[module]))
-" \
- "${@}" || die "twisted plugin cache update failed"
-}
-
-# @FUNCTION: twisted-r1_update_plugin_cache
-# @DESCRIPTION:
-# Update and clean up plugin caches for packages listed
-# in TWISTED_PLUGINS.
-twisted-r1_update_plugin_cache() {
- [[ ${TWISTED_PLUGINS[@]} ]] || return
-
- local subdirs=( "${TWISTED_PLUGINS[@]//.//}" )
- local paths=( "${subdirs[@]/#/${ROOT}$(python_get_sitedir)/}" )
- local caches=( "${paths[@]/%//dropin.cache}" )
-
- # First, delete existing (possibly stray) caches.
- rm -f "${caches[@]}" || die
-
- # Now, let's see which ones we can regenerate.
- _twisted-r1_create_caches "${TWISTED_PLUGINS[@]}"
-
- # Finally, drop empty parent directories.
- rmdir -p "${paths[@]}" 2>/dev/null
-}
-
-# @FUNCTION: twisted-r1_pkg_postinst
-# @DESCRIPTION:
-# Post-installation hook for twisted-r1. Updates plugin caches.
-twisted-r1_pkg_postinst() {
- _distutils-r1_run_foreach_impl twisted-r1_update_plugin_cache
-}
-
-# @FUNCTION: twisted-r1_pkg_postrm
-# @DESCRIPTION:
-# Post-removal hook for twisted-r1. Updates plugin caches.
-twisted-r1_pkg_postrm() {
- _distutils-r1_run_foreach_impl twisted-r1_update_plugin_cache
-}
-
-_TWISTED_R1=1
-
-fi # ! ${_TWISTED_R1}