The oxspkg command is used to manage optional Oxs extension packages. Each package is stored in a separate directory under oommf/app/oxs/contrib/. These packages can be ``installed'' and ``uninstalled'' to and from the oommf/app/oxs/local/ directory by the oxspkg command. The install is a simple copy that does not automatically build the package or link it into the Oxs executable--a separate invocation of pimake is needed for that.
The oxspkg launch command is:
tclsh oommf.tcl oxspkg list
tclsh oommf.tcl oxspkg listfiles pkg [pkg ...]
tclsh oommf.tcl oxspkg install [-v] [-nopatch] pkg [pkg ...]
tclsh oommf.tcl oxspkg uninstall pkg [pkg ...]
tclsh oommf.tcl oxspkg copyout pkg [pkg ...] destination
For third-party packages, the contents of the oommf/app/oxs/contrib/<pkg>/ directory will mirror some release of the package from the official maintainer of the package. If those files don't compile cleanly against the current OOMMF distribution, then a patch file will be included in the parent oommf/app/oxs/contrib/ directory. Normally that patch file (if any) is automatically applied as part of the installation procedure. The -nopatch option skips the patch step. Note: The patch step requires that a patch command exists on the system executable search path. patch is a standard system utility on Unix systems. Versions of patch for Windows are available, such as the one from the GnuWin project. If there are no patches for a particular package, then the message No patches found will be reported during the install process.
The -v option requests more verbose output.
Most of the optional packages controlled by oxspkg are from third-party contributors. However, some may originate with the OOMMF core development team, but are made optional because they require third-party libraries or are considered too experimental to be included among the standard OOMMF packages. See the README file in the various oommf/app/oxs/contrib/<pkg>/ directories for details.