Added a lot of PHP packages for the defunct volkszaehler ebuild

This commit is contained in:
Torsten Kurbad
2025-10-09 12:09:31 +02:00
parent cba6641bde
commit 69cb537d3d
417 changed files with 8637 additions and 53 deletions
+88 -43
View File
@@ -3,60 +3,105 @@
EAPI=8
inherit bash-completion-r1 git-r3
DESCRIPTION="Dependency Manager for PHP"
DESCRIPTION="Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere."
HOMEPAGE="https://github.com/composer/composer"
SRC_URI="https://raw.githubusercontent.com/inode64/inode64-overlay/main/dist/${P}-vendor.tar.xz"
SRC_URI="https://github.com/composer/composer/archive/${PV}.tar.gz -> ${P}.tar.gz"
EGIT_REPO_URI="https://github.com/${PN}/${PN}"
EGIT_COMMIT="8413f50f097774e0601400e5599b5f38866fa3f4"
EGIT_BRANCH="2.8"
S="${WORKDIR}/composer-${PV}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="doc"
DOCS="CHANGELOG.md README.md"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
src_unpack() {
git-r3_src_unpack
unpack ${P}-vendor.tar.xz
}
BDEPEND="dev-php/theseer-Autoload"
src_compile() {
php --define memory_limit=-1 -d phar.readonly=Off bin/compile || die
mv composer.phar composer
chmod +x composer
./composer completion bash > completion.bash || die
}
RDEPEND="
>=dev-lang/php-7.4:*
dev-php/fedora-autoloader
dev-php/ca-bundle
dev-php/class-map-generator
dev-php/justinrainbow-json-schema
dev-php/metadata-minifier
dev-php/pcre
dev-php/psr-log
dev-php/react-promise
dev-php/seld-jsonlint
dev-php/seld-phar-utils
dev-php/seld-signal-handler
dev-php/semver
dev-php/spdx-licenses
dev-php/symfony-console
dev-php/symfony-filesystem
dev-php/symfony-finder
dev-php/symfony-polyfill-php73
dev-php/symfony-polyfill-php80
dev-php/symfony-polyfill-php81
dev-php/symfony-process
dev-php/xdebug-handler
"
src_test() {
if has usersandbox ${FEATURES} || has network-sandbox ${FEATURES}; then
ewarn "Some tests may fail with FEATURES=usersandbox or"
ewarn "FEATURES=network-sandbox; Skipping tests because"
ewarn "test suite would hang forever in such environments!"
return 0;
fi
PATCHES=(
"${FILESDIR}"/autoload.patch
"${FILESDIR}"/explain-non-standard-install.patch
)
mkdir integration-test
cd integration-test
src_prepare() {
default
../composer init \
--no-interaction \
--type=project \
--name='gentoo/test' \
--description='Composer Test Project' \
--license='GPL-3.0-or-later' \
--require='symfony/console:*' || die
../composer update --no-interaction --no-progress --prefer-dist || die
../composer validate --no-interaction || die
mkdir vendor || die
phpab \
--quiet \
--output vendor/autoload.php \
--template "${FILESDIR}"/autoload.php.tpl \
--basedir src \
src \
|| die
VENDOR_DIR="${EPREFIX}/usr/share/php"
cat >> vendor/autoload.php <<EOF || die "failed to extend autoload.php"
// Dependencies
\Fedora\Autoloader\Dependencies::required([
"${VENDOR_DIR}/Fedora/Autoloader/autoload.php",
"${VENDOR_DIR}/Composer/CaBundle/autoload.php",
"${VENDOR_DIR}/Composer/ClassMapGenerator/autoload.php",
"${VENDOR_DIR}/JsonSchema/autoload.php",
"${VENDOR_DIR}/MabeEnum/autoload.php",
"${VENDOR_DIR}/Composer/MetadataMinifier/autoload.php",
"${VENDOR_DIR}/Composer/Pcre/autoload.php",
"${VENDOR_DIR}/Psr/Container/autoload.php",
"${VENDOR_DIR}/Psr/Log/autoload.php",
"${VENDOR_DIR}/React/Promise/autoload.php",
"${VENDOR_DIR}/Seld/JsonLint/autoload.php",
"${VENDOR_DIR}/Seld/PharUtils/autoload.php",
"${VENDOR_DIR}/Seld/Signal/autoload.php",
"${VENDOR_DIR}/Composer/Semver/autoload.php",
"${VENDOR_DIR}/Composer/Spdx/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Console/autoload.php",
"${VENDOR_DIR}/Symfony/Component/DeprecationContracts/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Filesystem/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Finder/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Ctype/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Intl/Grapheme/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Intl/Normalizer/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Mbstring/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Php73/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Php80/autoload.php",
"${VENDOR_DIR}/Symfony/Polyfill/Php81/autoload.php",
"${VENDOR_DIR}/Symfony/Component/Process/autoload.php",
"${VENDOR_DIR}/Symfony/Contracts/Service/autoload.php",
"${VENDOR_DIR}/Symfony/Component/String/autoload.php",
"${VENDOR_DIR}/Composer/XdebugHandler/autoload.php"
]);
EOF
}
src_install() {
dobin "${PN}"
newbashcomp completion.bash composer
if use doc; then
dodoc -r doc
fi
insinto "/usr/share/composer"
doins -r LICENSE res src vendor
exeinto "/usr/share/composer/bin"
doexe "bin/composer"
dosym "../share/composer/bin/composer" "/usr/bin/composer"
}