Skip to content

Yet another package management system, with a focus on scienctific applications.

Notifications You must be signed in to change notification settings

cogenda/JigsawPkg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JigsawPkg is a Package Management System.  It builds software "packages" from
source, stores them in a "repository", and install them to "world".

One can build many variants from a source package, each identified by some
options, and the list of dependent package variants. JigsawPkg manages the 
dependency between these package variants in the repository. 
One then assemble the pieces together, to form a world of software packages,
the variants that are compatible with each other. This is important when
one needs to test and benchmark many versions and compile options.

We write it to replace the old continuous building scripts we used internally
in the company. It took inspiration from other package systems, especially 
NixPkgs (http://nixos.org/) and Macports (http://www.macports.org/).

JigsawPkg is still considered experimental at the moment. We created a
collection for building the open-source version of Genius Device Simulator.
It works on a vanilla RHEL Release 5, or the CentOS equivalents. Of course,
GCC compilers (gcc, g++ and gfortran) must be installed.

To use it, please take the following steps:
 1. Unpack the tarball, and enter the directory.
 2. Run the script:
        ./jigsaw Cogenda.genius-open build
        ./jigsaw Cogenda.genius-open install $HOME/cogenda
    This will install Genius to $HOME/cogenda/genius, and the repository 
    is located in the current directory.

After the installation is completed, one can run genius by
 1. Optionally, run 
        source $HOME/cogenda/bin/setenv.sh
 2. Enter the directory $HOME/cogenda/genius/examples/PN_Diode/2D
 3. Run
        $HOME/cogenda/genius/bin/genius -i pn2d.inp


The syntax of the jigsaw command-line is
usage:
    jigsaw.py [options] <collection> build
    jigsaw.py [options] <collection> install <dest dir>

options:
  -h, --help      show this help message and exit
  --repo=REPODIR  Repository directory.
  --build=BLDDIR  Temporary directory for building.
  -v, --verbose

The repo and build locations can be set with the following environment
variables as well
 JIG_REPO_DIR       location of the repository (e.g. /usr/local/cogenda/repo)
 JIG_BLD_DIR        temporary directory for building packages
 

About

Yet another package management system, with a focus on scienctific applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages