|
Tags: Pugs
by Herbert Breunung
|
Tags: Pugs
by audreyt@hidden
|
|
^^ Building Pugs from Source
|
^^ Building Pugs from Source
|
|
|
Building Pugs from source is recommended if possible, because the implementation is still improving rapidly. To build pugs from the source, you will need at least the following installed:
|
The current recommended way to build Pugs is via cabal-install with the
Haskell Platform. The steps are:
|
* A Subversion client
* "GHC 6.6.1"<http://www.haskell.org/ghc/download.html>, the Haskell compiler. On Debian/Ubuntu, get ghc6 from "Lenny" or "Gutsy", respectively, or build from source (There are no current backports for Sarge, Etch, Dapper, Edgy, or Feisty). On Mac OS X, use "MacPorts"<http://www.macports.org/> and 'port install ghc'.
* Perl5
|
^^^ 1. Download and install the Haskell Platform
|
With that foundation, you can follow these steps to end up with a "pugs" binary:
|
* http://hackage.haskell.org/platform/
|
.pre
# Fetch latest Pugs from Subversion repository
$ svn co http://svn.pugscode.org/pugs/ pugs
$ cd pugs
|
Alternately, one can also install only the GHC compiler, and manually set up
the following packages (in this order):
|
# review build options controlled by env variables
$ $PAGER ./INSTALL
|
* http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Cabal
* http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTTP
* http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib
* http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cabal-install
|
# Configure Pugs
$ perl Makefile.PL
|
The instructions contained in the README file of Cabal contain more detailed
setup instructions, which should work for all the packages above.
|
# Compile Pugs
# use 'make soon' instead of 'make' if you want a faster compilation and are not interested in measuring performance maxima.
$ make
.pre
|
(But then again, please consider simply installing the Haskell Platform. :-))
|
See the included README file for further instructions.
|
^^^ 2. Type the following commands:
|
Since Pugs is still in flux, you may want to consider an alternative to using "make install". Create symbolic links in your local "bin" directory to key files in the pugs distribution. This allows you to run the binaries easily, while leaving everything pugs related in the pugs source tree:
|
> cabal update
> cabal install Pugs
|
.pre
ln -s /home/markstos/pugs/pugs /home/markstos/bin/
ln -s /home/markstos/pugs/util/prove6 /home/markstos/bin/
.pre
|
...and it's done!
|
`prove6` is like "prove" for Perl 6.
|
To build an optimized Pugs for benchmarking or smoke testing, replace the
second command with:
> cabal install -O2 Pugs
(Unix-like systems might need `sudo` or `cabal install -p` to satisfy
permission requirements.)
^^^ 3. Upgrade Pugs installation
To upgrade to the latest released version on Hackage, the same two lines of commands would work:
> cabal update
> cabal install Pugs
^^^ 4. Build from GitHub source
To upgrade the current Pugs installation to the version in the "repository"<http://github.com/audreyt/Pugs.hs/>, simply build the repository copy like this:
> cd Pugs
> cabal install
|
|
^^ Binary Builds of Pugs
|
^^ Binary Builds of Pugs
|
|
|
|
Binary builds are the easiest get started with, but may not be as up to date as building from source.
|
Binary builds are the easiest get started with, but may not be as up to date as building from source.
|
|
|
|
* "Win32 binary builds of Pugs and Parrot"<http://jnthn.net/perl6/>.
|
* "Win32 binary builds of Pugs and Parrot"<http://jnthn.net/perl6/>.
|
|
** (Pxperl.com appears to have stopped routinely updating their Win32 builds.)
|
** (Pxperl.com appears to have stopped routinely updating their Win32 builds.)
|
|
|
|
^^ Run Pugs in your Web Browser
|
^^ Run Pugs in your Web Browser
|
|
|
|
A web terminal for Pugs is available at "run.pugscode.org"<http://run.pugscode.org>. You can choose between the latest release or latest development snapshot.
|
A web terminal for Pugs is available at "run.pugscode.org"<http://run.pugscode.org>. You can choose between the latest release or latest development snapshot.
|
|
|
|
^^ Accessing Pugs Remotely
|
^^ Accessing Pugs Remotely
|
|
|
|
Another option is to use a pugs a remote machine. If you just want to try out a line or two, you can use the "evalbot" on "the #perl6 IRC channel"<Mail Lists, IRC, Archives>. The syntax is just:
|
Another option is to use a pugs a remote machine. If you just want to try out a line or two, you can use the "evalbot" on "the #perl6 IRC channel"<Mail Lists, IRC, Archives>. The syntax is just:
|
|
|
|
.pre
|
.pre
|
|
?eval say "hello!"
|
?eval say "hello!"
|
|
.pre
|
.pre
|
|
|
|
If you plan to contribute to Perl 6, you can see about getting a free account on Feather, the
|
If you plan to contribute to Perl 6, you can see about getting a free account on Feather, the
|
|
"Perl Community Development Server"<http://feather.perl6.nl>. There, a fresh version of Pugs is built
|
"Perl Community Development Server"<http://feather.perl6.nl>. There, a fresh version of Pugs is built
|
|
every 10 minutes!
|
every 10 minutes!
|
|
|
|
^^ Related Links
|
^^ Related Links
|
|
|
|
* "Debian Pugs pakage"<http://packages.debian.org/unstable/interpreters/pugs> by rafl
|
* "Debian Pugs pakage"<http://packages.debian.org/unstable/interpreters/pugs> by rafl
|
|
|