dev-php/composer: version bump 1.3.1 -> 1.4.1.
authorMichael Orlitzky <mjo@gentoo.org>
Thu, 27 Apr 2017 01:23:37 +0000 (21:23 -0400)
committerMichael Orlitzky <mjo@gentoo.org>
Thu, 27 Apr 2017 12:16:31 +0000 (08:16 -0400)
This commit adds composer-1.4.1 and removes the old composer-1.3.1 at
the same time, allowing me to mess with the autoload.php in-flight. We
had one patch that was giving us trouble with v1.4.1, and this new
ebuild is an experiment to see if we can do away with it. Instead of
installing to /usr/share/php/Composer, the new v1.4.1 will install to
/usr/share/composer, and only create a symlink from /usr/bin/composer
to the "real" executable under /usr/share.

Since the executable loads everything via relative paths, having the
"real" executable under /usr/share (with the rest of its stuff) allows
composer to find what it's looking for out-of-the box, without us
having to point it towards our particular install location. As a
result, I've removed the one patch that did so, and I've updated
autoload.php with the new path.

Thanks are due to Guillaume Seren who did most of the prerequisite
work and stayed on top of the pull request and bug.

Gentoo-Bug: 613898
Closes: https://github.com/gentoo/gentoo/pull/4364

Package-Manager: Portage-2.3.3, Repoman-2.3.1

dev-php/composer/Manifest
dev-php/composer/composer-1.4.1.ebuild [moved from dev-php/composer/composer-1.3.1.ebuild with 69% similarity]
dev-php/composer/files/autoload.php
dev-php/composer/files/composer-update-paths.patch [deleted file]

index 623786d06347144b59f407bc00a58e18eabc42f4..aaf64094054fba2fbfc067281104001370d1a3ba 100644 (file)
@@ -1 +1 @@
-DIST composer-1.3.1.tar.gz 1081862 SHA256 af40d800c8120c802f80c28cbd80824212111e62e3ef8b96a73ae639cff8f620 SHA512 3b8c4c708cd3b88b49574c691605ef42c2c083b300f910be3b897350c9c35d9f923f47cbcfa64e19d89c28079f0631350f30db747d89808183d20cb779895afb WHIRLPOOL 6545c1f38e11e4233c4ee6f257a8e0c090c2de2981ea9e00a7de54fe3d4337aaa16e1e873da7db2009ad355e3c6da4d7eb12eec81992233840b26bc2b1a0f373
+DIST composer-1.4.1.tar.gz 1090505 SHA256 27c0c134d6a151de8e552f4da98a2100973a64a33c462b14bd5cb463cee254dc SHA512 8fc1e53666151c2b029544216dfc842379763bd3e5085c15c118dfa8ca0da8559a48909cb5ee29f37f6ed07b7572375354a09bd160b9c0828fe40e809defd8a9 WHIRLPOOL 3104bbffc6e5241d052454169e88a0a167acf0229f1ed2fbf184eef9ccb5cd4ab00021be431b84389b40fe895fb1e560e8ecc2f7dd99f457c7190877a0fe107e
similarity index 69%
rename from dev-php/composer/composer-1.3.1.ebuild
rename to dev-php/composer/composer-1.4.1.ebuild
index 366cc6ed80a640f1aecf39a951b6d8e4c13f8537..90d53510da0c8b314862500db119c7ce43b2bda7 100644 (file)
@@ -5,7 +5,7 @@ EAPI=6
 
 DESCRIPTION="Dependency Manager for PHP"
 HOMEPAGE="https://github.com/composer/composer"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
 
 LICENSE="MIT"
 SLOT="0"
@@ -27,16 +27,20 @@ RDEPEND="
        >=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"
+       insinto "/usr/share/${PN}"
 
        # Composer expects the LICENSE file to be there, and the
        # easiest thing to do is to give it what it wants.
-       doins -r src/Composer/. res LICENSE "${FILESDIR}"/autoload.php
-       dobin bin/composer
-       dodoc README.md
+       doins -r src res LICENSE
+
+       insinto "/usr/share/${PN}/vendor"
+       doins "${FILESDIR}"/autoload.php
+
+       exeinto "/usr/share/${PN}/bin"
+       doexe "bin/${PN}"
+       dosym "/usr/share/${PN}/bin/${PN}" "/usr/bin/${PN}"
+
+       dodoc CHANGELOG.md README.md doc/*.md
+       dodoc -r doc/articles doc/faqs
 }
index 5be766d60f49db6620718cbcd5bc1956f7ddf575..30d8495a4548607f4ec6c5342eaa2f994052f6eb 100644 (file)
@@ -6,7 +6,10 @@ if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
     require_once '/usr/share/php/Fedora/Autoloader/autoload.php';
 }
 
-\Fedora\Autoloader\Autoload::addPsr4('Composer\\', __DIR__);
+\Fedora\Autoloader\Autoload::addPsr4(
+  'Composer\\',
+  __DIR__ . '/../src/Composer'
+);
 
 // Dependencies
 \Fedora\Autoloader\Dependencies::required(array(
diff --git a/dev-php/composer/files/composer-update-paths.patch b/dev-php/composer/files/composer-update-paths.patch
deleted file mode 100644 (file)
index 754cbab..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
---- ./src/Composer/Autoload/AutoloadGenerator.php       2016-11-03 17:43:15.000000000 +0100
-+++ ./src/Composer/Autoload/AutoloadGenerator.php       2016-11-18 16:54:55.664985847 +0100
-@@ -291,7 +291,7 @@
-         file_put_contents($targetDir.'/autoload_real.php', $this->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;
-