diff options
-rw-r--r-- | net/rsync/Makefile | 5 | ||||
-rw-r--r-- | net/rsync/files/patch-infcodes.c | 21 |
2 files changed, 21 insertions, 5 deletions
diff --git a/net/rsync/Makefile b/net/rsync/Makefile index 2802acb..6b3a362 100644 --- a/net/rsync/Makefile +++ b/net/rsync/Makefile @@ -19,11 +19,6 @@ MAINTAINER= obraun@informatik.unibw-muenchen.de GNU_CONFIGURE= yes -OPTIMIZATION!= ${ECHO} "${CFLAGS}" | grep '\-O[2-6]' || true -.if empty(OPTIMIZATION) -CFLAGS+= -O2 -.endif - .include <bsd.port.pre.mk> .if ${OSVERSION} >= 400016 diff --git a/net/rsync/files/patch-infcodes.c b/net/rsync/files/patch-infcodes.c new file mode 100644 index 0000000..0dd0d99 --- /dev/null +++ b/net/rsync/files/patch-infcodes.c @@ -0,0 +1,21 @@ +--- zlib/infcodes.c.orig Tue Mar 12 02:14:58 2002 ++++ zlib/infcodes.c Sun Apr 21 21:19:46 2002 +@@ -197,8 +197,18 @@ + c->mode = COPY; + case COPY: /* o: copying bytes in window, waiting for space */ + f = q - c->sub.copy.dist; ++#ifdef __FreeBSD__ ++ { ++ /* Work-around for a FreeBSD gcc bug. */ ++ volatile inflate_blocks_statef *s1 = s; ++ ++ while (f < s1->window) /* modulo window size-"while" instead */ ++ f += s1->end - s1->window; /* of "if" handles invalid distances */ ++ } ++#else + while (f < s->window) /* modulo window size-"while" instead */ + f += s->end - s->window; /* of "if" handles invalid distances */ ++#endif + while (c->len) + { + NEEDOUT |