Thanks as always for your efforts with Gargoyle. This RC compiled and
installed perfectly for me under Ubuntu, and so far all the games I
have played have worked perfectly too. I'll keep you posted if I
notice anything odd though.
Regards,
Stuart
> --
> You received this message because you are subscribed to the Google Groups
> "garglk-dev" group.
> To post to this group, send email to gargl...@googlegroups.com.
> To unsubscribe from this group, send email to
> garglk-dev+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/garglk-dev?hl=en.
>
I'll try and update the package, let's see if I spot any issue.
Btw, the ifcomp has already started from what I can see (sept. 1st),
did you mean you want gargoyle ready for the ifcomp *judging* opening
(oct. 1st)? We'll get more input from players than authors I think.
- Sylvain
- Somebody (you?) mentioned that the Alan interpreted was about to be
released under a free license. Any news on that front?
- To be compliant with the FHS, gargoyle should be installed this way under Unix:
/usr/games/gargoyle
/usr/lib/gargoyle/libgarglk.so
/usr/lib/gargoyle/frotz
/usr/lib/gargoyle/nitfol
/usr/lib/gargoyle/git
/usr/lib/gargoyle/glulxe
...
(or, we could install libgarglk.so in /usr/lib, but then that's a
public library with all the precise versioning requirements)
Previously the launcher.sh took care of setting LD_LIBRARY_PATH
accordingly, but that was not a very clean solution.
Do you know of a (Jam) way to make 'gargoyle' look in
/usr/lib/gargoyle? I believe this is related to the 'rpath' linking
feature.
For instance that's what Gnash does:
$ ldd /usr/bin/gtk-gnash
linux-vdso.so.1 => (0x00007fffcad2b000)
libgnashrender-0.8.8.so => /usr/lib/gnash/libgnashrender-0.8.8.so (0x00007f2f28bc9000)
libgnashmedia-0.8.8.so => /usr/lib/gnash/libgnashmedia-0.8.8.so (0x00007f2f28939000)
...
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f2f26bbb000)
Some users also asked that that I install things this way:
/usr/games/gargoyle
/usr/games/frotz
/usr/games/nitfol
/usr/games/git
/usr/games/glulxe
/usr/lib/gargoyle/libgarglk.so
...
That way they could either let gargoyle chose the default
interpreter ('gargoyle stuff.z5'), or they could chose it directly
('frotz stuff.z5').
If that's really too much complicated, the alternative is that I
install everything in /usr/lib/gargoyle/ and make
/usr/games/gargoyle a simple shell wrapper around
/usr/lib/gargoyle/gargoyle, but that's less nice.
Hope that makes sense :)
- You may remember that I removed the non-free LuxiMono fonts in the
Debian package, and replaced it with the (free) DejaVu Sans Mono.
I saw the nice new "BUNDLEFONTS=no" switch in Jamrules and used it,
getting rid of my earlier patch along the way :)
However gargoyle now complains that it cannot be loaded:
$ LD_LIBRARY_PATH=. ./git
fatal: FT_New_Face: LuxiMonoRegular: 0x1
I see that there's a 'fontreplace' function, is it supposed to
handle that? Not sure if it should work, or if I should contribute
a patch?
- terps/nitfol/z_io.c.org is not used and causing some issues in my
package building - would you agree to remove it? (it's removed by
'jam clean' btw)
- In the interpreters updates:
> * Frotz now supports Unicode, Z-Machine Standard 1.1
> * Updated Agility, Git, Glulxe, and JACL to latest version
I see that terps/status.txt only show updates for git, glulxe and
jacl - are frotz and agility the same version than in the previous
gargoyle?
Cheers!
--
Sylvain
Do you know of a (Jam) way to make 'gargoyle' look in
/usr/lib/gargoyle? I believe this is related to the 'rpath' linking
feature.
That way they could either let gargoyle chose the default
interpreter ('gargoyle stuff.z5'), or they could chose it directly
('frotz stuff.z5').
- You may remember that I removed the non-free LuxiMono fonts in the
Debian package, and replaced it with the (free) DejaVu Sans Mono.
I saw the nice new "BUNDLEFONTS=no" switch in Jamrules and used it,
getting rid of my earlier patch along the way :)
#ifdef BUNDLED_FONTSchar *gli_conf_monofont = "";char *gli_conf_propfont = "";#elsechar *gli_conf_monofont = "Luxi Mono";char *gli_conf_propfont = "Bitstream Charter";#endif
- terps/nitfol/z_io.c.org is not used and causing some issues in my
package building - would you agree to remove it? (it's removed by
'jam clean' btw)
- In the interpreters updates:
> * Frotz now supports Unicode, Z-Machine Standard 1.1I see that terps/status.txt only show updates for git, glulxe and
> * Updated Agility, Git, Glulxe, and JACL to latest version
jacl - are frotz and agility the same version than in the previous
gargoyle?
- Somebody (you?) mentioned that the Alan interpreted was about to be
released under a free license. Any news on that front?
Alternatively, there's a new static linking option in jam; if you define STATIC=1 in the environment, jam will bundle interpreter + library together in a single binary. This increases the size by around 500 KB per interpreter, but sidesteps the shared library issues altogether.
On Mon, Sep 27, 2010 at 01:32:37PM -0700, Ben Cressey wrote:
> On Mon, Sep 27, 2010 at 12:22 PM, Sylvain Beucler <be...@beuc.net> wrote:
> > Do you know of a (Jam) way to make 'gargoyle' look in
> > /usr/lib/gargoyle? I believe this is related to the 'rpath' linking
> > feature.
> >
>
> Is it possible for the package to add a file to /etc/ld.so.conf.d instead?
> That would point ldconfig to /usr/lib/gargoyle without messing around with
> rpath.
Well that's technically possible but it doesn't sound like a good
idea. Only 3 Debian packages out of the ~30000 do that, that seem to
be reserved for low-level stuff (like 32/64bit stuff).
I can look into it but I have the feeling it's not meant for
package-specific libraries.
Linking to /usr/lib/mypackage is something easy enough to do with the
autotools so I guess that's why it's the standard solution.
> Alternatively, there's a new static linking option in jam; if you define
> STATIC=1 in the environment, jam will bundle interpreter + library together
> in a single binary. This increases the size by around 500 KB per
> interpreter, but sidesteps the shared library issues altogether.
Static linking gets in the way of library updates (namely security
updates). So it's generally not an option :)
> > That way they could either let gargoyle chose the default
> > interpreter ('gargoyle stuff.z5'), or they could chose it directly
> > ('frotz stuff.z5').
>
> The terp selection through the garglk.ini config file now works under Linux.
> If everything gets routed through the gargoyle launcher, you can override
> the default interpreter on a per-game or per-type basis.
>
> That avoids the need to put the interpreters directly in the path, which can
> cause problems if git is installed, or interpreters linked to other Glk
> libraries are already around.
Well, Debian provides a framework called 'alternatives' to deal with
that issue.
However if hacking garglk.ini is the way to go, it's probably better
to go with the simple shellwrapper + pointing people to garglk.ini.
> > - You may remember that I removed the non-free LuxiMono fonts in the
> > Debian package, and replaced it with the (free) DejaVu Sans Mono.
> >
> > I saw the nice new "BUNDLEFONTS=no" switch in Jamrules and used it,
> > getting rid of my earlier patch along the way :)
>
> Setting the BUNDLEFONTS switch to no causes the BUNDLED_FONTS flag to be
> undefined when building Gargoyle, which alters the behavior of config.c:
>
> #ifdef BUNDLED_FONTS
> char *gli_conf_monofont = "";
> char *gli_conf_propfont = "";
> #else
> char *gli_conf_monofont = "Luxi Mono";
> char *gli_conf_propfont = "Bitstream Charter";
> #endif
>
>
> You should be able to patch config.c and change gli_conf_monofont and
> gli_conf_propfont to fonts that fontconfig can locate on the system. I
> recommend "Liberation Mono" for monofont and "Linux Libertine O" for
> propfont. These match up with the default values in garglk.ini, so if you
> change them you should also change garglk.ini to keep things sensible.
Nice - 2 questions:
- Is there a standard place (system-wide, like /etc/garglk.ini) to
install garglk.ini to? Currently it's just installed as
documentation, so gargoyle relies on its built-in config.
- While trying to get gargoyle to work before you answered, and
trying to support "DejaVu Sans Mono", I needed to search for
":style=Book" for the regular font:
if (!strlen(fontpath))
{
strcpy(fontname, font);
strcat(fontname, ":style=Book");
findfont(fontname, fontpath);
}
Is it worth adding (in fontreplace())?
Oh, I see that my font tests from last year are still available :)
http://www.beuc.net/tmp/gargoyle/moonwatch/
> The Gargoyle package would then depend on ttf-liberation and
> ttf-linux-libertine, to guarantee those fonts exist on the system.
Good point.
I'm not sure I would have thought of updating them :)
(it was ttf-dejavu-core + ttf-dejavu-extra)
> I've just committed a patch that adjusts these values, along with the
> default font sizes, to correspond with the garglk.ini values. (See
> attached.)
Great, I'll test this.
--
Sylvain
Oooh, you mean partial static linking, I misread.
I gotta test :)
--
Sylvain
That looks pretty good and simple. I think I'll use STATIC=1.
In a different topic, I see that launchgtk.c looks for the
interpreters in directory where 'gargoyle' is installed. So at first
glance, I'll need to install the interpreters in '/usr/games/' too.
--
Sylvain
interpreters in directory where 'gargoyle' is installed. So at firstIn a different topic, I see that launchgtk.c looks for the
glance, I'll need to install the interpreters in '/usr/games/' too.
Is there a standard place (system-wide, like /etc/garglk.ini) to
install garglk.ini to? Currently it's just installed as
documentation, so gargoyle relies on its built-in config.
While trying to get gargoyle to work before you answered, and
trying to support "DejaVu Sans Mono", I needed to search for
":style=Book" for the regular font:
On Mon, Sep 27, 2010 at 08:54:49PM -0700, Ben Cressey wrote:
> On Mon, Sep 27, 2010 at 2:52 PM, Sylvain Beucler <be...@beuc.net> wrote:
>
> > In a different topic, I see that launchgtk.c looks for the
> > interpreters in directory where 'gargoyle' is installed. So at first
> > glance, I'll need to install the interpreters in '/usr/games/' too.
> >
>
> Oops, I definitely missed this.
>
> Maybe the best thing to do would be to patch launchgtk.c and hardcode the
> path to /usr/games in the
> winpath<http://code.google.com/p/garglk/source/browse/trunk/garglk/launchgtk.c#147>function.
> That will avoid the issue that Dannii mentions re: frotz.
I try to keep the patches to the minimum, but maybe that's just the
way to go for now (assuming your meant "hardcoding to
/usr/lib/gargoyle" :)).
> /etc/garglk.ini is the "standard" place, but if that conflicts with the
> Debian standard for such things, you can patch the two places that reference
> it, in config.c<http://code.google.com/p/garglk/source/browse/trunk/garglk/config.c#460>and
> launcher.c<http://code.google.com/p/garglk/source/browse/trunk/garglk/launcher.c#260>
> .
/etc/garglk.ini is the standard place in the FHS, and in Debian :)
> I've also emailed the Alan and Hugo developers to see if they've given the
> licensing question any more thought. It would be great to get that resolved.
Great!
--
Sylvain
Maybe it would be better to avoid conflicts by prefixing theinterpreter names, like 'gargoyle-frotz', 'gargoyle-git', etc. That's
what I had to do in Gnome Inform 7 at one point, because the regular
gargoyle binaries and the special embeddable ones had the same name,
and it was causing crashes on some people's systems.
> * Gargoyle.desktop contributed by Eric, for a desktop icon on Linux.
When packaging the .desktop file, the 'lintian' tool reported a few
issues:
- it needs to use '\n' rather than '\r\n' end-of-lines (per
http://standards.freedesktop.org/desktop-entry-spec/1.0/ar01s02.html)
- 'lintian' freaks out on the attempt to script-ify the .desktop file
with a '#!' line.x
I converted to Unix-style newlines and removed the sheband '#!' line
in the packaging.
--
Sylvain