-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path2.5.9
More file actions
41 lines (38 loc) · 1.95 KB
/
Copy path2.5.9
File metadata and controls
41 lines (38 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
install_bundler() {
"$PREFIX_PATH"/bin/gem install bundler:1.17.3
"$PREFIX_PATH"/bin/gem install bundler:2.3.27
}
# -march=native was here and has been dropped: measured ~12% *slower* than plain -O3 on
# Zen 4, worst on numeric loops (-16% integer, -21% float). Microbenchmarks are the
# friendliest case for it, so there's no reason to expect a win on real work either.
#
# -fno-strict-overflow guards fixnum overflow checks that assume signed overflow wraps —
# undefined behaviour GCC exploits from -O2 up. 2.5 uses builtin overflow intrinsics and
# doesn't strictly need it, but it's free (within noise here) and keeps every definition
# in this repo on the same flags.
RUBY_CFLAGS="-O3 -fno-strict-overflow"
case "$(cc -v 2>&1)" in
*gcc*)
RUBY_CFLAGS+=" -Wno-discarded-qualifiers"
RUBY_CFLAGS+=" -Wno-incompatible-pointer-types"
RUBY_CFLAGS+=" -Wno-int-conversion"
RUBY_CFLAGS+=" -Wno-return-type"
# GCC 15 porting: Use -std=gnu99 with relaxed type checking
RUBY_CFLAGS+=" -std=gnu99 -Wno-error=implicit-function-declaration"
;;
*clang*)
RUBY_CFLAGS+=" -Wno-compound-token-split-by-macro"
RUBY_CFLAGS+=" -Wno-implicit-function-declaration"
RUBY_CFLAGS+=" -Wno-incompatible-function-pointer-types"
RUBY_CFLAGS+=" -Wno-int-conversion"
RUBY_CFLAGS+=" -Wno-return-type"
;;
esac
export RUBY_CFLAGS
# Disable BASERUBY to avoid erb dependency issues on Arch Linux
# (system Ruby 3.4+ doesn't include erb bundled gem, which breaks bootstrap)
package_option ruby configure --with-baseruby=no
package_option ruby configure --with-out-ext=tcl --with-out-ext=tk --disable-install-doc
install_package "openssl-1.1.1w" "https://www.openssl.org/source/openssl-1.1.1w.tar.gz#cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8" openssl
install_package "ruby-2.5.9" "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.9.tar.bz2#bebbe3fe7899acd3ca2f213de38158709555e88a13f85ba5dc95239654bcfeeb" enable_shared standard
install_bundler