Skip to content

Commit 1d0ac4b

Browse files
committed
TruffleRuby 33+ no longer depends on openssl and libyaml
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: #359 (comment) * Fix order of arguments to assertEquals in tests.
1 parent b543e1e commit 1d0ac4b

File tree

2 files changed

+155
-48
lines changed

2 files changed

+155
-48
lines changed
Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,91 @@
11
#!/usr/bin/env bash
22

3+
# See https://github.com/truffleruby/truffleruby/blob/master/README.md#dependencies
4+
5+
truffleruby_major="${ruby_version%%.*}"
6+
37
case "$package_manager" in
48
apt)
59
ruby_dependencies=(
610
make
711
gcc
812
zlib1g-dev
9-
libssl-dev
10-
libxml2
11-
libyaml-dev
13+
ca-certificates
1214
)
1315
;;
14-
dnf|yum)
16+
dnf|yum|zypper)
1517
ruby_dependencies=(
1618
make
1719
gcc
1820
zlib-devel
19-
openssl-devel
20-
libxml2
21-
libyaml-devel
21+
ca-certificates
2222
)
2323
;;
2424
pacman)
2525
ruby_dependencies=(
2626
make
2727
gcc
2828
zlib
29-
openssl
30-
libxml2
31-
libyaml
32-
)
33-
;;
34-
zypper)
35-
ruby_dependencies=(
36-
make
37-
gcc
38-
zlib-devel
39-
libopenssl-devel
40-
libxml2
41-
libyaml-devel
29+
ca-certificates
4230
)
4331
;;
4432
port)
4533
ruby_dependencies=(
46-
openssl
47-
libyaml
34+
curl-ca-bundle
4835
)
4936
;;
5037
brew)
5138
ruby_dependencies=(
52-
openssl@3
53-
libyaml
39+
ca-certificates
5440
)
5541
;;
5642
pkg)
5743
ruby_dependencies=(
5844
gmake
5945
gcc
60-
openssl
61-
libxml2
62-
libyaml
46+
ca-certificates
6347
)
6448
;;
6549
xbps)
6650
ruby_dependencies=(
6751
base-devel
68-
openssl-devel
6952
zlib-devel
70-
libxml2
71-
libyaml-devel
53+
ca-certificates
7254
)
7355
;;
7456
esac
57+
58+
if (( truffleruby_major < 33 )); then
59+
case "$package_manager" in
60+
apt)
61+
ruby_dependencies+=(
62+
libssl-dev
63+
libyaml-dev
64+
)
65+
;;
66+
dnf|yum|xbps)
67+
ruby_dependencies+=(
68+
openssl-devel
69+
libyaml-devel
70+
)
71+
;;
72+
pacman|port|pkg)
73+
ruby_dependencies+=(
74+
openssl
75+
libyaml
76+
)
77+
;;
78+
zypper)
79+
ruby_dependencies+=(
80+
libopenssl-devel
81+
libyaml-devel
82+
)
83+
;;
84+
brew)
85+
ruby_dependencies+=(
86+
openssl@3
87+
libyaml
88+
)
89+
;;
90+
esac
91+
fi

test/truffleruby-tests/dependencies_tests.sh

Lines changed: 108 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ function test_when_package_manager_is_apt()
1717
source "$ruby_install_dir/$ruby/dependencies.sh"
1818

1919
assertEquals "did not correctly set \$ruby_dependencies" \
20-
"${ruby_dependencies[*]}" \
21-
"make gcc zlib1g-dev libssl-dev libxml2 libyaml-dev"
20+
"make gcc zlib1g-dev ca-certificates libssl-dev libyaml-dev" \
21+
"${ruby_dependencies[*]}"
2222

2323
package_manager="$original_package_manager"
2424
}
@@ -31,8 +31,8 @@ function test_when_package_manager_is_dnf()
3131
source "$ruby_install_dir/$ruby/dependencies.sh"
3232

3333
assertEquals "did not correctly set \$ruby_dependencies" \
34-
"${ruby_dependencies[*]}" \
35-
"make gcc zlib-devel openssl-devel libxml2 libyaml-devel"
34+
"make gcc zlib-devel ca-certificates openssl-devel libyaml-devel" \
35+
"${ruby_dependencies[*]}"
3636

3737
package_manager="$original_package_manager"
3838
}
@@ -45,8 +45,8 @@ function test_when_package_manager_is_yum()
4545
source "$ruby_install_dir/$ruby/dependencies.sh"
4646

4747
assertEquals "did not correctly set \$ruby_dependencies" \
48-
"${ruby_dependencies[*]}" \
49-
"make gcc zlib-devel openssl-devel libxml2 libyaml-devel"
48+
"make gcc zlib-devel ca-certificates openssl-devel libyaml-devel" \
49+
"${ruby_dependencies[*]}"
5050

5151
package_manager="$original_package_manager"
5252
}
@@ -59,8 +59,8 @@ function test_when_package_manager_is_port()
5959
source "$ruby_install_dir/$ruby/dependencies.sh"
6060

6161
assertEquals "did not correctly set \$ruby_dependencies" \
62-
"${ruby_dependencies[*]}" \
63-
"openssl libyaml"
62+
"curl-ca-bundle openssl libyaml" \
63+
"${ruby_dependencies[*]}"
6464

6565
package_manager="$original_package_manager"
6666
}
@@ -73,8 +73,8 @@ function test_when_package_manager_is_brew()
7373
source "$ruby_install_dir/$ruby/dependencies.sh"
7474

7575
assertEquals "did not correctly set \$ruby_dependencies" \
76-
"${ruby_dependencies[*]}" \
77-
"openssl@3 libyaml"
76+
"ca-certificates openssl@3 libyaml" \
77+
"${ruby_dependencies[*]}"
7878

7979
package_manager="$original_package_manager"
8080
}
@@ -87,8 +87,8 @@ function test_when_package_manager_is_pacman()
8787
source "$ruby_install_dir/$ruby/dependencies.sh"
8888

8989
assertEquals "did not correctly set \$ruby_dependencies" \
90-
"${ruby_dependencies[*]}" \
91-
"make gcc zlib openssl libxml2 libyaml"
90+
"make gcc zlib ca-certificates openssl libyaml" \
91+
"${ruby_dependencies[*]}"
9292

9393
package_manager="$original_package_manager"
9494
}
@@ -101,8 +101,8 @@ function test_when_package_manager_is_zypper()
101101
source "$ruby_install_dir/$ruby/dependencies.sh"
102102

103103
assertEquals "did not correctly set \$ruby_dependencies" \
104-
"${ruby_dependencies[*]}" \
105-
"make gcc zlib-devel libopenssl-devel libxml2 libyaml-devel"
104+
"make gcc zlib-devel ca-certificates libopenssl-devel libyaml-devel" \
105+
"${ruby_dependencies[*]}"
106106

107107
package_manager="$original_package_manager"
108108
}
@@ -115,8 +115,8 @@ function test_when_package_manager_is_pkg()
115115
source "$ruby_install_dir/$ruby/dependencies.sh"
116116

117117
assertEquals "did not correctly set \$ruby_dependencies" \
118-
"${ruby_dependencies[*]}" \
119-
"gmake gcc openssl libxml2 libyaml"
118+
"gmake gcc ca-certificates openssl libyaml" \
119+
"${ruby_dependencies[*]}"
120120

121121
package_manager="$original_package_manager"
122122
}
@@ -129,8 +129,98 @@ function test_when_package_manager_is_xbps()
129129
source "$ruby_install_dir/$ruby/dependencies.sh"
130130

131131
assertEquals "did not correctly set \$ruby_dependencies" \
132-
"${ruby_dependencies[*]}" \
133-
"base-devel openssl-devel zlib-devel libxml2 libyaml-devel"
132+
"base-devel zlib-devel ca-certificates openssl-devel libyaml-devel" \
133+
"${ruby_dependencies[*]}"
134+
135+
package_manager="$original_package_manager"
136+
}
137+
138+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_apt()
139+
{
140+
local original_package_manager="$package_manager"
141+
package_manager="apt"
142+
ruby_version="33.0.0"
143+
144+
source "$ruby_install_dir/$ruby/dependencies.sh"
145+
146+
assertEquals "did not correctly set \$ruby_dependencies" \
147+
"make gcc zlib1g-dev ca-certificates" \
148+
"${ruby_dependencies[*]}"
149+
150+
package_manager="$original_package_manager"
151+
}
152+
153+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_dnf()
154+
{
155+
local original_package_manager="$package_manager"
156+
package_manager="dnf"
157+
ruby_version="33.0.0"
158+
159+
source "$ruby_install_dir/$ruby/dependencies.sh"
160+
161+
assertEquals "did not correctly set \$ruby_dependencies" \
162+
"make gcc zlib-devel ca-certificates" \
163+
"${ruby_dependencies[*]}"
164+
165+
package_manager="$original_package_manager"
166+
}
167+
168+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_pacman()
169+
{
170+
local original_package_manager="$package_manager"
171+
package_manager="pacman"
172+
ruby_version="33.0.0"
173+
174+
source "$ruby_install_dir/$ruby/dependencies.sh"
175+
176+
assertEquals "did not correctly set \$ruby_dependencies" \
177+
"make gcc zlib ca-certificates" \
178+
"${ruby_dependencies[*]}"
179+
180+
package_manager="$original_package_manager"
181+
}
182+
183+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_port()
184+
{
185+
local original_package_manager="$package_manager"
186+
package_manager="port"
187+
ruby_version="33.0.0"
188+
189+
source "$ruby_install_dir/$ruby/dependencies.sh"
190+
191+
assertEquals "did not correctly set \$ruby_dependencies" \
192+
"curl-ca-bundle" \
193+
"${ruby_dependencies[*]}"
194+
195+
package_manager="$original_package_manager"
196+
}
197+
198+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_brew()
199+
{
200+
local original_package_manager="$package_manager"
201+
package_manager="brew"
202+
ruby_version="33.0.0"
203+
204+
source "$ruby_install_dir/$ruby/dependencies.sh"
205+
206+
assertEquals "did not correctly set \$ruby_dependencies" \
207+
"ca-certificates" \
208+
"${ruby_dependencies[*]}"
209+
210+
package_manager="$original_package_manager"
211+
}
212+
213+
function test_when_ruby_version_is_at_least_33_and_package_manager_is_xbps()
214+
{
215+
local original_package_manager="$package_manager"
216+
package_manager="xbps"
217+
ruby_version="33.0.0"
218+
219+
source "$ruby_install_dir/$ruby/dependencies.sh"
220+
221+
assertEquals "did not correctly set \$ruby_dependencies" \
222+
"base-devel zlib-devel ca-certificates" \
223+
"${ruby_dependencies[*]}"
134224

135225
package_manager="$original_package_manager"
136226
}

0 commit comments

Comments
 (0)