21
edits
(→Octave Package management: Refactor with ideas from https://savannah.gnu.org/bugs/?39479.) |
AndrewJanke (talk | contribs) m (Fix configure invocation) |
||
(One intermediate revision by one other user not shown) | |||
Line 38: | Line 38: | ||
*: [http://en.wikipedia.org/wiki/GNU_build_system The GNU build system] is used to build Octave. | *: [http://en.wikipedia.org/wiki/GNU_build_system The GNU build system] is used to build Octave. | ||
*: While you generally don't need to understand too much unless you actually want to change how Octave is built, you should be able to understand enough to get a general idea of how to build Octave. | *: While you generally don't need to understand too much unless you actually want to change how Octave is built, you should be able to understand enough to get a general idea of how to build Octave. | ||
*: If you've ever done a {{Codeline|configure && make && make install}} series of commands, you have already used the GNU build system. | *: If you've ever done a {{Codeline|./configure && make && make install}} series of commands, you have already used the GNU build system. | ||
*: '''You must demonstrate that you are able to build the development version of Octave from sources before the application deadline.''' Linux is arguably the easiest system to work on. Instructions: | *: '''You must demonstrate that you are able to build the development version of Octave from sources before the application deadline.''' Linux is arguably the easiest system to work on. Instructions: | ||
*:* [[Building]] | *:* [[Building]] | ||
Line 342: | Line 342: | ||
=== Octave Package management === | === Octave Package management === | ||
Octave | [[Packages]] are extensions for Octave, that are mainly maintained by the [[Octave Forge]] community. | ||
To get those extension to work with Octave, there is a single function, {{manual|pkg}}, which does pretty much everything. | |||
This function has a few limitations which are hard to implement with the current codebase, and will most likely require a full rewrite. | This function has a few limitations which are hard to implement with the current codebase, and will most likely require a full rewrite. | ||
A major step forward for a rewritten package manager is the [https://github.com/apjanke/octave-packajoozle/ "packajoozle" project] by Andrew Janke. | A major step forward for a rewritten package manager is the [https://github.com/apjanke/octave-packajoozle/ "packajoozle" project] by Andrew Janke. | ||
Line 357: | Line 358: | ||
* support for system-wide and user installed packages | * support for system-wide and user installed packages | ||
* testing packages (<code>pkg test <package-name></code>) | * testing packages (<code>pkg test <package-name></code>) | ||
* improved metadata acquisition (<code>pkg list -forge</code>) from https://octave.sourceforge.io/ | |||
The main objective of this project is to make {{manual|pkg}} more user friendly and to make it a tool to foster third party participation in Octave. | The main objective of this project is to make {{manual|pkg}} more user friendly and to make it a tool to foster third party participation in Octave. |
edits