Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
m
Fix configure invocation
(→‎Octave Package management: Refactor with ideas from https://savannah.gnu.org/bugs/?39479.)
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 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.
21

edits

Navigation menu