Subject: Re: Problems creating a new package ...
To: Roland Illig <rillig@netbsd.org>
From: Matthew Grooms <mgrooms@shrew.net>
List: pkgsrc-users
Date: 09/11/2007 18:31:45
This is a multi-part message in MIME format.
--------------090601070802050004060501
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Roland Illig wrote:
> 
> OPT_NATT isn't prefixed with "-D", but should be. The reason for the 
> build failure was that _all_ other packages seemingly don't leave a 
> space between the -D and the name to be defined. I've fixed it in 
> mk/wrapper/arg-source revision 1.2.
> 

Thanks for all your extremely helpful input. I removed the spaces in the 
CMakeLists.txt define statements and now all is well. Good call.

> 
> Please always add a comment _why_ ONLY_FOR_PLATFORM is needed.
> 

I have only tested this software on NetBSD, FreeBSD and Linux using i386 
and amd64 archs. I didn't want anyone to get bit on an untested platform 
so I included the line. What would be the best way to express this and 
where do I add the comment? Just in the Makefile or do you mean to echo 
output during the make process?

> 
> I prefer USE_TOOLS+=bison here.
> 

I must have bison 2.3 or later.

> 
> Why do you override these targets? They seems to do the same as the 
> default ones, only a bit more stub-like.
> 

The original Makefile was hacked to bits trying to figure out why the 
compile was breaking. I have attached another Makefile and options.mk 
file which incorporates most of your suggestions. Any other comments 
would be greatly appreciated.

I do have one other question. The cmake configure process attempts to 
locate the qt3 package automatically. On all other platforms I have 
compiled, it just works. On NetBSD, I have to set the following for the 
configure process to work ...

QTDIR=/usr/pkg/qt3
QMAKESPEC=netbsd-g++
PATH=${PATH}:${QTDIR}/bin
LD_LIBRARY_PATH=/usr/pkg/qt3/lib/:/usr/X11R6/lib

All the dependency packages are installed. Is this normal or am I 
missing something fundamental?

Thanks in advance,

-Matthew

--------------090601070802050004060501
Content-Type: text/plain;
 name="Makefile"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="Makefile"

DISTNAME=		ike-2.0.1-release
CATEGORIES=		security
MASTER_SITES=		http://www.shrew.net/vpn/
EXTRACT_SUFX=		.tbz2

MAINTAINER=		mgrooms@netbsd.org
HOMEPAGE=		http://www.shrew.net/
COMMENT=		Shrew Soft IKE daemon and client tools

WRKSRC=			${WRKDIR}/ike
BUILD_DEPENDS=		cmake>=2.4.*:../../devel/cmake \
			bison>=2.3:../../devel/bison

USE_LANGUAGES=		c c++

CMAKE_ARGS=		-DETCDIR=${PKG_SYSCONFDIR:Q} \
			-DMANDIR=${PREFIX}/${PKGMANDIR} \
			-DCMAKE_INSTALL_PREFIX=${PREFIX} \

.include "options.mk"
 
do-configure:
	( cd ${WRKSRC} && ${LOCALBASE}/bin/cmake ${CMAKE_ARGS} )

.include "../../mk/bsd.pkg.mk"

--------------090601070802050004060501
Content-Type: text/plain;
 name="options.mk"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="options.mk"

PKG_OPTIONS_VAR=	PKG_OPTIONS.ike
PKG_SUPPORTED_OPTIONS=	qtgui natt ldap debug
PKG_SUGGESTED_OPTIONS=	qtgui natt
 
.include "../../mk/bsd.options.mk"
 
.if !empty(PKG_OPTIONS:Mqtgui)
CMAKE_ARGS+=		-DQTGUI=YES
.include "../../x11/qt3/application.mk"
.endif
 
.if !empty(PKG_OPTIONS:Mnatt)
CMAKE_ARGS+=		-DNATT=YES
.endif
 
.if !empty(PKG_OPTIONS:Mldap)
CMAKE_ARGS+=		-DLDAP=YES
.include "../../databases/openldap-client/buildlink3.mk"
.endif
        
.if !empty(PKG_OPTIONS:Mdebug)
CMAKE_ARGS+=		-DDEBUG=YES
.endif

--------------090601070802050004060501--