Pacman
Contents
Overview
Package Manager (pacman) manages an installation. Pacman installs and upgrades addons, GUIs, and the J Engine, as well other aspects of an installation.
Jqt (Tools|Package Manager) and JHS (ide|pacman) GUIs provide interfaces to most of the pacman functionality.
Pacman verb jpkg (used without a GUI) provides the same functionality plus a few special features.
- to upgrade JE (jengine) you must use jpkg
- to upgrade Jqt QT binaries you must use jpkg in Jconsole
Pacman is also referred to as JAL (J Active Library) but pacman is the preferred term.
Load pacman
load'pacman' NB. load pacman jpkg services
Install/Update Everything
After a new install (or any time you like) you can bring your system to the latest level with:
'install' jpkg '*'
This installs the base system (standard library), all addons, Jqt ide (QT binaries), upgrades the JE (jengine), and creates desktop launch icons.
Should usually be run in jconsole. If run in Jqt, the QT binaries won't be updated as they are in use.
Installing Desktop Shortcuts
Install desktop shortcuts:
'shortcut' jpkg 'jqt' 'shortcut' jpkg 'jhs' 'shortcut' jpkg 'jc'
Manage Addons
<option> jpkg <addon name(s)>
<option>:
- 'help' - list valid options
- 'history' - list changelog
- 'install' - install specified addons
- 'manifest - list manifest
- 'reinstall- shortcut for remove and then install
- 'remove' - remove
- 'search' - list of addons that contain the any of the words
- 'show' - list summary
- 'showinstalled' - list installed addons
- 'shownotinstalled' - list addons not installed
- 'showupgrade' - list addons with later versions available
- 'status' - list addon and base library status
- 'update' - update local copy of addon info from pacman server
- 'upgrade' - upgrade
<addon name(s)>:
- space-delimited literal list of addon names
- list of boxed literal addon names
- zero length literal list - if specified with 'upgrade', all installed addons with later versions available will be upgraded.
The following options require write access to the ~addons directory:
- 'remove'
The following options require internet access as well as write access to the ~addons directory:
'install' , 'reinstall' , 'update' , 'upgrade'
All other options only require read access to the ~addons directory.
jpkg Usage
load 'pacman' 'update' jpkg '' NB. update info from server - always work with latest info ... 'status' jpkg '' ... 'install' jpkg 'convert/misc' ... 'install' jpkg 'stats/base tables/csv' ... 'install' jpkg 'base library' NB. "base library " handled specially ... 'search' jpkg 'xml' ... 'search' jpkg 'xml/ pcall nuri' ... 'show' jpkg 'search' jpkg 'tara' ...
github
Code from github can be installed as an addon if it has the same layout as a pacman addon. In particular it needs a manifest.ijs that contains a FOLDER definition.
install 'github:owner/repo[@commit]' NB. commit defaults to master.
install'github:jsoftware/games_2048' ... install 'github:cdburke/convert_pjson' ...