aboutsummaryrefslogtreecommitdiff
path: root/extra/ruby/build
diff options
context:
space:
mode:
authorCem Keylan <cem@ckyln.com>2022-12-08 16:38:17 +0100
committerCem Keylan <cem@ckyln.com>2022-12-08 16:38:17 +0100
commit13247c931a3088db6e93a636e9f54df305ccca13 (patch)
tree5557cb35cbdac35a6b44af1f59ddd097b0ea1a2e /extra/ruby/build
parentf5f3e7a7ca7d75a6e24291d621f977e529c9fae2 (diff)
downloadrepository-13247c931a3088db6e93a636e9f54df305ccca13.tar.gz
ruby: bump to 3.1.3
Diffstat (limited to 'extra/ruby/build')
-rwxr-xr-xextra/ruby/build32
1 files changed, 32 insertions, 0 deletions
diff --git a/extra/ruby/build b/extra/ruby/build
index 9e60677f..aedc8a2a 100755
--- a/extra/ruby/build
+++ b/extra/ruby/build
@@ -3,6 +3,38 @@
# There is a problem with the archive format so we can't extract it with pax.
busybox tar -xJ --strip-components 1 -f "ruby-$2.tar.xz?no_extract"
+# This build problem occurs in the latest libressl series, I don't exactly know
+# if this is an issue with ruby or libressl, so below here is an absolute hack.
+clsed '/#include "ossl.h"/r /dev/stdin' ext/openssl/ossl_pkey.c <<EOF
+struct evp_pkey_st {
+ int type;
+ int save_type;
+ int references;
+ const EVP_PKEY_ASN1_METHOD *ameth;
+ ENGINE *engine;
+ union {
+ char *ptr;
+#ifndef OPENSSL_NO_RSA
+ struct rsa_st *rsa; /* RSA */
+#endif
+#ifndef OPENSSL_NO_DSA
+ struct dsa_st *dsa; /* DSA */
+#endif
+#ifndef OPENSSL_NO_DH
+ struct dh_st *dh; /* DH */
+#endif
+#ifndef OPENSSL_NO_EC
+ struct ec_key_st *ec; /* ECC */
+#endif
+#ifndef OPENSSL_NO_GOST
+ struct gost_key_st *gost; /* GOST */
+#endif
+ } pkey;
+ int save_parameters;
+ STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */
+} /* EVP_PKEY */;
+EOF
+
./configure \
--prefix=/usr \
--enable-shared \