[Nix-dev] Octave Forge

Lluís Batlle viriketo at gmail.com
Wed Apr 8 23:54:53 CEST 2009


Hello,

I'm working to get nix expressions for the octave-forge packages.

Octave has its own package manager:
http://www.gnu.org/software/octave/doc/interpreter/Packages.html#Packages

Installing with "pkg install" takes a octave-forge package
(file.tar.gz), which has a ./configure and a Makefile, and builds that
with whatever 'configure' took from the environment. Then pkg installs
the compilation result to the paths set in octave namely for
"packages" (pkg prefix). And finally octave notes something in its
"package database".

The package database consists of a text file, where there are multiple
lines for each package, mentioning its location, whether to autoload,
its name, ... The lines for each package are concatenated, making a
database of multiple packages.

Afaik, octave supports only two databases: the user's, and the system's.

Does anybody have an idea on how to build such a database in nix? (the
text file with all the packages mentioned for each octave package)

By now I tried building the "linear-algebra" package of octave-forge,
and I managed to build it into its store directory, with a build.sh
script like this. This can give an idea of what is all about:
----
source $stdenv/setup

dest=$out/share/octave/packages

ensureDir $dest
cp $src $pkgfilename;
# I don't care on the octave_packages file... how to use it in nix?
octave --eval "
  pkg prefix $dest $dest
  pkg local_list ./octave_packages
  pkg install $pkgfilename"
----

I welcome any ideas. I'd like to consider installing the packages for
the octave of 'octave' or 'octaveHG', with or without atlas (an option
for the later).

Regards,
Lluís.



More information about the nix-dev mailing list