diff --git a/www/rubygem-ethon/Makefile b/www/rubygem-ethon/Makefile index b5932abf475d..11c8486464ca 100644 --- a/www/rubygem-ethon/Makefile +++ b/www/rubygem-ethon/Makefile @@ -1,20 +1,21 @@ PORTNAME= ethon PORTVERSION= 0.17.0 +PORTREVISION= 1 CATEGORIES= www rubygems MASTER_SITES= RG MAINTAINER= ruby@FreeBSD.org COMMENT= Very lightweight libcurl wrapper WWW= https://github.com/typhoeus/ethon LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libcurl.so:ftp/curl RUN_DEPENDS= rubygem-ffi>=1.15.0:devel/rubygem-ffi USES= gem NO_ARCH= yes .include diff --git a/www/rubygem-ethon/files/patch-typhoeus b/www/rubygem-ethon/files/patch-typhoeus new file mode 100644 index 000000000000..0ce1d896cd3c --- /dev/null +++ b/www/rubygem-ethon/files/patch-typhoeus @@ -0,0 +1,18 @@ +Obtained from: https://github.com/typhoeus/ethon/commit/4a1700c2856de9e139cbd2c91a787c1ff88edd36 +Reference: https://github.com/typhoeus/typhoeus/issues/739 + +--- lib/ethon/easy/callbacks.rb.orig 2025-10-05 21:07:34 UTC ++++ lib/ethon/easy/callbacks.rb +@@ -37,10 +37,10 @@ module Ethon + # @return [ Proc ] The callback. + def body_write_callback + @body_write_callback ||= proc do |stream, size, num, object| +- headers ++ headers_user_callback_result = headers + result = body(chunk = stream.read_string(size * num)) + @response_body << chunk if result == :unyielded +- result != :abort ? size * num : -1 ++ (result != :abort && headers_user_callback_result != :abort) ? size * num : -1 + end + end +