On Fri, Jan 14, 2011 at 1:43 AM, Landry Breuil <lan...@rhaalovely.net> wrote: > On Thu, Jan 13, 2011 at 05:06:50PM -0800, Jeremy Evans wrote: >> On 01/12 04:38, Jeremy Evans wrote: >> > Fairly simple, these are ruby bindings for Qt4. I originally started >> > work on this at p2k10, and just recently picked it up again and got it >> > working. >> > >> > Tested on i386. Compiles on amd64, but I haven't had a chance to test >> > there yet. Looking for OKs. >> > >> > Jeremy >> >> Made some changes so that you can install it side by side with >> kdebindings3 (the ruby binding to Qt3). Also, if you want to >> test this, you'll need to use: >> >> LD_PRELOAD=/usr/lib/libpthread.so.13.1 >> >> when running the ruby interpreter. We don't enable pthreads in ruby as >> it causes some issues, which is why you need to use LD_PRELOAD. > > That is the exact same issue with p5-Gtk2, which isnt built those days > because p5-Glib needs a similar hack and thus is marked BROKEN. Do we > want more ports in the tree that require such hacks ? Same comment for > ruby-gtk2.
I don't see this as major issue. If this is a major issue, it shouldn't be hard to work around. Stick an executable file named pthread with the following contents in the $PATH (maybe as a port other such ports depend on): #!/bin/sh LD_PRELOAD=/usr/lib/libpthread.so.13.1 "$@" Then if you want to run ruby or perl with pthreads, instead of "ruby foo" or "perl foo", it's "pthread ruby foo" or "pthread perl foo". There are good reasons for not shipping a pthreaded ruby/perl by default. That does not mean that we should avoid ruby/perl modules that require pthreads in the ports tree. Marking something BROKEN that works fine when run correctly is a bad practice. BROKEN should be reserved for things that are actually broken, not just things requiring an ugly hack. I know of a couple of other ruby ports that require the LD_PRELOAD hack and are not marked BROKEN (kdebindings and ruby-hyperestraier). Jeremy