Space does not necessarily only get bigger and cheaper. The Pyra will have mobile data (3G), which tends to have less speed and be more expensive than wifi.
Are there many libraries that are big enough to add to the size significantly in comparison to other parts of the package, Qt comes to my mind, but anything else ?
For example: GTK, ImageMagick, Java, Webkit, GHC.
But I'm mostly worried about dependencies that are not libraries, e.g. LaTeX, Lilypond, Gimp, LibreOffice, most interpreted programming languages, etc.
Games are not the only expected cases. I expect the Pyra to be useful for much more than just games.
Of course the Pyra will be usefull for much more than games (and if things are working out as they look like, gameing will be thing I will do the least on the Pyra). But I have my doubts that there will be much besides games that will see a release as pnd.
It is true that it is mostly games that will not already be present in Debian and/or that are big enough (because of data files) to not install it on the internal storage.
But I can imagine the development of Pyra-specific applications that would be released as a PND. For example a GPS application that comes bundled with lots of maps, and which gives you an option to export views to PDF (maybe depending on LaTeX to do that) and PNG (maybe depending on ImageMagick to do that). Or for example a music application that comes with lots of instrument samples, which uses LilyPond to nicely engrave sheet music.
But even for games: if it already runs full-speed, would a maintainer still care about a speed increase in a library? Probably not. But that speed increase will probably still be useful since it translates to a cpu that is more idle and thus consumes less power.
How often do speed increases of significance are introduced by changing the code of the library only ?
Lots of applications spend most of their time in executing library calls. A typical game will spend most of its time in calls to SDL or some other graphics library, music and sound libraries, and maybe some physics engine or something like that. During loading they will typically spend time in decoding libraries like libpng.
And how do you determine which libs are considered "basic" and have to be "specifically adapted"? These are not at all clear-cut notions.
Everything that needs adjustments to make better use of pyras specific hardware and are deemed to have a more broader use, the only thing that comes to my mind is SDL. Good starting point to evaluate that further would be the current repo.
Define "needs adjustments" and "have a more broader use". Nearly everything
could be adjusted to make better use of Pyra's specific hardware and nearly nothing
needs to be adjusted (since it would also work as is, just slower). Almost by definition, libraries "have a broader use", because that's exactly the point of a library: to be used in more than one application. Of course some of them are more popular than others, and some of them are closer to the root of the dependency tree than others, but these things change over time and there is no clear-cut notion of that.
Also the current repo is not a good starting point to evaluate the importance of libraries on the Pandora, because there is no easy way to tell which libraries are actually used by some PND. We don't have a "depends on:" field yet, so the only way to check is to run ldd on the binaries, inspecting which libraries are included in the PND (although many PNDs include more stuff than what they actually use), and hoping that the binaries don't do any dynamic loading of libraries (or hoping you can make sense of the dlopen() calls). Also, some PNDs depend on other PNDs using some shell script magic, but there's no general way to figure that out.
No, not necessarily. You would put a version of the dependency in the PND that was compiled for Debian, and that may or may not work out of the box on a different distro.
You obviously have more knowledge and experience in that field, so I can't really argue against that. I can only ask (more out of curiousity) are there cases where libraries need adjustments while the binary that depends on them does not need them ?
Sure. In a lot of cases the library offers some kind of abstraction to the application that uses it, so the application does not have to worry about hardware-specific or distro-specific stuff. When compiling the library, you would have to let it detect (or specify manually) where everything is located, what the conventions are, maybe which backend to use if there are alternatives, which optional functionality to enable (perhaps needing additional dependencies), etc. A lot of that configuration may be distro-specific. The applications themselves typically don't have that much distro-specific configuration: they're mostly happy when they can find their dependencies.