Files
chromebrew/packages/libgcrypt.rb
2024-09-13 15:55:38 -04:00

41 lines
1.6 KiB
Ruby

require 'buildsystems/autotools'
class Libgcrypt < Autotools
description 'Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG.'
homepage 'https://www.gnupg.org/related_software/libgcrypt/index.html'
version '1.11.0'
license 'LGPL-2.1 and MIT'
compatibility 'all'
source_url "https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-#{version}.tar.bz2"
source_sha256 '09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c'
binary_compression 'tar.zst'
binary_sha256({
aarch64: '3084b4d1869a8ff6d5daa76dcf9451378795fdac5af9182bda7a0a7b9d4f079c',
armv7l: '3084b4d1869a8ff6d5daa76dcf9451378795fdac5af9182bda7a0a7b9d4f079c',
i686: '85c818af47cfe64df3acab5e5e1e54a5ad98ce3495e6cf3d703568222b0d196d',
x86_64: 'cd0fb26e325aebc496d8b539f2f6b6744446b49caa1b34d9a1d5061b7dd502e9'
})
depends_on 'gcc_lib' # R
depends_on 'glibc' # R
depends_on 'libgpg_error' # R
configure_options '--enable-static \
--enable-shared'
def self.patch
# Fix error: 'asm' operand has impossible constraints or there are not enough registers
# See https://dev.gnupg.org/T7226.
if %w[aarch64 armv7l].include?(ARCH)
puts 'Downloading patch...'.yellow
downloader 'https://files.gnupg.net/file/download/4axfkyiszlsm4qgf5lxy/PHID-FILE-k3tzb5qnxdtsfvvpd7q4/0001-mpi-ec-inline-reduce-register-pressure-on-32-bit-ARM.patch',
'de543d9d5bfcfb91090c0ebbe46b321344686130cbe5f214ca86c9f8c040d5fa'
puts 'Applying patch...'.yellow
system 'git apply 0001-mpi-ec-inline-reduce-register-pressure-on-32-bit-ARM.patch'
end
end
run_tests
end