Skip to content

Commit

Permalink
feat(dev-php/composer): new ebuild
Browse files Browse the repository at this point in the history
  • Loading branch information
SpiderX committed Jul 7, 2024
1 parent 32d02f1 commit 61f71c2
Show file tree
Hide file tree
Showing 7 changed files with 193 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# nest overlay

[![Number of ebuilds: 774](https://img.shields.io/badge/ebuild-774-orange.svg)](https://img.shields.io/badge/ebuild-774-orange.svg)
[![Number of ebuilds: 775](https://img.shields.io/badge/ebuild-775-orange.svg)](https://img.shields.io/badge/ebuild-775-orange.svg)
[![GitHub repo size in bytes](https://img.shields.io/github/repo-size/SpiderX/portage-overlay.svg)](https://img.shields.io/github/repo-size/SpiderX/portage-overlay.svg)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2323/badge)](https://bestpractices.coreinfrastructure.org/en/projects/2323)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white)](https://www.conventionalcommits.org)
Expand Down Expand Up @@ -351,6 +351,7 @@ This overlay consists of an [Gentoo Portage](https://www.gentoo.org/) ebuilds fo
* dev-ml/[tsdl](https://github.com/dbuenzli/tsdl) | Thin bindings to SDL for OCaml
* dev-ml/[xmlm](https://github.com/dbuenzli/xmlm) | Ocaml XML manipulation module
* dev-php/[class-map-generator](https://github.com/composer/class-map-generator) | Utilities to scan PHP code and generate class maps
* dev-php/[composer](https://github.com/composer/composer) | Dependency Manager for PHP
* dev-php/[pcre](https://github.com/composer/pcre) | PCRE wrapping library that offers type-safe preg_ replacements
* dev-php/[psr-container](https://github.com/php-fig/container) | Common Container Interface (PHP FIG PSR-11)
* dev-php/[scrypt]() | A PHP wrapper fo the scrypt hashing algorithm
Expand Down
1 change: 1 addition & 0 deletions dev-php/composer/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST composer-2.7.7.tar.gz 486711 BLAKE2B b7c18c89e04f4d91ebff174a44a9ab8d1a3c9a3ec13dc9458241ff037ad70cff24640b2b10964730ea2961f5021bb0b3ae72a955c6e80264d3fbfb4f036e5d34 SHA512 48f316e04d01d6dd747c11493c0251803e426fd9d612749de859449ed6190a6e0ca55beb44e8dae9e2ee69a21657464463914c0146f3da1766de4b4d72799106
60 changes: 60 additions & 0 deletions dev-php/composer/composer-2.7.7.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DESCRIPTION="Dependency Manager for PHP"
HOMEPAGE="https://github.com/composer/composer"
SRC_URI="https://github.com/composer/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test" # no tests

RDEPEND="dev-lang/php:*[curl]
dev-php/ca-bundle
dev-php/class-map-generator
dev-php/fedora-autoloader
dev-php/jsonlint
dev-php/json-schema
dev-php/metadata-minifier
dev-php/pcre
dev-php/phar-utils
dev-php/signal-handler
dev-php/psr-log
dev-php/reactphp-promise
dev-php/semver
dev-php/spdx-licenses
dev-php/symfony-console
dev-php/symfony-filesystem
dev-php/symfony-finder
dev-php/symfony-polyfill-php80
dev-php/symfony-polyfill-php81
dev-php/symfony-process
dev-php/xdebug-handler"
BDEPEND="dev-php/theseer-Autoload"

src_prepare() {
default

sed -i '/includeIfExists/s|: ?ClassLoader||' src/bootstrap.php \
|| die "sed failed for bootstrap.php"

mkdir vendor || die "mkdir failed"

phpab --quiet --output vendor/autoload.php \
--template "${FILESDIR}"/autoload.php.tpl --basedir src/ src \
|| die "phpab failed"

eapply "${FILESDIR}/${PN}"-2.7.7-autoload.patch
}

src_install() {
einstalldocs
insinto /usr/share/composer
doins -r res src vendor LICENSE
exeinto /usr/share/composer/bin
doexe bin/composer
dosym ../share/composer/bin/composer /usr/bin/composer
}
62 changes: 62 additions & 0 deletions dev-php/composer/composer-9999.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

EGIT_REPO_URI="https://github.com/composer/${PN}.git"

inherit git-r3

DESCRIPTION="Dependency Manager for PHP"
HOMEPAGE="https://github.com/composer/composer"

LICENSE="MIT"
SLOT="0"
RESTRICT="test" # no phpunit

RDEPEND="dev-lang/php:*[curl]
dev-php/ca-bundle
dev-php/class-map-generator
dev-php/fedora-autoloader
dev-php/jsonlint
dev-php/json-schema
dev-php/metadata-minifier
dev-php/pcre
dev-php/phar-utils
dev-php/signal-handler
dev-php/psr-log
dev-php/reactphp-promise
dev-php/semver
dev-php/spdx-licenses
dev-php/symfony-console
dev-php/symfony-filesystem
dev-php/symfony-finder
dev-php/symfony-polyfill-php80
dev-php/symfony-polyfill-php81
dev-php/symfony-process
dev-php/xdebug-handler"
BDEPEND="dev-php/theseer-Autoload"

src_prepare() {
default

sed -i '/includeIfExists/s|: ?ClassLoader||' src/bootstrap.php \
|| die "sed failed for bootstrap.php"

mkdir vendor || die "mkdir failed"

phpab --quiet --output vendor/autoload.php \
--template "${FILESDIR}"/autoload.php.tpl --basedir src/ src \
|| die "phpab failed"

eapply "${FILESDIR}/${PN}"-2.7.7-autoload.patch
}

src_install() {
einstalldocs
insinto /usr/share/composer
doins -r res src vendor LICENSE
exeinto /usr/share/composer/bin
doexe bin/composer
dosym ../share/composer/bin/composer /usr/bin/composer
}
12 changes: 12 additions & 0 deletions dev-php/composer/files/autoload.php.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php
// @codingStandardsIgnoreFile
// @codeCoverageIgnoreStart
require_once 'Fedora/Autoloader'.'/autoload.php';

\Fedora\Autoloader\Autoload::addClassMap(
array(
___CLASSLIST___,
),
__DIR__ . '/../src'
);
// @codeCoverageIgnoreEnd
37 changes: 37 additions & 0 deletions dev-php/composer/files/composer-2.7.7-autoload.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
--- ../vendor/autoload.php 2024-07-07 16:56:25.105822016 +0300
+++ ../vendor/autoload.php 2024-07-07 16:57:32.819305228 +0300
@@ -286,3 +286,34 @@
__DIR__ . '/../src'
);
// @codeCoverageIgnoreEnd
+
+// Dependencies
+\Fedora\Autoloader\Dependencies::required([
+ '/usr/share/php/Composer/CaBundle/autoload.php',
+ '/usr/share/php/Composer/ClassMapGenerator/autoload.php',
+ '/usr/share/php/Composer/MetadataMinifier/autoload.php',
+ '/usr/share/php/Composer/Pcre/autoload.php',
+ '/usr/share/php/Composer/Semver/autoload.php',
+ '/usr/share/php/Composer/XdebugHandler/autoload.php',
+ '/usr/share/php/Composer/Spdx/autoload.php',
+ '/usr/share/php/Psr/Log/autoload.php',
+ '/usr/share/php/Seld/PharUtils/autoload.php',
+ '/usr/share/php/Seld/JsonLint/autoload.php',
+ '/usr/share/php/Seld/SignalHandler/autoload.php',
+ '/usr/share/php/Fedora/Autoloader/autoload.php',
+ '/usr/share/php/JsonSchema/autoload.php',
+ '/usr/share/php/React/Promise/autoload.php',
+ '/usr/share/php/Symfony/Component/PolyfillCtype/autoload.php',
+ '/usr/share/php/Symfony/Component/DeprecationContracts/autoload.php',
+ '/usr/share/php/Symfony/Component/ServiceContracts/autoload.php',
+ '/usr/share/php/Symfony/Component/PolyfillIntlNormalizer/autoload.php',
+ '/usr/share/php/Symfony/Component/Filesystem/autoload.php',
+ '/usr/share/php/Symfony/Component/Finder/autoload.php',
+ '/usr/share/php/Symfony/Component/Console/autoload.php',
+ '/usr/share/php/Symfony/Component/PolyfillMbstring/autoload.php',
+ '/usr/share/php/Symfony/Component/Process/autoload.php',
+ '/usr/share/php/Symfony/Component/PolyfillIntlGrapheme/autoload.php',
+ '/usr/share/php/Symfony/Component/Polyfill-php80/autoload.php',
+ '/usr/share/php/Symfony/Component/Polyfill-php81/autoload.php',
+ '/usr/share/php/Symfony/Component/String/autoload.php',
+]);
19 changes: 19 additions & 0 deletions dev-php/composer/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>spiderx@spiderx.dp.ua</email>
<name>Vladimir Pavljuchenkov</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
This package provides a tool to manage dependency management for PHP,
including declaring, managing, and installing dependencies of PHP projects.
</longdescription>
<upstream>
<remote-id type="github">composer/composer</remote-id>
</upstream>
</pkgmetadata>

0 comments on commit 61f71c2

Please sign in to comment.