mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
96 lines
3.3 KiB
Ruby
96 lines
3.3 KiB
Ruby
require 'buildsystems/autotools'
|
|
|
|
class Gnutls < Autotools
|
|
description 'GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them.'
|
|
homepage 'https://gnutls.org/'
|
|
version '3.8.8'
|
|
license 'GPL-3'
|
|
compatibility 'all'
|
|
source_url "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-#{version}.tar.xz"
|
|
source_sha256 'ac4f020e583880b51380ed226e59033244bc536cad2623f2e26f5afa2939d8fb'
|
|
binary_compression 'tar.zst'
|
|
|
|
binary_sha256({
|
|
aarch64: 'c8701d58b98064f28e3483a0437de774f8457cd1922ce72ab6d51b273a1cd771',
|
|
armv7l: 'c8701d58b98064f28e3483a0437de774f8457cd1922ce72ab6d51b273a1cd771',
|
|
i686: '98ddf3fe0313c215f0e769b6c2f2d65f33a7ecb9709db946826c8d142a5c5b81',
|
|
x86_64: '05593f2162c5f8bc21f9b6f7ec8b3957eb9b6e18bef262cbe52192b95315e4b1'
|
|
})
|
|
|
|
depends_on 'brotli' # R
|
|
depends_on 'ca_certificates' # L
|
|
depends_on 'gcc_lib' # R
|
|
depends_on 'glibc' # R
|
|
depends_on 'gmp' # R
|
|
depends_on 'libffi' => :build
|
|
depends_on 'libidn2' # R
|
|
depends_on 'libtasn1' # R
|
|
depends_on 'libunbound' # R
|
|
depends_on 'libunistring' # R
|
|
depends_on 'nettle' # R
|
|
depends_on 'openssl' # R
|
|
depends_on 'p11kit' # R
|
|
depends_on 'trousers' => :build
|
|
depends_on 'zlib' # R
|
|
depends_on 'zstd' # R
|
|
|
|
no_lto
|
|
|
|
def self.prebuild
|
|
# Use IPv4 fallback if default connection fails.
|
|
system "#{CREW_PREFIX}/sbin/unbound-anchor -a '#{CREW_PREFIX}/etc/unbound/root.key' || #{CREW_PREFIX}/sbin/unbound-anchor -4 -a '#{CREW_PREFIX}/etc/unbound/root.key'"
|
|
# Rebuild ca-certificates.
|
|
system "#{CREW_PREFIX}/bin/update-ca-certificates --fresh --certsconf #{CREW_PREFIX}/etc/ca-certificates.conf"
|
|
end
|
|
|
|
configure_options "--enable-shared \
|
|
--with-pic \
|
|
--with-system-priority-file=#{CREW_PREFIX}/etc/gnutls/default-priorities \
|
|
--with-trousers-lib=#{CREW_LIB_PREFIX}/libtspi.so.1 \
|
|
--with-unbound-root-key-file=#{CREW_PREFIX}/etc/unbound/root.key \
|
|
--with-default-trust-store-file=#{CREW_PREFIX}/etc/ssl/certs/ca-certificates.crt"
|
|
|
|
def self.check
|
|
# There are numerous failures in the test suite on all systems.
|
|
# FAIL: tls13/key_share
|
|
# FAIL: tls13/compress-cert
|
|
# FAIL: tls13/compress-cert-neg
|
|
# FAIL: tls13/compress-cert-neg2
|
|
# FAIL: tls13/compress-cert-cli
|
|
# FAIL: tls13/psk-ke-modes
|
|
# FAIL: simple
|
|
# FAIL: pkcs12_encode
|
|
# FAIL: x509cert-ct
|
|
# FAIL: key-openssl
|
|
# FAIL: fips-test
|
|
# FAIL: rsa-rsa-pss
|
|
# FAIL: privkey-keygen
|
|
# FAIL: aead-cipher-vec
|
|
# FAIL: kdf-api
|
|
# FAIL: ciphersuite-name
|
|
# FAIL: x509-upnconstraint
|
|
# FAIL: cipher-padding
|
|
# FAIL: pkcs7-verify-double-free
|
|
# FAIL: privkey-keygen
|
|
# FAIL: aead-cipher-vec
|
|
# FAIL: kdf-api
|
|
# FAIL: ciphersuite-name
|
|
# FAIL: x509-upnconstraint
|
|
# FAIL: cipher-padding
|
|
# FAIL: pkcs7-verify-double-free
|
|
# FAIL: fips-rsa-sizes
|
|
# FAIL: tls12-resume-psk
|
|
# FAIL: tls12-resume-x509
|
|
# FAIL: tls12-resume-anon
|
|
# FAIL: tls13-resume-psk
|
|
# FAIL: tls13-resume-x509
|
|
# FAIL: record-sendfile
|
|
# FAIL: system-override-sig-tls.sh
|
|
# FAIL: system-override-sig-allowlist.sh
|
|
# FAIL: system-override-hash-allowlist.sh
|
|
# FAIL: system-override-curves-allowlist.sh
|
|
# FAIL: protocol-set-allowlist.sh
|
|
system 'make check || true'
|
|
end
|
|
end
|