Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/petejohanson/hyena

Re-usable widget library used by Banshee
https://github.com/petejohanson/hyena

Last synced: 1 day ago
JSON representation

Re-usable widget library used by Banshee

Awesome Lists containing this project

README

        

This is a library of useful GUI and non-GUI C# code, originally used in Banshee.

NOTE
** It is not API stable, and so is not installed to the GAC.**

There are three ways to use Hyena in your app:

1) Require it as an external dep; copy its .dll files into your project

Applications using it should make a local copy of whatever components you use.
That is, you should consider Hyena a build-time dependency, not a run-time, since
at run-time your app will contain a copy of Hyena.

There are variables defined in the pkg-config files that contain assemblies
and files needed for a given component of Hyena (eg hyena, hyena.data.sqlite,
and hyena.gui).

pkg-config --variable=Assemblies hyena
pkg-config --variable=Files hyena

You can look at PDF Mod for an example of how to use Hyena:

http://git.gnome.org/cgit/pdfmod/tree/configure.ac
http://git.gnome.org/cgit/pdfmod/tree/Makefile.am
http://git.gnome.org/cgit/pdfmod/tree/src/Makefile.am

2) Include it as a submodule in your git repo

This is advantageous if you want to closely track and maybe contribute
back to Hyena. It also means developers don't have to install Hyena
themselves from packages or git.

git submodule add git://git.gnome.org/hyena lib/Hyena
git submodule update --init
git add .gitmodules

Then you'll need to add Hyena to your build system. See Banshee's setup:

http://git.gnome.org/cgit/banshee/tree/configure.ac
http://git.gnome.org/cgit/banshee/tree/Makefile.am

You can also include the appropriate .csproj in your .sln. Set them to
build under the 'Submodule' configuration, and the binaries will get
outputted to ../../bin from the Hyena checkout directory.

3) Bundle the .dll files in your project

It's an expedient, but not good form for FOSS projects.