A tool that generates and installs ebuilds for Octave-Forge packages "on-the-fly" for Gentoo Linux.
Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.




What is GNU Octave?

GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.

What is Octave Forge?

Octave-Forge is a central location for the collaborative development of packages for GNU Octave.

The Octave-Forge packages contains the source for all the functions and are designed to work with the GNU Octave package system.

What is g-octave

g-octave is a tool that generates and installs ebuilds for Octave-Forge packages "on-the-fly" to Gentoo Linux, using Portage, Paludis or pkgcore. It's capable to generate ebuilds and Manifest files (if needed) for the packages, and to install them using an autogenerated overlay (named g-octave). g-octave can also handle patches to the packages automatically. The command line interface tries to be very similar to the interface of the emerge tool.


g-octave have some basic dependencies:


All the settings are centralized on the file /etc/g-octave.cfg. Please read the comments and change what you need. The recommendation is to keep everything as it is. :)

You can also use environment variables to configure g-octave.


Configuring your package manager


CLI options

show program's version number and exit
-h, --help
show this help message and exit
-l, --list
show a list of packages available to install and exit
-i, --info
show a description of the required package and exit
-p, --pretend
don't (un)merge packages, only create ebuilds and solve the dependencies
-a, --ask
ask to confirmation before perform (un)merges
-v, --verbose
Portage makes a lot of noise.
-1, --oneshot
do not add the packages to the world file for later updating.
-u, --update
try to update a package or all the installed packages
-s, --search
search for packages with some term on the name (regular expressions allowed)
-C, --unmerge
try to unmerge a package instead of merge
enable the installation of the current live version of a package, if disabled on the configuration file
disable the installation of the current live version of a package, if enabled on the configuration file
-f, --force
forces the recreation of the ebuilds
forces the recreation of the overlay and of the ebuilds
don't use colors on the CLI
search for updates of the package database, patches and auxiliary files
return a value from the configuration file (/etc/g-octave.cfg)
show a list of packages available to install (a package per line, without colors) and exit

Usage Examples

Install the latest version of control:

# g-octave control

Install the version 0.3.1 of control:

# g-octave control-0.3.1

Upgrade to latest version available of control:

# g-octave -u control

Remove the package control:

# g-octave -C control

Get informations about the package control:

# g-octave -i control

To install the package control from the octave-forge SVN repository:

# g-octave control-9999

The options verbose, ask and pretend are passed to emerge.

How can I help?

The users can help testing and reporting bugs in our issue tracker. If you can help programming in Python you're always welcome. :)

g-octave ebuilds are available on the Git repository, or the Gentoo science overlay.


If you experienced some random errors when installing packages, please retry, using the option --force-all, and report the issue to us. If you don't want to lose all your ebuilds, you can try to use the option --force, that will re-create only the affected ebuild.

Download Page

You can get the sources here: https://github.com/rafaelmartins/g-octave/downloads

or clone the Git repository using:

$ git clone git://github.com/rafaelmartins/g-octave.git


Rafael Goncalves Martins <rafael at rafaelmartins dot eng dot br>