Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Sep 2000 15:20:04 +0100 (BST)
From:      Simon Marlow <simonmar@microsoft.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/21502: Upgrade ports/lang/ghc to version 4.08.1
Message-ID:  <200009231420.PAA34971@jaffacakes.freeserve.co.uk>

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

>Number:         21502
>Category:       ports
>Synopsis:       Upgrade ports/lang/ghc to version 4.08.1
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 23 07:20:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Simon Marlow
>Release:        FreeBSD 4.1-STABLE i386
>Organization:
>Environment:
>Description:
>How-To-Repeat:
>Fix:

diff -crN ghc-OLD/Makefile ghc/Makefile
*** ghc-OLD/Makefile	Sat Aug 12 20:13:05 2000
--- ghc/Makefile	Sat Sep 23 12:05:46 2000
***************
*** 5,13 ****
  # $FreeBSD: ports/lang/ghc/Makefile,v 1.4 2000/08/12 19:13:05 nbm Exp $
  
  PORTNAME=	ghc
! PORTVERSION=	4.08
  CATEGORIES=	lang
! MASTER_SITES=	http://www.haskell.org/ghc/dist/4.08/
  DISTFILES=	ghc-${PORTVERSION}-src${EXTRACT_SUFX} \
  		ghc-${PORTVERSION}-x86-hc${EXTRACT_SUFX}
  
--- 5,13 ----
  # $FreeBSD: ports/lang/ghc/Makefile,v 1.4 2000/08/12 19:13:05 nbm Exp $
  
  PORTNAME=	ghc
! PORTVERSION=	4.08.1
  CATEGORIES=	lang
! MASTER_SITES=	http://www.haskell.org/ghc/dist/4.08.1/
  DISTFILES=	ghc-${PORTVERSION}-src${EXTRACT_SUFX} \
  		ghc-${PORTVERSION}-x86-hc${EXTRACT_SUFX}
  
***************
*** 23,28 ****
--- 23,34 ----
  
  WRKSRC=		${WRKDIR}/fptools
  
+ # override TMPDIR because /tmp often doesn't have enough space
+ # to build some of the larger libraries.
+ TMPDIR = ${WRKSRC}/tmp
+ MAKE_ENV += TMPDIR=${TMPDIR}
+ 
+ 
  # Note:
  # 	- This port will bootstrap from pre-compiled C files.
  # 	- ToDo: bootstrap using existing compiler, if one is installed.
***************
*** 31,47 ****
  # switch to non-bootstrapping mode for installation, the build system
  # won't try to create them.
  #
! pre-build:
  	@${CP} ${FILESDIR}/build.mk ${WRKSRC}/mk
  	@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/rename/ParseIface.hs
  	@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/parser/Parser.hs
  	@(cd ${WRKSRC}/glafp-utils; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
  	@(cd ${WRKSRC}/ghc; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
  	@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
  
! post-build:
  	@echo "GhcWithHscBuiltViaC=NO" >>${WRKSRC}/mk/build.mk
  	@(cd ${WRKSRC}/ghc/lib; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
  	@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
  
  .include <bsd.port.mk>
--- 37,70 ----
  # switch to non-bootstrapping mode for installation, the build system
  # won't try to create them.
  #
! BOOT_COOKIE = ${WRKDIR}/.boot_done
! 
! ${BOOT_COOKIE}:
! 	@${MKDIR} ${TMPDIR}
  	@${CP} ${FILESDIR}/build.mk ${WRKSRC}/mk
  	@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/rename/ParseIface.hs
  	@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/ghc/compiler/parser/Parser.hs
  	@(cd ${WRKSRC}/glafp-utils; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
  	@(cd ${WRKSRC}/ghc; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
  	@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} boot)
+ 	@${TOUCH} ${TOUCH_FLAGS} ${BOOT_COOKIE}
+ 
+ pre-build: ${BOOT_COOKIE}
  
! # After building the compiler, we go back and build the libraries from
! # source using the compiler we just built.  We also build profiling
! # versions of the libraries at this point.
! 
! REAL_LIBS_COOKIE = ${WRKDIR}/.real_libs_done
! 
! ${REAL_LIBS_COOKIE}:
  	@echo "GhcWithHscBuiltViaC=NO" >>${WRKSRC}/mk/build.mk
+ 	@echo "GhcLibWays=p" >>${WRKSRC}/mk/build.mk
+ 	@(cd ${WRKSRC}/ghc/rts; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
  	@(cd ${WRKSRC}/ghc/lib; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
  	@(cd ${WRKSRC}/hslibs; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} clean boot all)
+ 	@${TOUCH} ${TOUCH_FLAGS} ${REAL_LIBS_COOKIE}
+ 
+ post-build: ${REAL_LIBS_COOKIE}
  
  .include <bsd.port.mk>
diff -crN ghc-OLD/files/build.mk ghc/files/build.mk
*** ghc-OLD/files/build.mk	Sat Aug 12 20:13:06 2000
--- ghc/files/build.mk	Sat Aug 26 23:35:33 2000
***************
*** 1,5 ****
  ProjectsToBuild = glafp-utils hslibs ghc
  GhcLibHcOpts = -O -split-objs -H32m
  SRC_HAPPY_OPTS += -c
! GhcLibWays=p
  GhcLibsWithReadline = YES
--- 1,5 ----
  ProjectsToBuild = glafp-utils hslibs ghc
  GhcLibHcOpts = -O -split-objs -H32m
  SRC_HAPPY_OPTS += -c
! GhcLibWays=
  GhcLibsWithReadline = YES
diff -crN ghc-OLD/files/md5 ghc/files/md5
*** ghc-OLD/files/md5	Sat Aug 12 20:13:06 2000
--- ghc/files/md5	Sat Aug 26 18:50:56 2000
***************
*** 1,2 ****
! MD5 (ghc-4.08-src.tar.gz) = 624af8e537fdaacb12719c0e5af080b5
! MD5 (ghc-4.08-x86-hc.tar.gz) = 3fc776f3963a6821720e7ae203b80529
--- 1,2 ----
! MD5 (ghc-4.08.1-src.tar.gz) = f2c4a579c186102239411efea17c963c
! MD5 (ghc-4.08.1-x86-hc.tar.gz) = b1d18eeb3f5fdb02a85ef24b40d1bf0d
diff -crN ghc-OLD/patches/patch-aa ghc/patches/patch-aa
*** ghc-OLD/patches/patch-aa	Thu Jan  1 01:00:00 1970
--- ghc/patches/patch-aa	Sat Aug 26 23:29:22 2000
***************
*** 0 ****
--- 1,19 ----
+ *** ghc/driver/ghc-asm.lprl~	Sat Aug 26 23:25:46 2000
+ --- ghc/driver/ghc-asm.lprl	Sat Aug 26 23:26:11 2000
+ ***************
+ *** 954,960 ****
+                   }
+   		print OUTASM $T_HDR_consist, "${consist}${T_POST_LBL}\n";
+   
+ ! 	    } elsif ( $TargetPlatform !~ /^(mips)-/ ) { # we just don't try in those case (ToDo)
+   		# on mips: consistency string is just a v
+   		# horrible bunch of .bytes,
+   		# which I am too lazy to sort out (WDP 95/05)
+ --- 954,960 ----
+                   }
+   		print OUTASM $T_HDR_consist, "${consist}${T_POST_LBL}\n";
+   
+ ! 	    } elsif ( $TargetPlatform !~ /mips|freebsd/ ) { # we just don't try in those case (ToDo)
+   		# on mips: consistency string is just a v
+   		# horrible bunch of .bytes,
+   		# which I am too lazy to sort out (WDP 95/05)
diff -crN ghc-OLD/patches/patch-ab ghc/patches/patch-ab
*** ghc-OLD/patches/patch-ab	Thu Jan  1 01:00:00 1970
--- ghc/patches/patch-ab	Sun Sep  3 15:31:56 2000
***************
*** 0 ****
--- 1,100 ----
+ *** mk/config.mk.in~       Thu Jun  1 12:02:31 2000
+ --- mk/config.mk.in        Sat Sep  2 16:35:34 2000
+ ***************
+ *** 365,371 ****
+   # this in build.mk or set your environment variable "TMPDIR" to point
+   # to somewhere with more space.  (TMPDIR=. is a good choice).
+   
+ ! TMPDIR			= /tmp
+   
+   # FPTOOLS_TOP: the top of the fptools hierarchy, absolute path.
+   
+ --- 365,371 ----
+   # this in build.mk or set your environment variable "TMPDIR" to point
+   # to somewhere with more space.  (TMPDIR=. is a good choice).
+ 
+ ! GHC_TMPDIR            = /tmp
+ 
+   # FPTOOLS_TOP: the top of the fptools hierarchy, absolute path.
+ 
+ *** ghc/driver/Makefile~   Thu Apr 27 12:04:37 2000
+ --- ghc/driver/Makefile    Sat Sep  2 16:35:43 2000
+ ***************
+ *** 65,71 ****
+   ifeq "$(BIN_DIST)" "1"
+   SCRIPT_PREFIX_FILES=prefix.txt
+   else
+ ! SCRIPT_SUBST_VARS += libdir includedir libexecdir datadir bindir TMPDIR TOP_PWD
+   endif
+ 
+   all :: $(DYN_LOADABLE_BITS)
+ --- 65,71 ----
+   ifeq "$(BIN_DIST)" "1"
+   SCRIPT_PREFIX_FILES=prefix.txt
+   else
+ ! SCRIPT_SUBST_VARS += libdir includedir libexecdir datadir bindir GHC_TMPDIR TOP_PWD
+   endif
+ 
+   all :: $(DYN_LOADABLE_BITS)
+ *** ghc/driver/ghc.lprl~	Wed Aug  9 14:55:39 2000
+ --- ghc/driver/ghc.lprl		Sat Sep  2 16:56:16 2000
+ ***************
+ *** 108,114 ****
+   
+   bindir libdir libexecdir datadir
+   
+ ! CURRENT_DIR TMPDIR
+   
+   GHC_LIB_DIR GHC_RUNTIME_DIR GHC_INCLUDE_DIR
+   
+ --- 108,114 ----
+   
+   bindir libdir libexecdir datadir
+   
+ ! CURRENT_DIR GHC_TMPDIR
+   
+   GHC_LIB_DIR GHC_RUNTIME_DIR GHC_INCLUDE_DIR
+   
+ ***************
+ *** 157,177 ****
+   @INC = ( ( $INSTALLING ) ? $InstLibDirGhc
+   			   : "$TopPwd/${CURRENT_DIR}" );
+   
+ ! $ENV{'TMPDIR'} = $TMPDIR if $TargetPlatform =~ /^.*(cygwin32|mingw32)$/;
+ ! if ( $ENV{'TMPDIR'} ) { # where to make tmp file names
+ !     # Try to find a $Tmp_prefix which isn't being used...
+ !     $tmp = $$;
+ !     do {
+ !       $Tmp_prefix = ($ENV{'TMPDIR'} . "/ghc$tmp");
+ !       $tmp++;
+ !     } while ( -e "$Tmp_prefix.hc" ||
+ ! 	      -e "$Tmp_Prefix.s"  || 
+ ! 	      -e "$Tmp_Prefix.hi" );
+ ! } else {
+ !     print STDERR "TMPDIR has not been set to anything useful!\n" if (${TMPDIR} eq '');
+ !     $Tmp_prefix ="${TMPDIR}/ghc$$"; # TMPDIR set via Makefile when booting..
+ !     $ENV{'TMPDIR'} = ${TMPDIR}; # set the env var as well
+   }
+   
+   # Some shells run into real trouble when command line and environment
+   # gets big (e.g., cmd lines of >4K to /bin/sh causes havoc on our 
+ --- 157,177 ----
+   @INC = ( ( $INSTALLING ) ? $InstLibDirGhc
+   			   : "$TopPwd/${CURRENT_DIR}" );
+   
+ ! $ENV{'TMPDIR'} = ${GHC_TMPDIR} if $TargetPlatform =~ /^.*(cygwin32|mingw32)$/;
+ ! if ( ! $ENV{'TMPDIR'} ) {
+ !     print STDERR "TMPDIR has not been set to anything useful!\n" if (${GHC_TMPDIR} eq '');
+ !     $ENV{'TMPDIR'} = ${GHC_TMPDIR}; # set the env var as well
+   }
+ + # Try to find a $Tmp_prefix which isn't being used...
+ + $tmp = $$;
+ + do {
+ +     $Tmp_prefix = ($ENV{'TMPDIR'} . "/ghc$tmp");
+ +     $tmp++;
+ + } while ( -e "$Tmp_prefix.hc" ||
+ +         -e "$Tmp_Prefix.s"  ||
+ +         -e "$Tmp_Prefix.hi" );
+   
+   # Some shells run into real trouble when command line and environment
+   # gets big (e.g., cmd lines of >4K to /bin/sh causes havoc on our 
diff -crN ghc-OLD/pkg/PLIST ghc/pkg/PLIST
*** ghc-OLD/pkg/PLIST	Sat Aug 12 20:13:06 2000
--- ghc/pkg/PLIST	Sat Sep 23 12:01:46 2000
***************
*** 1,5 ****
  bin/ghc
! bin/ghc-4.08
  bin/hp2ps
  bin/stat2resid
  bin/DrIFT
--- 1,5 ----
  bin/ghc
! bin/ghc-4.08.1
  bin/hp2ps
  bin/stat2resid
  bin/DrIFT

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


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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