Bug 53545

Summary: Maintainer update: lang/t3x
Product: Ports & Packages Reporter: Nils M Holm <nmh>
Component: Individual Port(s)Assignee: Sergey A. Osokin <osa>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Nils M Holm 2003-06-20 10:10:16 UTC
A production compiler is required to build devel/tide. Building
a production compiler, however, requires to build and install
a bootstapping compiler first.

To do so, I have added a do-build target to the Makefile which
performs these steps:

- build the compiler as before
- install the compiler binares in ${WRKSRC}/test
- run 'make allclean' on the sources
- re-configure the sources to build a production compiler
- build the production compiler using the bootstrapping
  compiler binaries in ${WRKSRC}/test

To run all these steps, I have basically copied and modified
the do-build receipe from /usr/ports/Mk/bsd.port.mk.

Fix: 

-- 
Nils M Holm <nmh@t3x.org> -- http://www.t3x.org/~nmh--o9TXaKJUoNDCwd3ZDQjF0pb2BoC5w9L7E9AkkQpISPrjApuh
Content-Type: text/plain; name="file.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="file.diff"

diff -ru lang/t3x-old/Makefile lang/t3x/Makefile
--- lang/t3x-old/Makefile	Tue Jun 10 12:56:35 2003
+++ lang/t3x/Makefile	Fri Jun 20 10:41:14 2003
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	t3x
-PORTVERSION=	8.0.2
+PORTVERSION=	8.0.3
 CATEGORIES=	lang devel
 MASTER_SITES=	http://t3x.dyndns.org/files/ \
 		http://www.t3x.org/files/
@@ -18,9 +18,16 @@
 MAN7=		t3x.7
 MANCOMPRESSED=	no
 
-MAKE_ENV=	INSTALL_PREFIX=${PREFIX}
+MAKE_ENV+=	INSTALL_PREFIX=${PREFIX}
 
 do-configure:
 	@(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config boot)
 
+do-build:
+	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} INSTALL_PREFIX=${WRKSRC}/test ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
+	@(cd ${WRKSRC}; ${MAKE} allclean)
+	@(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config build)
+	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+	
 .include <bsd.port.mk>
diff -ru lang/t3x-old/distinfo lang/t3x/distinfo
--- lang/t3x-old/distinfo	Tue Jun 10 12:56:35 2003
+++ lang/t3x/distinfo	Fri Jun 20 10:40:32 2003
@@ -1 +1 @@
-MD5 (t3x-802.tar.gz) = b998a654ab5d815dd7ffae4040afaa82
+MD5 (t3x-803.tar.gz) = 027caa9f74f02774279f4b510535c1fc
diff -ru lang/t3x-old/pkg-plist lang/t3x/pkg-plist
--- lang/t3x-old/pkg-plist	Thu May 15 03:43:31 2003
+++ lang/t3x/pkg-plist	Fri Jun 20 10:40:32 2003
@@ -26,6 +26,17 @@
 t3x/r8/bin/txsum
 t3x/r8/bin/txtrn
 t3x/r8/bin/txx
+t3x/r8/classes/2/CLASSNDX
+t3x/r8/classes/2/char.cls
+t3x/r8/classes/2/iostream.cls
+t3x/r8/classes/2/memory.cls
+t3x/r8/classes/2/rtcode.cls
+t3x/r8/classes/2/string.cls
+t3x/r8/classes/2/system.cls
+t3x/r8/classes/2/t3x.cls
+t3x/r8/classes/2/tcode.cls
+t3x/r8/classes/2/ttyctl.cls
+t3x/r8/classes/2/util.cls
 t3x/r8/classes/CLASSNDX
 t3x/r8/classes/char.cls
 t3x/r8/classes/char.dir
@@ -76,7 +87,10 @@
 t3x/r8/txprint.rules
 @unexec rm -f %D/t3x/r8/classes/CLASSND-
 @unexec rm -f %D/t3x/r8/classes/CLASSNDX
+@unexec rm -f %D/t3x/r8/classes/2/CLASSND-
+@unexec rm -f %D/t3x/r8/classes/2/CLASSNDX
 @dirrm t3x/r8/bin
+@dirrm t3x/r8/classes/2
 @dirrm t3x/r8/classes
 @dirrm t3x/r8/lib
 @dirrm t3x/r8/doc
Comment 1 Sergey A. Osokin freebsd_committer freebsd_triage 2003-06-20 15:25:27 UTC
Responsible Changed
From-To: freebsd-ports-bugs->osa

I'll handle this.
Comment 2 Sergey A. Osokin freebsd_committer freebsd_triage 2003-06-20 15:39:15 UTC
Hmm...

Don't forget to define T3XDIR = /usr/home/ports/lang/t3x/work/t3x-803/test/t3x/r8 .

You may want to install /usr/home/ports/lang/t3x/work/t3x-803/test/t3x/r8/system.txrc as ~/.txrc, too.

(cd compiler; make clean)
rm -f *.o *.core core *.tcode CLASSDIR LIBDIR  txtrn txx txld txopt txdpf txcg386e  *.cls *.dir *.tmp *.ndx  mdesc.* txcg386e.t txboot[123]  txtrn_[12] txld_[12] txcg386e_[12]  txopt_[12] txdpf_[12] _stage_[0123]
(cd ../classes; make clean)
rm -f *.o *.core core *.tcode CLASSDIR LIBDIR  gencldirs *.cls *.dir *.tmp *.ndx CLASSNDX
(cd ../native; make clean)
rm -f *.o *.core core *.tcode CLASSDIR LIBDIR  *.cls *.dir *.tmp txcg386e txcg386e.t  txcgexe s86 t3x.x system.x ttyctl.x
(cd ../tools; make clean)
rm -f *.o *.core core *.tcode CLASSDIR LIBDIR *.cls *.dir  *.tmp tx txcm txdump txprint txsum txmake txhelp
make clean
rm -f compiler/Makefile classes/Makefile native/Makefile  tools/Makefile  compiler/t3x.c  compiler/sys.c compiler/tty.c  classes/sys.c classes/tty.c  ports/coherent-386-coff/install.sh  ports/freebsd-386-aout/install.sh  ports/freebsd-386-elf/install.sh  ports/netbsd-386-elf/install.sh  ports/netbsd-alpha-elf/install.sh  ports/linux-386-elf/install.sh ports/coherent-386-coff/txboot  ports/freebsd-386-aout/txboot  ports/freebsd-386-elf/txboot  ports/netbsd-386-elf/txboot  ports/netbsd-alpha-elf/txboot  port s/linux-386-elf/txboot
rm -f t3x803.zip
rm -f t3x803xe.zip
rm -f t3x-803.tar.gz
(cd compiler; make)
tx mktcode.t
tx:No such file or directory
*** Error code 1

Stop in /usr/home/ports/lang/t3x/work/t3x-803/compiler.
*** Error code 1

Stop in /usr/home/ports/lang/t3x/work/t3x-803.
*** Error code 1

Something wrong?
-- 

Rgdz,                        /"\  ASCII RIBBON CAMPAIGN
Sergey Osokin aka oZZ,       \ /    AGAINST HTML MAIL
http://ozz.pp.ru/             X          AND NEWS
                             / \
Comment 3 Nils M Holm 2003-06-20 16:33:03 UTC
On 2003-06-20, "Sergey A. Osokin" wrote:
> tx:No such file or directory
> [...]
> Something wrong?

Oops, yes. I should have tested this on a clean system.
${WRKSRC}/test/bin is not in ${PATH}. Here's a fix:

--- Makefile.OLD	Fri Jun 20 17:25:54 2003
+++ Makefile	Fri Jun 20 17:29:30 2003
@@ -28,6 +28,6 @@
 	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} INSTALL_PREFIX=${WRKSRC}/test ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
 	@(cd ${WRKSRC}; ${MAKE} allclean)
 	@(cd ${WRKSRC}/ports/freebsd-386-elf; ./Config build)
-	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+	@(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} T3XDIR=${WRKSRC}/test/t3x/r8 PATH=${PATH}:${WRKSRC}/test/bin ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
 	
 .include <bsd.port.mk>

-- 
Nils M Holm <nmh@t3x.org> -- http://www.t3x.org/~nmh
Comment 4 Sergey A. Osokin freebsd_committer freebsd_triage 2003-06-23 13:17:50 UTC
State Changed
From-To: open->closed

Committed, thanks!