Commit Graph

537 Commits

Author SHA1 Message Date
jeremy d0c834a993 Update to Ruby 3.4.4 2025-05-17 00:40:35 +00:00
jca fc4b8f5013 Fix ruby-3.2 coroutines on BT-capable arm64 hardware
Uncovered while building graphics/ruby-rmagick,ruby32
ok jeremy@ (maintainer)
2025-05-07 16:08:52 +00:00
jeremy 2942f77cd9 Update to Ruby 3.4.3 2025-04-26 00:36:52 +00:00
jeremy 5082b41fa6 Update to Ruby 3.3.8 2025-04-26 00:36:10 +00:00
jeremy f98ce2a451 Update to Ruby 3.2.8
Fixes:

* CVE-2025-27219: Denial of Service in CGI::Cookie.parse
* CVE-2025-27220: ReDoS in CGI::Util#escapeElement
* CVE-2025-27221: userinfo leakage in URI#join, URI#merge and URI#+

OK sthen@
2025-03-27 15:57:35 +00:00
jeremy 5cfbf78028 Update to Ruby 3.4.2 2025-02-17 21:20:47 +00:00
jeremy 8f9875d1c9 Update to Ruby 3.2.7 2025-02-07 07:03:29 +00:00
jeremy d32a14e148 Update to Ruby 3.3.7 2025-01-18 02:11:07 +00:00
tb 40d79f6e81 lang/ruby/3.4: align with 3.3 to build with BTI support
ok jeremy
2025-01-11 10:44:38 +00:00
tb f007bd982a lang/ruby/3.4: disable yjit on aarch64
Like in 3.3 this doesn't work and leads to build failures on modern apple
hardeware.

ok jeremy
2025-01-11 10:37:37 +00:00
jeremy e16981b2a9 Support ruby34 FLAVOR when building ruby gem ports
OK jca@
2025-01-10 03:38:07 +00:00
jeremy 34d7c0c8d0 Hook up Ruby 3.4 2025-01-10 03:37:40 +00:00
jeremy 12db6c0d6f Import Ruby 3.4.1
riscv64 and arm64 help from jca@
OK jca@
2025-01-10 03:36:59 +00:00
jca 1f56ca0253 Move ruby-3.3 to an assembly coroutine implementation on riscv64
The pthread based implementation breaks way too often with (likely) GC memory
corruptions:

[BUG] object allocation during garbage collection phase

when building graphics/rmagick,ruby33.
2025-01-08 18:45:42 +00:00
jeremy 4fbddcf961 Send Ruby 3.1 to the Attic 2024-11-21 05:54:41 +00:00
jeremy 1d287589a2 Unhook Ruby 3.1 2024-11-21 05:53:59 +00:00
jeremy de39f09296 Remove support for building ruby31-* packages for Ruby ports
Remove guard for COMPILER for building gem ext ports, now that all versions
need to use base-clang and ports-gcc.
2024-11-21 05:53:26 +00:00
jeremy 20c672611a Update to Ruby 3.3.6 2024-11-07 04:45:18 +00:00
jeremy f5e52d8329 Update to Ruby 3.2.6 2024-11-02 04:22:40 +00:00
jeremy ea30f3c42a Update to Ruby 3.3.5
Fixes the following CVEs for DoS vulnerabilities in REXML:

* CVE-2024-43398
* CVE-2024-41946
* CVE-2024-41123

Add post-install hook to remove bin/*.lock files, as they
shouldn't be in the package (not sure why this version
started to add them).
2024-09-05 16:37:20 +00:00
jeremy 776d4c0900 Update to Ruby 3.2.5
Fixes CVE-2024-39908
2024-07-28 14:46:59 +00:00
jeremy 7e92cc68d1 Update to Ruby 3.3.4
Remove source files for the included debug and rbs extensions,
similar to how gem ext ports are handled.
2024-07-11 15:54:34 +00:00
kettenis e5c88669e2 The configure script adds -mbranch-protection=pac-ret which *disables* BTI
on OpenBSD.  Change this to -mbranch-protection=standard such that both
BTI and PAC support are enabled.  This makes BTI work so drop the
USE_NOBTCFI-aarch64=Yes bit from the Makefile.

ok jeremy@
2024-06-23 12:39:35 +00:00
sthen 84dfe76f6e set USE_NOBTCFI-aarch64; Ruby 3.3 has some code for this but seems not
to be enough yet; just running ruby33 is enough to trigger SIGILL.

ok jeremy@
2024-06-21 16:01:52 +00:00
jeremy f567da67da Switch the default ruby version in ports to Ruby 3.3
OK tb@
2024-06-20 22:40:55 +00:00
jeremy 45f1012c04 Update to Ruby 3.3.3
* Regen patches
* Drop a distpatch added upstream
* Add a distpatch to fix an openssl extension test error
* Add a patch to fix a bunch of drb ssl test errors
* Add a patch to fix a rubygems test error due to changes in our port
* Add a patch to the leaked symbols test (not yet enabled in the port)
2024-06-14 19:41:34 +00:00
jeremy 1e3ba5d075 Update to Ruby 3.3.2 2024-06-04 17:41:18 +00:00
jeremy 4e93d1de6e Update to Ruby 3.1.6
Remove a distpatch and a couple patches merged upstream.
2024-05-31 17:22:48 +00:00
jeremy ecca1f3805 Update to Ruby 3.1.5
Fix a bad backport in the fiddle extension that breaks compilation.

OK tb@
2024-04-25 22:09:25 +00:00
jeremy 7e15fae0df Update to Ruby 3.2.4
OK tb@
2024-04-25 22:05:25 +00:00
jeremy fd5118c6a8 Update to Ruby 3.3.1
Backport an upstream fix for ILP32 architectures.

Switch check to test-all as the test target, as the previous check
target fails before the main test suite runs due to a symbol
visibility that doesn't handle retguard.

Upstream fix identified by tb@
i386 testing by tb@
OK tb@
2024-04-25 22:04:30 +00:00
jeremy d39e51bcab Add _CET_ENDBR to amd64 coroutine code
This fixes SIGILL/ILL_BTCFI that started occurring after
recent changes (post 7.5), for the following example code:

  mutex = Mutex.new
  mutex.synchronize { Fiber.new { mutex.owned? }.resume

Issue reported by jcs@

Tested by jcs@

OK jcs@
2024-04-09 04:17:52 +00:00
kmos 118f904e86 ruby 3.3 ports of type "gem ext" need "base-clang ports-gcc" just like
ruby 3.2 ports.

Fixes the build of many many ruby33 ports on sparc64

Suggested by jeremy@
2024-02-18 05:03:49 +00:00
sthen 6552ad88b3 rename/regen distinfo for more github autogenerated patches which have changed 2024-02-05 20:51:40 +00:00
jeremy d658d08e45 Update to Ruby 3.2.3
Fixes CVE-2023-36617: ReDoS vulnerability in URI
2024-01-20 20:20:50 +00:00
jeremy 99605d494c Disable YJIT on arm64
This allows Ruby 3.3 to work on arm64.  No bump as it did not build before
on arm64, and the change only affects arm64.

OK tb@, phessler@
2024-01-16 19:28:47 +00:00
jeremy f7981774a6 Do not change directory in EXTRACT_CASES
Fixes interaction with devel/cargo module.

From semarie@
2024-01-10 00:21:36 +00:00
semarie 6d4efb7915 lang/ruby/3.2 and 3.3: uses lang/rust module
It switches ruby to use MODULES+=lang/rust instead of BUILD_DEPENDS+=lang/rust.

It makes the ports to use _SYSTEM_VERSION-rust and be bumped automatically when
rust (compiler or stdlib) changes, and so get the package updated.

ok tb@ jeremy@
2024-01-01 17:03:48 +00:00
jeremy 6b8035f398 Hookup Ruby 3.3 to the build 2023-12-27 20:08:05 +00:00
jeremy 25048d04e4 Support ruby33 FLAVOR when building Ruby ports
OK tb@, gkoehler@
2023-12-27 20:07:31 +00:00
jeremy edb2f90a9c Fix WANTLIB for Ruby 3.1 and 3.2, other minor changes
This sets PATCHORIG = .orig, because the build infrastructure handles
that better and it requires less work when updating plists.

This sets optflags="", so that the build infrastructure does not
override the default optimization flags.

This removes ncurses, readline, and yaml from WANTLIB, and adds yaml-0
to WANTLIB. For Ruby 3.1 and 3.2, ncurses and readline are added back.
Ruby 3.3 drops the readline extension, so those libraries are no longer
needed.

This drops the gdbm subpackage code from Makefile.inc, since it
is no longer used by any supported Ruby version.

OK tb@, gkoehler@
2023-12-27 20:06:42 +00:00
jeremy 2beba7e298 Import Ruby 3.3.0
OK tb@, gkoehler@
2023-12-27 20:04:59 +00:00
jca 318ad3c08d llvm16: preemptively disable the use of -Wl,--compress-debug-sections=zlib
This flag will be supported by lld-16.  When dwz encounters a file with
already compressed sections, it errors out.  Just disable the
ruby specific use of that feature and keep on relying on dwz like other
ports.  ok jeremy@ (maintainer)
2023-11-09 23:07:11 +00:00
jeremy 1e6a66d9e0 Remove support for building ruby30-* packages for Ruby ports 2023-10-13 23:15:40 +00:00
jeremy ff9a50b678 Send Ruby 3.0 to the Attic 2023-10-13 23:13:18 +00:00
jeremy d29d7c3810 Unhook Ruby 3.0 2023-10-13 23:12:43 +00:00
espie 0d9508d19d bye bye MASTER*, you served us well (no change in dump-vars) 2023-09-27 21:41:16 +00:00
espie 93fa758565 zap remaining MASTER_SITES0...9 2023-09-25 17:07:27 +00:00
kettenis 7b48ffd628 The configure script attempts to enable PAC by checking for the
-mbranch-protection=pac-ret compiler option and using that in the build.
On OpenBSD this actually disables BTI support.  Change the configure
script to use -mbranch-protection=standard instead.

ok jeremy@
2023-09-24 11:19:29 +00:00
jeremy 527f5b1828 Further simplify ruby.port.mk
* Remove variables not used by any ports in the tree:
  * MODRUBY_LIBDIR
  * MODRUBY_RELDOCDIR
  * MODRUBY_DOCDIR
  * MODRUBY_EXAMPLEDIR
  * MODRUBY_ADJ_REPLACE
  * MODRUBY_TEST_DIR

* Prefix internal variables with an underscore.  Any variable
  not currently used by any ports in the tree has been made
  internal.

* Consolidate all SUBST_VARS and UPDATE_PLIST_ARGS setting to
  a single case.

Tested by building all ports using lang/ruby module.
2023-09-11 19:59:04 +00:00