diff --git a/bin/ruby-build b/bin/ruby-build index 004225a4..bcd505d2 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -18,7 +18,7 @@ # -6, --ipv6 Resolve names to IPv6 addresses only # -RUBY_BUILD_VERSION="20260501" +RUBY_BUILD_VERSION="20260512" OLDIFS="$IFS" @@ -1420,6 +1420,10 @@ resolve_version() { # Look for an exact match first. for DEFINITION_DIR in "${RUBY_BUILD_DEFINITIONS[@]}"; do + if [ -f "${DEFINITION_DIR}/$1" ]; then + echo "$1" + return 0 + fi if [ -f "${DEFINITION_DIR}/${version}" ]; then echo "$version" return 0 diff --git a/share/man/man1/ruby-build.1 b/share/man/man1/ruby-build.1 index 000464e7..a215747d 100644 --- a/share/man/man1/ruby-build.1 +++ b/share/man/man1/ruby-build.1 @@ -2,12 +2,12 @@ .\" Title: ruby-build .\" Author: Mislav Marohnić .\" Generator: Asciidoctor 2.0.26 -.\" Date: 2026-05-01 +.\" Date: 2026-05-07 .\" Manual: ruby-build Manual -.\" Source: ruby-build 20260501 +.\" Source: ruby-build 20260512 .\" Language: English .\" -.TH "RUBY\-BUILD" "1" "2026-05-01" "ruby\-build 20260501" "ruby\-build Manual" +.TH "RUBY\-BUILD" "1" "2026-05-07" "ruby\-build 20260512" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 diff --git a/share/ruby-build/4.0.4 b/share/ruby-build/4.0.4 new file mode 100644 index 00000000..33de3159 --- /dev/null +++ b/share/ruby-build/4.0.4 @@ -0,0 +1,2 @@ +install_package "openssl-3.0.20" "https://github.com/openssl/openssl/releases/download/openssl-3.0.20/openssl-3.0.20.tar.gz#c80a01dfc70ece4dc21168932c37739042d404d46ccc81a5986dd75314ecda6f" openssl --if needs_openssl:1.1.1-3.x.x +install_package "ruby-4.0.4" "https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.4.tar.gz#f35f6edfa3dabb3f723f9d0cf1906c6512ae77f4e412ab1e68cc6e91d230fa80" enable_shared standard diff --git a/test/definitions.bats b/test/definitions.bats index c507d79b..5bd7283b 100644 --- a/test/definitions.bats +++ b/test/definitions.bats @@ -113,6 +113,16 @@ NUM_DEFINITIONS="$(ls "$BATS_TEST_DIRNAME"/../share/ruby-build | wc -l)" assert_success "3.2.1" } +@test "resolve definition by exact match for ruby-prefixed name" { + export RUBY_BUILD_DEFINITIONS="${TMP}/definitions" + mkdir -p "${TMP}/definitions" + + touch "${TMP}/definitions/ruby-dev" + + run bin/ruby-build --resolve "ruby-dev" + assert_success "ruby-dev" +} + @test "resolve definition with ruby prefix" { export RUBY_BUILD_DEFINITIONS="${TMP}/definitions" mkdir -p "${TMP}/definitions"