head	1.8;
access;
symbols
	pkgsrc-2026Q1:1.7.0.6
	pkgsrc-2026Q1-base:1.7
	pkgsrc-2025Q4:1.7.0.4
	pkgsrc-2025Q4-base:1.7
	pkgsrc-2025Q3:1.7.0.2
	pkgsrc-2025Q3-base:1.7
	pkgsrc-2025Q2:1.5.0.2
	pkgsrc-2025Q2-base:1.5
	pkgsrc-2025Q1:1.3.0.2
	pkgsrc-2025Q1-base:1.3;
locks; strict;
comment	@# @;


1.8
date	2026.05.06.05.15.35;	author taca;	state Exp;
branches;
next	1.7;
commitid	bcPiyD09cOvjgIEG;

1.7
date	2025.07.26.06.17.00;	author taca;	state Exp;
branches
	1.7.6.1;
next	1.6;
commitid	NIgNHKXw6k2RId4G;

1.6
date	2025.07.13.15.39.54;	author taca;	state Exp;
branches;
next	1.5;
commitid	FuRFPJE1pOkqgB2G;

1.5
date	2025.06.14.06.54.46;	author taca;	state Exp;
branches
	1.5.2.1;
next	1.4;
commitid	EWnlccTobpZ3iPYF;

1.4
date	2025.04.16.15.12.17;	author taca;	state Exp;
branches;
next	1.3;
commitid	47dxBZwDAjOiWhRF;

1.3
date	2025.03.24.02.38.30;	author taca;	state Exp;
branches;
next	1.2;
commitid	LJ0opus8i5JyvgOF;

1.2
date	2025.03.01.15.56.52;	author taca;	state Exp;
branches;
next	1.1;
commitid	vl5IvXtcXTliFnLF;

1.1
date	2025.01.02.06.51.04;	author taca;	state Exp;
branches;
next	;
commitid	u2YGMOkNF7oxvSDF;

1.7.6.1
date	2026.05.09.16.39.11;	author bsiegert;	state Exp;
branches;
next	;
commitid	GbqS1CVcKhuUW9FG;

1.5.2.1
date	2025.07.17.02.45.42;	author maya;	state Exp;
branches;
next	;
commitid	NZNQiOdOpcESQ23G;


desc
@@


1.8
log
@lang/ruby34: update default gem erb to 4.0.4.1

Update default gem erb to 4.0.4.1 to fix security problem of CVE-2026-41316.

Bump PKGREVISION.
@
text
@# $NetBSD: Makefile,v 1.7 2025/07/26 06:17:00 taca Exp $

DISTNAME=	${RUBY_DISTNAME}
PKGNAME=	${RUBY_PKGPREFIX}-${RUBY_VERSION}
PKGREVISION=	1
CATEGORIES=	lang ruby
MASTER_SITES=	${MASTER_SITE_RUBY}

MAINTAINER=	taca@@NetBSD.org
HOMEPAGE=	${RUBY_HOMEPAGE}
COMMENT=	Ruby ${RUBY_VERSION} release package

RUBY_VERSIONS_ACCEPTED=	34

MAKE_JOBS_SAFE=		no
USE_GCC_RUNTIME=	yes
USE_LANGUAGES=		c c++
USE_TOOLS+=		pax yacc pkg-config
GNU_CONFIGURE=		yes
TEST_TARGET=		test
CONFIGURE_ARGS+=	--enable-shared --enable-install-static-library
CONFIGURE_ARGS+=	--without-git
MAKE_ENV+=		XDG_DATA_HOME=${WRKDIR}
WRKSRC=			${RUBY_WRKSRC}
FILES_SUBST+=		PKGMANDIR=${PKGMANDIR:Q}

# Needs _Thread_local support in gcc.
USE_CC_FEATURES+=	c11

.include "options.mk"

# On NetBSD/i386 9 with gcc 7.x, it cause error on compiling vm.c
# (really vm_exec.c).
#
.if ${MACHINE_PLATFORM:MNetBSD-*-i386}
GCC_REQD+=	8
.endif

.include "../../lang/ruby/platform.mk"

.if !empty(RUBY_SUFFIX)
CONFIGURE_ARGS+=	--program-suffix=${RUBY_SUFFIX}
CONFIGURE_ARGS+=	--with-soname=${RUBY_NAME}
CONFIGURE_ARGS+=	--with-ruby-version=${RUBY_VER_DIR}
CONFIGURE_ARGS+=	--with-ruby-pc="ruby-${RUBY_VERSION}.pc"
.endif

CONFIGURE_ENV+=		ac_cv_path_MJIT_CC=${CC:Q}
CONFIGURE_ENV.Darwin+=	ac_cv_prog_dsymutil=

DOCS=		BSDL CONTRIBUTING.md COPYING COPYING.ja ChangeLog GPL \
		KNOWNBUGS.rb LEGAL NEWS.md README.ja.md README.md \
		README.EXT README.EXT.ja

OPENSSL_EXAMPLES=	c_rehash.rb cert2text.rb certstore.rb cipher.rb \
			crlstore.rb echo_cli.rb echo_svr.rb gen_csr.rb \
			smime_read.rb smime_write.rb wget.rb

REPLACE_RUBY=		\
	libexec/bundle libexec/bundler libexec/erb libexec/irb \
	libexec/rdoc libexec/ri libexec/syntax_suggest \
	.bundle/gems/debug-${RUBY_DEBUG_VER}/exe/rdbg \
	.bundle/gems/racc-${RUBY_RACC_VER}/bin/racc \
	.bundle/gems/rake-${RUBY_RAKE_VER}/exe/rake \
	.bundle/gems/rbs-${RUBY_RBS_VER}/exe/rbs \
	.bundle/gems/typeprof-${RUBY_TYPEPROF_VER}/bin/typeprof
REPLACE_RUBY_DIRS=	ext lib sample
INSTALLATION_DIRS+=	bin libexec ${PKGMANDIR}/man1 \
			${RUBY_DOC}/csv/arguments \
			${RUBY_DOC}/csv/options/common \
			${RUBY_DOC}/csv/options/generating \
			${RUBY_DOC}/csv/options/parsing \
			${RUBY_DOC}/csv/recipes \
			${RUBY_DOC}/images ${RUBY_DOC}/irb ${RUBY_DOC}/pty \
			${RUBY_DOC}/ripper \
			${RUBY_DOC}/stringio ${RUBY_DOC}/syntax \
			${RUBY_EG}/pty
# ${RUBY_ARCHINC} ${RUBY_ARCHLIB}
EMPTY_DIRS=		generator/template markup/simple_markup

NOT_PAX_MPROTECT_SAFE+=	bin/${RUBY_NAME}

pre-configure:
	${CHMOD} -x ${WRKSRC}/sample/test.rb

pre-install:
#	cd ${WRKSRC}/lib; \
#		${FIND} . \( -name '*.orig' -o -name '*.orig_dist' \) \
#		-exec ${RM} -f {} \;
.for f in ${EMPTY_DIRS}
	${RMDIR} ${WRKSRC}/lib/rdoc/${f} 2>/dev/null || ${TRUE}
.endfor

post-install:
	cd ${DESTDIR}${PREFIX}/${GEM_HOME} && \
		find . \! -type d \( -name 'Makefile*' -o -name '.*.time' \
			-o -name '*.o' -o -name 'gem_make.out' \
			-o -name 'mkmf.log' \) -exec rm {} \;
	cd ${WRKSRC}/doc && ${PAX} -rw . ${DESTDIR}${PREFIX}/${RUBY_DOC}
	${MV} ${DESTDIR}${PREFIX}/${RUBY_DOC}/ChangeLog  ${DESTDIR}${PREFIX}/${RUBY_DOC}/ChangeLog.prev
.for f in ${DOCS}
	${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/${RUBY_DOC}
.endfor
	cd ${WRKSRC}/ext/ripper; ${PAX} -rw README ${DESTDIR}${PREFIX}/${RUBY_DOC}/ripper
	cd ${WRKSRC}/ext/stringio; ${PAX} -rw README.md ${DESTDIR}${PREFIX}/${RUBY_DOC}/stringio
	cd ${WRKSRC}/sample; ${PAX} -rw . ${DESTDIR}${PREFIX}/${RUBY_EG}
.for f in ${OPENSSL_EXAMPLES}
	${INSTALL_DATA} ${WRKSRC}/sample/openssl/${f} \
		${DESTDIR}${PREFIX}/${RUBY_EG}/openssl
.endfor
	${CHMOD} -R g-w ${DESTDIR}${PREFIX}/${GEM_HOME}/gems
	${RUBY_GENERATE_PLIST}

.include "../../mk/bdb.buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/libyaml/buildlink3.mk"
.include "../../lang/ruby/Makefile.common"
.include "../../mk/bsd.pkg.mk"
@


1.7
log
@lang/ruby34: update to 3.4.5

pkgsrc change:

* Enable sigaltstack(2) on NetBSD refering to PR pkg/59017.

Ruby 3.4.5 (2025-07-15)

* Bug #21340: Bump autoconf version to properly handle C23 bool/stdbool
  defines
* Sync lockfile from rubygems/rubygems by deivid-rodriguez · Pull Request
  #13472
* Bug #21438: use-after-free when resizing exivars
* Ensure that memory is not freed before calling
  free_fast_fallback_getaddrinfo_* by shioimm · Pull Request #12661
* Fix heap-use-after-free in free_fast_fallback_getaddrinfo_entry by shioimm
  Pull Request #13231
* Bug #21441: SEGV during thread cleanup if profiler calls
  thread_profiles_frames at wrong time
* Bug #21255: Can't build Ruby with Windows SDK 10.0.26100
* Backport GH-13617 for s390x by hsbt · Pull Request #13757
* Bump up resolv-0.6.2 for Ruby 3.4 by hsbt · Pull Request #13818
* Bug #21197: Prism does not accept newline after defined? keyword
* Bug #21333: heap-use-after-free caused by rehash during update
* Bug #21357: Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
* Bug #21383: Prism leaks memory with invalid yield
* Bug #21394: Memory leak in Prism's RubyVM::InstructionSequence.new
* Bug #21099: TestGc#test_gc_stress_at_startup assertion failure
* Bug #21395: Please backport caa6ba1a46afa1bc696adc5fe91ee992f9570c89
* Bug #21439: Crash with PM_SPLAT_NODE compiler error (Prism)
* Bug #21354: Symbol#to_proc is not ractor safe
* Bug #20009: Marshal.load raises exception when load dumped class include
  non-ASCII
* Bug #21380: Use-After-Free in String#split with In-Block String
  Modification
* Bug #21447: Fix handling of PM_CONSTANT_PATH_NODE node in keyword
  arguments with ARGS_SPLAT
* Bug #21448: Random.urandom may fail to fall back to reading /dev/urandom
  on Linux < 3.17
* Bug #21440: Cannot create instances of frozen Data subclasses
* Bug #21437: Date#hash may return different values for equal dates with
  large years
* Bug #21497: building issue when using gcc15, because C23 is default
* Bug #21500: Backport gcc 15 support
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2025/07/13 15:39:54 taca Exp $
d5 1
@


1.7.6.1
log
@Pullup ticket #7104 - requested by taca
lang/ruby34: security fix

Revisions pulled up:
- lang/ruby/rubyversion.mk                                      1.321
- lang/ruby34/Makefile                                          1.8
- lang/ruby34/distinfo                                          1.14
- lang/ruby34/patches/patch-lib_erb.rb                          1.1
- lang/ruby34/patches/patch-lib_erb_version.rb                  1.1
- lang/ruby34/patches/patch-test_erb_test__erb.rb               1.1

---
   Module Name:	pkgsrc
   Committed By:	taca
   Date:		Wed May  6 05:15:35 UTC 2026

   Modified Files:
   	pkgsrc/lang/ruby: rubyversion.mk
   	pkgsrc/lang/ruby34: Makefile distinfo
   Added Files:
   	pkgsrc/lang/ruby34/patches: patch-lib_erb.rb patch-lib_erb_version.rb
   	    patch-test_erb_test__erb.rb

   Log Message:
   lang/ruby34: update default gem erb to 4.0.4.1

   Update default gem erb to 4.0.4.1 to fix security problem of CVE-2026-41316.

   Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD$
a4 1
PKGREVISION=	1
@


1.6
log
@lang/ruby34: update resolv gem

Update resolve gem to 0.6.2 to fix security problem of CVE-2025-24294.

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2025/06/14 06:54:46 taca Exp $
a4 1
PKGREVISION=	2
@


1.5
log
@lang/ruby34: stop sorting @@extensions of Gem::Specification

There is a gem (google-protobuf) depends on order of @@extensions of
Gem::Specification to build its extensions.  This sorting was introduced
from Ruby 3.4.3 (via RubyGems 3.6.7).

So, stop sorting for @@extensions to build such a gem again.

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2025/04/16 15:12:17 taca Exp $
d5 1
a5 1
PKGREVISION=	1
@


1.5.2.1
log
@Pullup ticket #6988 - requested by taca
lang/ruby34: Security fix

Revisions pulled up:
- lang/ruby/rubyversion.mk                                      1.301
- lang/ruby34/Makefile                                          1.6
- lang/ruby34/distinfo                                          1.8
- lang/ruby34/patches/patch-ext_win32_lib_win32_resolv.rb       1.1
- lang/ruby34/patches/patch-ext_win32_resolv_resolv.c           1.1
- lang/ruby34/patches/patch-lib_resolv.rb                       1.1
- lang/ruby34/patches/patch-test_resolv_test__dns.rb            1.1

---
   Module Name:	pkgsrc
   Committed By:	taca
   Date:		Sun Jul 13 15:39:55 UTC 2025

   Modified Files:
   	pkgsrc/lang/ruby: rubyversion.mk
   	pkgsrc/lang/ruby34: Makefile distinfo
   Added Files:
   	pkgsrc/lang/ruby34/patches: patch-ext_win32_lib_win32_resolv.rb
   	    patch-ext_win32_resolv_resolv.c patch-lib_resolv.rb
   	    patch-test_resolv_test__dns.rb

   Log Message:
   lang/ruby34: update resolv gem

   Update resolve gem to 0.6.2 to fix security problem of CVE-2025-24294.

   Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD$
d5 1
a5 1
PKGREVISION=	2
@


1.4
log
@lang/ruby34: update to 3.4.3

Ruby 3.4.3 (2025-04-14)

* Bug #21145: Prism accepts newlines in-between curly unicode escape
* Bug #21153: ::Foo ||= p 1 should parse
* Bug #21030: Bug: #step with Range<ActiveSupport::Duration> behavior broken
  on Ruby 3.4.1
* Bug #21131: IO.copy_stream: yielded string changes value when duped
* Feature #19521: Support for Module#name= and Class#name=.
* Bug #21159: Module#set_temporary_name should freeze given name
* Bug #21161: Crash when locale is set to Turkish tr_TR.UTF-8
* Bug #21144: Win32: Use Windows time zone ID as the time zone name if TZ is
  not set
* Bug #21170: Corrupted Hash (bad VALUE and missing entry) when -1 returned
  from .hash
* Bug #21172: Race condition in register_fstring
* Bug #21163: Inconsistencies in Kernel.Float compared to other number
  parsing methods
* Bug #21173: RUBY_FREE_AT_EXIT does not work when error in -r
* Bug #21179: Introduction Happy Eyeballs Version 2 broke Socket.tcp from
  secondary Ractors
* Bug #19841: Marshal.dump stack overflow with recursive Time
* Bug #21180: SEGV while marking imemo_env->iseq
* Bug #21186: Inconsistent parsing of ?あand 0
* Bug #21094: Module#set_temporary_name does not affect a name of a nested
  module
* Bug #21195: Crash when using IO#timeout
* Bug #21196: Ruby 3.4 ignores visibility when passing arguments using ...
* Bug #21141: Time#utc? does not work with a timezone object
* Bug #21211: Incomplete Backtrace for Socket Errors in Ruby 3.4+
* Bug #21197: Prism does not accept newline after defined? keyword
* Bug #21183: Ractor error with Prism::VERSION
* Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
* Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2025/03/24 02:38:30 taca Exp $
d5 1
@


1.3
log
@lang/ruby34: Fix build problem on NetBSD 9/i386

On NetBSD/i386 9 with gcc 7.x, it cause error on compiling vm.c
(really vm_exec.c).  Since gcc 8 has no problem, set GCC_REQD to 8.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2025/03/01 15:56:52 taca Exp $
a4 1
PKGREVISION=	1
@


1.2
log
@lang/ruby34: Fix PRISM parser behavior on NetBSD

Fix segmentation fault when execute ruby binary without argument reported by ryoon@@ and mef@@.

prism/prism.c use "fgets" as functions's parameter and the parameter
is function pointer.  On NetBSD, fgets(3) was called instead of passed
function pointer.

So, replace "fgets" to other name.

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2025/01/02 06:51:04 taca Exp $
d31 8
@


1.1
log
@lang/ruby34: add package version 3.4.1.

Add latest release of Ruby Programming Language version 3.4.1.

Ruby is an interpreted object-oriented programming language often used for
web development. It also offers many scripting features to process plain
text and serialized files, or manage system tasks.  It is simple,
straightforward, and extensible.

Features of Ruby are shown below.
  + Simple Syntax
  + *Normal* Object-Oriented features (ex. class, method calls)
  + *Advanced* Object-Oriented features (ex. Mix-in, Singleton-method)
  + Operator Overloading
  + Exception Handling
  + Iterators and Closures
  + Garbage Collection
  + Dynamic Loading of Object files (on some architecture)
  + Highly Portable (works on many UNIX machines, and on Windows, Mac, etc.)

Ruby 3.4 introduces a number of new features and performance improvements,
here are some of them:
  * Prsim parser (as a default gem).
  * Performance: YJIT: Verious improvements including performance.
  * Performance: RJIT: Experital pure-Ruby JIT compiler replace MJIT.
  * M:N thread scheduler.
  * Retirement of ext/readline.
@
text
@d1 1
a1 1
# $NetBSD$
d5 1
@

