summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/fox.eclass232
-rw-r--r--eclass/git-2.eclass613
-rw-r--r--eclass/python-single-r1.eclass161
-rw-r--r--net-analyzer/cacti-spine/Manifest1
-rw-r--r--net-analyzer/cacti-spine/cacti-spine-1.2.9.ebuild51
-rw-r--r--net-analyzer/cacti/Manifest1
-rw-r--r--net-analyzer/cacti/cacti-1.2.9.ebuild48
7 files changed, 125 insertions, 982 deletions
diff --git a/eclass/fox.eclass b/eclass/fox.eclass
deleted file mode 100644
index b40f8273d15c..000000000000
--- a/eclass/fox.eclass
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# All consumers were last rited. Removal in 30 days.
-
-# @ECLASS: fox.eclass
-# @MAINTAINER:
-# maintainer-needed@gentoo.org
-# @BLURB: Functionality required the FOX Toolkit and it's applications
-# @DESCRIPTION:
-# This eclass allows building SLOT-able FOX Toolkit installations
-# (x11-libs/fox: headers, libs, and docs), which are by design
-# parallel-installable, while installing only one version of the utils
-# (dev-util/reswrap) and apps (app-editors/adie, sci-calculators/calculator,
-# x11-misc/pathfinder, and x11-misc/shutterbug).
-#
-# Version numbering follows the kernel-style odd-even minor version
-# designation. Even-number minor versions are API stable, which patch
-# releases aimed mostly at the library; apps generally won't need to be
-# bumped for a patch release.
-#
-# Odd-number versions are development branches with their own SLOT and
-# are API unstable; changes are made to the apps, and likely need to be
-# bumped together with the library.
-#
-# Here are sample [R]DEPENDs for the fox apps
-# 1.6: 'x11-libs/fox:1.6'
-# 1.7: '~x11-libs/fox-${PV}'
-#
-# EAPI phase trickery borrowed from enlightenment.eclass
-
-inherit autotools versionator desktop
-
-
-FOX_EXPF="src_unpack src_compile src_install pkg_postinst"
-case "${EAPI:-0}" in
- 2|3|4|5) FOX_EXPF+=" src_prepare src_configure" ;;
- *) ;;
-esac
-EXPORT_FUNCTIONS ${FOX_EXPF}
-
-# @ECLASS-VARIABLE: FOX_PV
-# @DESCRIPTION:
-# The version of the FOX Toolkit provided or required by the package
-: ${FOX_PV:=${PV}}
-
-# @ECLASS-VARIABLE: FOXVER
-# @INTERNAL
-# @DESCRIPTION:
-# The major.minor version of FOX_PV, usually acts as $SLOT and is used in
-# building the applications
-FOXVER=$(get_version_component_range 1-2 ${FOX_PV})
-
-# @ECLASS-VARIABLE: FOX_APPS
-# @INTERNAL
-# @DESCRIPTION:
-# The applications originally packaged in the FOX Toolkit
-FOX_APPS="adie calculator pathfinder shutterbug"
-
-# @ECLASS-VARIABLE: FOXCONF
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Set this to add additional configuration options during src_configure
-
-DESCRIPTION="C++ Toolkit for developing Graphical User Interfaces easily and effectively"
-HOMEPAGE="http://www.fox-toolkit.org/"
-SRC_URI="ftp://ftp.fox-toolkit.org/pub/fox-${FOX_PV}.tar.gz"
-
-IUSE="debug doc profile"
-
-if [[ ${PN} != fox ]] ; then
- FOX_COMPONENT="${FOX_COMPONENT:-${PN}}"
-fi
-
-if [[ -z ${FOX_COMPONENT} ]] ; then
- DOXYGEN_DEP="doc? ( app-doc/doxygen )"
-fi
-
-if [[ ${PN} != reswrap ]] ; then
- RESWRAP_DEP="dev-util/reswrap"
-fi
-
-DEPEND="${DOXYGEN_DEP}
- ${RESWRAP_DEP}
- >=sys-apps/sed-4"
-
-S="${WORKDIR}/fox-${FOX_PV}"
-
-fox_src_unpack() {
- unpack ${A}
- cd "${S}"
-
- has src_prepare ${FOX_EXPF} || fox_src_prepare
-}
-
-fox_src_prepare() {
- # fox changed from configure.in to configure.am in 1.6.38
- local confFile="configure.ac"
- [[ -r "configure.in" ]] && confFile="configure.in"
-
- # Respect system CXXFLAGS
- sed -i -e 's:CXXFLAGS=""::' $confFile || die "sed ${confFile} error"
-
- # don't strip binaries
- sed -i -e '/LDFLAGS="-s ${LDFLAGS}"/d' $confFile || die "sed ${confFile} error"
-
- # don't build apps from top-level (i.e. x11-libs/fox)
- # utils == reswrap
- local d
- for d in ${FOX_APPS} utils windows ; do
- sed -i -e "s:${d}::" Makefile.am || die "sed Makefile.am error"
- done
-
- # use the installed reswrap for everything else
- for d in ${FOX_APPS} chart controlpanel tests ; do
- [[ -d ${d} ]] &&
- (sed -i -e 's:$(top_builddir)/utils/reswrap:reswrap:' \
- ${d}/Makefile.am || die "sed ${d}/Makefile.am error")
- done
-
- # use the installed headers and library for apps
- for d in ${FOX_APPS} ; do
- sed -i \
- -e "s:-I\$(top_srcdir)/include -I\$(top_builddir)/include:-I\$(includedir)/fox-${FOXVER}:" \
- -e 's:$(top_builddir)/src/libFOX:-lFOX:' \
- -e 's:$(top_builddir)/lib/libFOX:-lFOX:' \
- -e 's:\.la::' \
- ${d}/Makefile.am || die "sed ${d}/Makefile.am error"
- done
-
- eautoreconf
-}
-
-fox_src_configure() {
- use debug && FOXCONF+=" --enable-debug" \
- || FOXCONF+=" --enable-release"
-
- econf ${FOXCONF} \
- $(use_with profile profiling)
-}
-
-
-fox_src_compile() {
- has src_configure ${FOX_EXPF} || fox_src_configure
-
- cd "${S}/${FOX_COMPONENT}"
- emake || die "compile error"
-
- # build class reference docs (FOXVER >= 1.2)
- if use doc && [[ -z ${FOX_COMPONENT} ]] ; then
- emake -C "${S}"/doc docs || die "doxygen error"
- fi
-}
-
-fox_src_install() {
- cd "${S}/${FOX_COMPONENT}"
-
- emake install \
- DESTDIR="${D}" \
- htmldir=/usr/share/doc/${PF}/html \
- artdir=/usr/share/doc/${PF}/html/art \
- screenshotsdir=/usr/share/doc/${PF}/html/screenshots \
- || die "install error"
-
- # create desktop menu items for apps
- case ${FOX_COMPONENT} in
- adie)
- newicon big_gif.gif adie.gif
- make_desktop_entry adie "Adie Text Editor" adie.gif
- ;;
- calculator)
- newicon bigcalc.gif foxcalc.gif
- make_desktop_entry calculator "FOX Calculator" foxcalc.gif
- ;;
- pathfinder)
- newicon iconpath.gif pathfinder.gif
- make_desktop_entry PathFinder "PathFinder" pathfinder.gif "FileManager"
- ;;
- shutterbug)
- doicon shutterbug.gif
- make_desktop_entry shutterbug "ShutterBug" shutterbug.gif "Graphics"
- ;;
- esac
-
- for doc in ADDITIONS AUTHORS LICENSE_ADDENDUM README TRACING ; do
- [ -f $doc ] && dodoc $doc
- done
-
- # remove documentation if USE=-doc
- use doc || rm -fr "${D}/usr/share/doc/${PF}/html"
-
- # install class reference docs if USE=doc
- if use doc && [[ -z ${FOX_COMPONENT} ]] ; then
- dohtml -r "${S}/doc/ref"
- fi
-
- # slot fox-config
- if [[ -f ${D}/usr/bin/fox-config ]] ; then
- mv "${D}/usr/bin/fox-config" "${D}/usr/bin/fox-${FOXVER}-config" \
- || die "failed to install fox-config"
- fi
-}
-
-fox_pkg_postinst() {
- if [ -z "${FOX_COMPONENT}" ] ; then
- echo
- einfo "Multiple versions of the FOX Toolkit library may now be installed"
- einfo "in parallel SLOTs on the same system."
- einfo
- einfo "The reswrap utility and the applications included in the FOX Toolkit"
- einfo "(adie, calculator, pathfinder, shutterbug) are now available as"
- einfo "separate ebuilds."
- echo
-
- if version_is_at_least "1.7.25"; then
- einfo "Fox versions after 1.7.25 ships a pkg-config file called fox17.pc"
- einfo "instead of the previous fox-config tool."
- einfo "You now get all info via pkg-config:"
- einfo
- einfo "pkg-config fox17 --libs (etc.)"
- else
- einfo "The fox-config script has been installed as fox-${FOXVER}-config."
- einfo "The fox-wrapper package is used to direct calls to fox-config"
- einfo "to the correct versioned script, based on the WANT_FOX variable."
- einfo "For example:"
- einfo
- einfo " WANT_FOX=\"${FOXVER}\" fox-config <options>"
- fi
- einfo
- fi
-}
diff --git a/eclass/git-2.eclass b/eclass/git-2.eclass
deleted file mode 100644
index ecc260d0e9b2..000000000000
--- a/eclass/git-2.eclass
+++ /dev/null
@@ -1,613 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# All consumers were last rited. Removal in 14 days.
-
-# @ECLASS: git-2.eclass
-# @MAINTAINER:
-# maintainer-needed@gentoo.org
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5
-# @BLURB: Eclass for fetching and unpacking git repositories.
-# @DESCRIPTION:
-# Eclass for easing maintenance of live ebuilds using git as remote repository.
-# Eclass support working with git submodules and branching.
-#
-# This eclass is DEPRECATED. Please use git-r3 instead.
-
-case ${EAPI:-0} in
- 0|1|2|3|4|5) ;;
- *) die "${ECLASS}.eclass is banned in EAPI ${EAPI}";;
-esac
-
-# This eclass support all EAPIs.
-EXPORT_FUNCTIONS src_unpack
-
-PROPERTIES+=" live"
-
-DEPEND="dev-vcs/git"
-
-# @ECLASS-VARIABLE: EGIT_SOURCEDIR
-# @DESCRIPTION:
-# This variable specifies destination where the cloned
-# data are copied to.
-#
-# EGIT_SOURCEDIR="${S}"
-
-# @ECLASS-VARIABLE: EGIT_STORE_DIR
-# @DESCRIPTION:
-# Storage directory for git sources.
-#
-# EGIT_STORE_DIR="${DISTDIR}/egit-src"
-
-# @ECLASS-VARIABLE: EGIT_HAS_SUBMODULES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable enables support for git submodules in our
-# checkout. Also this makes the checkout to be non-bare for now.
-
-# @ECLASS-VARIABLE: EGIT_OPTIONS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Variable specifying additional options for fetch command.
-
-# @ECLASS-VARIABLE: EGIT_MASTER
-# @DESCRIPTION:
-# Variable for specifying master branch.
-# Useful when upstream don't have master branch or name it differently.
-#
-# EGIT_MASTER="master"
-
-# @ECLASS-VARIABLE: EGIT_PROJECT
-# @DESCRIPTION:
-# Variable specifying name for the folder where we check out the git
-# repository. Value of this variable should be unique in the
-# EGIT_STORE_DIR as otherwise you would override another repository.
-#
-# EGIT_PROJECT="${EGIT_REPO_URI##*/}"
-
-# @ECLASS-VARIABLE: EGIT_DIR
-# @DESCRIPTION:
-# Directory where we want to store the git data.
-# This variable should not be overridden.
-#
-# EGIT_DIR="${EGIT_STORE_DIR}/${EGIT_PROJECT}"
-
-# @ECLASS-VARIABLE: EGIT_REPO_URI
-# @REQUIRED
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# URI for the repository
-# e.g. http://foo, git://bar
-#
-# It can be overridden via env using packagename_LIVE_REPO
-# variable.
-#
-# Support multiple values:
-# EGIT_REPO_URI="git://a/b.git http://c/d.git"
-
-# @ECLASS-VARIABLE: EVCS_OFFLINE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable prevents performance of any online
-# operations.
-
-# @ECLASS-VARIABLE: EGIT_BRANCH
-# @DESCRIPTION:
-# Variable containing branch name we want to check out.
-# It can be overridden via env using packagename_LIVE_BRANCH
-# variable.
-#
-# EGIT_BRANCH="${EGIT_MASTER}"
-
-# @ECLASS-VARIABLE: EGIT_COMMIT
-# @DESCRIPTION:
-# Variable containing commit hash/tag we want to check out.
-# It can be overridden via env using packagename_LIVE_COMMIT
-# variable.
-#
-# EGIT_COMMIT="${EGIT_BRANCH}"
-
-# @ECLASS-VARIABLE: EGIT_REPACK
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable specifies that repository will be repacked to
-# save space. However this can take a REALLY LONG time with VERY big
-# repositories.
-
-# @ECLASS-VARIABLE: EGIT_PRUNE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable enables pruning all loose objects on each fetch.
-# This is useful if upstream rewinds and rebases branches often.
-
-# @ECLASS-VARIABLE: EGIT_NONBARE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable specifies that all checkouts will be done using
-# non bare repositories. This is useful if you can't operate with bare
-# checkouts for some reason.
-
-# @ECLASS-VARIABLE: EGIT_NOUNPACK
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If non-empty this variable bans unpacking of ${A} content into the srcdir.
-# Default behavior is to unpack ${A} content.
-
-# @FUNCTION: git-2_init_variables
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function initializing all git variables.
-# We define it in function scope so user can define
-# all the variables before and after inherit.
-git-2_init_variables() {
- debug-print-function ${FUNCNAME} "$@"
-
- local esc_pn liverepo livebranch livecommit
- esc_pn=${PN//[-+]/_}
-
- : ${EGIT_SOURCEDIR="${S}"}
-
- : ${EGIT_STORE_DIR:="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/egit-src"}
-
- : ${EGIT_HAS_SUBMODULES:=}
-
- : ${EGIT_OPTIONS:=}
-
- : ${EGIT_MASTER:=master}
-
- liverepo=${esc_pn}_LIVE_REPO
- EGIT_REPO_URI=${!liverepo:-${EGIT_REPO_URI}}
- [[ ${EGIT_REPO_URI} ]] || die "EGIT_REPO_URI must have some value"
-
- : ${EVCS_OFFLINE:=}
-
- livebranch=${esc_pn}_LIVE_BRANCH
- [[ ${!livebranch} ]] && ewarn "QA: using \"${esc_pn}_LIVE_BRANCH\" variable, you won't get any support"
- EGIT_BRANCH=${!livebranch:-${EGIT_BRANCH:-${EGIT_MASTER}}}
-
- livecommit=${esc_pn}_LIVE_COMMIT
- [[ ${!livecommit} ]] && ewarn "QA: using \"${esc_pn}_LIVE_COMMIT\" variable, you won't get any support"
- EGIT_COMMIT=${!livecommit:-${EGIT_COMMIT:-${EGIT_BRANCH}}}
-
- : ${EGIT_REPACK:=}
-
- : ${EGIT_PRUNE:=}
-}
-
-# @FUNCTION: git-2_submodules
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function wrapping the submodule initialisation and update.
-git-2_submodules() {
- debug-print-function ${FUNCNAME} "$@"
- if [[ ${EGIT_HAS_SUBMODULES} ]]; then
- if [[ ${EVCS_OFFLINE} ]]; then
- # for submodules operations we need to be online
- debug-print "${FUNCNAME}: not updating submodules in offline mode"
- return 1
- fi
-
- debug-print "${FUNCNAME}: working in \"${1}\""
- pushd "${EGIT_DIR}" > /dev/null || die
-
- debug-print "${FUNCNAME}: git submodule init"
- git submodule init || die
- debug-print "${FUNCNAME}: git submodule sync"
- git submodule sync || die
- debug-print "${FUNCNAME}: git submodule update"
- git submodule update || die
-
- popd > /dev/null || die
- fi
-}
-
-# @FUNCTION: git-2_branch
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function that changes branch for the repo based on EGIT_COMMIT and
-# EGIT_BRANCH variables.
-git-2_branch() {
- debug-print-function ${FUNCNAME} "$@"
-
- local branchname src
-
- debug-print "${FUNCNAME}: working in \"${EGIT_SOURCEDIR}\""
- pushd "${EGIT_SOURCEDIR}" > /dev/null || die
-
- local branchname=branch-${EGIT_BRANCH} src=origin/${EGIT_BRANCH}
- if [[ ${EGIT_COMMIT} != ${EGIT_BRANCH} ]]; then
- branchname=tree-${EGIT_COMMIT}
- src=${EGIT_COMMIT}
- fi
- debug-print "${FUNCNAME}: git checkout -b ${branchname} ${src}"
- git checkout -b ${branchname} ${src} \
- || die "${FUNCNAME}: changing the branch failed"
-
- popd > /dev/null || die
-}
-
-# @FUNCTION: git-2_gc
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function running garbage collector on checked out tree.
-git-2_gc() {
- debug-print-function ${FUNCNAME} "$@"
-
- local args
-
- if [[ ${EGIT_REPACK} || ${EGIT_PRUNE} ]]; then
- pushd "${EGIT_DIR}" > /dev/null || die
- ebegin "Garbage collecting the repository"
- [[ ${EGIT_PRUNE} ]] && args='--prune'
- debug-print "${FUNCNAME}: git gc ${args}"
- git gc ${args}
- eend $?
- popd > /dev/null || die
- fi
-}
-
-# @FUNCTION: git-2_prepare_storedir
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function preparing directory where we are going to store SCM
-# repository.
-git-2_prepare_storedir() {
- debug-print-function ${FUNCNAME} "$@"
-
- local clone_dir
-
- # initial clone, we have to create master git storage directory and play
- # nicely with sandbox
- if [[ ! -d ${EGIT_STORE_DIR} ]]; then
- debug-print "${FUNCNAME}: Creating git main storage directory"
- addwrite /
- mkdir -m 775 -p "${EGIT_STORE_DIR}" \
- || die "${FUNCNAME}: can't mkdir \"${EGIT_STORE_DIR}\""
- fi
-
- # allow writing into EGIT_STORE_DIR
- addwrite "${EGIT_STORE_DIR}"
-
- # calculate git.eclass store dir for data
- # We will try to clone the old repository,
- # and we will remove it if we don't need it anymore.
- EGIT_OLD_CLONE=
- if [[ ${EGIT_STORE_DIR} == */egit-src ]]; then
- local old_store_dir=${EGIT_STORE_DIR/%egit-src/git-src}
- local old_location=${old_store_dir}/${EGIT_PROJECT:-${PN}}
-
- if [[ -d ${old_location} ]]; then
- EGIT_OLD_CLONE=${old_location}
- # required to remove the old clone
- addwrite "${old_store_dir}"
- fi
- fi
-
- # calculate the proper store dir for data
- # If user didn't specify the EGIT_DIR, we check if he did specify
- # the EGIT_PROJECT or get the folder name from EGIT_REPO_URI.
- EGIT_REPO_URI=${EGIT_REPO_URI%/}
- if [[ ! ${EGIT_DIR} ]]; then
- if [[ ${EGIT_PROJECT} ]]; then
- clone_dir=${EGIT_PROJECT}
- else
- local strippeduri=${EGIT_REPO_URI%/.git}
- clone_dir=${strippeduri##*/}
- fi
- EGIT_DIR=${EGIT_STORE_DIR}/${clone_dir}
-
- if [[ ${EGIT_OLD_CLONE} && ! -d ${EGIT_DIR} ]]; then
- elog "${FUNCNAME}: ${CATEGORY}/${PF} will be cloned from old location."
- elog "It will be necessary to rebuild the package to fetch updates."
- EGIT_REPO_URI="${EGIT_OLD_CLONE} ${EGIT_REPO_URI}"
- fi
- fi
- export EGIT_DIR=${EGIT_DIR}
- debug-print "${FUNCNAME}: Storing the repo into \"${EGIT_DIR}\"."
-}
-
-# @FUNCTION: git-2_move_source
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function moving sources from the EGIT_DIR to EGIT_SOURCEDIR dir.
-git-2_move_source() {
- debug-print-function ${FUNCNAME} "$@"
-
- debug-print "${FUNCNAME}: ${MOVE_COMMAND} \"${EGIT_DIR}\" \"${EGIT_SOURCEDIR}\""
- pushd "${EGIT_DIR}" > /dev/null || die
- mkdir -p "${EGIT_SOURCEDIR}" \
- || die "${FUNCNAME}: failed to create ${EGIT_SOURCEDIR}"
- ${MOVE_COMMAND} "${EGIT_SOURCEDIR}" \
- || die "${FUNCNAME}: sync to \"${EGIT_SOURCEDIR}\" failed"
- popd > /dev/null || die
-}
-
-# @FUNCTION: git-2_initial_clone
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function running initial clone on specified repo_uri.
-git-2_initial_clone() {
- debug-print-function ${FUNCNAME} "$@"
-
- local repo_uri
-
- EGIT_REPO_URI_SELECTED=""
- for repo_uri in ${EGIT_REPO_URI}; do
- debug-print "${FUNCNAME}: git clone ${EGIT_LOCAL_OPTIONS} \"${repo_uri}\" \"${EGIT_DIR}\""
- if git clone ${EGIT_LOCAL_OPTIONS} "${repo_uri}" "${EGIT_DIR}"; then
- # global variable containing the repo_name we will be using
- debug-print "${FUNCNAME}: EGIT_REPO_URI_SELECTED=\"${repo_uri}\""
- EGIT_REPO_URI_SELECTED="${repo_uri}"
- break
- fi
- done
-
- [[ ${EGIT_REPO_URI_SELECTED} ]] \
- || die "${FUNCNAME}: can't fetch from ${EGIT_REPO_URI}"
-}
-
-# @FUNCTION: git-2_update_repo
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function running update command on specified repo_uri.
-git-2_update_repo() {
- debug-print-function ${FUNCNAME} "$@"
-
- local repo_uri
-
- if [[ ${EGIT_LOCAL_NONBARE} ]]; then
- # checkout master branch and drop all other local branches
- git checkout ${EGIT_MASTER} || die "${FUNCNAME}: can't checkout master branch ${EGIT_MASTER}"
- for x in $(git branch | grep -v "* ${EGIT_MASTER}" | tr '\n' ' '); do
- debug-print "${FUNCNAME}: git branch -D ${x}"
- git branch -D ${x} > /dev/null
- done
- fi
-
- EGIT_REPO_URI_SELECTED=""
- for repo_uri in ${EGIT_REPO_URI}; do
- # git urls might change, so reset it
- git config remote.origin.url "${repo_uri}"
-
- debug-print "${EGIT_UPDATE_CMD}"
- if ${EGIT_UPDATE_CMD} > /dev/null; then
- # global variable containing the repo_name we will be using
- debug-print "${FUNCNAME}: EGIT_REPO_URI_SELECTED=\"${repo_uri}\""
- EGIT_REPO_URI_SELECTED="${repo_uri}"
- break
- fi
- done
-
- [[ ${EGIT_REPO_URI_SELECTED} ]] \
- || die "${FUNCNAME}: can't update from ${EGIT_REPO_URI}"
-}
-
-# @FUNCTION: git-2_fetch
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function fetching repository from EGIT_REPO_URI and storing it in
-# specified EGIT_STORE_DIR.
-git-2_fetch() {
- debug-print-function ${FUNCNAME} "$@"
-
- local oldsha cursha repo_type
-
- [[ ${EGIT_LOCAL_NONBARE} ]] && repo_type="non-bare repository" || repo_type="bare repository"
-
- if [[ ! -d ${EGIT_DIR} ]]; then
- git-2_initial_clone
- pushd "${EGIT_DIR}" > /dev/null || die
- cursha=$(git rev-parse ${UPSTREAM_BRANCH})
- echo "GIT NEW clone -->"
- echo " repository: ${EGIT_REPO_URI_SELECTED}"
- echo " at the commit: ${cursha}"
-
- popd > /dev/null || die
- elif [[ ${EVCS_OFFLINE} ]]; then
- pushd "${EGIT_DIR}" > /dev/null || die
- cursha=$(git rev-parse ${UPSTREAM_BRANCH})
- echo "GIT offline update -->"
- echo " repository: $(git config remote.origin.url)"
- echo " at the commit: ${cursha}"
- popd > /dev/null || die
- else
- pushd "${EGIT_DIR}" > /dev/null || die
- oldsha=$(git rev-parse ${UPSTREAM_BRANCH})
- git-2_update_repo
- cursha=$(git rev-parse ${UPSTREAM_BRANCH})
-
- # fetch updates
- echo "GIT update -->"
- echo " repository: ${EGIT_REPO_URI_SELECTED}"
- # write out message based on the revisions
- if [[ "${oldsha}" != "${cursha}" ]]; then
- echo " updating from commit: ${oldsha}"
- echo " to commit: ${cursha}"
- else
- echo " at the commit: ${cursha}"
- fi
-
- # print nice statistic of what was changed
- git --no-pager diff --stat ${oldsha}..${UPSTREAM_BRANCH}
- popd > /dev/null || die
- fi
- # export the version the repository is at
- export EGIT_VERSION="${cursha}"
- # log the repo state
- [[ ${EGIT_COMMIT} != ${EGIT_BRANCH} ]] \
- && echo " commit: ${EGIT_COMMIT}"
- echo " branch: ${EGIT_BRANCH}"
- echo " storage directory: \"${EGIT_DIR}\""
- echo " checkout type: ${repo_type}"
-
- # Cleanup after git.eclass
- if [[ ${EGIT_OLD_CLONE} ]]; then
- einfo "${FUNCNAME}: removing old clone in ${EGIT_OLD_CLONE}."
- rm -rf "${EGIT_OLD_CLONE}"
- fi
-}
-
-# @FUNCTION: git_bootstrap
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function that runs bootstrap command on unpacked source.
-git-2_bootstrap() {
- debug-print-function ${FUNCNAME} "$@"
-
- # @ECLASS-VARIABLE: EGIT_BOOTSTRAP
- # @DESCRIPTION:
- # Command to be executed after checkout and clone of the specified
- # repository.
- # enviroment the package will fail if there is no update, thus in
- # combination with --keep-going it would lead in not-updating
- # pakcages that are up-to-date.
- if [[ ${EGIT_BOOTSTRAP} ]]; then
- pushd "${EGIT_SOURCEDIR}" > /dev/null || die
- einfo "Starting bootstrap"
-
- if [[ -f ${EGIT_BOOTSTRAP} ]]; then
- # we have file in the repo which we should execute
- debug-print "${FUNCNAME}: bootstraping with file \"${EGIT_BOOTSTRAP}\""
-
- if [[ -x ${EGIT_BOOTSTRAP} ]]; then
- eval "./${EGIT_BOOTSTRAP}" \
- || die "${FUNCNAME}: bootstrap script failed"
- else
- eerror "\"${EGIT_BOOTSTRAP}\" is not executable."
- eerror "Report upstream, or bug ebuild maintainer to remove bootstrap command."
- die "\"${EGIT_BOOTSTRAP}\" is not executable"
- fi
- else
- # we execute some system command
- debug-print "${FUNCNAME}: bootstraping with commands \"${EGIT_BOOTSTRAP}\""
-
- eval "${EGIT_BOOTSTRAP}" \
- || die "${FUNCNAME}: bootstrap commands failed"
- fi
-
- einfo "Bootstrap finished"
- popd > /dev/null || die
- fi
-}
-
-# @FUNCTION: git-2_migrate_repository
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function migrating between bare and normal checkout repository.
-# This is based on usage of EGIT_SUBMODULES, at least until they
-# start to work with bare checkouts sanely.
-# This function also set some global variables that differ between
-# bare and non-bare checkout.
-git-2_migrate_repository() {
- debug-print-function ${FUNCNAME} "$@"
-
- local bare returnstate
-
- # first find out if we have submodules
- # or user explicitly wants us to use non-bare clones
- if ! [[ ${EGIT_HAS_SUBMODULES} || ${EGIT_NONBARE} ]]; then
- bare=1
- fi
-
- # test if we already have some repo and if so find out if we have
- # to migrate the data
- if [[ -d ${EGIT_DIR} ]]; then
- if [[ ${bare} && -d ${EGIT_DIR}/.git ]]; then
- debug-print "${FUNCNAME}: converting \"${EGIT_DIR}\" to bare copy"
-
- ebegin "Converting \"${EGIT_DIR}\" from non-bare to bare copy"
- mv "${EGIT_DIR}/.git" "${EGIT_DIR}.bare"
- export GIT_DIR="${EGIT_DIR}.bare"
- git config core.bare true > /dev/null
- returnstate=$?
- unset GIT_DIR
- rm -rf "${EGIT_DIR}"
- mv "${EGIT_DIR}.bare" "${EGIT_DIR}"
- eend ${returnstate}
- elif [[ ! ${bare} && ! -d ${EGIT_DIR}/.git ]]; then
- debug-print "${FUNCNAME}: converting \"${EGIT_DIR}\" to non-bare copy"
-
- ebegin "Converting \"${EGIT_DIR}\" from bare to non-bare copy"
- git clone -l "${EGIT_DIR}" "${EGIT_DIR}.nonbare" > /dev/null
- returnstate=$?
- rm -rf "${EGIT_DIR}"
- mv "${EGIT_DIR}.nonbare" "${EGIT_DIR}"
- eend ${returnstate}
- fi
- fi
- if [[ ${returnstate} -ne 0 ]]; then
- debug-print "${FUNCNAME}: converting \"${EGIT_DIR}\" failed, removing to start from scratch"
-
- # migration failed, remove the EGIT_DIR to play it safe
- einfo "Migration failed, removing \"${EGIT_DIR}\" to start from scratch."
- rm -rf "${EGIT_DIR}"
- fi
-
- # set various options to work with both targets
- if [[ ${bare} ]]; then
- debug-print "${FUNCNAME}: working in bare repository for \"${EGIT_DIR}\""
- EGIT_LOCAL_OPTIONS+="${EGIT_OPTIONS} --bare"
- MOVE_COMMAND="git clone -l -s -n ${EGIT_DIR// /\\ }"
- EGIT_UPDATE_CMD="git fetch -t -f -u origin ${EGIT_BRANCH}:${EGIT_BRANCH}"
- UPSTREAM_BRANCH="${EGIT_BRANCH}"
- EGIT_LOCAL_NONBARE=
- else
- debug-print "${FUNCNAME}: working in bare repository for non-bare \"${EGIT_DIR}\""
- MOVE_COMMAND="cp -pPR ."
- EGIT_LOCAL_OPTIONS="${EGIT_OPTIONS}"
- EGIT_UPDATE_CMD="git pull -f -u ${EGIT_OPTIONS}"
- UPSTREAM_BRANCH="origin/${EGIT_BRANCH}"
- EGIT_LOCAL_NONBARE="true"
- fi
-}
-
-# @FUNCTION: git-2_cleanup
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function cleaning up all the global variables
-# that are not required after the unpack has been done.
-git-2_cleanup() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Here we can unset only variables that are GLOBAL
- # defined by the eclass, BUT NOT subject to change
- # by user (like EGIT_PROJECT).
- # If ebuild writer polutes his environment it is
- # his problem only.
- unset EGIT_DIR
- unset MOVE_COMMAND
- unset EGIT_LOCAL_OPTIONS
- unset EGIT_UPDATE_CMD
- unset UPSTREAM_BRANCH
- unset EGIT_LOCAL_NONBARE
-}
-
-# @FUNCTION: git-2_src_unpack
-# @DESCRIPTION:
-# Default git src_unpack function.
-git-2_src_unpack() {
- debug-print-function ${FUNCNAME} "$@"
-
- git-2_init_variables
- git-2_prepare_storedir
- git-2_migrate_repository
- git-2_fetch "$@"
- git-2_gc
- git-2_submodules
- git-2_move_source
- git-2_branch
- git-2_bootstrap
- git-2_cleanup
- echo ">>> Unpacked to ${EGIT_SOURCEDIR}"
-
- # Users can specify some SRC_URI and we should
- # unpack the files too.
- if [[ ! ${EGIT_NOUNPACK} ]]; then
- if has ${EAPI:-0} 0 1; then
- [[ ${A} ]] && unpack ${A}
- else
- default_src_unpack
- fi
- fi
-}
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index b82c3a29f5c4..739a394ddd18 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: python-single-r1.eclass
@@ -89,9 +89,9 @@ EXPORT_FUNCTIONS pkg_setup
#
# It should be noted that in order to preserve metadata immutability,
# PYTHON_COMPAT_OVERRIDE does not affect IUSE nor dependencies.
-# The state of PYTHON_TARGETS and PYTHON_SINGLE_TARGET is ignored,
-# and the implementation in PYTHON_COMPAT_OVERRIDE is built instead.
-# Dependencies need to be satisfied manually.
+# The state of PYTHON_SINGLE_TARGET is ignored, and the implementation
+# in PYTHON_COMPAT_OVERRIDE is built instead. Dependencies need to be
+# satisfied manually.
#
# Example:
# @CODE
@@ -139,29 +139,6 @@ EXPORT_FUNCTIONS pkg_setup
# python_single_target_pypy? ( dev-python/pypy[gdbm] )
# @CODE
-# @ECLASS-VARIABLE: PYTHON_USEDEP
-# @DESCRIPTION:
-# DEPRECATED. Use PYTHON_SINGLE_USEDEP or python_gen_cond_dep with
-# PYTHON_MULTI_USEDEP placeholder instead.
-#
-# This is an eclass-generated USE-dependency string which can be used to
-# depend on another Python package being built for the same Python
-# implementations.
-#
-# The generate USE-flag list is compatible with packages using python-r1,
-# python-single-r1 and python-distutils-ng eclasses. It must not be used
-# on packages using python.eclass.
-#
-# Example use:
-# @CODE
-# RDEPEND="dev-python/foo[${PYTHON_USEDEP}]"
-# @CODE
-#
-# Example value:
-# @CODE
-# python_targets_python2_7(-)?,python_single_target_python3_4(+)?
-# @CODE
-
# @ECLASS-VARIABLE: PYTHON_SINGLE_USEDEP
# @DESCRIPTION:
# This is an eclass-generated USE-dependency string which can be used to
@@ -201,10 +178,8 @@ EXPORT_FUNCTIONS pkg_setup
# @ECLASS-VARIABLE: PYTHON_REQUIRED_USE
# @DESCRIPTION:
-# This is an eclass-generated required-use expression which ensures the following
-# when more than one python implementation is possible:
-# 1. Exactly one PYTHON_SINGLE_TARGET value has been enabled.
-# 2. The selected PYTHON_SINGLE_TARGET value is enabled in PYTHON_TARGETS.
+# This is an eclass-generated required-use expression which ensures
+# that exactly one PYTHON_SINGLE_TARGET value has been enabled.
#
# This expression should be utilized in an ebuild by including it in
# REQUIRED_USE, optionally behind a use flag.
@@ -216,39 +191,28 @@ EXPORT_FUNCTIONS pkg_setup
#
# Example value:
# @CODE
-# python_single_target_python2_7? ( python_targets_python2_7 )
-# python_single_target_python3_3? ( python_targets_python3_3 )
# ^^ ( python_single_target_python2_7 python_single_target_python3_3 )
# @CODE
_python_single_set_globals() {
_python_set_impls
- local flags_mt=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" )
local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_single_target_}" )
- local unflags=( "${_PYTHON_UNSUPPORTED_IMPLS[@]/#/-python_single_target_}" )
if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then
# if only one implementation is supported, use IUSE defaults
# to avoid requesting the user to enable it
- IUSE="+${flags_mt[0]} +${flags[0]}"
+ IUSE="+${flags[0]}"
else
- IUSE="${flags_mt[*]} ${flags[*]}"
+ IUSE="${flags[*]}"
fi
local requse="^^ ( ${flags[*]} )"
- local optflags="${flags_mt[@]/%/(-)?},${unflags[@]/%/(-)},${flags[@]/%/(+)?}"
- local usedep="${optflags// /,}"
local single_flags="${flags[@]/%/(-)?}"
local single_usedep=${single_flags// /,}
local deps= i PYTHON_PKG_DEP
for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
- # The chosen targets need to be in PYTHON_TARGETS as well.
- # This is in order to enforce correct dependencies on packages
- # supporting multiple implementations.
- requse+=" python_single_target_${i}? ( python_targets_${i} )"
-
python_export "${i}" PYTHON_PKG_DEP
# 1) well, python-exec would suffice as an RDEP
# but no point in making this overcomplex, BDEP doesn't hurt anyone
@@ -276,13 +240,6 @@ _python_single_set_globals() {
die "PYTHON_REQUIRED_USE integrity check failed"
fi
- if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then
- eerror "PYTHON_USEDEP have changed between inherits!"
- eerror "Before: ${PYTHON_USEDEP}"
- eerror "Now : ${usedep}"
- die "PYTHON_USEDEP integrity check failed"
- fi
-
if [[ ${PYTHON_SINGLE_USEDEP} != "${single_usedep}" ]]; then
eerror "PYTHON_SINGLE_USEDEP have changed between inherits!"
eerror "Before: ${PYTHON_SINGLE_USEDEP}"
@@ -292,10 +249,10 @@ _python_single_set_globals() {
else
PYTHON_DEPS=${deps}
PYTHON_REQUIRED_USE=${requse}
- PYTHON_USEDEP=${usedep}
+ PYTHON_USEDEP='%PYTHON_USEDEP-HAS-BEEN-REMOVED%'
PYTHON_SINGLE_USEDEP=${single_usedep}
- readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP \
- PYTHON_SINGLE_USEDEP
+ readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_SINGLE_USEDEP \
+ PYTHON_USEDEP
fi
}
_python_single_set_globals
@@ -305,45 +262,29 @@ if [[ ! ${_PYTHON_SINGLE_R1} ]]; then
# @FUNCTION: _python_gen_usedep
# @INTERNAL
-# @USAGE: <-s|-u> [<pattern>...]
+# @USAGE: [<pattern>...]
# @DESCRIPTION:
# Output a USE dependency string for Python implementations which
# are both in PYTHON_COMPAT and match any of the patterns passed
# as parameters to the function.
#
-# The first argument specifies USE-dependency type: '-s' for new-style
-# PYTHON_SINGLE_USEDEP, '-u' for backwards-compatible PYTHON_USEDEP.
-#
# The patterns can be either fnmatch-style patterns (matched via bash
# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
# appropriately all enabled Python 2/3 implementations (alike
# python_is_python3). Remember to escape or quote the fnmatch patterns
# to prevent accidental shell filename expansion.
#
-# This is an internal function used to implement python_gen_cond_dep
-# and deprecated python_gen_usedep.
+# This is an internal function used to implement python_gen_cond_dep.
_python_gen_usedep() {
debug-print-function ${FUNCNAME} "${@}"
- local mode=${1}
- shift
local impl matches=()
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
- case ${mode} in
- -s)
- matches+=(
- "python_single_target_${impl}(-)?"
- )
- ;;
- -u)
- matches+=(
- "python_targets_${impl}(-)?"
- "python_single_target_${impl}(+)?"
- )
- ;;
- esac
+ matches+=(
+ "python_single_target_${impl}(-)?"
+ )
fi
done
@@ -353,46 +294,6 @@ _python_gen_usedep() {
echo "${out// /,}"
}
-# @FUNCTION: python_gen_usedep
-# @USAGE: <pattern> [...]
-# @DESCRIPTION:
-# DEPRECATED. Please use python_gen_cond_dep instead.
-#
-# Output a USE dependency string for Python implementations which
-# are both in PYTHON_COMPAT and match any of the patterns passed
-# as parameters to the function.
-#
-# The patterns can be either fnmatch-style patterns (matched via bash
-# == operator against PYTHON_COMPAT values) or '-2' / '-3' to indicate
-# appropriately all enabled Python 2/3 implementations (alike
-# python_is_python3). Remember to escape or quote the fnmatch patterns
-# to prevent accidental shell filename expansion.
-#
-# When all implementations are requested, please use ${PYTHON_USEDEP}
-# instead. Please also remember to set an appropriate REQUIRED_USE
-# to avoid ineffective USE flags.
-#
-# Example:
-# @CODE
-# PYTHON_COMPAT=( python{2_7,3_4} )
-# DEPEND="doc? ( dev-python/epydoc[$(python_gen_usedep 'python2*')] )"
-# @CODE
-#
-# It will cause the dependency to look like:
-# @CODE
-# DEPEND="doc? ( dev-python/epydoc[python_targets_python2_7(-)?,...] )"
-# @CODE
-python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # output only once, during some reasonable phase
- # (avoid spamming cache regen runs)
- if [[ ${EBUILD_PHASE} == setup ]]; then
- eqawarn "python_gen_usedep() is deprecated. Please use python_gen_cond_dep instead."
- fi
- _python_gen_usedep -u "${@}"
-}
-
# @FUNCTION: python_gen_useflags
# @USAGE: [<pattern>...]
# @DESCRIPTION:
@@ -444,10 +345,9 @@ python_gen_useflags() {
# to prevent accidental shell filename expansion.
#
# In order to enforce USE constraints on the packages, verbatim
-# '${PYTHON_USEDEP}', '${PYTHON_SINGLE_USEDEP}'
-# and '${PYTHON_MULTI_USEDEP}' (quoted!) may be placed in the dependency
-# specification. It will get expanded within the function into a proper
-# USE dependency string.
+# '${PYTHON_SINGLE_USEDEP}' and '${PYTHON_MULTI_USEDEP}' (quoted!) may
+# be placed in the dependency specification. It will get expanded within
+# the function into a proper USE dependency string.
#
# Example:
# @CODE
@@ -473,15 +373,11 @@ python_gen_cond_dep() {
for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do
if _python_impl_matches "${impl}" "${@}"; then
- # substitute ${PYTHON_USEDEP} if used
- # (since python_gen_usedep() will not return ${PYTHON_USEDEP}
- # the code is run at most once)
- if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
- local usedep=$(_python_gen_usedep -u "${@}")
- dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}}
- fi
+ # substitute ${PYTHON_SINGLE_USEDEP} if used
+ # (since python_gen_usedep() will not return
+ # ${PYTHON_SINGLE_USEDEP}, the code is run at most once)
if [[ ${dep} == *'${PYTHON_SINGLE_USEDEP}'* ]]; then
- local usedep=$(_python_gen_usedep -s "${@}")
+ local usedep=$(_python_gen_usedep "${@}")
dep=${dep//\$\{PYTHON_SINGLE_USEDEP\}/${usedep}}
fi
local multi_usedep="python_targets_${impl}(-)"
@@ -586,15 +482,6 @@ python_setup() {
die "More than one implementation in PYTHON_SINGLE_TARGET."
fi
- if ! use "python_targets_${impl}"; then
- eerror "The implementation chosen as PYTHON_SINGLE_TARGET must be added"
- eerror "to PYTHON_TARGETS as well. This is in order to ensure that"
- eerror "dependencies are satisfied correctly. We're sorry"
- eerror "for the inconvenience."
- echo
- die "Build target (${impl}) not in PYTHON_TARGETS."
- fi
-
python_export "${impl}" EPYTHON PYTHON
python_wrapper_setup
fi
@@ -607,7 +494,7 @@ python_setup() {
eerror
eerror "${_PYTHON_SUPPORTED_IMPLS[@]}"
echo
- die "No supported Python implementation in PYTHON_SINGLE_TARGET/PYTHON_TARGETS."
+ die "No supported Python implementation in PYTHON_SINGLE_TARGET."
fi
}
diff --git a/net-analyzer/cacti-spine/Manifest b/net-analyzer/cacti-spine/Manifest
index 9cc03813bf6e..fc71161be344 100644
--- a/net-analyzer/cacti-spine/Manifest
+++ b/net-analyzer/cacti-spine/Manifest
@@ -1 +1,2 @@
DIST cacti-spine-1.2.8.tar.gz 106801 BLAKE2B 813d4b6d4a4a632cc6d59c5c4eeeb37df78995ca5952e77204a9b5f8b599b34fe043b9f8c1ae81ad20600c08403ff06c04119db53bb03e37788fc11e5e39be6a SHA512 7f9a90f5e41a8a72d0068321b119f5ed7768fd7939bf5a994627b2f199158440639e88d31da35444e28fb73f8dbb57c1012f01ae09d24f0478d8e75a21bb942a
+DIST cacti-spine-1.2.9.tar.gz 106572 BLAKE2B 803d16b6708e4cc5fc5ea9a5cb49bfd535fea421a873ce9baf74e1de75597a5a4941a909219d729e291ff3201c0f9c2a8304381144d935778ef331779395c688 SHA512 668b25cb89fad331ae4bc726b797bbeade74c90500af348748a995be0de2f699264cd24e98ea709214453328058e1dba6399dca2074bb6ce71e0d4b434b9dee4
diff --git a/net-analyzer/cacti-spine/cacti-spine-1.2.9.ebuild b/net-analyzer/cacti-spine/cacti-spine-1.2.9.ebuild
new file mode 100644
index 000000000000..a5c1da23c064
--- /dev/null
+++ b/net-analyzer/cacti-spine/cacti-spine-1.2.9.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+MY_P=${PN}-${PV/_p/-}
+
+DESCRIPTION="Spine is a fast poller for Cacti (formerly known as Cactid)"
+HOMEPAGE="https://cacti.net/spine_info.php"
+SRC_URI="https://www.cacti.net/downloads/spine/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="libressl"
+
+CDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-analyzer/net-snmp:=
+ dev-db/mysql-connector-c:0=
+"
+DEPEND="
+ ${CDEPEND}
+ sys-apps/help2man
+"
+RDEPEND="
+ ${CDEPEND}
+ >net-analyzer/cacti-0.8.8
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.8g-net-snmp.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_install() {
+ dosbin spine
+
+ insinto /etc/
+ insopts -m0640 -o root
+ newins spine.conf{.dist,}
+
+ doman spine.1
+ dodoc CHANGELOG
+}
diff --git a/net-analyzer/cacti/Manifest b/net-analyzer/cacti/Manifest
index b5374c97cce5..ecee743051aa 100644
--- a/net-analyzer/cacti/Manifest
+++ b/net-analyzer/cacti/Manifest
@@ -1 +1,2 @@
DIST cacti-1.2.8.tar.gz 24881361 BLAKE2B 181b2eebf43c81a221b65eb9391ad758c05bb5871a35766a1f5323f453a0a6a533a1120963e04f7a01d4ac444942e37bf50a3c6cebe5f7261558142baad2f282 SHA512 e24d9de47a06c1741c7bcfe5c5f68a5a0f0cc2eb859fc930ced28f797f84ad537ff1a0a703dc8c26735cc4b54ba09699e33a30ac666e1f8ec2ec26ae4ceccde3
+DIST cacti-1.2.9.tar.gz 24906227 BLAKE2B 65a4459f9f55c55db853f81bcac6c60f146ba50f6dfd0abde449a41847afdb8564452ede1a493291c19ee7732ccc4a76d485af078021c7e0fcb6d1b265994940 SHA512 e50eb5587dc0274788b35cb701383ba897ab7c45a65efc7a8d32963b492c1ff1b96b0271ab7b6f9b53ad7dff5dd66b3ce4bd4a91c3ecf8ccd8d4b19b3ac972e4
diff --git a/net-analyzer/cacti/cacti-1.2.9.ebuild b/net-analyzer/cacti/cacti-1.2.9.ebuild
new file mode 100644
index 000000000000..66775efc3b40
--- /dev/null
+++ b/net-analyzer/cacti/cacti-1.2.9.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit eutils webapp
+
+# Support for _p* in version.
+MY_P=${P/_p*/}
+
+DESCRIPTION="Cacti is a complete frontend to rrdtool"
+HOMEPAGE="https://www.cacti.net/"
+SRC_URI="https://www.cacti.net/downloads/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="snmp doc"
+
+need_httpd
+
+RDEPEND="
+ dev-lang/php[cli,mysql,pdo,session,sockets,xml]
+ dev-php/adodb
+ net-analyzer/rrdtool[graph]
+ virtual/cron
+ snmp? ( >=net-analyzer/net-snmp-5.2.0 )
+"
+
+src_compile() { :; }
+
+src_install() {
+ dodoc CHANGELOG
+ dodoc -r docs
+ mv docs .. || die
+
+ webapp_src_preinst
+
+ edos2unix `find -type f -name '*.php'`
+
+ dodir ${MY_HTDOCSDIR}
+ cp -r . "${D}"${MY_HTDOCSDIR}
+
+ webapp_serverowned ${MY_HTDOCSDIR}/rra
+ webapp_serverowned ${MY_HTDOCSDIR}/log
+ webapp_configfile ${MY_HTDOCSDIR}/include/config.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+
+ webapp_src_install
+}