Super simple package installer for PHP.
This is an alpha project, things will be broken from time to time.
What can I do for you?
- 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.
How does it work?
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.
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.
ext-<pecl name>. You should be root to install any extension
- Any local path without file://
How to use it?
wget -c https://raw.github.com/crodas/Eath/master/eath.phar php eath.phar install <url>
What does it means?
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)
- Dependency solver, something like http://en.opensuse.org/openSUSE:Libzypp_satsolver
- Add HTTP authentication
- Commands to generate