* added `majoreo-unstable` to packages
* fixed bogus duplicate shortcut error message when updating recipes with shortcuts
* always use unzip, even on mingw
Major EO, or eo
for short, is a lightweight agnostic package manager for use
in personal and commercial projects, meant to aid developers with rolling out
their codebase on polygenous development environments.
eo
ships as a single binary or as a single script for Python 3.8 or higher.
Stable (Version 0.13):
Unstable (most recent):
apt-get
.git
and hg
archives, export from subversion repositories, create directories and execute shell commands in order to build packages.For popular extraction features to work, the tools tar
, unzip
, hg
, git
and svn
should be in your PATH
variable.
To prepare a new project for use with eo
, execute eo init
in the project
directory or eo init --dest path/to/new/directory
to create a new one. The
following commands must then be executed within the projects directory
structure.
To install new packages, you must first put recipes in the default recipe
directory recipes
. Have a look at testing/recipes/*.eo
in the archive for
examples. The testing
folder is a valid eo
project to try things out in.
Recipes can be directly imported from a URL to a trusted downloadable recipe,
using eo import <URL>.eo
. You can also install eo
itself using the shortcut
eo import majoreo
.
List all packages with eo search
or search for particular package names with
eo search <pattern>
, where pattern
is a regular expression.
Install a package using eo install <package-name> ...
, and remove it with
eo remove <package-name> ...
. Installing a package will build it once, and
then reuse the package archive.
eo status
lists all presently installed packages.
Recipes with update support can be updated with eo update
, downloading the
latest version of the recipe from its specified update-url
.
Synchronize all packages whose versions have changed using eo sync
. This can
be an upgrade or a downgrade, depending on what the recipe specifies.
To sync a package even though its version has not changed, which is often
necessary for debugging, use eo build <package-name> --force
to rebuild the
package, followed by eo sync <package-name> --force
to force removal of the
old and installation of the new package.
If the configuration file .eo/eorc
exists, it will be used to change default
settings. Presently, only the recipe path is configurable.
For help, questions, bug reports and feedback: