From nobody Mon Aug 21 17:13:02 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RTzZR25zlz4r2WQ; Mon, 21 Aug 2023 17:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RTzZR10NBz4VXv; Mon, 21 Aug 2023 17:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692637983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nIslldc2R5W72QmtB+YpDkiRMRb42ma8ilPGn/e7b08=; b=xOheJSeyenNGGfz/XE1gsePznkpCkk6ZmiPH3o92ICO96r3f5b4OwZ0tmYPvf28ExTGZSR W+VsQFzLJ77dvGLPk8YHTuPy8nuHW+RqXK5b3bYRqAR5E2f2RLTyAJaO0x3+JUM8mhR28w uGBp2aularTD8Y8x4LNAyGswoJ4Nv9s8q1XKViumxNAFNQ1ZY9kx4Wnlkz5q2vDZujvhk7 5ZGxdNHwdLMN+7wvn38Ol2Q9VIi2I/rP/ebOshb/M08qdCS0MiL9G/uBGBbOLdtBSyqCPK rfz3zbli29/1Fw2S89/zR2asEsuRQosHsf42oJDEhoEFrTI4nIIXpmJS/v4y2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692637983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nIslldc2R5W72QmtB+YpDkiRMRb42ma8ilPGn/e7b08=; b=arOZYOTssDkl3QUHViVKwk81Rpj5zkZLA8yfnOgbUqKPJJHoVAd7WHvAnSY5XidxSwxHj5 bMX4lzkBpYIuJmCE8+f+t2iaPodeFPT8w7MY3BMheinXL/jWmv0dQ09nrmnFx4OgVJ8ikJ Aiqeq72zWvYFU90JUU1gp8OiBDeuVaezHGwqLIlEnySJL4vnzw+wFdOPFxssVPuQnNnxy4 VyhXnDJj8rr4fGc2X7cltJg4HQZnPyp9kcb18uEAl72SNjxYQsaIl4Hb13IZ7DbAY29vmu /ya8Gv94Lwu2W5s/7gMZaThfE3lQO4SoHm2cweXUqbIDR34gq90V6l+Rv364xw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1692637983; a=rsa-sha256; cv=none; b=b8rhs8DywOFIR0bRNwTdNr922KSsOxjvZAfyruveDc6STzjfp8CBKxixWqky3v11cN7PRy ADK1Dm3IiP80iWvfB3XbHT2v5tWbjEMHTWIHVYq/2HS6uL/euyYaRzF1fW1sjXjNAK2dsz Wufhgk/rOdICRNE/fDdxqy/rZhHRFDcydwYWL/EG8/HlG+5jxyzBUSaHSHKNRi8w1kcGgD uWz3YCj/lAOlNY3rsdcS/BSfqZdkxBzGbEbLZmKzdcsQToiYpDVN0svY1BpnfKxgea3PE0 uO52rquC4znUkJmx4NeTI4dp4eaAzZr9PWeZriCZ7SoA/3Seh6VnyHjxW0uB1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RTzZQ6zTPzTKS; Mon, 21 Aug 2023 17:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37LHD2TE097600; Mon, 21 Aug 2023 17:13:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37LHD2On097597; Mon, 21 Aug 2023 17:13:02 GMT (envelope-from git) Date: Mon, 21 Aug 2023 17:13:02 GMT Message-Id: <202308211713.37LHD2On097597@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: c5a3c98e4acb - main - devel/rubygem-ruby_memcheck: Add rubygem-ruby_memcheck 2.1.1 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5a3c98e4acbbda628a775a09f8768fe2f2e0b86 Auto-Submitted: auto-generated The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=c5a3c98e4acbbda628a775a09f8768fe2f2e0b86 commit c5a3c98e4acbbda628a775a09f8768fe2f2e0b86 Author: Po-Chuan Hsieh AuthorDate: 2023-08-21 16:52:03 +0000 Commit: Po-Chuan Hsieh CommitDate: 2023-08-21 17:01:59 +0000 devel/rubygem-ruby_memcheck: Add rubygem-ruby_memcheck 2.1.1 ruby_memcheck provides a sane way to use Valgrind's memcheck on your native extension gem. Valgrind's memcheck is a great tool to find and debug memory issues (e.g. memory leak, use-after-free, etc.). However, it doesn't work well on Ruby because Ruby does not free all of the memory it allocates during shutdown. This results in Valgrind reporting thousands (or more) false positives, making it very difficult for Valgrind to actually be useful. This gem solves the problem by using heuristics to filter out false positives. --- devel/Makefile | 1 + devel/rubygem-ruby_memcheck/Makefile | 22 ++++++++++++++++++++++ devel/rubygem-ruby_memcheck/distinfo | 3 +++ devel/rubygem-ruby_memcheck/pkg-descr | 9 +++++++++ 4 files changed, 35 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 10d1f5b0fa14..30eff0fa80a5 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -7281,6 +7281,7 @@ SUBDIR += rubygem-ruby2_keywords SUBDIR += rubygem-ruby2ruby SUBDIR += rubygem-ruby_dep + SUBDIR += rubygem-ruby_memcheck SUBDIR += rubygem-ruby_parser SUBDIR += rubygem-rubygems-mirror SUBDIR += rubygem-rubygems-tasks diff --git a/devel/rubygem-ruby_memcheck/Makefile b/devel/rubygem-ruby_memcheck/Makefile new file mode 100644 index 000000000000..1168216a82e2 --- /dev/null +++ b/devel/rubygem-ruby_memcheck/Makefile @@ -0,0 +1,22 @@ +PORTNAME= ruby_memcheck +PORTVERSION= 2.1.1 +CATEGORIES= devel rubygems +MASTER_SITES= RG + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Use Valgrind memcheck without going crazy +WWW= https://github.com/Shopify/ruby_memcheck + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +RUN_DEPENDS= rubygem-nokogiri>=0:textproc/rubygem-nokogiri \ + valgrind>=3.20.0,1:devel/valgrind + +USES= gem + +NO_ARCH= yes + +PLIST_FILES= bin/ruby_memcheck + +.include diff --git a/devel/rubygem-ruby_memcheck/distinfo b/devel/rubygem-ruby_memcheck/distinfo new file mode 100644 index 000000000000..eb94e822d713 --- /dev/null +++ b/devel/rubygem-ruby_memcheck/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1692211625 +SHA256 (rubygem/ruby_memcheck-2.1.1.gem) = 83ddcbdd2517f096d632969969d12827915921624aa57d936be200d0bc18ed45 +SIZE (rubygem/ruby_memcheck-2.1.1.gem) = 15360 diff --git a/devel/rubygem-ruby_memcheck/pkg-descr b/devel/rubygem-ruby_memcheck/pkg-descr new file mode 100644 index 000000000000..73a2e30b740e --- /dev/null +++ b/devel/rubygem-ruby_memcheck/pkg-descr @@ -0,0 +1,9 @@ +ruby_memcheck provides a sane way to use Valgrind's memcheck on your native +extension gem. + +Valgrind's memcheck is a great tool to find and debug memory issues (e.g. memory +leak, use-after-free, etc.). However, it doesn't work well on Ruby because Ruby +does not free all of the memory it allocates during shutdown. This results in +Valgrind reporting thousands (or more) false positives, making it very difficult +for Valgrind to actually be useful. This gem solves the problem by using +heuristics to filter out false positives.