pkgbox is a software build toolbox which eases configuring, compiling and installing software.
It is inspired by the Gentoo Portage ebuild system. However, it does not resolve dependencies by itself as it should be seen as a handy utility for building software from source and not as a package manager nor a complete solution.
$ pkgbox -h
$ pkgbox media-gfx/graphicsmagick install
$ pkgbox -v -D force media-gfx/graphicsmagick configure
$ pkgbox -vv -D prefix=$HOME/local/GraphicsMagick pkg/media-gfx/graphicsmagick/graphicsmagick.pkgbox install
$ pkgbox -vvv -T
Per default the configuration is stored at $HOME/.pkgbox/conf
. An example configuration file conf.sample
can be found in the base directory.
Additional config files can be included by specifying the -c
option for each config.
Per default the package repository is located in the pkg
-directory of the pkgbox base directory, which is a Git submodule pointing to datag/pkgbox-packages.
Packages may be organized in
category directories (e.g. app-misc
) and each package may reside in a separate directory with the name of the package (e.g. app-misc/hello/hello.pkgbox
).
These are the ways pkgbox can be invoked with a package:
- Complete path to
.pkgbox
file, e.g.pkgbox /my/path/to/package.pkgbox
. - Specifying category plus package name, e.g.
app-misc/hello
. If no category directories are used, specify only the package name, e.g.hello
. - Specify as in 2), but provide the desired package version to use (e.g.
app-misc/hello-2.7
).
This is a minimal pkgbox package for the GNU "Hello world" program. The variable
PKGBOX_API
and the macro pkgVer
are mandatory.
# pkgbox: GNU Hello
PKGBOX_API=1
pkgVer 2.8
DESCRIPTION="GNU 'Hello, world!' program"
HOMEPAGE="http://www.gnu.org/software/hello/"
SRC_URI="http://ftp.gnu.org/gnu/$PN/$P.tar.gz"