Hi,

On Sun, Aug 22, 2010 at 12:04:07PM -0400, Predrag Punosevac wrote:
> sic is minimalistic irc client. This port has been submitted at least
> four or five times in the past couple of years by various people but
> never committed. The only new thing here is that sic has a new version
> 1.1. I am resubmitting the port to create Internet archive. If somebody
> cares to commit even better.

- Don't patch the makefile or config.mk (unless you completely replace
  it by something that works ;-) Instead, you can force some settings via
  MAKE_FLAGS. For example, I did this:

  V =           .1
  DISTNAME =    sic-$V
  ...
  CFLAGS +=     -I. -DVERSION=\\\"$V\\\" -D_GNU_SOURCE
  MAKE_FLAGS =  "CC=${CC}" \
                "CFLAGS=${CFLAGS}" \
                "LDFLAGS=${LDFLAGS}"

  This will also allow to override CC (in case one wants to experiment
  with a different compiler).

- The suckless install target sucks (as always). Better write your own
  do-install: that uses ${INSTALL_PROGRAM} resp. ${INSTALL_MAN},
  which has the additional benefit that ${INSTALL_PROGRAM} automatically
  strips the program unless DEBUG is defined. However, you also
  have to get the version number into sic.1 (using a post-patch
  target, for example).

- The man page claims that the default port is 6667, but actually sic
  initializes the port variable to "ircd" and passes that as servname
  to getaddrinfo(3) later. This doesn't work unless you have a
  matching entry in services(5).

- Furthermore, if getaddrinfo(3) fails, sic uses strerror(3) instead of
  gai_strerror(3) to produce an error message. This leads to totally
  confusing error messages, like in:

        $ sic -h 127.0.0.1
        error: cannot resolve hostname '127.0.0.1': Invalid argument

Ciao,
        Kili

Reply via email to