Bug 94456

Summary: [PATCH] Modify lang/clisp -> unBREAK devel/meta-cvs
Product: Ports & Packages Reporter: Shaun Amott <shaun>
Component: Individual Port(s)Assignee: Vasil Dimov <vd>
Status: Closed FIXED    
Severity: Affects Only Me CC: johs
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
clisp.diff
none
UPDATING.diff none

Description Shaun Amott 2006-03-14 22:50:31 UTC
clisp calls cc internally to compile programs, but the internal cc is not
provided with adequete CFLAGS. This means that meta-cvs cannot be compiled,
since clisp can't find certain files it needs.

(The meta-cvs maintainer has been CC'ed; the clisp maintainer has recently
requested to be dropped as maintainer; therefore I have not CC'ed him)

Fix: The following patch allows clisp to execute cc with suitable CFLAGS. Below
that is a patch unbreak meta-cvs, and a notice for UPDATING.

--- devel/meta-cvs.orig/Makefile	Tue Oct 11 07:24:20 2005
+++ devel/meta-cvs/Makefile	Tue Mar 14 22:24:40 2006
@@ -17,8 +17,6 @@
 
 BUILD_DEPENDS=	clisp:${PORTSDIR}/lang/clisp
 
-BROKEN=		Does not build
-
 USE_GCC=	2.95
 
 pre-build:
--- meta-cvs.diff ends here ---

How-To-Repeat: 
meta-cvs is already marked as broken.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2006-03-14 22:52:12 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback
Comment 2 Jakub Rehor 2006-03-15 02:59:33 UTC
Sorry, I can no longer maintain the clisp port and I requested to be
dropped as a maintainer:
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/93874

On Tue, 14 Mar 2006 22:52:06 UT, Edwin Groothuis <edwin@freebsd.org> wrote:
> Maintainer of lang/clisp,
>
> Please note that PR ports/94456 has just been submitted.
>
> If it contains a patch for an upgrade, an enhancement or a bug fix
> you agree on, reply to this email stating that you approve the patch
> and a committer will take care of it.
>
> The full text of the PR can be found at:
>    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/94456
>
> --
> Edwin Groothuis
> edwin@FreeBSD.org
>
Comment 3 sat freebsd_committer freebsd_triage 2006-05-26 15:10:40 UTC
State Changed
From-To: feedback->open

Maintainer timeout
Comment 4 Vasil Dimov freebsd_committer freebsd_triage 2006-06-01 14:05:28 UTC
Responsible Changed
From-To: freebsd-ports-bugs->vd

I'll take it
Comment 5 Vasil Dimov freebsd_committer freebsd_triage 2006-06-01 16:14:40 UTC
On Tue, Mar 14, 2006 at 10:48:56PM -0000, Shaun Amott wrote:
> 
> >Number:         94456
> >Synopsis:       [PATCH] Modify lang/clisp -> unBREAK devel/meta-cvs
[...]
> --- clisp.diff begins here ---
> diff -urN lang/clisp.orig/Makefile lang/clisp/Makefile
> --- lang/clisp.orig/Makefile	Wed Feb  8 13:51:40 2006
> +++ lang/clisp/Makefile	Tue Mar 14 22:24:17 2006
> @@ -7,6 +7,7 @@
>  
>  PORTNAME=	clisp
>  PORTVERSION=	2.38
> +PORTREVISION=	1
>  CATEGORIES=	lang lisp
>  MASTER_SITES=	${MASTER_SITE_GNU}
>  MASTER_SITE_SUBDIR=${PORTNAME}/release/${PORTVERSION}
> @@ -45,6 +46,9 @@
>  	cd ${WRKSRC}/${BUILD_DIRNAME} && \
>  	./makemake ${MAKEMAKE_ARGS} > Makefile && \
>  	make config.lisp
> +
> +	${REINPLACE_CMD} -e 's#^CFLAGS =#CFLAGS = -I${LOCALBASE}/include#' \
> +	                 ${WRKSRC}/${BUILD_DIRNAME}/Makefile
>  
>  MAN1=	clisp.1
>  
> --- clisp.diff ends here ---

Hi Shaun,

The above patch against lang/clisp does not fix devel/meta-cvs, here is
the error I get, can you please take a look at it?

--- meta-cvs-1.0.13_1.log begins here ---
building meta-cvs-1.0.13_1 in directory /usr/local/tinderbox/6-FreeBSD
maintained by: johs@copyleft.no
port directory: /usr/ports/devel/meta-cvs
build started at Thu Jun  1 14:46:10 UTC 2006
FETCH_DEPENDS=
PATCH_DEPENDS=
EXTRACT_DEPENDS=
BUILD_DEPENDS=libiconv-1.9.2_2.tbz gettext-0.14.5_2.tbz clisp-2.38_1.tbz gcc-2.95.3_2.tbz
RUN_DEPENDS=
add_pkg
================================================================
====================<phase 1: make checksum>====================
=> mcvs-1.0.13.tar.gz doesn't seem to exist in /tmp/distfiles/.
=> Attempting to fetch from file:///distcache//.
mcvs-1.0.13.tar.gz                                     126 kB  138 MBps
=> MD5 Checksum OK for mcvs-1.0.13.tar.gz.
=> SHA256 Checksum OK for mcvs-1.0.13.tar.gz.
================================================================
====================<phase 2: make extract>====================
add_pkg
===>  Extracting for meta-cvs-1.0.13_1
=> MD5 Checksum OK for mcvs-1.0.13.tar.gz.
=> SHA256 Checksum OK for mcvs-1.0.13.tar.gz.
================================================================
====================<phase 3: make patch>====================
add_pkg
===>  Patching for meta-cvs-1.0.13_1
===>  Applying FreeBSD patches for meta-cvs-1.0.13_1
================================================================
====================<phase 4: make build>====================
add_pkg libiconv-1.9.2_2.tbz gettext-0.14.5_2.tbz clisp-2.38_1.tbz gcc-2.95.3_2.tbz
adding dependencies
pkg_add libiconv-1.9.2_2.tbz
pkg_add gettext-0.14.5_2.tbz
pkg_add clisp-2.38_1.tbz
pkg_add gcc-2.95.3_2.tbz
===>   meta-cvs-1.0.13_1 depends on executable: clisp - found
===>   meta-cvs-1.0.13_1 depends on executable: gcc295 - found
===>  Configuring for meta-cvs-1.0.13_1
===>  Building for meta-cvs-1.0.13_1
/bin/cp /a/ports/devel/meta-cvs/files/Makefile /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/Makefile
/bin/cp /a/ports/devel/meta-cvs/files/build.sh /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/code
(cd code; /bin/sh build.sh)
clisp -c unix.lisp
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2006

;; Compiling file /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/code/unix-bindings/unix.lisp ...
WARNING: Performance/scalability warning: The hash table
          #S(HASH-TABLE :TEST EXT:STABLEHASH-EQ
             :WARN-IF-NEEDS-REHASH-AFTER-GC T
             (#(FFI:C-STRUCT DIRENT NIL #(INO NAME)
                #<COMPILED-FUNCTION :LAMBDA> ULONG
                #(C-ARRAY-MAX CHARACTER 1024))
              . "struct DIRENT"))
         must be rehashed after each garbage collection, since its key
          #(FFI:C-STRUCT DIRENT NIL #(INO NAME) #<COMPILED-FUNCTION :LAMBDA>
            ULONG #(C-ARRAY-MAX CHARACTER 1024))
         has a hash code that is not GC-invariant.
;; Wrote file /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/code/unix-bindings/unix.fas
;; Wrote file /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/code/unix-bindings/unix.c
0 errors, 0 warnings
Bye.
cc -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -I. -I/usr/local/lib/clisp/linkkit -c unix.c
In file included from unix.c:1:
/usr/local/lib/clisp/linkkit/clisp.h:670: warning: register used for two global register variables
cc -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -I. -I/usr/local/lib/clisp/linkkit -c wrap.c
wrap.c:20: warning: no previous declaration for 'mcvs_null_pointer_p'
wrap.c:29: warning: no previous declaration for 'mcvs_get_errno'
wrap.c:34: warning: no previous declaration for 'mcvs_set_errno'
wrap.c:48: warning: no previous declaration for 'mcvs_readdir'
wrap.c:64: warning: no previous declaration for 'mcvs_readlink'
wrap.c:141: warning: no previous declaration for 'mcvs_stat'
wrap.c:142: warning: no previous declaration for 'mcvs_lstat'
wrap.c:143: warning: no previous declaration for 'mcvs_fstat'
wrap.c:150: warning: no previous declaration for 'mcvs_getcwd'
wrap.c:184: warning: no previous declaration for 'mcvs_default_sigchld'
wrap.c:204: warning: no previous declaration for 'mcvs_spawn'
wrap.c:242: warning: no previous declaration for 'mcvs_ctermid'
cc -I/usr/local/include -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -I. -I/usr/local/lib/clisp/linkkit -c modules.c
In file included from modules.d:12:
/usr/local/lib/clisp/linkkit/clisp.h:670: warning: register used for two global register variables
cc -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -I. -x none modules.o unix.o wrap.o readline.o -lreadline -lncurses regexi.o regex.o calls.o -lcrypt -lm gettext.o lisp.a /usr/local/lib/libintl.so -L/usr/local/lib /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib libcharset.a libavcall.a libcallback.a -lreadline -lncurses /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/ local/lib -L/usr/local/lib -lsigsegv -o lisp.run
/usr/bin/ld: cannot find -lsigsegv
/usr/local/lib/clisp/clisp-link: failed in /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13/code/unix-bindings-linking-set
build.sh: unix-bindings-linking-set/lisp.run: not found
There were compilation errors.
*** Error code 1

Stop in /work/a/ports/devel/meta-cvs/work/mcvs-1.0.13.
*** Error code 1

Stop in /a/ports/devel/meta-cvs.
================================================================
build ended at Thu Jun  1 14:46:24 UTC 2006
--- meta-cvs-1.0.13_1.log begins here ---

-- 
Vasil Dimov
gro.DSBeerF@dv

Testing can show the presence of bugs, but not their absence.
                -- Edsger W. Dijkstra
Comment 6 Vasil Dimov freebsd_committer freebsd_triage 2006-06-01 16:14:49 UTC
State Changed
From-To: open->feedback


Awaiting feedback from submitter, the proposed patch to lang/clisp does 
not fix the build of devel/meta-cvs (or at least these is yet another 
error in devel/meta-cvs which the patch does not fix)
Comment 7 Shaun Amott 2006-06-01 19:23:41 UTC
On Thu, Jun 01, 2006 at 06:14:40PM +0300, Vasil Dimov wrote:
> 
> The above patch against lang/clisp does not fix devel/meta-cvs, here is
> the error I get, can you please take a look at it?
> 

Hi,

It looks like meta-cvs is missing a dependency (which is normally
brought in by clisp). I've updated the patch:


-----meta-cvs.diff begins here-----
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/devel/meta-cvs/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- Makefile	11 Oct 2005 06:24:20 -0000	1.8
+++ Makefile	1 Jun 2006 18:18:32 -0000
@@ -15,9 +15,8 @@
 MAINTAINER=	johs@copyleft.no
 COMMENT=	A more capable version control system than CVS, built around CVS
 
-BUILD_DEPENDS=	clisp:${PORTSDIR}/lang/clisp
-
-BROKEN=		Does not build
+BUILD_DEPENDS=	clisp:${PORTSDIR}/lang/clisp \
+		${LOCALBASE}/lib/libsigsegv.a:${PORTSDIR}/devel/libsigsegv
 
 USE_GCC=	2.95
 
-----meta-cvs.diff ends here-----

-- 
Shaun Amott [ PGP: 0x6B387A9A ]
    Scientia Est Potentia.
Comment 8 Vasil Dimov freebsd_committer freebsd_triage 2006-06-02 09:56:37 UTC
State Changed
From-To: feedback->closed

Committed, thanks! Btw no need for UPDATING entry saying that 
the port is not broken anymore.