This disables more tests when building gpgme. This adds a significant
amount of installation time and it also currently prevents this gem from
being installed on MacOS.
On MacOS, it fails with a message like the following:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
With this change, installing the gpgme gem succeeds.
The motivation behind this PR is to use the latest versions of gpgme,
libassuan, and libgpg-error. This change will be useful to those
running ruby within Docker, where gpgme 1.9 has very poor performance
due to inefficiently attempting to close as many file descriptors as
RLIMIT_NOFILE on every spawn. This has been resolved in gpgme 1.12 by
checking directory entries in /proc/self/fd to determine how many file
descriptors to attempt to close.
Downloading files from FTP without checksum validation is insecure and open a potential security hole in the system. Instead, we will download library sources via HTTPS and then validate file signatures locally. This will make sure files are not modified in flight, and also will make sure that if somebody managed to replace files on the server – we will fail fast and stop compiling the potentially malicious code.
One of the major enhancements in mini_portile2 is to take `configure_options` literally without running in subshell, see: e77b909388.
The compatibility fix has been made at: 661739705e. Unfortunately this breaks build with mini_portile < 0.7 when `ENV['CFLAGS']` is present.
A gemspec dependency update seems to be necessary. But instead of depending any 0.7.0.rc* release, let's go straight into v2.
LIBPATH in the generated Makefile may contain -L$(archlibdir) before
the ports' lib directories. Disable path searching by resolving absolute
paths of locally built libraries.
Fixes issue #50.
The gcc linker searches and processes libraries and object files in the order
they are specified so building could fail when libassun functions could
not be found.
* Some versions of GNU install will error out if the install dir is the
same as the build dir.
(cherry picked from commit bbf5f9ca0c3ae8fbe56ec2dd42def1d66d1c8ea2)