Ver Fonte

package/composer: new package

composer describes itself as a dependency manager for PHP, it is used
by projects such as CakePHP.

Signed-off-by: Nicolas Carrier <carrier.nicolas0@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Nicolas Carrier há 2 anos atrás
pai
commit
8a12985e52

+ 1 - 0
package/Config.in.host

@@ -13,6 +13,7 @@ menu "Host utilities"
 	source "package/checkpolicy/Config.in.host"
 	source "package/checksec/Config.in.host"
 	source "package/cmake/Config.in.host"
+	source "package/composer/Config.in.host"
 	source "package/cramfs/Config.in.host"
 	source "package/crudini/Config.in.host"
 	source "package/cryptsetup/Config.in.host"

+ 8 - 0
package/composer/Config.in.host

@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_COMPOSER
+	bool "host composer"
+	help
+	  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.
+
+	  https://getcomposer.org/

+ 4 - 0
package/composer/composer.hash

@@ -0,0 +1,4 @@
+# Hash from https://getcomposer.org/download/
+sha256  f07934fad44f9048c0dc875a506cca31cc2794d6aebfc1867f3b1fbf48dce2c5  composer-2.5.8.phar
+# Locally calculated
+sha256  c8cce4b6b9729f264ffdf9296d505d63432497feeed1f586d1902b942197e024  LICENSE

+ 31 - 0
package/composer/composer.mk

@@ -0,0 +1,31 @@
+################################################################################
+#
+# composer
+#
+################################################################################
+
+COMPOSER_VERSION = 2.5.8
+COMPOSER_SOURCE = composer-$(COMPOSER_VERSION).phar
+# Here, we pass a dummy URL parameter in order to control the name the file
+# will have once downloaded.
+# Otherwise, the names will clash ifever we update the version.
+BASE_SITE = https://getcomposer.org/download/$(COMPOSER_VERSION)/composer.phar
+COMPOSER_SITE = $(BASE_SITE)?n=f/$(COMPOSER_SOURCE)
+COMPOSER_LICENSE = MIT
+COMPOSER_LICENSE_FILES = LICENSE
+
+HOST_COMPOSER_DEPENDENCIES = host-php
+
+define HOST_COMPOSER_EXTRACT_CMDS
+	cp $(HOST_COMPOSER_DL_DIR)/$(COMPOSER_SOURCE) $(@D)
+	cd $(@D); $(HOST_DIR)/bin/php <<< '<?php \
+		$$p = new Phar("$(COMPOSER_SOURCE)"); \
+		$$p->extractTo(".", "LICENSE");'
+endef
+
+define HOST_COMPOSER_INSTALL_CMDS
+	mv $(@D)/$(COMPOSER_SOURCE) $(HOST_DIR)/bin/composer
+	chmod +x $(HOST_DIR)/bin/composer
+endef
+
+$(eval $(host-generic-package))