RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Sebastian Reitenbach
Hi,

appended three new tcl/tk related ports. Since the last submission a
couple of weeks ago, more or less completely reworked.

graphics/tkimg:
This package enhances Tk, adding support for many
other Image formats: BMP, XBM, XPM, GIF (with
transparency, but without LZW), PNG, JPEG, TIFF.

net/tcludp:
This package provides support for using UDP through Tcl.
The package provides a new channel type and attempts to
permit the use of packet oriented UDP over stream oriented
Tcl channels.

misc/memchan:
Memchan is an extension to Tcl implementing memory channels,
i.e. channels storing the data placed into them in memory,
not on disk.

please have a look.

are they OK to import?

cheers,
Sebastian

memchan.tar.gz (2K) Download Attachment
tcludp.tar.gz (2K) Download Attachment
tkimg.tar.gz (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Landry Breuil-5
On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach wrote:
> Hi,
>
> appended three new tcl/tk related ports. Since the last submission a
> couple of weeks ago, more or less completely reworked.
>
> graphics/tkimg:
> This package enhances Tk, adding support for many
> other Image formats: BMP, XBM, XPM, GIF (with
> transparency, but without LZW), PNG, JPEG, TIFF.

patch-Makefile_in looks wrong to me. what's that fucking up with fake
dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install ? that's a
two-step install target ?

patch-XXX_configure should contain LIBfoo_VERSION (+ added to
SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
SHLIB_VERSION.. forget about it :)

-x-includes should use ${X11BASE}

replace that ugly sed+mv in post-install by a perl -pi construct

why not trying to fix coccinella to work with png package instead of
just disabling it ?

> net/tcludp:
> This package provides support for using UDP through Tcl.
> The package provides a new channel type and attempts to
> permit the use of packet oriented UDP over stream oriented
> Tcl channels.

looks good

> misc/memchan:
> Memchan is an extension to Tcl implementing memory channels,
> i.e. channels storing the data placed into them in memory,
> not on disk.

ok for me. send string.h patches upstream..

on a general note:
does enabling threads in those ports forces you to have a threaded tcl
install ? ie does it actually work with a default non threaded tcl ?
If not, shouldn't it depend on the threaded flavor of tcl port ? All
this really sounds like the threaded-perl-python-ruby-fuckup...

Landry

Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Sebastian Reitenbach
Hi,
On Monday 19 July 2010 09:35:14 pm Landry Breuil wrote:

> On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach wrote:
> > Hi,
> >
> > appended three new tcl/tk related ports. Since the last submission a
> > couple of weeks ago, more or less completely reworked.
> >
> > graphics/tkimg:
> > This package enhances Tk, adding support for many
> > other Image formats: BMP, XBM, XPM, GIF (with
> > transparency, but without LZW), PNG, JPEG, TIFF.
>
> patch-Makefile_in looks wrong to me. what's that fucking up with fake
> dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install ? that's a
> two-step install target ?
I'll take a look at it again.

>
> patch-XXX_configure should contain LIBfoo_VERSION (+ added to
> SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
> SHLIB_VERSION.. forget about it :)
>
> -x-includes should use ${X11BASE}
oops, I missed that.

>
> replace that ugly sed+mv in post-install by a perl -pi construct
>
> why not trying to fix coccinella to work with png package instead of
> just disabling it ?
Coccinella requires graphics/tkpng to start up. The graphics/tkimg is for
additional image formats that can be used with the whiteboard in coccinella.
the regression test in tkimg segfaults when it comes to test the png stuff.
Also when I try to startup coccinella with the png package enabled it
segfaults. I'll need to take a look again to try debugging/figuring out why it
segfaults, I failed so far.

>
> > net/tcludp:
> > This package provides support for using UDP through Tcl.
> > The package provides a new channel type and attempts to
> > permit the use of packet oriented UDP over stream oriented
> > Tcl channels.
>
> looks good
>
> > misc/memchan:
> > Memchan is an extension to Tcl implementing memory channels,
> > i.e. channels storing the data placed into them in memory,
> > not on disk.
>
> ok for me. send string.h patches upstream.
sure, will do so.

>
> on a general note:
> does enabling threads in those ports forces you to have a threaded tcl
> install ? ie does it actually work with a default non threaded tcl ?
> If not, shouldn't it depend on the threaded flavor of tcl port ? All
> this really sounds like the threaded-perl-python-ruby-fuckup...
It doesn't matter whether the -threaded or non-threaded flavors of tcl/tk are
installed, it will work with both. I think I can remove the --threaded option
from those packages. Will do so for all three.

However, the problem I have with coccinella is the following:
When the IAX client is enabled, then coccinella doesn't open the Phone tab in
its gui after it registers to the asterisk as a client. And when trying to
call someone via xmpp/jingle, or a call is incoming, coccinella receives it
fine, but doesn't open the phone interface. It took me some weeks to figure
out that it seems to be a threading problem and when I install the threaded
tcl/tk flavors, the problem is gone. Therefore the updated coccinella port I
have in the queue has the threaded flavor of those as BUILD/RUN depends. I
also really do not like it that way, but that's the only way I found (yet) to
get those things to work.

cheers,
Sebastian

Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Landry Breuil-5
On Tue, Jul 20, 2010 at 07:42:50AM +0200, Sebastian Reitenbach wrote:

> Hi,
> On Monday 19 July 2010 09:35:14 pm Landry Breuil wrote:
> > On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach wrote:
> > > Hi,
> > >
> > > appended three new tcl/tk related ports. Since the last submission a
> > > couple of weeks ago, more or less completely reworked.
> > >
> > > graphics/tkimg:
> > > This package enhances Tk, adding support for many
> > > other Image formats: BMP, XBM, XPM, GIF (with
> > > transparency, but without LZW), PNG, JPEG, TIFF.
> >
> > patch-Makefile_in looks wrong to me. what's that fucking up with fake
> > dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install ? that's a
> > two-step install target ?
> I'll take a look at it again.
>
> >
> > patch-XXX_configure should contain LIBfoo_VERSION (+ added to
> > SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
> > SHLIB_VERSION.. forget about it :)
> >
> > -x-includes should use ${X11BASE}
> oops, I missed that.
>
> >
> > replace that ugly sed+mv in post-install by a perl -pi construct
> >
> > why not trying to fix coccinella to work with png package instead of
> > just disabling it ?
> Coccinella requires graphics/tkpng to start up. The graphics/tkimg is for
> additional image formats that can be used with the whiteboard in coccinella.
> the regression test in tkimg segfaults when it comes to test the png stuff.
> Also when I try to startup coccinella with the png package enabled it
> segfaults. I'll need to take a look again to try debugging/figuring out why it
> segfaults, I failed so far.

ok, makes sense then - as long as there's a comment in Makefile :)

> >
> > > net/tcludp:
> > > This package provides support for using UDP through Tcl.
> > > The package provides a new channel type and attempts to
> > > permit the use of packet oriented UDP over stream oriented
> > > Tcl channels.
> >
> > looks good
> >
> > > misc/memchan:
> > > Memchan is an extension to Tcl implementing memory channels,
> > > i.e. channels storing the data placed into them in memory,
> > > not on disk.
> >
> > ok for me. send string.h patches upstream.
> sure, will do so.
>
> >
> > on a general note:
> > does enabling threads in those ports forces you to have a threaded tcl
> > install ? ie does it actually work with a default non threaded tcl ?
> > If not, shouldn't it depend on the threaded flavor of tcl port ? All
> > this really sounds like the threaded-perl-python-ruby-fuckup...
> It doesn't matter whether the -threaded or non-threaded flavors of tcl/tk are
> installed, it will work with both. I think I can remove the --threaded option
> from those packages. Will do so for all three.
>
> However, the problem I have with coccinella is the following:
> When the IAX client is enabled, then coccinella doesn't open the Phone tab in
> its gui after it registers to the asterisk as a client. And when trying to
> call someone via xmpp/jingle, or a call is incoming, coccinella receives it
> fine, but doesn't open the phone interface. It took me some weeks to figure
> out that it seems to be a threading problem and when I install the threaded
> tcl/tk flavors, the problem is gone. Therefore the updated coccinella port I
> have in the queue has the threaded flavor of those as BUILD/RUN depends. I
> also really do not like it that way, but that's the only way I found (yet) to
> get those things to work.

Makes sense too. Add comments in the Makefile explaining/why/how it
works/which way.. to spare headaches for the one who will try
understanding/fixing it.

Landry

Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Sebastian Reitenbach
Hi,
On Tuesday 20 July 2010 09:21:53 am Landry Breuil wrote:

> On Tue, Jul 20, 2010 at 07:42:50AM +0200, Sebastian Reitenbach wrote:
> > Hi,
> >
> > On Monday 19 July 2010 09:35:14 pm Landry Breuil wrote:
> > > On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach wrote:
> > > > Hi,
> > > >
> > > > appended three new tcl/tk related ports. Since the last submission a
> > > > couple of weeks ago, more or less completely reworked.
> > > >
> > > > graphics/tkimg:
> > > > This package enhances Tk, adding support for many
> > > > other Image formats: BMP, XBM, XPM, GIF (with
> > > > transparency, but without LZW), PNG, JPEG, TIFF.
> > >
> > > patch-Makefile_in looks wrong to me. what's that fucking up with fake
> > > dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install ? that's
> > > a two-step install target ?
> >
> > I'll take a look at it again.
> >
> > > patch-XXX_configure should contain LIBfoo_VERSION (+ added to
> > > SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
> > > SHLIB_VERSION.. forget about it :)
> > >
> > > -x-includes should use ${X11BASE}
> >
> > oops, I missed that.
> >
> > > replace that ugly sed+mv in post-install by a perl -pi construct
> > >
> > > why not trying to fix coccinella to work with png package instead of
> > > just disabling it ?
> >
> > Coccinella requires graphics/tkpng to start up. The graphics/tkimg is for
> > additional image formats that can be used with the whiteboard in
> > coccinella. the regression test in tkimg segfaults when it comes to test
> > the png stuff. Also when I try to startup coccinella with the png package
> > enabled it segfaults. I'll need to take a look again to try
> > debugging/figuring out why it segfaults, I failed so far.
>
> ok, makes sense then - as long as there's a comment in Makefile :)
appended a reworked tkimg tarball.
changes: * now using ${X11BASE} in the right place.
              * replaced sed/mv with perl -pi
              * comment in the makefile regarding the broken img::png package
              * added a comment to the header of the patch-Makefile_in, why I              
                do the strange stuff in there (its indeed a two stage install)
              * remove the ${DESTDIR}/Img not in the ports Makefile anymore,
                updated the patch-Makefile_in to remove the dir in the
                install: stage

I think that was all I did. Hope its better now. If there is a better way to
handle that two stage install, please let me know about it, or point me to a
port with a similar "problem"

cheers,
Sebastian



tkimg.tar.gz (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Stuart Henderson-6
On 2010/07/20 12:12, Sebastian Reitenbach wrote:

> Hi,
> On Tuesday 20 July 2010 09:21:53 am Landry Breuil wrote:
> > On Tue, Jul 20, 2010 at 07:42:50AM +0200, Sebastian Reitenbach wrote:
> > > Hi,
> > >
> > > On Monday 19 July 2010 09:35:14 pm Landry Breuil wrote:
> > > > On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach wrote:
> > > > > Hi,
> > > > >
> > > > > appended three new tcl/tk related ports. Since the last submission a
> > > > > couple of weeks ago, more or less completely reworked.
> > > > >
> > > > > graphics/tkimg:
> > > > > This package enhances Tk, adding support for many
> > > > > other Image formats: BMP, XBM, XPM, GIF (with
> > > > > transparency, but without LZW), PNG, JPEG, TIFF.
> > > >
> > > > patch-Makefile_in looks wrong to me. what's that fucking up with fake
> > > > dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install ? that's
> > > > a two-step install target ?
> > >
> > > I'll take a look at it again.
> > >
> > > > patch-XXX_configure should contain LIBfoo_VERSION (+ added to
> > > > SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
> > > > SHLIB_VERSION.. forget about it :)
> > > >
> > > > -x-includes should use ${X11BASE}
> > >
> > > oops, I missed that.
> > >
> > > > replace that ugly sed+mv in post-install by a perl -pi construct
> > > >
> > > > why not trying to fix coccinella to work with png package instead of
> > > > just disabling it ?
> > >
> > > Coccinella requires graphics/tkpng to start up. The graphics/tkimg is for
> > > additional image formats that can be used with the whiteboard in
> > > coccinella. the regression test in tkimg segfaults when it comes to test
> > > the png stuff. Also when I try to startup coccinella with the png package
> > > enabled it segfaults. I'll need to take a look again to try
> > > debugging/figuring out why it segfaults, I failed so far.
> >
> > ok, makes sense then - as long as there's a comment in Makefile :)
>
> appended a reworked tkimg tarball.
> changes: * now using ${X11BASE} in the right place.
>               * replaced sed/mv with perl -pi
>               * comment in the makefile regarding the broken img::png package
>               * added a comment to the header of the patch-Makefile_in, why I              
>                 do the strange stuff in there (its indeed a two stage install)
>               * remove the ${DESTDIR}/Img not in the ports Makefile anymore,
>                 updated the patch-Makefile_in to remove the dir in the
>                 install: stage
>
> I think that was all I did. Hope its better now. If there is a better way to
> handle that two stage install, please let me know about it, or point me to a
> port with a similar "problem"
>
> cheers,
> Sebastian
>
>

A couple of nits:

This no longer pulls in pthread, so that can be removed
from WANTLIB.

It wants something like REGRESS_DEPENDS=::${PKGPATH} as the tests
don't run unless it's installed.

And one other thing I'm not sure about, but I don't know how it
should be handled, it may be that it's totally ok, or it may be
that it's an unnecessary change..:

-SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
+SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.${SHLIB_VERSION}'

I don't have a good handle on the Tcl dlopen()d modules, is there
anyone around who does who can say if this makes sense? For many
ports, this sort of module doesn't get a version number..

Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Sebastian Reitenbach
Hi,
On Tuesday 20 July 2010 12:41:51 pm Stuart Henderson wrote:
> On 2010/07/20 12:12, Sebastian Reitenbach wrote:
> > Hi,
> >
> > On Tuesday 20 July 2010 09:21:53 am Landry Breuil wrote:
> > > On Tue, Jul 20, 2010 at 07:42:50AM +0200, Sebastian Reitenbach wrote:
> > > > Hi,
> > > >
> > > > On Monday 19 July 2010 09:35:14 pm Landry Breuil wrote:
> > > > > On Sun, Jul 18, 2010 at 07:34:54PM +0200, Sebastian Reitenbach
wrote:

> > > > > > Hi,
> > > > > >
> > > > > > appended three new tcl/tk related ports. Since the last
> > > > > > submission a couple of weeks ago, more or less completely
> > > > > > reworked.
> > > > > >
> > > > > > graphics/tkimg:
> > > > > > This package enhances Tk, adding support for many
> > > > > > other Image formats: BMP, XBM, XPM, GIF (with
> > > > > > transparency, but without LZW), PNG, JPEG, TIFF.
> > > > >
> > > > > patch-Makefile_in looks wrong to me. what's that fucking up with
> > > > > fake dirs ? And what rm -r ${DESTDIR}/Img is doing in post-install
> > > > > ? that's a two-step install target ?
> > > >
> > > > I'll take a look at it again.
> > > >
> > > > > patch-XXX_configure should contain LIBfoo_VERSION (+ added to
> > > > > SUBST_VARS) to be cleaner... oh well. whatever. If there's only one
> > > > > SHLIB_VERSION.. forget about it :)
> > > > >
> > > > > -x-includes should use ${X11BASE}
> > > >
> > > > oops, I missed that.
> > > >
> > > > > replace that ugly sed+mv in post-install by a perl -pi construct
> > > > >
> > > > > why not trying to fix coccinella to work with png package instead
> > > > > of just disabling it ?
> > > >
> > > > Coccinella requires graphics/tkpng to start up. The graphics/tkimg is
> > > > for additional image formats that can be used with the whiteboard in
> > > > coccinella. the regression test in tkimg segfaults when it comes to
> > > > test the png stuff. Also when I try to startup coccinella with the
> > > > png package enabled it segfaults. I'll need to take a look again to
> > > > try
> > > > debugging/figuring out why it segfaults, I failed so far.
> > >
> > > ok, makes sense then - as long as there's a comment in Makefile :)
> >
> > appended a reworked tkimg tarball.
> > changes: * now using ${X11BASE} in the right place.
> >               * replaced sed/mv with perl -pi
> >               * comment in the makefile regarding the broken img::png
> > package * added a comment to the header of the patch-Makefile_in, why I
> > do the strange stuff in there (its indeed a two stage install) * remove
> > the ${DESTDIR}/Img not in the ports Makefile anymore, updated the
> > patch-Makefile_in to remove the dir in the install: stage
> >
> > I think that was all I did. Hope its better now. If there is a better way
> > to handle that two stage install, please let me know about it, or point
> > me to a port with a similar "problem"
> >
> > cheers,
> > Sebastian
>
> A couple of nits:
>
> This no longer pulls in pthread, so that can be removed
> from WANTLIB.
oh, my port-lib-depends-check doesn't warn me about the extra libs. But thats
probably because of the installed threaded flavors of tcl/tk which also
satisfy the BUILD/RUN depends.

>
> It wants something like REGRESS_DEPENDS=::${PKGPATH} as the tests
> don't run unless it's installed.
Oh, probably I always had it installed.

>
> And one other thing I'm not sure about, but I don't know how it
> should be handled, it may be that it's totally ok, or it may be
> that it's an unnecessary change..:
>
> -SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
> +SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.${SHLIB_VERSION}'
>
> I don't have a good handle on the Tcl dlopen()d modules, is there
> anyone around who does who can say if this makes sense? For many
> ports, this sort of module doesn't get a version number..
I also checked and saw in devel/itcl, security/tcltls or x11/tktable that they
have a version set. Which tcl/tk ports do not have a version on their shared
libraries?

Tcl/Tk itself doesn't really care about the version number suffixing the .so
in the library name. There can be multiple versions of the same
library/extension next to each other. The loading first reads the pkgIndex.tcl
file, there it defines which file to load for each version (those package
ifneeded lines). The actual name of the shared library actually can be
anything.

So when in a tcl script a line like:
package require foo 1.1
Then tcl starts searching its include path, for a pkgIndex.tcl file which has
corresponding "package ifneeded foo 1.1" line (there are some rules to pick
the right version, in case there is only one found e.g. providing "package
ifneeded foo 1.2")

So in short, I don't think for TCL/Tk libraries, the SHLIB_VERSION is really
needed. I only fiddled with them since some of the ports omit the version
after the .so, some of the ports use different numbers than 0.0.

Now someone has a suggestion how to handle that consistently on all tcl/tk
libraries/extensions?

cheers,
Sebastian

Reply | Threaded
Open this post in threaded view
|

Re: RESUBMIT NEW: graphics/tkimg net/tcludp misc/memchan

Landry Breuil-5
In reply to this post by Sebastian Reitenbach
On Tue, Jul 20, 2010 at 12:12:16PM +0200, Sebastian Reitenbach wrote:
> Hi,

<snip>
>               * remove the ${DESTDIR}/Img not in the ports Makefile anymore,
>                 updated the patch-Makefile_in to remove the dir in the
>                 install: stage
>
> I think that was all I did. Hope its better now. If there is a better way to
> handle that two stage install, please let me know about it, or point me to a
> port with a similar "problem"

Here's a patch-Makefile_in that works here, doing a single stage
install. No need for collate/install targets maze. and no need to call
${SUBST_CMD} on it.

Landry

patch-Makefile_in (1K) Download Attachment