Octave-Forge is a community project for collaborative development of GNU Octave extensions, called “Octave packages”. If you have a large package that you want to open up to collaborative development, or a couple of m-files that you want to contribute to an existing package, Octave-Forge is the place to do it. Tiny helper functions (the equivalent of e.g., shell aliases) should go in the [[Tips and tricks]] page.

+

+

== Installing packages ==

+

You can find the list of packages on the [http://octave.sourceforge.net/packages.php Octave-Forge website]. The recommended method for package installation is using your system package manager, see also the [[FAQ]] for the most common issues. The official [[Windows Installer]] bundles several packages so they don't have to be installed separately.

+

+

To install a package from the Octave Forge, at the Octave prompt type {{Codeline|pkg install -forge package_name}}. If your Octave version is below 3.4.0, you'll have to download the package file manually, and use {{Codeline|pkg install package_file_name.tar.gz}}.

+

+

== Collaborative development ==

+

+

Octave extensions are developed and released on SourceForge https://sourceforge.net/projects/octave/

+

+

=== Roles ===

+

+

'''Package author'''

+

* Writes individual function files (m-files, oct-files)

+

* Writes documentation, either for individual functions (function reference) or the package as a whole (package documentation / user manual)

+

* Writes [[Tests|tests]], either for individual function files or the the package as a whole

* Maintains package content (m-files, C and fortran code, documentation, bundled libraries, other content) inside the source code repository, see [https://www.gnu.org/software/octave/doc/interpreter/Creating-Packages.html]. If the code is developed elsewhere, the repository must be pushed to Octave-Forge at release time.

** The package lists at least one maintainer with valid contact information

+

** Up-to-date documentation

+

** Must install and work with the latest stable Octave release

+

** License compliance (must be released under a GPL compatible license)

+

** The corresponding source code revision must be tagged inside the Octave-Forge repository and it must be possible to reproduce the content of the release tarball from this revision. Aforementioned Makefile can help with this task.

+

** Content has been signed by the package maintainer or matching hash values have been provided via the package release ticket

+

** All functions (except private ones) must be documented using Texinfo

+

** The package must have all the required files [https://www.gnu.org/software/octave/doc/interpreter/Creating-Packages.html]

+

** If the package has a doc folder it should be written in Texinfo

+

** No Octave core functions should be shadowed

+

** No external dependencies should be directly included

+

* Uploads new releases

+

+

'''Forge leader'''

+

* Decides about entry of new packages to Octave-Forge

+

* Categorizes the list of maintained and unmaintained packages

+

* Administrates the SourceForge project

+

* Manages the project

+

+

'''Forge Community'''

+

* Contributes new ideas to the project

+

* Makes strategic decisions

+

+

== Suggested new features ==

+

+

* Install directory

+

* Install from URL / source code repository

+

* Build HTML / PDF docs

+

* Index, host documentation and archive releases of packages such as epstk which have been developed elsewhere (equivalent of CPAN). Feel free to expand on the definition of such a system on this page.

+

* Rapid code sharing of individual function files, see [[Agora]].

+

+

== See also ==

+

* [[Packages]]

+

** [[Creating packages]]

+

+

== External links ==

+

* [http://octave.sf.net Octave-Forge website]

+

+

[[Category:Octave-Forge| ]]

Revision as of 01:40, 2 September 2018

Octave-Forge is a community project for collaborative development of GNU Octave extensions, called “Octave packages”. If you have a large package that you want to open up to collaborative development, or a couple of m-files that you want to contribute to an existing package, Octave-Forge is the place to do it. Tiny helper functions (the equivalent of e.g., shell aliases) should go in the Tips and tricks page.

Contents

Installing packages

You can find the list of packages on the Octave-Forge website. The recommended method for package installation is using your system package manager, see also the FAQ for the most common issues. The official Windows Installer bundles several packages so they don't have to be installed separately.

To install a package from the Octave Forge, at the Octave prompt type pkg install -forge package_name. If your Octave version is below 3.4.0, you'll have to download the package file manually, and use pkg install package_file_name.tar.gz.

Maintains package content (m-files, C and fortran code, documentation, bundled libraries, other content) inside the source code repository, see [1]. If the code is developed elsewhere, the repository must be pushed to Octave-Forge at release time.

The package lists at least one maintainer with valid contact information

Up-to-date documentation

Must install and work with the latest stable Octave release

License compliance (must be released under a GPL compatible license)

The corresponding source code revision must be tagged inside the Octave-Forge repository and it must be possible to reproduce the content of the release tarball from this revision. Aforementioned Makefile can help with this task.

Content has been signed by the package maintainer or matching hash values have been provided via the package release ticket