A simple dependency manager for the Pony language.
Too many ponies to keep track of?
Put them in a stable and make your life easier.
For Debian and Ubuntu versions of Linux, the release
builds are packaged and available on Bintray (pony-language/ponyc-debian).
To install builds via Apt (and install Bintray's public key):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D401AB61 DBE1D0A2
echo "deb https://dl.bintray.com/pony-language/pony-stable-debian /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get -V install pony-stable
brew install pony-stable
For Red Hat, CentOS, Oracle Linux, Fedora Linux, or OpenSuSE, the release
builds are packaged and available on COPR (ponylang/ponylang).
yum copr enable ponylang/ponylang epel-7
yum install pony-stable
See https://bugzilla.redhat.com/show_bug.cgi?id=1581675 for why epel-7
is required on the command line.
dnf copr enable ponylang/ponylang
dnf install pony-stable
zypper addrepo --refresh --repo https://copr.fedorainfracloud.org/coprs/ponylang/ponylang/repo/opensuse-leap-15.0/ponylang-ponylang-opensuse-leap-15.0.repo
wget https://copr-be.cloud.fedoraproject.org/results/ponylang/ponylang/pubkey.gpg
rpm --import pubkey.gpg
zypper install pony-stable
pacman -S pony-stable
You will need ponyc
in your PATH.
git clone https://github.com/ponylang/pony-stable
cd pony-stable
make
sudo make install
git clone https://github.com/ponylang/pony-stable
cd pony-stable
make.bat
You will then need to add pony-stable\bin
to your PATH
.
mkdir myproject && cd myproject
stable add github jemc/pony-inspect
echo '
use "inspect"
actor Main
new create(env: Env) =>
env.out.print(Inspect("Hello, World!"))
' > main.pony
mkdir myproject && cd myproject
stable add gitlab jemc/pony-inspect
echo '
use "inspect"
actor Main
new create(env: Env) =>
env.out.print(Inspect("Hello, World!"))
' > main.pony
mkdir myproject && cd myproject
stable add local-git ../pony-inspect --tag=1.0.2
echo '
use "inspect"
actor Main
new create(env: Env) =>
env.out.print(Inspect("Hello, World!"))
' > main.pony
The git tag is optional.
mkdir myproject && cd myproject
stable add local ../pony-inspect
echo '
use "inspect"
actor Main
new create(env: Env) =>
env.out.print(Inspect("Hello, World!"))
' > main.pony
stable fetch
# The dependencies listed in `bundle.json` will be fetched
# and/or updated into the local `.deps` directory.
Cloning into '.deps/jemc/pony-inspect'...
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 131 (delta 4), reused 0 (delta 0), pack-reused 123
Receiving objects: 100% (131/131), 21.73 KiB | 0 bytes/s, done.
Resolving deltas: 100% (82/82), done.
Checking connectivity... done.
stable env ponyc --debug
# The local paths to the dependencies listed in `bundle.json`
# will be included in the `PONYPATH` environment variable,
# available to `use` in the `ponyc` invocation.
# You can run any custom command here - not just `ponyc`.
Building builtin -> /usr/local/lib/pony/0.2.1-204-g87fcb40/packages/builtin
Building . -> /home/jemc/1/code/hg/myproject
Building inspect -> /home/jemc/1/code/hg/myproject/.deps/jemc/pony-inspect/inspect
Generating
Writing ./myproject.o
Linking ./myproject