On 2017/05/25 13:58, Ricardo Mestre wrote:
> Hi ports@
> 
> This is a simple diff to allow net/trickle to be compiled by clang.

Might be better to remove their copy of an old version of OpenBSD's
getopt and just use the libc one instead?

> Regards,
> mestre

> Index: patches/patch-getopt_c
> ===================================================================
> RCS file: patches/patch-getopt_c
> diff -N patches/patch-getopt_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-getopt_c    25 May 2017 12:52:06 -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +Index: getopt.c
> +--- getopt.c.orig
> ++++ getopt.c
> +@@ -41,8 +41,8 @@ static char *rcsid = "$OpenBSD: getopt.c,v 1.2 1996/08
> + 
> + int opterr = 1,             /* if error message should be printed */
> +     optind = 1,             /* index into parent argv vector */
> +-    optopt,                 /* character checked for validity */
> +     optreset;               /* reset getopt */
> ++extern int optopt;          /* character checked for validity */
> + char        *optarg;                /* argument associated with option */
> + 
> + #define     BADCH   (int)'?'


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/trickle/Makefile,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile
--- Makefile    3 Feb 2017 16:21:10 -0000       1.21
+++ Makefile    25 May 2017 14:08:32 -0000
@@ -2,6 +2,8 @@
 
 COMMENT=       lightweight userspace bandwidth shaper
 DISTNAME=      trickle-1.07
+REVISION=      0
+
 CATEGORIES=    net
 
 HOMEPAGE=      http://monkey.org/~marius/trickle/
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/net/trickle/patches/patch-Makefile_in,v
retrieving revision 1.1
diff -u -p -r1.1 patch-Makefile_in
--- patches/patch-Makefile_in   22 Jan 2015 00:02:41 -0000      1.1
+++ patches/patch-Makefile_in   25 May 2017 14:08:32 -0000
@@ -1,9 +1,38 @@
 $OpenBSD: patch-Makefile_in,v 1.1 2015/01/22 00:02:41 jca Exp $
 
-undefined symbol '__guard_local'
+-nostdlib:      undefined symbol '__guard_local'
+remove getopt.c: fix with clang
 
---- Makefile.in.orig   Sat Jan  8 21:20:08 2005
-+++ Makefile.in        Wed Jan 21 20:01:48 2015
+Index: Makefile.in
+--- Makefile.in.orig
++++ Makefile.in
+@@ -107,10 +107,10 @@ man_MANS = trickle.1 trickled.8 trickled.conf.5
+ bin_PROGRAMS = trickle trickled tricklectl
+ 
+ trickle_DEPENDENCIES = @ERRO@ @LIBOBJS@
+-trickle_SOURCES = trickle.c util.c getopt.c
++trickle_SOURCES = trickle.c util.c
+ trickle_LDADD = @ERRO@ @LIBOBJS@
+ 
+-trickled_SOURCES = trickled.c atomicio.c print.c bwstat.c client.c conf.c     
               util.c cleanup.c getopt.c xdr.c
++trickled_SOURCES = trickled.c atomicio.c print.c bwstat.c client.c conf.c     
               util.c cleanup.c xdr.c
+ 
+ trickled_LDADD = @EVENTLIB@ @LIBOBJS@
+ 
+@@ -138,11 +138,11 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.
+ CPPFLAGS = @CPPFLAGS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+-trickle_OBJECTS =  trickle.$(OBJEXT) util.$(OBJEXT) getopt.$(OBJEXT)
++trickle_OBJECTS =  trickle.$(OBJEXT) util.$(OBJEXT)
+ trickle_LDFLAGS = 
+ trickled_OBJECTS =  trickled.$(OBJEXT) atomicio.$(OBJEXT) \
+ print.$(OBJEXT) bwstat.$(OBJEXT) client.$(OBJEXT) conf.$(OBJEXT) \
+-util.$(OBJEXT) cleanup.$(OBJEXT) getopt.$(OBJEXT) xdr.$(OBJEXT)
++util.$(OBJEXT) cleanup.$(OBJEXT) xdr.$(OBJEXT)
+ trickled_DEPENDENCIES =  @LIBOBJS@
+ trickled_LDFLAGS = 
+ tricklectl_OBJECTS =  tricklectl.$(OBJEXT) trickledu.$(OBJEXT) \
 @@ -618,7 +618,7 @@ mostlyclean distclean maintainer-clean
  trickle-overload.so: $(TRICKLEOVERLOADFILES)
        $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o [email protected]                \

Reply via email to