Skip to content

Commit c0704ad

Browse files
committed
Only install readline as a dependency for ruby < 3.3.0 (closes #509).
1 parent b282826 commit c0704ad

File tree

3 files changed

+81
-16
lines changed

3 files changed

+81
-16
lines changed

share/ruby-install/ruby/dependencies.sh

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ case "$package_manager" in
88
zlib1g-dev
99
libyaml-dev
1010
libssl-dev
11-
libreadline-dev
1211
libncurses-dev
1312
libffi-dev
1413
)
@@ -21,7 +20,6 @@ case "$package_manager" in
2120
zlib-devel
2221
libyaml-devel
2322
openssl-devel
24-
readline-devel
2523
ncurses-devel
2624
libffi-devel
2725
)
@@ -34,7 +32,6 @@ case "$package_manager" in
3432
zlib
3533
ncurses
3634
openssl
37-
readline
3835
libyaml
3936
libffi
4037
)
@@ -48,7 +45,6 @@ case "$package_manager" in
4845
zlib-devel
4946
libyaml-devel
5047
libopenssl-devel
51-
readline-devel
5248
ncurses-devel
5349
libffi-devel
5450
)
@@ -57,15 +53,13 @@ case "$package_manager" in
5753
ruby_dependencies=(
5854
xz
5955
automake
60-
readline
6156
libyaml
6257
libffi
6358
)
6459
;;
6560
pkg)
6661
ruby_dependencies=(
6762
openssl
68-
readline
6963
libyaml
7064
libffi
7165
)
@@ -76,22 +70,33 @@ case "$package_manager" in
7670
openssl-devel
7771
zlib-devel
7872
libyaml-devel
79-
readline-devel
8073
ncurses-devel
8174
libffi-devel
8275
)
8376
;;
8477
esac
8578

8679
#
87-
# Add bison as a build dependency for ruby < 3.3.0.
80+
# Add bison and readline as a dependencies for ruby < 3.3.0.
8881
#
8982
if [[ "$ruby_version" < "3.3.0" ]]; then
9083
case "$package_manager" in
9184
apt|dnf|yum|pacman|brew|port)
9285
ruby_dependencies+=(bison)
9386
;;
9487
esac
88+
89+
case "$package_manager" in
90+
apt)
91+
ruby_dependencies+=(libreadline-dev)
92+
;;
93+
dnf|yum|zypper|xbps)
94+
ruby_dependencies+=(readline-devel)
95+
;;
96+
pacman|brew|port|pkg)
97+
ruby_dependencies+=(readline)
98+
;;
99+
esac
95100
fi
96101

97102
#

test/functions-tests/load_dependencies_test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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 zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
18+
"xz gcc automake zlib-devel libyaml-devel openssl-devel ncurses-devel libffi-devel" \
1919
"${ruby_dependencies[*]}"
2020
}
2121

test/ruby-tests/dependencies_tests.sh

Lines changed: 67 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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 zlib1g-dev libyaml-dev libssl-dev libreadline-dev libncurses-dev libffi-dev" \
23+
"xz-utils build-essential zlib1g-dev libyaml-dev libssl-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 zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
40+
"xz gcc automake zlib-devel libyaml-devel openssl-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 zlib-devel libyaml-devel openssl-devel readline-devel ncurses-devel libffi-devel" \
57+
"xz gcc automake zlib-devel libyaml-devel openssl-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 zlib ncurses openssl readline libyaml libffi" \
74+
"xz gcc make zlib ncurses openssl libyaml libffi" \
7575
"${ruby_dependencies[*]}"
7676

7777
package_manager="$original_package_manager"
@@ -88,7 +88,7 @@ function test_when_package_manager_is_zypper()
8888
"$openssl_version"
8989

9090
assertEquals "did not correctly set \$ruby_dependencies" \
91-
"xz gcc make automake zlib-devel libyaml-devel libopenssl-devel readline-devel ncurses-devel libffi-devel" \
91+
"xz gcc make automake zlib-devel libyaml-devel libopenssl-devel ncurses-devel libffi-devel" \
9292
"${ruby_dependencies[*]}"
9393

9494
package_manager="$original_package_manager"
@@ -105,7 +105,7 @@ function test_when_package_manager_is_pkg()
105105
"$openssl_version"
106106

107107
assertEquals "did not correctly set \$ruby_dependencies" \
108-
"openssl readline libyaml libffi" \
108+
"openssl libyaml libffi" \
109109
"${ruby_dependencies[*]}"
110110

111111
package_manager="$original_package_manager"
@@ -122,7 +122,7 @@ function test_when_package_manager_is_xbps()
122122
"$openssl_version"
123123

124124
assertEquals "did not correctly set \$ruby_dependencies" \
125-
"base-devel openssl-devel zlib-devel libyaml-devel readline-devel ncurses-devel libffi-devel" \
125+
"base-devel openssl-devel zlib-devel libyaml-devel ncurses-devel libffi-devel" \
126126
"${ruby_dependencies[*]}"
127127

128128
package_manager="$original_package_manager"
@@ -139,6 +139,9 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_apt()
139139
assertTrue "did not add bison to \$ruby_dependencies" \
140140
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
141141

142+
assertTrue "did not add libreadline-dev to \$ruby_dependencies" \
143+
'[[ " ${ruby_dependencies[*]} " == *" libreadline-dev "* ]]'
144+
142145
package_manager="$original_package_manager"
143146
}
144147

@@ -153,6 +156,9 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_dnf()
153156
assertTrue "did not add bison to \$ruby_dependencies" \
154157
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
155158

159+
assertTrue "did not add readline-devel to \$ruby_dependencies" \
160+
'[[ " ${ruby_dependencies[*]} " == *" readline-devel "* ]]'
161+
156162
package_manager="$original_package_manager"
157163
}
158164

@@ -167,6 +173,37 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_yum()
167173
assertTrue "did not add bison to \$ruby_dependencies" \
168174
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
169175

176+
assertTrue "did not add readline-devel to \$ruby_dependencies" \
177+
'[[ " ${ruby_dependencies[*]} " == *" readline-devel "* ]]'
178+
179+
package_manager="$original_package_manager"
180+
}
181+
182+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_zypper()
183+
{
184+
local original_package_manager="$package_manager"
185+
package_manager="zypper"
186+
ruby_version="3.2.0"
187+
188+
source "$ruby_install_dir/$ruby/dependencies.sh"
189+
190+
assertTrue "did not add readline-devel to \$ruby_dependencies" \
191+
'[[ " ${ruby_dependencies[*]} " == *" readline-devel "* ]]'
192+
193+
package_manager="$original_package_manager"
194+
}
195+
196+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_xbps()
197+
{
198+
local original_package_manager="$package_manager"
199+
package_manager="xbps"
200+
ruby_version="3.2.0"
201+
202+
source "$ruby_install_dir/$ruby/dependencies.sh"
203+
204+
assertTrue "did not add readline-devel to \$ruby_dependencies" \
205+
'[[ " ${ruby_dependencies[*]} " == *" readline-devel "* ]]'
206+
170207
package_manager="$original_package_manager"
171208
}
172209

@@ -181,6 +218,9 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_pacman
181218
assertTrue "did not add bison to \$ruby_dependencies" \
182219
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
183220

221+
assertTrue "did not add readline to \$ruby_dependencies" \
222+
'[[ " ${ruby_dependencies[*]} " == *" readline "* ]]'
223+
184224
package_manager="$original_package_manager"
185225
}
186226

@@ -195,6 +235,9 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_brew()
195235
assertTrue "did not add bison to \$ruby_dependencies" \
196236
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
197237

238+
assertTrue "did not add readline to \$ruby_dependencies" \
239+
'[[ " ${ruby_dependencies[*]} " == *" readline "* ]]'
240+
198241
package_manager="$original_package_manager"
199242
}
200243

@@ -209,6 +252,23 @@ function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_port()
209252
assertTrue "did not add bison to \$ruby_dependencies" \
210253
'[[ " ${ruby_dependencies[*]} " == *" bison "* ]]'
211254

255+
assertTrue "did not add readline to \$ruby_dependencies" \
256+
'[[ " ${ruby_dependencies[*]} " == *" readline "* ]]'
257+
258+
package_manager="$original_package_manager"
259+
}
260+
261+
function test_when_ruby_version_is_less_than_3_3_0_and_package_manager_is_pkg()
262+
{
263+
local original_package_manager="$package_manager"
264+
package_manager="pkg"
265+
ruby_version="3.2.0"
266+
267+
source "$ruby_install_dir/$ruby/dependencies.sh"
268+
269+
assertTrue "did not add readline to \$ruby_dependencies" \
270+
'[[ " ${ruby_dependencies[*]} " == *" readline "* ]]'
271+
212272
package_manager="$original_package_manager"
213273
}
214274

0 commit comments

Comments
 (0)