SPAM is a package management system for Cadence SKILL.
Following utilities must be installed:
- wget
- unzip
SPAM has only been tested under Cadence Design Framework:
- virtuoso version 6.1.7-64b 01/24/2018
- SKILL 35.00
Download spam
$ git clone https://github.com/rbzentrum/SPAM.git ~/.cadence/spaminto a directory of your choosing, for example ~/.cadence/spam/.
Make sure environment variables SPAMHOMEPATH and SPAMPROJPATH are set either with
$ export SPAMHOMEPATH=~/.cadence/spam
$ export SPAMPROJPATH=/path/to/projector in your .cdsinit
(setShellEnvVar "SPAMHOMEPATH" "~/.cadence/spam")
(setShellEnvVar "SPAMPROJPATH" "/path/to/project")and load spam.ils.
(load "spam.ils")The repository definition for github is given in repo.ils,
just add others or private repositories in the same way to that list.
Alternatively you can call spmDefineRepo at runtime:
(spmDefineRepo
t_name
t_metaUrl
u_urlGenerator
) => r_repoand add this r_repo object to (get SPAM 'repositories).
(spamSearch
t_query
) => t | nilSearches for packages with the names given by the string 't_query'.
(spamInstall
t_name
[ t_name ]
...
) => t | nil Installs the packages given by the strings 't_name'. If the installation was successful, t is returned.
(spamRemove
t_name
[ t_name ]
...
) => t | nilRemoves the packages with the names given by the strings 't_name'.
(spamUpdate
[t_name]
...
) => t | nilUpdates a given list of packages (t_name). If no packages are specified the meta database will be updated.
(spamInfo
t_name
) => t | nilPrints information about the given package with name 't_name'.
(spamUse
t_name
[ t_name ]
...
) => t | nilIncludes the given packages in the given order into the current toplevel.