ports/79159: [PATCH] Fix devel/sourcenav on FreeBSD 6.0-CURRENT and above
Xin LI
delphij at FreeBSD.org
Wed Mar 23 10:40:03 UTC 2005
>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 at 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 at FreeBSD.org
+MAINTAINER= delphij at 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:
More information about the freebsd-ports-bugs
mailing list