View Raw Ebuild
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_PHP="php7-4"
PHP_EXT_NAME="meminfo"
PHP_EXT_S="${S}/extension/php7"
inherit php-ext-source-r3
DESCRIPTION="Extension exposing memory information"
HOMEPAGE="https://github.com/BitOne/php-meminfo/"
SRC_URI="https://github.com/BitOne/php-meminfo/archive/v${PV}.tar.gz -> ${P}.tgz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="+analyzer"
RDEPEND="
dev-lang/php:*[xml]
analyzer? (
dev-php/fedora-autoloader
>=dev-php/symfony-console-2.8.3
>=dev-php/symfony-filesystem-2.8.3
>=dev-php/symfony-serializer-2.8.3
>=dev-php/symfony-string-2.8.3
>=dev-php/clue-graph-0.9.0
>=dev-php/graphp-algorithms-0.8.1
dev-php/xdebug-handler
)
"
src_prepare() {
# Module part
php-ext-source-r3_src_prepare
if ! use analyzer; then
return
fi
# application part
cd "${S}"
mkdir analyzer/vendor
phpab \
--quiet \
--output analyzer/vendor/autoload.php \
--template fedora2 \
--basedir analyzer/vendor \
analyzer/composer.json \
|| die
VENDOR_DIR="${EPREFIX}/usr/share/php"
cat >> analyzer/vendor/autoload.php <<EOF || die "failed to extend autoload.php"
// Dependencies
\Fedora\Autoloader\Dependencies::required([
"${VENDOR_DIR}/Fedora/Autoloader/autoload.php",
"${VENDOR_DIR}/Symfony/Component/ServiceContracts/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Polyfill-php80/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Console/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Filesystem/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Serializer/autoload.php",
"${VENDOR_DIR}/Symfony/Component/String/autoload.php",
"${VENDOR_DIR}/Fhaculty/Graph/autoload.php",
"${VENDOR_DIR}/Graphp/Algorithms/autoload.php",
]);
EOF
}
src_install() {
# Module part
php-ext-source-r3_src_install
if ! use analyzer ;
then
return
fi
# Application part
cd "${S}"
insinto "/usr/share/${PN}"
doins -r analyzer
exeinto "/usr/share/${PN}/analyzer/bin"
doexe "analyzer/bin/analyzer"
dosym "../share/${PN}/analyzer/bin/analyzer" "/usr/bin/analyzer"
}