Subject: Re: pkg/23843
To: Michal Pasternak <michal@pasternak.w.lub.pl>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 02/14/2004 08:34:35
On Sat, 14 Feb 2004, Michal Pasternak wrote:

> Thomas Klausner [Sat, Feb 14, 2004 at 12:17:28PM +0100]:
> > On Sat, Feb 14, 2004 at 08:03:05AM +0100, Michal Pasternak wrote:
> > > Please reopen this PR and fix it, it's trival.
> > >
> > > Seems it got broken again somehow, xscreensaver doesn't compile on
> > > FreeBSD-STABLE.
> >
> > What exactly is the problem, and how should we fix it? The fix you
> > suggested (adding --without-pam) is already in pkgsrc.
>
> My fault, didn't examined too close, but it looked the same. Shame on me!
>
> Anyway, the error is:
> In file included from passwd.c:20:
> /usr/include/stdlib.h:111: warning: ANSI C does not support long long'
> /usr/include/stdlib.h:117: warning: ANSI C does not support long long'
> gcc -pedantic -Wall -Wstrict-prototypes -Wnested-externs -std=c89
> -U__STRICT_ANSI__ -c -I. -I. -I./../utils -I..  -I/usr/pkg/include/libxml2
> -I/usr/pkg/include -DHAVE_CONFIG_H -O2 -fno-strict-aliasing
> -I/usr/pkg/include -DGLX_GLXEXT_LEGACY -I/usr/include -I/usr/pkg/include
> -I/usr/pkg/include -DPKGREVISION=2 -I/usr/X11R6/include passwd-kerberos.c
> passwd-kerberos.c:48: des.h: No such file or directory
> *** Error code 1
>
> The fix is:
> add --without-kerberos to CONFIGURE_ARGS for FreeBSD
>
> FreeBSD Ports do the same.
>
> Kerberos is available on FreeBSD, only it's 5, not 4. xscreensaver seems to
> support Kerberos IV only.

How about if we just leave Kerberos out of the picture, except where
it's known to work? Like so (untested):

Index: Makefile.common
===================================================================
RCS file: /cvsroot/pkgsrc/x11/xscreensaver/Makefile.common,v
retrieving revision 1.70
diff -u -r1.70 Makefile.common
--- Makefile.common	6 Feb 2004 19:04:25 -0000	1.70
+++ Makefile.common	14 Feb 2004 14:30:57 -0000
@@ -53,12 +53,11 @@
 MAKEFLAGS+=		PERL_VERSION=${PERL_VERSION}
 .endif

-.if (${OPSYS} == "NetBSD")
-.  if defined(KERBEROS)
+.if ${OPSYS} == NetBSD && defined(KERBEROS) && ${KERBEROS} == 4
 CFLAGS+=		-I/usr/include/kerberosIV
-.  else
+PKG_USE_KERBEROS=	YES
+.else
 CONFIGURE_ARGS+=	--without-kerberos
-.  endif
 .endif

 .if !empty(CC_VERSION:Mgcc*)


Frederick