Skip to content

Commit b282826

Browse files
committed
Only install bison as a dependency for ruby < 3.3.0 (issue #509).
1 parent 78f77e4 commit b282826

File tree

3 files changed

+102
-11
lines changed

3 files changed

+102
-11
lines changed

share/ruby-install/ruby/dependencies.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ case "$package_manager" in
55
ruby_dependencies=(
66
xz-utils
77
build-essential
8-
bison
98
zlib1g-dev
109
libyaml-dev
1110
libssl-dev
@@ -19,7 +18,6 @@ case "$package_manager" in
1918
xz
2019
gcc
2120
automake
22-
bison
2321
zlib-devel
2422
libyaml-devel
2523
openssl-devel
@@ -33,7 +31,6 @@ case "$package_manager" in
3331
xz
3432
gcc
3533
make
36-
bison
3734
zlib
3835
ncurses
3936
openssl
@@ -60,7 +57,6 @@ case "$package_manager" in
6057
ruby_dependencies=(
6158
xz
6259
automake
63-
bison
6460
readline
6561
libyaml
6662
libffi
@@ -87,6 +83,17 @@ case "$package_manager" in
8783
;;
8884
esac
8985

86+
#
87+
# Add bison as a build dependency for ruby < 3.3.0.
88+
#
89+
if [[ "$ruby_version" < "3.3.0" ]]; then
90+
case "$package_manager" in
91+
apt|dnf|yum|pacman|brew|port)
92+
ruby_dependencies+=(bison)
93+
;;
94+
esac
95+
fi
96+
9097
#
9198
# Add gdbm as a dependency for ruby < 3.1.0.
9299
#

test/functions-tests/load_dependencies_test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
function setUp()
77
{
88
ruby="ruby"
9-
ruby_version="3.3.0"
9+
ruby_version="3.4.0"
1010
package_manager="dnf"
1111
}
1212

@@ -15,7 +15,7 @@ function test_load_dependencies()
1515
load_dependencies
1616

1717
assertEquals "did not correctly set \$ruby_dependencies from \$ruby/dependencies.sh for \$package_manager" \
18-
"xz gcc automake bison zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
18+
"xz gcc automake zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
1919
"${ruby_dependencies[*]}"
2020
}
2121

test/ruby-tests/dependencies_tests.sh

Lines changed: 89 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
function setUp()
77
{
88
ruby="ruby"
9-
ruby_version="3.2.0"
9+
ruby_version="3.4.0"
1010
}
1111

1212
function test_when_package_manager_is_apt()
@@ -20,7 +20,7 @@ function test_when_package_manager_is_apt()
2020
"$openssl_version"
2121

2222
assertEquals "did not correctly set \$ruby_dependencies" \
23-
"xz-utils build-essential bison zlib1g-dev libyaml-dev libssl-dev libreadline-dev libncurses-dev libffi-dev" \
23+
"xz-utils build-essential zlib1g-dev libyaml-dev libssl-dev libreadline-dev libncurses-dev libffi-dev" \
2424
"${ruby_dependencies[*]}"
2525

2626
package_manager="$original_package_manager"
@@ -37,7 +37,7 @@ function test_when_package_manager_is_dnf()
3737
"$openssl_version"
3838

3939
assertEquals "did not correctly set \$ruby_dependencies" \
40-
"xz gcc automake bison zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
40+
"xz gcc automake zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
4141
"${ruby_dependencies[*]}"
4242

4343
package_manager="$original_package_manager"
@@ -54,7 +54,7 @@ function test_when_package_manager_is_yum()
5454
"$openssl_version"
5555

5656
assertEquals "did not correctly set \$ruby_dependencies" \
57-
"xz gcc automake bison zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
57+
"xz gcc automake zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
5858
"${ruby_dependencies[*]}"
5959

6060
package_manager="$original_package_manager"
@@ -71,7 +71,7 @@ function test_when_package_manager_is_pacman()
7171
"$openssl_version"
7272

7373
assertEquals "did not correctly set \$ruby_dependencies" \
74-
"xz gcc make bison zlib ncurses openssl readline libyaml libffi" \
74+
"xz gcc make zlib ncurses openssl readline libyaml libffi" \
7575
"${ruby_dependencies[*]}"
7676

7777
package_manager="$original_package_manager"
@@ -128,6 +128,90 @@ function test_when_package_manager_is_xbps()
128128
package_manager="$original_package_manager"
129129
}
130130

131+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_apt()
132+
{
133+
local original_package_manager="$package_manager"
134+
package_manager="apt"
135+
ruby_version="3.2.0"
136+
137+
source "$ruby_install_dir/$ruby/dependencies.sh"
138+
139+
assertTrue "did not add bison to \$ruby_dependencies" \
140+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
141+
142+
package_manager="$original_package_manager"
143+
}
144+
145+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_dnf()
146+
{
147+
local original_package_manager="$package_manager"
148+
package_manager="dnf"
149+
ruby_version="3.2.0"
150+
151+
source "$ruby_install_dir/$ruby/dependencies.sh"
152+
153+
assertTrue "did not add bison to \$ruby_dependencies" \
154+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
155+
156+
package_manager="$original_package_manager"
157+
}
158+
159+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_yum()
160+
{
161+
local original_package_manager="$package_manager"
162+
package_manager="yum"
163+
ruby_version="3.2.0"
164+
165+
source "$ruby_install_dir/$ruby/dependencies.sh"
166+
167+
assertTrue "did not add bison to \$ruby_dependencies" \
168+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
169+
170+
package_manager="$original_package_manager"
171+
}
172+
173+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_pacman()
174+
{
175+
local original_package_manager="$package_manager"
176+
package_manager="pacman"
177+
ruby_version="3.2.0"
178+
179+
source "$ruby_install_dir/$ruby/dependencies.sh"
180+
181+
assertTrue "did not add bison to \$ruby_dependencies" \
182+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
183+
184+
package_manager="$original_package_manager"
185+
}
186+
187+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_brew()
188+
{
189+
local original_package_manager="$package_manager"
190+
package_manager="brew"
191+
ruby_version="3.2.0"
192+
193+
source "$ruby_install_dir/$ruby/dependencies.sh"
194+
195+
assertTrue "did not add bison to \$ruby_dependencies" \
196+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
197+
198+
package_manager="$original_package_manager"
199+
}
200+
201+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_port()
202+
{
203+
local original_package_manager="$package_manager"
204+
package_manager="port"
205+
ruby_version="3.2.0"
206+
207+
source "$ruby_install_dir/$ruby/dependencies.sh"
208+
209+
assertTrue "did not add bison to \$ruby_dependencies" \
210+
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
211+
212+
package_manager="$original_package_manager"
213+
}
214+
131215
function test_when_ruby_version_is_less_than_3_1_0_and_package_manager_is_apt()
132216
{
133217
local original_package_manager="$package_manager"

0 commit comments

Comments
 (0)