From d2730461386a81b6b9ba2bce1104adf9c51169fb Mon Sep 17 00:00:00 2001 From: Guillaume Seren Date: Thu, 24 Nov 2016 09:09:45 +0100 Subject: [PATCH] dev-php/composer: Add 1.2.2 version This package is a source alternative to the phar one. It use dev-php/fedora-autoloader to provide a PSR4 loader, for itself (composer) and all the dependencies, bug 439206. Suggested-by: Michael Orlitzky Signed-off-by: Michael Orlitzky --- dev-php/composer/Manifest | 1 + dev-php/composer/composer-1.2.2.ebuild | 40 ++++++++++++++++ dev-php/composer/files/autoload.php | 25 ++++++++++ .../files/composer-update-paths.patch | 46 +++++++++++++++++++ dev-php/composer/metadata.xml | 17 +++++++ 5 files changed, 129 insertions(+) create mode 100644 dev-php/composer/Manifest create mode 100644 dev-php/composer/composer-1.2.2.ebuild create mode 100644 dev-php/composer/files/autoload.php create mode 100644 dev-php/composer/files/composer-update-paths.patch create mode 100644 dev-php/composer/metadata.xml diff --git a/dev-php/composer/Manifest b/dev-php/composer/Manifest new file mode 100644 index 000000000000..0181326fd69d --- /dev/null +++ b/dev-php/composer/Manifest @@ -0,0 +1 @@ +DIST composer-1.2.2.tar.gz 1070446 SHA256 c51b4fb71a0d23e26c5be048743459eefca7c9da22a47f757a433cbb33553bb4 SHA512 43c28194f72e13e708af91b9714d028ebf67ce02d830bec0556e434e8296eae0e406e7f8ab3e836b34c3950fceb11cf255c6004e5a56bdd08c3ca0078778d70e WHIRLPOOL 5bf1ae7b2f4ffe3fc9422dd3181f7561fbaf6399cbab6fef1692283e16e9ebd388f61228777475d50bdbaf7911f782568b2a60e1ce53b7cdb6a025f4a89f41af diff --git a/dev-php/composer/composer-1.2.2.ebuild b/dev-php/composer/composer-1.2.2.ebuild new file mode 100644 index 000000000000..8e3fdcfd98d2 --- /dev/null +++ b/dev-php/composer/composer-1.2.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +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" + +RDEPEND=" + dev-lang/php:*[curl] + ~dev-php/ca-bundle-1.0.0 + ~dev-php/cli-prompt-1.0.0 + ~dev-php/psr-log-1.0.2 + dev-php/fedora-autoloader + ~dev-php/json-schema-2.0.0 + ~dev-php/jsonlint-1.4.0 + ~dev-php/phar-utils-1.0.0 + ~dev-php/semver-1.0.0 + ~dev-php/spdx-licenses-1.0.0 + ~dev-php/symfony-console-2.7.9 + ~dev-php/symfony-filesystem-2.7.20 + ~dev-php/symfony-finder-2.7.20 + ~dev-php/symfony-process-2.8.12" + +PATCHES=( + "${FILESDIR}/${PN}-update-paths.patch" +) + +src_install() { + insinto "/usr/share/php/Composer/Composer" + doins -r src/Composer/. res LICENSE "${FILESDIR}"/autoload.php + dobin bin/composer + dodoc README.md +} diff --git a/dev-php/composer/files/autoload.php b/dev-php/composer/files/autoload.php new file mode 100644 index 000000000000..5be766d60f49 --- /dev/null +++ b/dev-php/composer/files/autoload.php @@ -0,0 +1,25 @@ +getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion)); + + $this->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php'); +- $this->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE'); ++ $this->safeCopy('/usr/share/php/Composer/Composer/LICENSE', $targetDir.'/LICENSE'); + + if ($this->runScripts) { + $this->eventDispatcher->dispatchScript(ScriptEvents::POST_AUTOLOAD_DUMP, $this->devMode, array(), array( + +--- ./tests/Composer/Test/Json/ComposerSchemaTest.php 2016-11-03 17:43:15.000000000 +0100 ++++ ./tests/Composer/Test/Json/ComposerSchemaTest.php 2016-11-20 18:27:43.169665101 +0100 +@@ -87,7 +87,7 @@ + + private function check($json) + { +- $schema = json_decode(file_get_contents(__DIR__ . '/../../../../res/composer-schema.json')); ++ $schema = json_decode(file_get_contents('/usr/share/php/Composer/Composer/res/composer-schema.json')); + $validator = new Validator(); + $validator->check(json_decode($json), $schema); + +--- ./src/Composer/Json/JsonFile.php 2016-11-04 02:51:03.844719014 +0100 ++++ ./src/Composer/Json/JsonFile.php 2016-11-18 16:44:06.065969630 +0100 +@@ -156,7 +156,7 @@ + self::validateSyntax($content, $this->path); + } + +- $schemaFile = __DIR__ . '/../../../res/composer-schema.json'; ++ $schemaFile = '/usr/share/php/Composer/Composer/res/composer-schema.json'; + $schemaData = json_decode(file_get_contents($schemaFile)); + + if ($schema === self::LAX_SCHEMA) { + +--- ./bin/composer 2016-11-18 15:56:40.615898592 +0100 ++++ ./bin/composer 2016-11-18 16:06:05.348912690 +0100 +@@ -5,7 +5,7 @@ + echo 'Warning: Composer should be invoked via the CLI version of PHP, not the '.PHP_SAPI.' SAPI'.PHP_EOL; + } + +-require __DIR__.'/../src/bootstrap.php'; ++require '/usr/share/php/Composer/Composer/autoload.php'; + + use Composer\Console\Application; + diff --git a/dev-php/composer/metadata.xml b/dev-php/composer/metadata.xml new file mode 100644 index 000000000000..d7528ad53c20 --- /dev/null +++ b/dev-php/composer/metadata.xml @@ -0,0 +1,17 @@ + + + + + guillaumeseren@gmail.com + Guillaume Seren + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Composer is a tool for dependency management in PHP. + It allows you to declare the libraries your project depends on + and it will manage (install/update) them for you. + + -- 2.26.2