20781120 nethack fails to compile 64-bit
authorDanek Duvall <danek.duvall@oracle.com>
Fri, 27 Mar 2015 16:01:43 -0700
changeset 4029 d0b41e7f3e31
parent 4012 7d92a60b7db2
child 4030 ef056933c654
20781120 nethack fails to compile 64-bit
components/nethack/Makefile
components/nethack/nethack.copyright
components/nethack/nethack.p5m
components/nethack/patches/64-bit.patch
--- a/components/nethack/Makefile	Mon Mar 23 23:01:43 2015 -0700
+++ b/components/nethack/Makefile	Fri Mar 27 16:01:43 2015 -0700
@@ -54,15 +54,28 @@
 COMPONENT_INSTALL_ARGS += CHGRP=true
 COMPONENT_INSTALL_ARGS += ROOT=$(PROTO_DIR)
 
+# Nethack's build infrastructure doesn't let you easily override CFLAGS.
+# Luckily, all the source files live in the same location relative to the
+# include directory, so we can just stuff a -I into CFLAGS matching what's
+# there in the Makefiles.  And we have to force this to be overridden by
+# putting -e into MAKEFLAGS.
 COMPONENT_BUILD_ENV += CC=$(CC)
+COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS) -I../include"
+COMPONENT_BUILD_ENV += LFLAGS="$(CC_BITS)"
+COMPONENT_BUILD_ENV += MAKEFLAGS=-e
 COMPONENT_INSTALL_ENV += CC=$(CC)
+COMPONENT_INSTALL_ENV += CFLAGS="$(CFLAGS) -I../include"
+COMPONENT_INSTALL_ENV += LFLAGS="$(CC_BITS)"
+COMPONENT_INSTALL_ENV += MAKEFLAGS=-e
 
 PKG_PROTO_DIRS += $(COMPONENT_SRC)/doc
 
+ASLR_MODE = $(ASLR_ENABLE)
+
 # common targets
-build:		$(BUILD_32)
+build:		$(BUILD_64)
 
-install:	$(INSTALL_32)
+install:	$(INSTALL_64)
 	sed -e 's/^!\(NetHack.tomb\)/\1/' -e 's/^!\(NetHack.pet\)/\1/' \
 		-e 's/^!\(NetHack.tile_file\)/\1/' \
 		$(COMPONENT_SRC)/win/X11/NetHack.ad \
--- a/components/nethack/nethack.copyright	Mon Mar 23 23:01:43 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-----------------------------------------------------------------------
-"NetHack, Copyright 1985-2003"
-Copyright 1991 University of Wisconsin-Madison
-Copyright (c) 1983 Regents of the University of California.
-Copyright (C) 1987-1990 by Ken Arromdee
-Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
-Copyright (C) 1991,1993,1995 by Robert Patrick Rankin
-Copyright (C) 1998 by Anthony Taylor <[email protected]>
-Copyright (C) 1998 by Erik Andersen <[email protected]>
-Copyright (C) 2001-2003 by Alex Kompel <[email protected]>
-Copyright (C) 2002 by Dylan Alex Simon
-Copyright (c) 1988-1989 AT&T
-Copyright (c) 1989,1992 Janet Walz
-Copyright (c) 1989 Mike Threepoint
-Copyright (c) 1989-1996 by Jean-Christophe Collet
-Copyright (c) 1986-1995 by M. Stephenson
-Copyright (c) 1989y Norm Meluch and Stephen Spackman
-Copyright (c) 1991-1993 P. Winner
-Copyright (c) 1990-1993 by David Cohrs
-Copyright (c) 1989,1991-1993 Izchak Miller
-Copyright (c) 1992 by Jon Watte
-Copyright (c) 1991-1996 Gregg Wonderly, Naperville Illinois
-Copyright (c) 1994 by Boudewijn Wayers
-Copyright (c) 1994-1996 Andrew Church, Olney, Maryland
-Copyright (c) 1990-1996,2002 by Dean Luick
-Copyright (c) 1991 Michael Hamel
-Copyright (c) 1998-1999,2002 by Kevin Hugo
-Copyright (c) 2002 Mark Modrall
-Copyright (c) 1989 Benson I. Margulies
-Copyright (c) 1989 Steve Linhart
-Copyright (c) 1989 Eric Raymond
-Copyright (c) 1999-2002 Christian Bressler
-Copyright (c) 1993 David Hairston
-Copyright (c) 2000 Janne Salmij??rv
-Copyright (c) 1992 Hao-Yang Wang, Jonathan Handler
-Copyright (c) 1990-1996 Kenneth Lorber
-Copyright (c) 1992-1993 Jon W{tte 1993.
-Copyright (c) 1997 Michael Allison
-Copyright (c) 1990-2003 NetHack PC Development Team 1990-2003
-Copyright (c) 1993 Macintosh NetHack Port Team
-Copyright (c) 1992-1999 the NetHack Development Team
-Copyright (c) 1988-1992 Olaf Seibert
-Copyright (c) 2001 Slash'EM development team
-Copyright (c) 1988 Steve Creps
-Copyright (c) 1985-2003 Stichting Mathematisch Centrum, Amsterdam
-Copyright (c) Timo Hakulinen, 1990, 1991, 1992, 1993, 1996.
-Copyright (c) 1999-2002 Yitzhak Sapir
-Copyright (c) 1996-2001 Warwick Allison
-Copyright (c) 1986 Scott R. Turner, srt@ucla
-Copyright (c) 1990 David Koblas
-COPYRIGHT "Copyright 1989-1991 Network Computing Devices, Inc."
-with acknowledgements to Kevin Darcy
-----------------------------------------------------------------------
-                    NETHACK GENERAL PUBLIC LICENSE
-                    (Copyright 1989 M. Stephenson)
-
-               (Based on the BISON general public license,
-                   copyright 1988 Richard M. Stallman)
-
- Everyone is permitted to copy and distribute verbatim copies of this
- license, but changing it is not allowed.  You can also use this wording to
- make the terms for other programs.
-
-  The license agreements of most software companies keep you at the mercy of
-those companies.  By contrast, our general public license is intended to give
-everyone the right to share NetHack.  To make sure that you get the rights we
-want you to have, we need to make restrictions that forbid anyone to deny you
-these rights or to ask you to surrender the rights.  Hence this license
-agreement.
-
-  Specifically, we want to make sure that you have the right to give away
-copies of NetHack, that you receive source code or else can get it if you
-want it, that you can change NetHack or use pieces of it in new free
-programs, and that you know you can do these things.
-
-  To make sure that everyone has such rights, we have to forbid you to
-deprive anyone else of these rights.  For example, if you distribute copies
-of NetHack, you must give the recipients all the rights that you have.  You
-must make sure that they, too, receive or can get the source code.  And you
-must tell them their rights.
-
-  Also, for our own protection, we must make certain that everyone finds out
-that there is no warranty for NetHack.  If NetHack is modified by someone
-else and passed on, we want its recipients to know that what they have is
-not what we distributed.
-
-  Therefore we (Mike Stephenson and other holders of NetHack copyrights) make
-the following terms which say what you must do to be allowed to distribute or
-change NetHack.
-
-
-                        COPYING POLICIES
-
-  1. You may copy and distribute verbatim copies of NetHack source code as
-you receive it, in any medium, provided that you keep intact the notices on
-all files that refer to copyrights, to this License Agreement, and to the
-absence of any warranty; and give any other recipients of the NetHack
-program a copy of this License Agreement along with the program.
-
-  2. You may modify your copy or copies of NetHack or any portion of it, and
-copy and distribute such modifications under the terms of Paragraph 1 above
-(including distributing this License Agreement), provided that you also do the
-following:
-
-    a) cause the modified files to carry prominent notices stating that you
-    changed the files and the date of any change; and
-
-    b) cause the whole of any work that you distribute or publish, that in
-    whole or in part contains or is a derivative of NetHack or any part
-    thereof, to be licensed at no charge to all third parties on terms
-    identical to those contained in this License Agreement (except that you
-    may choose to grant more extensive warranty protection to some or all
-    third parties, at your option)
-
-    c) You may charge a distribution fee for the physical act of
-    transferring a copy, and you may at your option offer warranty protection
-    in exchange for a fee.
-
-  3. You may copy and distribute NetHack (or a portion or derivative of it,
-under Paragraph 2) in object code or executable form under the terms of
-Paragraphs 1 and 2 above provided that you also do one of the following:
-
-    a) accompany it with the complete machine-readable source code, which
-    must be distributed under the terms of Paragraphs 1 and 2 above; or,
-
-    b) accompany it with full information as to how to obtain the complete
-    machine-readable source code from an appropriate archive site.  (This
-    alternative is allowed only for noncommercial distribution.)
-
-For these purposes, complete source code means either the full source
-distribution as originally released over Usenet or updated copies of the
-files in this distribution used to create the object code or executable.
-
-  4. You may not copy, sublicense, distribute or transfer NetHack except as
-expressly provided under this License Agreement.  Any attempt otherwise to
-copy, sublicense, distribute or transfer NetHack is void and your rights to
-use the program under this License agreement shall be automatically
-terminated.  However, parties who have received computer software programs
-from you with this License Agreement will not have their licenses terminated
-so long as such parties remain in full compliance.
-
-
-Stated plainly:  You are permitted to modify NetHack, or otherwise use parts
-of NetHack, provided that you comply with the conditions specified above;
-in particular, your modified NetHack or program containing parts of NetHack
-must remain freely available as provided in this License Agreement.  In
-other words, go ahead and share NetHack, but don't try to stop anyone else
-from sharing it farther.
-
-Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
--- a/components/nethack/nethack.p5m	Mon Mar 23 23:01:43 2015 -0700
+++ b/components/nethack/nethack.p5m	Fri Mar 27 16:01:43 2015 -0700
@@ -177,4 +177,4 @@
 file path=var/games/nethack/record group=games mode=0664 \
     original_name=SUNWnethack:var/games/nethack/record preserve=true
 dir  path=var/games/nethack/save group=games mode=0775
-license nethack.copyright license=Nethack
+license dat/license license=Nethack
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/nethack/patches/64-bit.patch	Fri Mar 27 16:01:43 2015 -0700
@@ -0,0 +1,15 @@
+This patch is required in order to build in 64-bit mode on Solaris.
+
+This patch will not be submitted upstream.
+
+--- include/system.h.orig	Sun Dec  7 15:39:13 2003
++++ include/system.h	Tue Jul 23 11:00:47 2013
+@@ -162,7 +162,7 @@
+ # endif
+ #  if defined(POSIX_TYPES) || defined(__TURBOC__)
+ #   ifndef bsdi
+-E int FDECL(write, (int, const void *,unsigned));
++/* E int FDECL(write, (int, const void *,unsigned)); */
+ #   endif
+ #  else
+ #   ifndef __MWERKS__	/* metrowerks defines write via universal headers */