Summer of Code - Getting Started: Difference between revisions

→‎Octave Package management: Rewrite introduction. Mention metadata acquisition.
(→‎Octave Package management: Refactor with ideas from https://savannah.gnu.org/bugs/?39479.)
(→‎Octave Package management: Rewrite introduction. Mention metadata acquisition.)
Line 342: Line 342:
=== Octave Package management ===
=== Octave Package management ===


Octave management of installed packages is performed by a single function, {{manual|pkg}}, which does pretty much everything.
[[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.