Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jun 2017 15:34:17 +0000 (UTC)
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r444469 - in head/lang/qscheme: . files
Message-ID:  <201706271534.v5RFYHkX074782@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tobik
Date: Tue Jun 27 15:34:17 2017
New Revision: 444469
URL: https://svnweb.freebsd.org/changeset/ports/444469

Log:
  - Fix build with clang and remove USE_GCC
  - Link dynamically with libavcall, libpcre and libgmp and fix build on
    amd64 (and optimistically sparc64 too)
  - Remove the devel/libgetline dependency and don't link with libgetline:
    While libgetline provides getline() it has an entirely different
    signature than getline(3).  This make the fgetline builtin function
    unusable and causes e.g. the cat.scm example to segfault.
  
  Approved by:	mat (mentor)
  Differential Revision:	https://reviews.freebsd.org/D11352

Added:
  head/lang/qscheme/files/patch-asm.c   (contents, props changed)
Modified:
  head/lang/qscheme/Makefile

Modified: head/lang/qscheme/Makefile
==============================================================================
--- head/lang/qscheme/Makefile	Tue Jun 27 15:32:34 2017	(r444468)
+++ head/lang/qscheme/Makefile	Tue Jun 27 15:34:17 2017	(r444469)
@@ -3,7 +3,7 @@
 
 PORTNAME=	qscheme
 PORTVERSION=	0.5.1
-PORTREVISION=	9
+PORTREVISION=	10
 CATEGORIES=	lang scheme
 MASTER_SITES=	http://www.sof.ch/dan/qscheme/files/
 
@@ -12,33 +12,20 @@ COMMENT=	Small and fast Scheme interpreter
 
 LICENSE=	GPLv2
 
-BUILD_DEPENDS=	${LOCALBASE}/lib/libavcall.a:devel/ffcall \
-		${LOCALBASE}/lib/libpcre.a:devel/pcre \
-		${LOCALBASE}/lib/libgmp.a:math/gmp
-LIB_DEPENDS=	libgetline.so:devel/libgetline
+LIB_DEPENDS=	libavcall.so:devel/ffcall \
+		libgmp.so:math/gmp \
+		libpcre.so:devel/pcre
 
-USES=		gmake perl5 shebangfix
+USES=		gmake localbase perl5 shebangfix
 USE_PERL5=	build
 SHEBANG_FILES=	mkoptable
-USE_GCC=	any
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--with-pcre-dir=${LOCALBASE}/lib \
-		--with-pcre-inc=${LOCALBASE}/include \
-		--with-avcall-dir=${LOCALBASE}/lib \
-		--with-avcall-inc=${LOCALBASE}/include \
-		--with-gmp-dir=${LOCALBASE}/lib \
-		--with-gmp-inc=${LOCALBASE}/include
 
-CFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib -lgetline
+CFLAGS+=	-fPIC
+MAKE_ARGS=	PCRE_LIB="-L${LOCALBASE}/lib -lpcre"
 
 PLIST_SUB=	VERSION="${PORTVERSION}"
 PORTDOCS=	*
-
-# because it uses static pcre lib, which is compiled without -fPIC.
-# pcre problem likely.
-BROKEN_amd64=		Does not build on ${ARCH}
-BROKEN_sparc64=		Does not build on ${ARCH}
 
 OPTIONS_DEFINE=	DOCS
 

Added: head/lang/qscheme/files/patch-asm.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/qscheme/files/patch-asm.c	Tue Jun 27 15:34:17 2017	(r444469)
@@ -0,0 +1,29 @@
+Fix build with clang
+
+asm.c:1343:21: error: function definition is not allowed here
+        SOBJ prim(char *x) {
+                           ^
+--- asm.c.orig	2017-06-24 19:10:34 UTC
++++ asm.c
+@@ -1334,16 +1334,17 @@ static SOBJ scm_compile_quote(SOBJ icode, SOBJ argl, S
+   return(icode);
+ }
+ 
++static SOBJ prim(char *x) {
++  int dummy;
++  return(SCM_SYM_VALUE(lookup_atom(scm_mkatom(x),NULL,&dummy,FALSE)));
++}
++
+ /*-- KKK: should try to compile parial constant list */
+ SOBJ backquotify(SOBJ ic, SOBJ l, SOBJ env, int level)
+ {
+   static SOBJ sym_cons, sym_append, sym_list2, sym_list2vec;
+ 
+   if (sym_cons == NULL) {
+-	SOBJ prim(char *x) {
+-	  int dummy;
+-	  return(SCM_SYM_VALUE(lookup_atom(scm_mkatom(x),NULL,&dummy,FALSE)));
+-	}
+ 	sym_cons   = prim("cons");
+ 	sym_list2  = prim("list2");
+ 	sym_append = prim("qq-append2");



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