Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Mar 2005 18:37:57 +0800 (CST)
From:      Xin LI <delphij@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        kris@FreeBSD.org
Subject:   ports/79159: [PATCH] Fix devel/sourcenav on FreeBSD 6.0-CURRENT and above
Message-ID:  <200503231037.j2NAbvKL002753@tarsier.delphij.net>
Resent-Message-ID: <200503231040.j2NAe2rF035647@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         79159
>Category:       ports
>Synopsis:       [PATCH] Fix devel/sourcenav on FreeBSD 6.0-CURRENT and above
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 23 10:40:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Xin LI
>Release:        FreeBSD 5.3-RELEASE-p5 i386
>Organization:
The FreeBSD Simplified Chinese Project
>Environment:
System: FreeBSD tarsier.delphij.net 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #0: Sat Jan 22 01:19:23 CST 2005 root@builder.delphij.net:/usr/obj/usr/src/sys/MULE i386


>Description:
	The attached patch fixes sourcenav build on 6-CURRENT

>How-To-Repeat:
>Fix:
	- Add a patch that will remove cdefs.h and use the version
	  supplied by FreeBSD.
	- Grab maintainership so [:portmgr:].bots can have a real
	  person to contact when something goes bad :-) 

--- patch-sourcenav begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/devel/sourcenav/Makefile,v
retrieving revision 1.13
diff -u -r1.13 Makefile
--- Makefile	18 Nov 2004 22:28:49 -0000	1.13
+++ Makefile	23 Mar 2005 10:22:35 -0000
@@ -7,12 +7,12 @@
 
 PORTNAME=	sourcenav
 PORTVERSION=	5.1.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	${PORTNAME}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	delphij@FreeBSD.org
 COMMENT=	Source code analysis tool
 
 LIB_DEPENDS=	tcl83.1:${PORTSDIR}/lang/tcl83 \
@@ -28,7 +28,7 @@
 .include <bsd.port.pre.mk>
 
 .if ${OSVERSION} >= 600000
-BROKEN=		"Does not compile on FreeBSD >= 6.x"
+EXTRA_PATCHES+=     ${FILESDIR}/FreeBSD6-cdefs.h
 .endif
 
 .include <bsd.port.post.mk>
Index: files/FreeBSD6-cdefs.h
===================================================================
RCS file: files/FreeBSD6-cdefs.h
diff -N files/FreeBSD6-cdefs.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/FreeBSD6-cdefs.h	22 Mar 2005 08:09:20 -0000
@@ -0,0 +1,129 @@
+--- db/include/cdefs.h.old	Thu Apr 25 08:48:11 2002
++++ db/include/cdefs.h	Tue Mar 22 16:05:39 2005
+@@ -1,125 +1 @@
+-/*
+- * Copyright (c) 1991, 1993
+- *	The Regents of the University of California.  All rights reserved.
+- *
+- * This code is derived from software contributed to Berkeley by
+- * Berkeley Software Design, Inc.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- *    notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- *    notice, this list of conditions and the following disclaimer in the
+- *    documentation and/or other materials provided with the distribution.
+- * 3. All advertising materials mentioning features or use of this software
+- *    must display the following acknowledgement:
+- *	This product includes software developed by the University of
+- *	California, Berkeley and its contributors.
+- * 4. Neither the name of the University nor the names of its contributors
+- *    may be used to endorse or promote products derived from this software
+- *    without specific prior written permission.
+- *
+- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+- * SUCH DAMAGE.
+- *
+- *	@(#)cdefs.h	8.7 (Berkeley) 1/21/94
+- */
+-
+-#ifndef	_CDEFS_H_
+-#define	_CDEFS_H_
+-
+-#if defined(__cplusplus)
+-#define	__BEGIN_DECLS	extern "C" {
+-#define	__END_DECLS	};
+-#else
+-#define	__BEGIN_DECLS
+-#define	__END_DECLS
+-#endif
+-
+-/* This is defined on my Linux box, at least.  */
+-#undef __P
+-
+-/*
+- * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
+- * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
+- * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
+- * in between its arguments.  __CONCAT can also concatenate double-quoted
+- * strings produced by the __STRING macro, but this only works with ANSI C.
+- */
+-#if defined(__STDC__) || defined(__MSVC__) || defined(__cplusplus)
+-#define	__P(protos)	protos		/* full-blown ANSI C */
+-#define	__CONCAT(x,y)	x ## y
+-#define	__STRING(x)	#x
+-
+-#define	__const		const		/* define reserved names to standard */
+-#define	__signed	signed
+-#define	__volatile	volatile
+-#if defined(__cplusplus)
+-#define	__inline	inline		/* convert to C++ keyword */
+-#else
+-#if !defined(__GNUC__) && !defined(__MSVC__)
+-#define	__inline			/* delete GCC keyword */
+-#endif /* !__GNUC__ */
+-#endif /* !__cplusplus */
+-
+-#else	/* !(__STDC__ || __MSVC__ || __cplusplus) */
+-#define	__P(protos)	()		/* traditional C preprocessor */
+-#define	__CONCAT(x,y)	x/**/y
+-#define	__STRING(x)	"x"
+-
+-#ifndef __GNUC__
+-#define	__const				/* delete pseudo-ANSI C keywords */
+-#define	__inline
+-#define	__signed
+-#define	__volatile
+-/*
+- * In non-ANSI C environments, new programs will want ANSI-only C keywords
+- * deleted from the program and old programs will want them left alone.
+- * When using a compiler other than gcc, programs using the ANSI C keywords
+- * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
+- * When using "gcc -traditional", we assume that this is the intent; if
+- * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
+- */
+-#ifndef	NO_ANSI_KEYWORDS
+-#define	const				/* delete ANSI C keywords */
+-#define	inline
+-#define	signed
+-#define	volatile
+-#endif
+-#endif	/* !__GNUC__ */
+-#endif	/* !(__STDC__ || __cplusplus) */
+-
+-/*
+- * GCC1 and some versions of GCC2 declare dead (non-returning) and
+- * pure (no side effects) functions using "volatile" and "const";
+- * unfortunately, these then cause warnings under "-ansi -pedantic".
+- * GCC2 uses a new, peculiar __attribute__((attrs)) style.  All of
+- * these work for GNU C++ (modulo a slight glitch in the C++ grammar
+- * in the distribution version of 2.5.5).
+- */
+-#if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5
+-#define	__attribute__(x)	/* delete __attribute__ if non-gcc or gcc1 */
+-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+-#define	__dead		__volatile
+-#define	__pure		__const
+-#endif
+-#endif
+-
+-/* Delete pseudo-keywords wherever they are not available or needed. */
+-#ifndef __dead
+-#define	__dead
+-#define	__pure
+-#endif
+-
+-#endif /* !_CDEFS_H_ */
++#include <sys/cdefs.h>
--- patch-sourcenav ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503231037.j2NAbvKL002753>