There are two differnt kinds of dependencies. One to build a package and the other one at runtime.
Build dependencies are required to build the package itself. Pakfire allways sets "The general build tools ( like gcc, glibc-devel, kernel-headers, .... )" as build dependencies. So there is no reason to require one of them again.
The following types of build dependencies are allowed:
FIXME may this list isn't finished
It's allowed to define a special version and/or release of a package.
NOTE: Allways specify the devel package as dependency, pakfire will also install the binary package. If a tool is required to build a package like "bison or flex" it's allowed to set the binary package as requirenment.
IMPORTANT: Disable every non needed feature of a package, to reduce the amount of dependencies and to prevent from security issures in those features.
Pakfire will try to detect all required libraries and perl modules to run the compiled binaries. But if there are files or features from any other package required, they have to be specify as runtime dependecies.