           SPELL=janus
         VERSION=${VERSION:=0.4.6}
if [ "${CVS}" = "yes" ];  then
         VERSION=cvs
          SOURCE=$SPELL-$VERSION.tar.bz2
   SOURCE_URL[0]=cvs://:pserver:cvsanon:cvsanon@cvs.worldforge.org:/home/cvspsrv/worldforge:forge/libs/janus
   SOURCE_IGNORE=unversioned
  FORCE_DOWNLOAD=1
else
          SOURCE=${SPELL}-${VERSION}.tar.gz
   SOURCE_URL[0]=ftp://ftp.worldforge.org/pub/worldforge/libs/${SPELL}/${SOURCE}
   SOURCE_URL[1]=http://purple.worldforge.org/downloads/libs/${SPELL}/${SOURCE}
     SOURCE_HASH=sha512:9105b690cb4c1086895bf384b8af02e7ba04ee478c7e4f789f741dc853294d53553a3908f2025662628db61e66c52fb921b1d23d1a13d2b3fe2a4fb94b08c567
fi
SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
        WEB_SITE=http://www.worldforge.org/dev/eng/libraries/${SPELL}
         ENTERED=20020915
         UPDATED=20020915
      LICENSE[0]=GPL
       BUILD_API=1
           SHORT="UI interface encoded into a tree"
cat << EOF
Janus provides an interface to pass UI descriptions encoded in a tree structure, to change widget attributes at runtime, and to call widget methods. Methods inside the application can be bound to UI events. The API is completely independent of the UI library used, so it also provides universal methods to initialize the underlying widget toolkit.

The actual realization of the UI is done by so-called "bindings", which are dynamically loaded libraries. Currently, complete bindings for libuta and very basic bindings for gtk are shipped with Janus. The decision what widget toolkit is used is decided at linktime or even at runtime! If you want to change the toolkit you only need to link against the appropriate binding, no code changes are necessary.
EOF
