Subject: Re: ruby18: db4 is not an acceptable, can't read y.tab.c
To: Takahiro Kambe <taca@back-street.net>
From: rudolf <netbsd@eq.cz>
List: tech-pkg
Date: 12/12/2005 19:59:10
Takahiro Kambe wrote:
> In message <439D8B66.4070003@eq.cz>
> 	on Mon, 12 Dec 2005 15:38:30 +0100,
> 	rudolf <netbsd@eq.cz> wrote:
>>gcc -O2 -I/usr/include  -fPIC -I. -I. -I/usr/include -c pack.c
>>/usr/pkg/bin/bison parse.y
>>sed '/^#/s|y\.tab\.c|parse.c|' y.tab.c > parse.c
>>sed: can't read y.tab.c: No such file or directory
>>*** Error code 2
> 
> I've seen this error on some none-BSD platform.  How about apply this
> patch?
> 
> diff -u -u -r1.14 Makefile
> --- Makefile	8 Dec 2005 09:52:15 -0000	1.14
> +++ Makefile	12 Dec 2005 15:43:51 -0000
> @@ -19,7 +19,7 @@
>  
>  USE_PKGINSTALL=		yes
>  USE_LANGUAGES=		c
> -USE_TOOLS+=		yacc
> +USE_TOOLS+=		bison-yacc
>  GNU_CONFIGURE=		yes
>  TEST_TARGET=		test
>  CONFIGURE_ARGS+=	--enable-shared \
> 

This works fine. With just "yacc" ruby depends on bison (bison is 
installed before ruby), with "bison-yacc" it does not (it seems that the 
bison from Slack is used instead).

/usr/pkgsrc/lang/ruby18-base/work/.tools/bin/yacc with "bison-yacc":
#!/bin/sh
wrapperlog="${TOOLS_WRAPPER_LOG-/usr/pkgsrc/lang/ruby18-base/work/.work.log}"
echo "[*] "/usr/pkgsrc/lang/ruby18-base/work/.tools/bin/yacc" $@" >> 
$wrapperlog
echo "<.> /usr/bin/bison -y "$@"" >> $wrapperlog
/usr/bin/bison -y "$@"

/usr/pkgsrc/lang/ruby18-base/work/.tools/bin/yacc with "yacc":
#!/bin/sh
wrapperlog="${TOOLS_WRAPPER_LOG-/usr/pkgsrc/lang/ruby18-base/work/.work.log}"
echo "[*] "/usr/pkgsrc/lang/ruby18-base/work/.tools/bin/yacc" $@" >> 
$wrapperlog
echo "<.> /usr/pkg/bin/bison -y "$@"" >> $wrapperlog
/usr/pkg/bin/bison -y "$@"

Is there any documentation for the tools framework (I have found only 
http://www.netbsd.org/Documentation/pkgsrc/build.html#build.tools) 
except source code? :)

Regards,

r.