Super simple package installer for PHP.
- Install any archive (zip, tar, tar.gz, tar.bz2)
- Install packages from github (github:/)
- Install extensions (only tested on Linux)
- Install things globaly (not yet fully tested)
- Create and install binary files (
pharfiles with every dependency in it) and place it in the executable path.
Eath will basically unpack the content of the archive inside the packages/ directory, then will build an autoload file, splitting them into chunks so it would tend to be small regardless of how many libraries you have installed.
Any archive with PHP source in it (or config.m4 and C files) can be installed, however it is always better if a package.yml file is defined in the archive.
httphttpsgithub:user/projectext-<pecl name>. You should be root to install any extension- Any local path without file://
wget -c https://raw.github.com/crodas/Eath/master/eath.phar
php eath.phar install <url>http://en.wiktionary.org/wiki/eath
The package.yml is optional, because our goal is to be able to install anything. The package.yml tell us the project name (otherwise it is guessed) and the version, as well as many other useful information (which files should be installed, which binaries should be created).
name: "Project name" # Required
version: "0.0.1-dev" # Required
#Binary
bin:
foobar: cli.php # Install, if possible foobar command and it should call to cli.php
# Tell to eath which files should be installed also or, if you won't wish to install it,
# which files you would like to also include in the autoload file
files: [lib/]
# What things should be installed?
dependencies:
- github:symfony/Console
- github:symfony/Filesystem
- github:symfony/Process
- github:symfony/Finder
- github:symfony/Yaml
- github:crodas/Autoloader- Unit tests (urgent)
- Documentation
- Dependency solver, something like http://en.opensuse.org/openSUSE:Libzypp_satsolver
- Add HTTP authentication
- Commands to generate
package.yml