[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#548070: ITP: libpdcurses0 -- X/Open curses library with an X11 and SDL interface

On Mon, Jul 04, 2011 at 12:19:40PM +0300, Peter Pentchev wrote:
> On Thu, Jun 30, 2011 at 04:43:18PM +0200, Agustin Martin wrote:
> > On Wed, Sep 23, 2009 at 06:13:22PM +0300, Peter Pentchev wrote:
> > > Package: wnpp
> > > Severity: wishlist
> > > Owner: Peter Pentchev <roam@ringlet.net>
> > > 
> > > * Package name    : libpdcurses0
> > >   Version         : 3.4
> > >   Upstream Author : William McBrine <wmcbrine@users.sf.net>
> > > * URL             : http://pdcurses.sourceforge.net/
> > > * License         : Public domain, MIT, GPL-2+
> > >   Programming Lang: C
> > >   Description     : X/Open curses library with an X11 and SDL interface
> > > 
> > > The main reason I want to package this library is that asciiportal
> > > (in a separate ITP) uses its SDL bindings for its weird half-TUI,
> > > half-GUI :)
> > 
> > (cc'ing Anders Kaseorg and upstream William McBrine, hi both)
> > 
> > Hi, Peter
> > 
> > Sorry for the late reply, I should at least have said hello when I first
> > noticed your ITP.
> > 
> > During some time I have been playing with a personal package for XCurses put
> > at my personal Debian area. It dealt only with XCurses to play with THE (an
> > IBM XEDIT clone) under X system and had it at my personal git area under
> > alioth, 
> > 
> >   git://anonscm.debian.org/users/agmartin/pdcurses.git
> [snip more about your package and Andreas Kaseorg's one]
> Hi,
> Sorry for replying a bit late; I was on a short vacation last week and
> I only got back to my e-mail this morning.

No problem, I'd say it was a quick reply,
> Well, the work I've done on PDCurses may be seen in the Debian Games Team's
> Git repository -
> http://anonscm.debian.org/gitweb/?p=pkg-games/libxcurses.git;a=summary
> or, of course, http://anonscm.debian.org/git/pkg-games/libxcurses.git/

Thanks. Looking at it.

> The truth is, just a couple of days ago I remembered that my ITPs of
> this library and ASCIIpOrtal have been, well, languishing for a while;
> I'll do something about them in the next couple of days :)
> I'll certainly see what you've done and look for some ideas, and shame on
> me for not checking if anybody had done anything like that for Ubuntu!

Note that I noticed its existence last week. It was in the Ubuntu PPA
(Personal packages archive) section, so seemed unofficial.

> Thanks a lot for your message and the pointers; I'll get back to you when
> I've had a bit more time to see what everybody else has been doing on
> libpdcurses while I wasn't looking :)  It'll most probably be later today
> or tomorrow.

Thanks for the info, Peter. I had a look at your package and would like to
add some comments,

* First thing I noticed is that it misses libsdl-dev build-depend, so it
  will not build as is. Next tests have it included.

* It will not build in sid because MH_CHECK_LIB will check in hardcoded
  locations, not including new recent Debian multiarch locations. For that
  reason, configure fails on

  checking for X... libraries , headers 
  configure: error: Cannot find required X library; libXt. PDCurses cannot be

  Same happens with my 3.4-3 package (previous to all recent changes).

* I built it successfully in squeeze (once libsdl-dev dependency is added),
  just that dpkg-shlibdeps warns about unneeded libraries linked.

  dpkg-shlibdeps: warning: dependency on libSM.so.6 could be avoided if
  "debian/libxcurses0/usr/lib/libXCurses.so.0.3.4" were not uselessly linked
  against it (they use none of its symbols).
  dpkg-shlibdeps: warning: dependency on libICE.so.6 could be avoided if
  "debian/libxcurses0/usr/lib/libXCurses.so.0.3.4" were not uselessly linked
  against it (they use none of its symbols).
  dpkg-shlibdeps: warning: dependency on libXext.so.6 could be avoided if
  "debian/libxcurses0/usr/lib/libXCurses.so.0.3.4" were not uselessly linked
  against it (they use none of its symbols).

  Seems that for xorg, there is no need to explicitly link against those
  libraries (although they seem to get linked indirectly).

I also looked at the resulting squeeze packages. Comments below, along with
my current status.

I did not much work in my (still not pushed) changes, just noticed that
headers are required by both SDL and X11 ports for compiling. I have also
fixed ordering of X11 libs in my side (I previously did it wrong). 

I am commenting current structure of packages at my side (note that it is 
different from yours),

Source package: pdcurses

Binary packages:

 * Runtime shared libraries:
   - libxcurses3
   - libsdlcurses3

 * Static libraries and unversioned shared link:
   - libxcurses-dev
   - libsdlcurses-dev

 * Headers (needed by both libxcurses-dev and libsdlcurses-dev):
   - pdcurses-headers

Note that I honour upstream name for Source package. I think you should also
do that (libxcurses refers only to the X11 port).

I named the SDL part libsdlcurses (and used libSDLCurses.so names). Do not
know if this is the best naming scheme, so I think we should wait to hear
upstream voice here (Hi, William).

I use 3 for lib{sdl,x}curses3 (and lib...so.3..). This is mostly for
personal historical reasons with previous non-compatible interfaces (and 
this way, follow upstream numbering, but this is not mandatory). Since 
neither mine nor (AFAIK) Ubuntu packages were ever official, this can be
changed with no grave results.

I see that you also added a symbols file. Fine, I have to admit that I never
played with those files.

In my side I would like to do some things in MH_CHECK_LIB differently, like
checking xorg|X11R6 ... to avoid extra explicit linking, but do not how to
do that. (X -version needs the server installed when building). 

On Thu, Jun 30, 2011 at 04:43:18PM +0200, Agustin Martin wrote:
> I tested the resulting XCurses stuff and seems to work similarly to my
> old package (THE works, some demos segfault, some work). 

No more segfaults, they were due to wrong headers use. Tests work well after
ensuring that right headers are used (and X11 libs ordering is fixed).

> I also did a minimal SDL test (just sdltest) which seemed successful. 

I will do some other minor things and push changes to my git repo so you can
look at them. Will let you know.



Reply to: