GLK is a library interface that allows cross-platform programming of interactive fiction interfaces. Glkloader is a wrapper implementation of this interface; it allows dynamic loading of other implementations at runtime. As to provide a default implementation, it pulls dev-libs/xglk (if X use flag is in effect), cf. bug #116061.
Created attachment 75116 [details] glkloader-0.3.2.ebuild
Created attachment 75117 [details] 0.3.2-glkloaderrc
Created attachment 75118 [details, diff] 0.3.2-makefile.patch
let's see
.
After a lot of time, some issues resolved, some others not, I decided against merging this set of changes into Portage. The main point is that I find this solution a bit overkill and too complicated, while simpler ones are already in Portage. Sorry :-(
Created attachment 124567 [details] glkloader-0.3.2.ebuild Updated ebuild based on the previous version: * Use mirror.ifarchive.org in SRC_URI * Remove X USE-flag that doesn't have any effect (changing the dependencies without modifying the package itself doesn't count ;-) ) * Fixes most compile warnings (the ones that are left are unlikely to cause problems) * Fix parallel build * Fix crash on launch * Fix for 64-bit arches, and tested on amd64
Created attachment 124569 [details, diff] 0.3.2-gentoo.patch This includes the contents of 0.3.2-makefile.patch
Created attachment 126145 [details] glkloader-0.3.2.ebuild Small update: nicer way of handling user CFLAGS, multilib fix.
Created attachment 126147 [details, diff] 0.3.2-gentoo.patch
Created attachment 138033 [details] glkloader-0.3.2.ebuild Updated ebuild. The main change is that it now uses libtool to build the library. I'm also using it from dev-games rather than dev-libs.
Created attachment 138034 [details, diff] glkloader-0.3.2-gentoo.patch Updated patch - the Makefile part was getting a bit big, so I split it out into a separate patch again.
Created attachment 138036 [details, diff] glkloader-0.3.2-Makefile.patch
Created attachment 138037 [details] glk-0.ebuild New-style virtual/glk ebuild - only xglk (bug 116061) for now, but maybe others in future.
Created attachment 148223 [details] glkloader-0.3.2.ebuild Updated ebuild. No longer needs glkloaderrc in files/, it's now a here doc in the ebuild itself. Requires the following thirdpartymirrors entry: ifarchive http://ifarchive.plover.net/if-archive/ ftp://ifarchive.plover.net/if-archive/ http://ifarchive.smallwhitehouse.org/if-archive/ http://ifarchive.wurb.com/if-archive/ http://ifarchive.heanet.ie/if-archive/ http://ifarchive.giga.or.at/if-archive/ ftp://ftp.giga.or.at/pub/ifarchive/ http://www.ibiblio.org/pub/docs/interactive-fiction/ ftp://ftp.ibiblio.org/pub/docs/interactive-fiction/ ftp://ftp.guetech.org/pub/guetech/if-archive/ ftp://ftp.funet.fi/pub/misc/ifarchive/
Created attachment 148225 [details, diff] glkloader-0.3.2-64bit.patch Patch for 64-bit cleanliness.
Created attachment 148226 [details, diff] glkloader-0.3.2-double-free.patch Fix double-free.
Created attachment 148227 [details, diff] glkloader-0.3.2-glk-0.7.0.patch Update to support the Glk 0.7.0 API.
Created attachment 148229 [details, diff] glkloader-0.3.2-gtkglk-extensions.patch Update the headers to allow applications to use gtkglk extensions; if used with some other Glk library, it should be harmless. (Note, I have an ebuild for gtkglk, but it's not ready to be submitted yet.)
Created attachment 148231 [details, diff] glkloader-0.3.2-garglk-extensions.patch Allow applications to use Gargoyle extensions. This requires a small patch to each non-Gargoyle Glk library, but since it's trivial in all the Glk libraries I've seen, I think it's harmless.
Created attachment 148233 [details, diff] glkloader-0.3.2-dynamic-blorb-dispa.patch Forward blorb and dispatch layer calls to the Glk library, instead of using the builtin version. This makes a slight difference if the Glk library implements an older version of the Glk API.
Created attachment 148235 [details, diff] glkloader-0.3.2-cache-function-pointers.patch Cache the function pointers returned from dlsym. This gives a noticeable speed-up.
Created attachment 148237 [details, diff] glkloader-0.3.2-no-rdynamic.patch Remove the need to link applications with the -rdynamic flag.
Created attachment 148238 [details] glkloader-0.3.2-configure.ac I got sick of trying to convince the build system not to suck, so I wrote a basic configure.ac and Makefile.am. The configure.ac uses @PV@ instead of a hard-coded version number, fixed in the ebuild using sed, to avoid having to create a new one for version bumps if there are no real changes needed.
Created attachment 148240 [details] glkloader-0.3.2-Makefile.am
Created attachment 148242 [details] glkstart.h glkstart.h from http://www.eblong.com/zarf/glk/, required by glkloader but not included. I suspect no-one noticed before because the Glk libraries themselves installed it.
Created attachment 148243 [details] glk-0.ebuild Updated virtual. Not all the providers have ebuilds submitted yet, but that will probably change.