git: 58c8a1ba505e - main - devel/got: update to 0.111

From: Christian Weisgerber <naddy_at_FreeBSD.org>
Date: Wed, 23 Apr 2025 21:59:34 UTC
The branch main has been updated by naddy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=58c8a1ba505ee11c1154034bde974752ae89c79b

commit 58c8a1ba505ee11c1154034bde974752ae89c79b
Author:     Christian Weisgerber <naddy@FreeBSD.org>
AuthorDate: 2025-04-23 21:58:05 +0000
Commit:     Christian Weisgerber <naddy@FreeBSD.org>
CommitDate: 2025-04-23 21:58:05 +0000

    devel/got: update to 0.111
    
    User-visible changes:
    - make got clone/fetch work against Git servers which do not speak English
---
 devel/got/Makefile                                 |   3 +-
 devel/got/distinfo                                 |   6 +-
 .../patch-libexec_got-fetch-http_got-fetch-http.c  | 198 ---------------------
 3 files changed, 4 insertions(+), 203 deletions(-)

diff --git a/devel/got/Makefile b/devel/got/Makefile
index 53147cb60b24..707a42d262b4 100644
--- a/devel/got/Makefile
+++ b/devel/got/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	got
-DISTVERSION=	0.110
-PORTREVISION=	1
+DISTVERSION=	0.111
 CATEGORIES=	devel
 MASTER_SITES=	https://gameoftrees.org/releases/portable/
 DISTNAME=	got-portable-${DISTVERSION}
diff --git a/devel/got/distinfo b/devel/got/distinfo
index 903ebcb83831..99d3f0e51dec 100644
--- a/devel/got/distinfo
+++ b/devel/got/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742590463
-SHA256 (got-portable-0.110.tar.gz) = 3635e41205e7f85236a6e76ff785d3d8997131cf353c8cdf6f6d25c031661d29
-SIZE (got-portable-0.110.tar.gz) = 1560479
+TIMESTAMP = 1745444709
+SHA256 (got-portable-0.111.tar.gz) = d096f76e91a700dd0d22fbaf9641c2b94f8a6de16f09b0f4939c9b96a9d878ce
+SIZE (got-portable-0.111.tar.gz) = 1566105
diff --git a/devel/got/files/patch-libexec_got-fetch-http_got-fetch-http.c b/devel/got/files/patch-libexec_got-fetch-http_got-fetch-http.c
deleted file mode 100644
index ed132de57475..000000000000
--- a/devel/got/files/patch-libexec_got-fetch-http_got-fetch-http.c
+++ /dev/null
@@ -1,198 +0,0 @@
-https://got.gameoftrees.org/?action=diff&commit=539ba663896a5eb0dd33d8f4027755974431d528&headref=HEAD&path=got.git
-
---- libexec/got-fetch-http/got-fetch-http.c.orig	2025-03-21 16:37:10 UTC
-+++ libexec/got-fetch-http/got-fetch-http.c
-@@ -1,6 +1,6 @@
- /*
-  * Copyright (c) 2024 Tobias Heider <me@tobhe.de>
-- * Copyright (c) 2022 Omar Polo <op@openbsd.org>
-+ * Copyright (c) 2022, 2025 Omar Polo <op@openbsd.org>
-  *
-  * Permission to use, copy, modify, and distribute this software for any
-  * purpose with or without fee is hereby granted, provided that the above
-@@ -65,19 +65,6 @@ bufio_getdelim_sync(struct bufio *bio, const char *nl,
- 	return buf_getdelim(&bio->rbuf, nl, len);
- }
- 
--static size_t
--bufio_drain_sync(struct bufio *bio, void *d, size_t len)
--{
--	int	r;
--
--	do {
--		r = bufio_read(bio);
--		if (r == -1 && errno != EAGAIN)
--			errx(1, "bufio_read: %s", bufio_io_err(bio));
--	} while (r == -1 && errno == EAGAIN);
--	return bufio_drain(bio, d, len);
--}
--
- static void
- bufio_close_sync(struct bufio *bio)
- {
-@@ -269,53 +256,81 @@ static ssize_t
- }
- 
- static ssize_t
--http_read(struct bufio *bio, int chunked, size_t *chunksz, char *buf, size_t bufsz)
-+http_read(struct bufio *bio, int chunked, size_t *chunksz, char *buf, size_t bufsz,
-+    FILE *out)
- {
-+	struct buf	*rbuf = &bio->rbuf;
- 	const char	*errstr;
--	char		*line = NULL;
--	size_t		 r;
--	ssize_t		 ret = 0, linelen;
-+	char		*chunk, *endln;
-+	size_t		 avail, w;
-+	ssize_t		 r, ret = 0;
- 
--	if (!chunked)
--		return bufio_drain_sync(bio, buf, bufsz);
-+	while (out != NULL || bufsz > 0) {
-+		if (rbuf->cur == rbuf->len) {
-+			rbuf->cur = 0;
-+			rbuf->len = 0;
-+			r = bufio_read(bio);
-+			if (r == -1) {
-+				warnx("bufio_read: %s", bufio_io_err(bio));
-+				return (-1);
-+			}
-+			if (r == 0)
-+				return ret;
-+		}
- 
--	while (bufsz > 0) {
--		if (*chunksz == 0) {
--		again:
--			line = bufio_getdelim_sync(bio, "\r\n", &linelen);
--			if (line == NULL) {
--				buf_drain(&bio->rbuf, linelen);
-+		if (chunked && *chunksz == 0) {
-+			for (;;) {
-+				chunk = rbuf->buf + rbuf->cur;
-+				avail = rbuf->len - rbuf->cur;
-+				endln = memmem(chunk, avail, "\r\n", 2);
-+				if (endln == NULL) {
-+					r = bufio_read(bio);
-+					if (r == -1) {
-+						warnx("bufio_read: %s",
-+						    bufio_io_err(bio));
-+						return (-1);
-+					}
-+					if (r == 0)
-+						return ret;
-+					continue;
-+				}
-+				rbuf->cur += (endln - chunk) + 2;
-+				*endln = '\0';
-+				/* was the CRLF after the chunk? */
-+				if (chunk == endln)
-+					continue;
- 				break;
- 			}
--			if (*line == '\0') {
--				buf_drain(&bio->rbuf, linelen);
--				goto again; /* was the CRLF after the chunk */
--			}
- 
--			*chunksz = hexstrtonum(line, 0, INT_MAX, &errstr);
-+			*chunksz = hexstrtonum(chunk, 0, INT_MAX, &errstr);
- 			if (errstr != NULL) {
- 				warnx("invalid HTTP chunk: size is %s (%s)",
--				    errstr, line);
--				ret = -1;
--				break;
-+				    errstr, chunk);
-+				return (-1);
- 			}
- 
--			if (*chunksz == 0) {
--				buf_drain(&bio->rbuf, linelen);
-+			if (*chunksz == 0)
- 				break;
--			}
--			buf_drain(&bio->rbuf, linelen);
- 		}
- 
--		r = bufio_drain_sync(bio, buf, MINIMUM(*chunksz, bufsz));
--		if (r == 0) {
--			break;
-+		avail = rbuf->len - rbuf->cur;
-+		if (chunked && avail > *chunksz)
-+			avail = *chunksz;
-+
-+		if (out != NULL) {
-+			w = fwrite(rbuf->buf + rbuf->cur, 1, avail, out);
-+			if (w != avail)
-+				return (-1);
-+		} else {
-+			avail = MINIMUM(avail, bufsz);
-+			memcpy(buf, rbuf->buf + rbuf->cur, avail);
- 		}
- 
--		ret += r;
--		buf += r;
--		bufsz -= r;
--		*chunksz -= r;
-+		rbuf->cur += avail;
-+		ret += avail;
-+		buf += avail;
-+		bufsz -= avail;
-+		*chunksz -= avail;
- 	}
- 
- 	return ret;
-@@ -375,7 +390,7 @@ get_refs(int https, const char *host, const char *port
- 		goto err;
- 
- 	/* skip first pack; why git over http is like this? */
--	r = http_read(&bio, chunked, &chunksz, buf, 4);
-+	r = http_read(&bio, chunked, &chunksz, buf, 4, NULL);
- 	if (r <= 0)
- 		goto err;
- 
-@@ -388,23 +403,13 @@ get_refs(int https, const char *host, const char *port
- 	/* TODO: validate it's # service=git-upload-pack\n */
- 	while (skip > 0) {
- 		r = http_read(&bio, chunked, &chunksz, buf,
--		    MINIMUM(skip, sizeof(buf)));
-+		    MINIMUM(skip, sizeof(buf)), NULL);
- 		if (r <= 0)
- 			goto err;
- 		skip -= r;
- 	}
- 
--	for (;;) {
--		r = http_read(&bio, chunked, &chunksz, buf, sizeof(buf));
--		if (r == -1)
--			goto err;
--
--		if (r == 0)
--			break;
--
--		fwrite(buf, 1, r, stdout);
--	}
--
-+	http_read(&bio, chunked, &chunksz, NULL, 0, stdout);
- 	fflush(stdout);
- 	ret = 0;
- err:
-@@ -497,16 +502,7 @@ upload_request(int https, const char *host, const char
- 		goto err;
- 
- 	/* Fetch pack file data from server. */
--	for (;;) {
--		r = http_read(&bio, chunked, &chunksz, buf, sizeof(buf));
--		if (r == -1)
--			goto err;
--
--		if (r == 0)
--			break;
--
--		fwrite(buf, 1, r, stdout);
--	}
-+	http_read(&bio, chunked, &chunksz, NULL, 0, stdout);
- 
- 	ret = 0;
- err: