Files
chromebrew/packages/gnutls.rb
Maximilian Downey Twiss f8f2128c2d Rename zlibpkg to zlib (#9859)
2024-07-26 00:23:05 -05:00

96 lines
3.2 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.1-1'
license 'GPL-3'
compatibility 'all'
source_url 'https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar.xz'
source_sha256 'ba8b9e15ae20aba88f44661978f5b5863494316fe7e722ede9d069fe6294829c'
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'b4ee521f0f9f8f35e5198e1c28d884fbaca674a9c17d19bcf1327695857135a9',
armv7l: 'b4ee521f0f9f8f35e5198e1c28d884fbaca674a9c17d19bcf1327695857135a9',
i686: '11a0532b28c6f962f058ae126e7adb9873b73978d96f317e248abc6ab8f4ff32',
x86_64: '895c33db8c7b5e4757dfeae885ae55c9df8add73c9fa5ddbd529c475adbe883d'
})
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