view release on metacpan or search on metacpan
2.39_01 2021-05-12 04:14:06 -0600
- Add support for HTTP request headers on all appropriate core fetch plugins
(gh#256, gh#259)
- The fetch method on Alien::Build now has a http_headers option
(gh#256, gh#259)
- Fix bug where symlinks to directories were incorrectly being skipped
(gh#255, gh#260)
2.38 2021-01-11 14:35:54 -0700
- Fixed a bug the can cause an array dereference error in pkg-config command line
plugin on MSYS2 / MinGW environment (gh#243)
- Changed the auto-generated module name for Test::Alien, in a way that works
around a probable bug / issue with ExtUtils::CBuilder (gh#243)
2.37 2020-11-02 09:09:13 -0700
- Tests that rely on its behavior unset ALIEN_BUILD_PKG_CONFIG (gh#239)
2.36_01 2020-10-31 03:33:21 -0600
- Fixed a bug where Probe and PkgConfig plugins could provide compiler / linker flags
when the PkgConfig probe fails, but another probe succeed. (gh#238)
2.16_01 2020-03-17 13:56:13 -0600
- Probe::Vcpkg adds include property (gh#184)
- Build::Autoconf will now copy .dll files from bin to dynamic
directory on MSWin32 (gh#183)
2.15 2020-03-16 06:53:31 -0600
- Tests on Windows will use the system temp directory rather than
a temp directory under the install directory. A temp directory
under the install directory was used to work around typically
Linux systems that have noexec set on /tmp. Since this is less
normal on Windows, and can cause mkpath errors if the install
directory is too deep we will use the windows system temp directory.
(gh#181, gh#182)
2.14 2020-03-15 12:49:17 -0600
- Added ffi_name property to Probe::Vcpkg plugin (gh#179)
- Documentation fixes (gh#180)
2.12 2020-03-09 10:02:37 -0600
- Fixed bug where Probe::Vcpkg plugin doesn't set version probe hook
property (gh#178)
1.79 2019-07-15 14:26:16 -0400
- Fix CBuilder probe plugin on platforms where /tmp is mounted noexec (gh#133, gh#134)
1.78 2019-06-30 21:31:23 -0400
- Production release identical to 1.77_01
1.77_01 2019-06-28 12:08:12 -0400
- _alien/alien.json file is generated using ->canonical(1) for reproducibility
(gh#132 Grinnz++ for the suggestion)
- _alien/alien.json file is generated using ->ascii to avoid warnings / errors
when unicode is included in install/runtime properties.
(gh#132 Grinnz++ for the suggestion)
1.76 2019-06-23 11:01:08 -0400
- Production release identical to 1.75_01
1.75_01 2019-06-07 15:06:30 -0400
- Download::Negotiate defaults to Deocde::Mojo instead of Decode::HTML for
share installs that require parsing an HTML index (gh#127, gh#115).
- Production release identical to 1.35_01
1.35_01 2017-12-28 12:42:56 -0500
- Improve diagnostic in command line extraction test
1.34_01 2017-12-27 10:30:10 -0500
- Add env_interpolate meta property.
- PkgConfig plugins now attempt to set PKG_CONFIG environment variable during build
1.33_01 2017-11-08 11:54:19 -0500
- Improve diagnostic for partially installed Alien error
1.32 2017-11-03 13:15:35 -0400
- Add ALIEN_INSTALL_NETWORK environment variable. Set to false if you don't
want to allow network fetch.
1.31_01 2017-10-31 16:50:52 -0400
- Fix testing prereq bug introduced in 1.30_01.
1.30_01 2017-10-31 14:24:15 -0400
- Add prefer property to Download::Negotiate plugin
1.27_01 2017-10-27 10:26:18 -0400
- Fix incompatibility with older versions of ExtUtils::MakeMaker where test
directive in alienfile was ignored.
1.26_01 2017-10-25 12:28:58 -0400
- Fix Test::Alien bug where -L could be placed after directories specified in %Config
(this was already handled correctly by Alien::Base::Wrapper).
- Remove cpp and C++ options for xs_ok (I don't believe these were used in practice
and were issuing deprecation warnings for a while).
- A number of documentation errors have been fixed (jjatria++ leto++)
1.25 2017-10-09 08:57:34 -0400
- Production release identical to 1.24_01
1.24_01 2017-10-08 10:40:11 -0400
- Build process now considers share/pkgconfig in addition to lib/pkgconfig
for all things pkg-config related (gh#39, gh#40 a3f++)
1.23_01 2017-10-07 20:58:52 -0400
- Improve SSL diagnostics for Download::Negotiate and Fetch::HTTPTiny
see Changes.Alien-Base-Wrapper
0.63 2017-07-15 14:38:40 -0400
- Extract::CommandLine plugin to use Alien::Gzip, Alien::Libbz2 and Alien::xz
when gzip, bzip2 or xz is not provided by operating system
0.62 2017-07-13 21:27:31 +0000
- Add support for rc file ~/.alienfile/rc.pl
- Add start_url meta property
- Fetch plugins use start_url property by default
- Turn off Test2::Plugin::SRand, which seemed to be triggering an error in File::Temp
see fd3208bfe8613aae63e4439aa1f4c78d01be086e
0.61 2017-07-13 11:10:46 +0000
- Add passive property to Download::Negotiate plugin
- Add passive property to Fetch::NetFTP plugin
- Add log directive to alienfile
0.60 2017-07-12 22:26:22 -0400
- Fix broken test t/01_use.t
0.14 2017-02-09 02:07:09 -0500
- Add meta directive to alienfile.
- Use .pc files from dependant Aliens that used Alien::Build
- Work around for elder Perls 5.8.7 and earlier
0.12 2017-02-08 15:39:56 -0500
- Added Probe::GnuWin32 plugin
0.11 2017-02-08 07:56:08 -0500
- Fixed regression in architecture logic for Alien::Build::MM
- Fix bug where compile error wouldn't throw exception from
Alien::Build->load
0.10 2017-02-06 05:24:25 -0500
- Add heuristic to determine version from filename using
Prefer::SortVersions plugin
- Add log method to Alien::Build
- Fixed bug in probe where first 'share' would be accepted (gh#7)
0.09 2017-02-04 17:31:00 -0500
- Using an undefined property in command interpolation is now an
error.
- Added patch support.
- Add meta property platform.compiler_type to flag Microsoft
Visual C++ ("microsoft") compared with everything else ("unix")
0.08 2017-02-04 11:33:01 -0500
- Fixed prereq bug introduced in 0.07
0.07 2017-02-04 11:21:13 -0500
- The namespace Alien::Build::Plugin::Core is reserved for plugins
that are automatically loaded for all instances of Alien::Build
0.04 2017-02-01 17:19:10 -0500
- Improved documentation
0.03 2017-02-01 11:56:07 -0500
- Fixed interpolator bug expressed in older versions of Perl
- Add patch hook to Alien::Build
- Add patch directive to alienfile
- Fixes for Microsoft Windows / Strawberry Perl
- Removed dangerous autosave option from Alien::Build
- Fixed error when trying to load modules without a $VERSION
- test suite now runs correctly if ALIEN_INSTALL_TYPE is set
- The Fetch::HTTPTiny and Fetch::LWP plugins now add the necessary
SSL modules if the URL is of the https scheme.
0.02 2017-01-31 13:22:29 -0500
- Extensive documentation improvements
(documentation is still fairly incomplete).
- Removed alienfile#prop
- Added alienfile#meta_prop
- Fixed a bug in Download::Negotiate and Prefer::SortVersions that
Changes.Alien-Base view on Meta::CPAN
- support for Inline 'with' (plicease gh#71, gh#77, gh#78)
- fix prereqs for Text::ParseWords and PkgConfig (plicease gh#73, gh#70)
0.005 Sep 11, 2014
- improved documentation coverage
0.004_05 Sep 09, 2014
- additional use / instead of \ on MSWin32 (plicease gh#68)
0.004_04 Sep 09, 2014
- fixed test error introduced in 0.004_03 expressed on cygwin (plicease gh#67)
0.004_03 Sep 09, 2014
- added support for destdir (plicease gh#65, gh#39)
- no longer attempt to dl_load static libraries, which aside from being
wrong was triggering a dialog warning in windows (plicease gh#64)
- use / instead of \ on MSWin32 (plicease gh#64)
0.004_02 Sep 04, 2014
- fixed MSWin32 specific bug introduced in 0.004_01 (plicease gh#59)
- use pure perl PkgConfig as an alternative to pkg-config if the latter
Changes.Alien-Base view on Meta::CPAN
- separate alien_{x}_commands where x = build, test, install
- removed mac specific code
- no longer test provisioning (it never worked anyway)
- directly allow library to install to final share_dir destination
- Moved Alien::DontPanic and Ford::Prefect to CPAN under Acme:: namespaces
0.000_021 Jul 25, 2012
- Some fixes for Mac, not sure its working yet
0.000_020 Jun 22, 2012
- Windows now passes the test suite (another cleanup error trapped)
- Begin overloading copy_if_modified for relocalizing dylibs on mac
(this is not working yet, this release is for windows testers)
0.000_019 Jun 21, 2012
- REALLY return to EU::LibBuilder (sorry for the noise)
0.000_018 Jun 21, 2012
- return to EU::LibBuilder
0.000_017 May 6, 2012
Changes.Alien-Base view on Meta::CPAN
- More bugfixes
0.000_006 Apr 3, 2012
- Yet anther bugfix(?) release
0.000_005 Apr 2, 2012
- Bugfix: A::B::PkgConfig _manual key shouldn't emit undef values
0.000_004 Apr 2, 2012
- Don't mangle LD_RUN_PATH if system installed
- Bugfix related to dreaded '"Can't call method "keyword" on an undefined value' error
- Made t/yy-system_installed.t smarter on picking a library for testing
0.000_003 Mar 18, 2012
- Require safer File::chdir
- Fixed "Bad File Descriptor" bug calling pkg-config
0.000_002 Mar 18, 2012
- More documentation
- Smarter in handling user-provided pkg-config data
- Generates pkg-config data from file structure if not defined
corpus/alien_build_plugin_fetch_curlcommand/record/old.json view on Meta::CPAN
{"-l ftp://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus/":{"stdout":"","files":{},"stderr":" % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total S...
corpus/alien_build_plugin_fetch_curlcommand/record/old.yml view on Meta::CPAN
---
-L -O -J -f -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html:
exit: 22
files: {}
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :bogus.html
ab-content_type :
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html
-L -O -J -f -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar:
exit: 0
files:
foo-1.01.tar: "content:foo-1.01\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
corpus/alien_build_plugin_fetch_curlcommand/record/old.yml view on Meta::CPAN
files:
html_test.html: "<html><head><title>Hello World</title></head><body><p>Hello World</p></body></html>\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :html_test.html
ab-content_type :text/html;charset=UTF-8
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html
-L -f -O -J -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html:
exit: 22
files: {}
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :bogus.html
ab-content_type :
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html
-L -f -O -J -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar:
exit: 0
files:
foo-1.01.tar: "content:foo-1.01\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
corpus/alien_build_plugin_fetch_curlcommand/record/old.yml view on Meta::CPAN
files:
html_test.html: "<html><head><title>Hello World</title></head><body><p>Hello World</p></body></html>\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :html_test.html
ab-content_type :text/html;charset=UTF-8
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html
-L -f -O -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html:
exit: 22
files: {}
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :bogus.html
ab-content_type :
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html
-L -f -O -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar:
exit: 0
files:
foo-1.01.tar: "content:foo-1.01\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
corpus/alien_build_plugin_fetch_curlcommand/record/old.yml view on Meta::CPAN
files:
html_test.html: "<html><head><title>Hello World</title></head><body><p>Hello World</p></body></html>\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :html_test.html
ab-content_type :text/html;charset=UTF-8
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/html_test.html
-L -f -o content -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html:
exit: 22
files: {}
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
ab-filename :content
ab-content_type :
ab-url :http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/bogus.html
-L -f -o content -w @writeout http://localhost/corpus/alien_build_plugin_fetch_curlcommand/dir/foo-1.01.tar:
exit: 0
files:
content: "content:foo-1.01\n"
stderr: " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- ...
stdout: |-
corpus/alien_build_plugin_fetch_wget/record/old.json view on Meta::CPAN
{"-k --content-disposition -S http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar":{"stderr":"--2021-05-12 00:10:35-- http://localhost/corpus/alien_build_plugin_fetch_wget/dir/foo-1.01.tar\nResolving localhost (localhost)... ::1, ...
corpus/alien_build_plugin_fetch_wget/record/old.yml view on Meta::CPAN
-F, --force-html treat input file as HTML
-B, --base=URL resolves HTML input-file links (-i -F)
relative to URL
--config=FILE specify config file to use
--no-config do not read any config file
--rejected-log=FILE log reasons for URL rejection to FILE
Download:
-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits)
--retry-connrefused retry even if connection is refused
--retry-on-http-error=ERRORS comma-separated list of HTTP errors to retry
-O, --output-document=FILE write documents to FILE
-nc, --no-clobber skip downloads that would download to
existing files (overwriting them)
--no-netrc don't try to obtain credentials from .netrc
-c, --continue resume getting a partially-downloaded file
--start-pos=OFFSET start downloading from zero-based position OFFSET
--progress=TYPE select progress gauge type
--show-progress display the progress bar in any verbosity mode
-N, --timestamping don't re-retrieve files unless newer than
local
corpus/alien_build_plugin_fetch_wget/record/old.yml view on Meta::CPAN
--load-cookies=FILE load cookies from FILE before session
--save-cookies=FILE save cookies to FILE after session
--keep-session-cookies load and save session (non-permanent) cookies
--post-data=STRING use the POST method; send STRING as the data
--post-file=FILE use the POST method; send contents of FILE
--method=HTTPMethod use method "HTTPMethod" in the request
--body-data=STRING send STRING as data. --method MUST be set
--body-file=FILE send contents of FILE. --method MUST be set
--content-disposition honor the Content-Disposition header when
choosing local file names (EXPERIMENTAL)
--content-on-error output the received content on server errors
--auth-no-challenge send Basic HTTP authentication information
without first waiting for the server's
challenge
HTTPS (SSL/TLS) options:
--secure-protocol=PR choose secure protocol, one of auto, SSLv2,
SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS
--https-only only follow secure HTTPS links
--no-check-certificate don't validate the server's certificate
--certificate=FILE client certificate file
corpus/cmake-libpalindrome/palx/main.c view on Meta::CPAN
#include <libpalindrome.h>
int
main(int argc, char *argv[])
{
/*
* If we do not have EXACTLY one argument,
* return a usage error.
*/
if(argc != 2)
return 1;
if(is_palindrome(argv[1]))
return 0;
else
return 2;
}
corpus/vcpkg/r2/installed/vcpkg/info/libxml2_2.9.9-5_x64-windows.list view on Meta::CPAN
x64-windows/include/libxml/schemasInternals.h
x64-windows/include/libxml/schematron.h
x64-windows/include/libxml/threads.h
x64-windows/include/libxml/tree.h
x64-windows/include/libxml/uri.h
x64-windows/include/libxml/valid.h
x64-windows/include/libxml/xinclude.h
x64-windows/include/libxml/xlink.h
x64-windows/include/libxml/xmlIO.h
x64-windows/include/libxml/xmlautomata.h
x64-windows/include/libxml/xmlerror.h
x64-windows/include/libxml/xmlexports.h
x64-windows/include/libxml/xmlmemory.h
x64-windows/include/libxml/xmlmodule.h
x64-windows/include/libxml/xmlreader.h
x64-windows/include/libxml/xmlregexp.h
x64-windows/include/libxml/xmlsave.h
x64-windows/include/libxml/xmlschemas.h
x64-windows/include/libxml/xmlschemastypes.h
x64-windows/include/libxml/xmlstring.h
x64-windows/include/libxml/xmlunicode.h
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/ENGINE_unregister_RAND.html
x64-windows/debug/html/man3/ENGINE_unregister_RSA.html
x64-windows/debug/html/man3/ENGINE_unregister_ciphers.html
x64-windows/debug/html/man3/ENGINE_unregister_digests.html
x64-windows/debug/html/man3/ENGINE_up_ref.html
x64-windows/debug/html/man3/ERR_FATAL_ERROR.html
x64-windows/debug/html/man3/ERR_GET_FUNC.html
x64-windows/debug/html/man3/ERR_GET_LIB.html
x64-windows/debug/html/man3/ERR_GET_REASON.html
x64-windows/debug/html/man3/ERR_PACK.html
x64-windows/debug/html/man3/ERR_add_error_data.html
x64-windows/debug/html/man3/ERR_add_error_vdata.html
x64-windows/debug/html/man3/ERR_clear_error.html
x64-windows/debug/html/man3/ERR_error_string.html
x64-windows/debug/html/man3/ERR_error_string_n.html
x64-windows/debug/html/man3/ERR_free_strings.html
x64-windows/debug/html/man3/ERR_func_error_string.html
x64-windows/debug/html/man3/ERR_get_error.html
x64-windows/debug/html/man3/ERR_get_error_line.html
x64-windows/debug/html/man3/ERR_get_error_line_data.html
x64-windows/debug/html/man3/ERR_get_next_error_library.html
x64-windows/debug/html/man3/ERR_lib_error_string.html
x64-windows/debug/html/man3/ERR_load_crypto_strings.html
x64-windows/debug/html/man3/ERR_load_strings.html
x64-windows/debug/html/man3/ERR_peek_error.html
x64-windows/debug/html/man3/ERR_peek_error_line.html
x64-windows/debug/html/man3/ERR_peek_error_line_data.html
x64-windows/debug/html/man3/ERR_peek_last_error.html
x64-windows/debug/html/man3/ERR_peek_last_error_line.html
x64-windows/debug/html/man3/ERR_peek_last_error_line_data.html
x64-windows/debug/html/man3/ERR_pop_to_mark.html
x64-windows/debug/html/man3/ERR_print_errors.html
x64-windows/debug/html/man3/ERR_print_errors_cb.html
x64-windows/debug/html/man3/ERR_print_errors_fp.html
x64-windows/debug/html/man3/ERR_put_error.html
x64-windows/debug/html/man3/ERR_reason_error_string.html
x64-windows/debug/html/man3/ERR_remove_state.html
x64-windows/debug/html/man3/ERR_remove_thread_state.html
x64-windows/debug/html/man3/ERR_set_mark.html
x64-windows/debug/html/man3/ESS_CERT_ID_dup.html
x64-windows/debug/html/man3/ESS_CERT_ID_free.html
x64-windows/debug/html/man3/ESS_CERT_ID_new.html
x64-windows/debug/html/man3/ESS_ISSUER_SERIAL_dup.html
x64-windows/debug/html/man3/ESS_ISSUER_SERIAL_free.html
x64-windows/debug/html/man3/ESS_ISSUER_SERIAL_new.html
x64-windows/debug/html/man3/ESS_SIGNING_CERT_dup.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/OSSL_STORE_INFO_type_string.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_CTX.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_free.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_get0_engine.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_get0_scheme.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_new.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_close.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_ctrl.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_eof.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_error.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_expect.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_find.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_load.html
x64-windows/debug/html/man3/OSSL_STORE_LOADER_set_open.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_by_alias.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_by_name.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_free.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_get0_name.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_get0_serial.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_get0_string.html
x64-windows/debug/html/man3/OSSL_STORE_SEARCH_get_type.html
x64-windows/debug/html/man3/OSSL_STORE_close.html
x64-windows/debug/html/man3/OSSL_STORE_close_fn.html
x64-windows/debug/html/man3/OSSL_STORE_ctrl.html
x64-windows/debug/html/man3/OSSL_STORE_ctrl_fn.html
x64-windows/debug/html/man3/OSSL_STORE_eof.html
x64-windows/debug/html/man3/OSSL_STORE_eof_fn.html
x64-windows/debug/html/man3/OSSL_STORE_error.html
x64-windows/debug/html/man3/OSSL_STORE_error_fn.html
x64-windows/debug/html/man3/OSSL_STORE_expect.html
x64-windows/debug/html/man3/OSSL_STORE_expect_fn.html
x64-windows/debug/html/man3/OSSL_STORE_find.html
x64-windows/debug/html/man3/OSSL_STORE_find_fn.html
x64-windows/debug/html/man3/OSSL_STORE_load.html
x64-windows/debug/html/man3/OSSL_STORE_load_fn.html
x64-windows/debug/html/man3/OSSL_STORE_open.html
x64-windows/debug/html/man3/OSSL_STORE_open_fn.html
x64-windows/debug/html/man3/OSSL_STORE_post_process_info_fn.html
x64-windows/debug/html/man3/OSSL_STORE_register_loader.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/SSL_get_cipher_version.html
x64-windows/debug/html/man3/SSL_get_ciphers.html
x64-windows/debug/html/man3/SSL_get_client_CA_list.html
x64-windows/debug/html/man3/SSL_get_client_ciphers.html
x64-windows/debug/html/man3/SSL_get_client_random.html
x64-windows/debug/html/man3/SSL_get_current_cipher.html
x64-windows/debug/html/man3/SSL_get_default_passwd_cb.html
x64-windows/debug/html/man3/SSL_get_default_passwd_cb_userdata.html
x64-windows/debug/html/man3/SSL_get_default_timeout.html
x64-windows/debug/html/man3/SSL_get_early_data_status.html
x64-windows/debug/html/man3/SSL_get_error.html
x64-windows/debug/html/man3/SSL_get_ex_data.html
x64-windows/debug/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html
x64-windows/debug/html/man3/SSL_get_extms_support.html
x64-windows/debug/html/man3/SSL_get_fd.html
x64-windows/debug/html/man3/SSL_get_info_callback.html
x64-windows/debug/html/man3/SSL_get_key_update_type.html
x64-windows/debug/html/man3/SSL_get_max_cert_list.html
x64-windows/debug/html/man3/SSL_get_max_early_data.html
x64-windows/debug/html/man3/SSL_get_max_proto_version.html
x64-windows/debug/html/man3/SSL_get_min_proto_version.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/SSL_in_accept_init.html
x64-windows/debug/html/man3/SSL_in_before.html
x64-windows/debug/html/man3/SSL_in_connect_init.html
x64-windows/debug/html/man3/SSL_in_init.html
x64-windows/debug/html/man3/SSL_is_dtls.html
x64-windows/debug/html/man3/SSL_is_init_finished.html
x64-windows/debug/html/man3/SSL_is_server.html
x64-windows/debug/html/man3/SSL_key_update.html
x64-windows/debug/html/man3/SSL_library_init.html
x64-windows/debug/html/man3/SSL_load_client_CA_file.html
x64-windows/debug/html/man3/SSL_load_error_strings.html
x64-windows/debug/html/man3/SSL_new.html
x64-windows/debug/html/man3/SSL_peek.html
x64-windows/debug/html/man3/SSL_peek_ex.html
x64-windows/debug/html/man3/SSL_pending.html
x64-windows/debug/html/man3/SSL_psk_client_cb_func.html
x64-windows/debug/html/man3/SSL_psk_find_session_cb_func.html
x64-windows/debug/html/man3/SSL_psk_server_cb_func.html
x64-windows/debug/html/man3/SSL_psk_use_session_cb_func.html
x64-windows/debug/html/man3/SSL_read.html
x64-windows/debug/html/man3/SSL_read_early_data.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/TS_TST_INFO_dup.html
x64-windows/debug/html/man3/TS_TST_INFO_free.html
x64-windows/debug/html/man3/TS_TST_INFO_new.html
x64-windows/debug/html/man3/UI.html
x64-windows/debug/html/man3/UI_METHOD.html
x64-windows/debug/html/man3/UI_OpenSSL.html
x64-windows/debug/html/man3/UI_STRING.html
x64-windows/debug/html/man3/UI_UTIL_read_pw.html
x64-windows/debug/html/man3/UI_UTIL_read_pw_string.html
x64-windows/debug/html/man3/UI_UTIL_wrap_read_pem_callback.html
x64-windows/debug/html/man3/UI_add_error_string.html
x64-windows/debug/html/man3/UI_add_info_string.html
x64-windows/debug/html/man3/UI_add_input_boolean.html
x64-windows/debug/html/man3/UI_add_input_string.html
x64-windows/debug/html/man3/UI_add_user_data.html
x64-windows/debug/html/man3/UI_add_verify_string.html
x64-windows/debug/html/man3/UI_construct_prompt.html
x64-windows/debug/html/man3/UI_create_method.html
x64-windows/debug/html/man3/UI_ctrl.html
x64-windows/debug/html/man3/UI_destroy_method.html
x64-windows/debug/html/man3/UI_dup_error_string.html
x64-windows/debug/html/man3/UI_dup_info_string.html
x64-windows/debug/html/man3/UI_dup_input_boolean.html
x64-windows/debug/html/man3/UI_dup_input_string.html
x64-windows/debug/html/man3/UI_dup_user_data.html
x64-windows/debug/html/man3/UI_dup_verify_string.html
x64-windows/debug/html/man3/UI_free.html
x64-windows/debug/html/man3/UI_get0_action_string.html
x64-windows/debug/html/man3/UI_get0_output_string.html
x64-windows/debug/html/man3/UI_get0_result.html
x64-windows/debug/html/man3/UI_get0_result_string.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/X509_STORE_CTX_get0_untrusted.html
x64-windows/debug/html/man3/X509_STORE_CTX_get1_chain.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_cert_crl.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_check_crl.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_check_issued.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_check_policy.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_check_revocation.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_cleanup.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_crl_fn.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_current_cert.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_error.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_error_depth.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_ex_data.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_ex_new_index.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_get_crl.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_get_issuer.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_issuer_fn.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_lookup_certs.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_lookup_crls.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_num_untrusted.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_verify.html
x64-windows/debug/html/man3/X509_STORE_CTX_get_verify_cb.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/X509_STORE_CTX_lookup_crls_fn.html
x64-windows/debug/html/man3/X509_STORE_CTX_new.html
x64-windows/debug/html/man3/X509_STORE_CTX_set0_crls.html
x64-windows/debug/html/man3/X509_STORE_CTX_set0_param.html
x64-windows/debug/html/man3/X509_STORE_CTX_set0_trusted_stack.html
x64-windows/debug/html/man3/X509_STORE_CTX_set0_untrusted.html
x64-windows/debug/html/man3/X509_STORE_CTX_set0_verified_chain.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_cert.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_current_cert.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_default.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_error.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_error_depth.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_ex_data.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_verify.html
x64-windows/debug/html/man3/X509_STORE_CTX_set_verify_cb.html
x64-windows/debug/html/man3/X509_STORE_CTX_verify_cb.html
x64-windows/debug/html/man3/X509_STORE_CTX_verify_fn.html
x64-windows/debug/html/man3/X509_STORE_add_cert.html
x64-windows/debug/html/man3/X509_STORE_add_crl.html
x64-windows/debug/html/man3/X509_STORE_free.html
x64-windows/debug/html/man3/X509_STORE_get0_objects.html
x64-windows/debug/html/man3/X509_STORE_get0_param.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/X509_set_subject_name.html
x64-windows/debug/html/man3/X509_set_version.html
x64-windows/debug/html/man3/X509_sign.html
x64-windows/debug/html/man3/X509_sign_ctx.html
x64-windows/debug/html/man3/X509_subject_name_cmp.html
x64-windows/debug/html/man3/X509_time_adj.html
x64-windows/debug/html/man3/X509_time_adj_ex.html
x64-windows/debug/html/man3/X509_up_ref.html
x64-windows/debug/html/man3/X509_verify.html
x64-windows/debug/html/man3/X509_verify_cert.html
x64-windows/debug/html/man3/X509_verify_cert_error_string.html
x64-windows/debug/html/man3/X509v3_add_ext.html
x64-windows/debug/html/man3/X509v3_delete_ext.html
x64-windows/debug/html/man3/X509v3_get_ext.html
x64-windows/debug/html/man3/X509v3_get_ext_by_NID.html
x64-windows/debug/html/man3/X509v3_get_ext_by_OBJ.html
x64-windows/debug/html/man3/X509v3_get_ext_by_critical.html
x64-windows/debug/html/man3/X509v3_get_ext_count.html
x64-windows/debug/html/man3/custom_ext_add_cb.html
x64-windows/debug/html/man3/custom_ext_free_cb.html
x64-windows/debug/html/man3/custom_ext_parse_cb.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/debug/html/man3/i2d_X509_VAL.html
x64-windows/debug/html/man3/i2d_re_X509_CRL_tbs.html
x64-windows/debug/html/man3/i2d_re_X509_REQ_tbs.html
x64-windows/debug/html/man3/i2d_re_X509_tbs.html
x64-windows/debug/html/man3/i2o_SCT.html
x64-windows/debug/html/man3/i2o_SCT_LIST.html
x64-windows/debug/html/man3/i2t_ASN1_OBJECT.html
x64-windows/debug/html/man3/lh_TYPE_delete.html
x64-windows/debug/html/man3/lh_TYPE_doall.html
x64-windows/debug/html/man3/lh_TYPE_doall_arg.html
x64-windows/debug/html/man3/lh_TYPE_error.html
x64-windows/debug/html/man3/lh_TYPE_free.html
x64-windows/debug/html/man3/lh_TYPE_insert.html
x64-windows/debug/html/man3/lh_TYPE_new.html
x64-windows/debug/html/man3/lh_TYPE_retrieve.html
x64-windows/debug/html/man3/o2i_SCT.html
x64-windows/debug/html/man3/o2i_SCT_LIST.html
x64-windows/debug/html/man3/pem_password_cb.html
x64-windows/debug/html/man3/sk_TYPE_deep_copy.html
x64-windows/debug/html/man3/sk_TYPE_delete.html
x64-windows/debug/html/man3/sk_TYPE_delete_ptr.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/ENGINE_unregister_RAND.html
x64-windows/html/man3/ENGINE_unregister_RSA.html
x64-windows/html/man3/ENGINE_unregister_ciphers.html
x64-windows/html/man3/ENGINE_unregister_digests.html
x64-windows/html/man3/ENGINE_up_ref.html
x64-windows/html/man3/ERR_FATAL_ERROR.html
x64-windows/html/man3/ERR_GET_FUNC.html
x64-windows/html/man3/ERR_GET_LIB.html
x64-windows/html/man3/ERR_GET_REASON.html
x64-windows/html/man3/ERR_PACK.html
x64-windows/html/man3/ERR_add_error_data.html
x64-windows/html/man3/ERR_add_error_vdata.html
x64-windows/html/man3/ERR_clear_error.html
x64-windows/html/man3/ERR_error_string.html
x64-windows/html/man3/ERR_error_string_n.html
x64-windows/html/man3/ERR_free_strings.html
x64-windows/html/man3/ERR_func_error_string.html
x64-windows/html/man3/ERR_get_error.html
x64-windows/html/man3/ERR_get_error_line.html
x64-windows/html/man3/ERR_get_error_line_data.html
x64-windows/html/man3/ERR_get_next_error_library.html
x64-windows/html/man3/ERR_lib_error_string.html
x64-windows/html/man3/ERR_load_crypto_strings.html
x64-windows/html/man3/ERR_load_strings.html
x64-windows/html/man3/ERR_peek_error.html
x64-windows/html/man3/ERR_peek_error_line.html
x64-windows/html/man3/ERR_peek_error_line_data.html
x64-windows/html/man3/ERR_peek_last_error.html
x64-windows/html/man3/ERR_peek_last_error_line.html
x64-windows/html/man3/ERR_peek_last_error_line_data.html
x64-windows/html/man3/ERR_pop_to_mark.html
x64-windows/html/man3/ERR_print_errors.html
x64-windows/html/man3/ERR_print_errors_cb.html
x64-windows/html/man3/ERR_print_errors_fp.html
x64-windows/html/man3/ERR_put_error.html
x64-windows/html/man3/ERR_reason_error_string.html
x64-windows/html/man3/ERR_remove_state.html
x64-windows/html/man3/ERR_remove_thread_state.html
x64-windows/html/man3/ERR_set_mark.html
x64-windows/html/man3/ESS_CERT_ID_dup.html
x64-windows/html/man3/ESS_CERT_ID_free.html
x64-windows/html/man3/ESS_CERT_ID_new.html
x64-windows/html/man3/ESS_ISSUER_SERIAL_dup.html
x64-windows/html/man3/ESS_ISSUER_SERIAL_free.html
x64-windows/html/man3/ESS_ISSUER_SERIAL_new.html
x64-windows/html/man3/ESS_SIGNING_CERT_dup.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/OSSL_STORE_INFO_type_string.html
x64-windows/html/man3/OSSL_STORE_LOADER.html
x64-windows/html/man3/OSSL_STORE_LOADER_CTX.html
x64-windows/html/man3/OSSL_STORE_LOADER_free.html
x64-windows/html/man3/OSSL_STORE_LOADER_get0_engine.html
x64-windows/html/man3/OSSL_STORE_LOADER_get0_scheme.html
x64-windows/html/man3/OSSL_STORE_LOADER_new.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_close.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_ctrl.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_eof.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_error.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_expect.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_find.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_load.html
x64-windows/html/man3/OSSL_STORE_LOADER_set_open.html
x64-windows/html/man3/OSSL_STORE_SEARCH.html
x64-windows/html/man3/OSSL_STORE_SEARCH_by_alias.html
x64-windows/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html
x64-windows/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html
x64-windows/html/man3/OSSL_STORE_SEARCH_by_name.html
x64-windows/html/man3/OSSL_STORE_SEARCH_free.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/OSSL_STORE_SEARCH_get0_name.html
x64-windows/html/man3/OSSL_STORE_SEARCH_get0_serial.html
x64-windows/html/man3/OSSL_STORE_SEARCH_get0_string.html
x64-windows/html/man3/OSSL_STORE_SEARCH_get_type.html
x64-windows/html/man3/OSSL_STORE_close.html
x64-windows/html/man3/OSSL_STORE_close_fn.html
x64-windows/html/man3/OSSL_STORE_ctrl.html
x64-windows/html/man3/OSSL_STORE_ctrl_fn.html
x64-windows/html/man3/OSSL_STORE_eof.html
x64-windows/html/man3/OSSL_STORE_eof_fn.html
x64-windows/html/man3/OSSL_STORE_error.html
x64-windows/html/man3/OSSL_STORE_error_fn.html
x64-windows/html/man3/OSSL_STORE_expect.html
x64-windows/html/man3/OSSL_STORE_expect_fn.html
x64-windows/html/man3/OSSL_STORE_find.html
x64-windows/html/man3/OSSL_STORE_find_fn.html
x64-windows/html/man3/OSSL_STORE_load.html
x64-windows/html/man3/OSSL_STORE_load_fn.html
x64-windows/html/man3/OSSL_STORE_open.html
x64-windows/html/man3/OSSL_STORE_open_fn.html
x64-windows/html/man3/OSSL_STORE_post_process_info_fn.html
x64-windows/html/man3/OSSL_STORE_register_loader.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/SSL_get_cipher_version.html
x64-windows/html/man3/SSL_get_ciphers.html
x64-windows/html/man3/SSL_get_client_CA_list.html
x64-windows/html/man3/SSL_get_client_ciphers.html
x64-windows/html/man3/SSL_get_client_random.html
x64-windows/html/man3/SSL_get_current_cipher.html
x64-windows/html/man3/SSL_get_default_passwd_cb.html
x64-windows/html/man3/SSL_get_default_passwd_cb_userdata.html
x64-windows/html/man3/SSL_get_default_timeout.html
x64-windows/html/man3/SSL_get_early_data_status.html
x64-windows/html/man3/SSL_get_error.html
x64-windows/html/man3/SSL_get_ex_data.html
x64-windows/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html
x64-windows/html/man3/SSL_get_extms_support.html
x64-windows/html/man3/SSL_get_fd.html
x64-windows/html/man3/SSL_get_info_callback.html
x64-windows/html/man3/SSL_get_key_update_type.html
x64-windows/html/man3/SSL_get_max_cert_list.html
x64-windows/html/man3/SSL_get_max_early_data.html
x64-windows/html/man3/SSL_get_max_proto_version.html
x64-windows/html/man3/SSL_get_min_proto_version.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/SSL_in_accept_init.html
x64-windows/html/man3/SSL_in_before.html
x64-windows/html/man3/SSL_in_connect_init.html
x64-windows/html/man3/SSL_in_init.html
x64-windows/html/man3/SSL_is_dtls.html
x64-windows/html/man3/SSL_is_init_finished.html
x64-windows/html/man3/SSL_is_server.html
x64-windows/html/man3/SSL_key_update.html
x64-windows/html/man3/SSL_library_init.html
x64-windows/html/man3/SSL_load_client_CA_file.html
x64-windows/html/man3/SSL_load_error_strings.html
x64-windows/html/man3/SSL_new.html
x64-windows/html/man3/SSL_peek.html
x64-windows/html/man3/SSL_peek_ex.html
x64-windows/html/man3/SSL_pending.html
x64-windows/html/man3/SSL_psk_client_cb_func.html
x64-windows/html/man3/SSL_psk_find_session_cb_func.html
x64-windows/html/man3/SSL_psk_server_cb_func.html
x64-windows/html/man3/SSL_psk_use_session_cb_func.html
x64-windows/html/man3/SSL_read.html
x64-windows/html/man3/SSL_read_early_data.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/TS_TST_INFO_dup.html
x64-windows/html/man3/TS_TST_INFO_free.html
x64-windows/html/man3/TS_TST_INFO_new.html
x64-windows/html/man3/UI.html
x64-windows/html/man3/UI_METHOD.html
x64-windows/html/man3/UI_OpenSSL.html
x64-windows/html/man3/UI_STRING.html
x64-windows/html/man3/UI_UTIL_read_pw.html
x64-windows/html/man3/UI_UTIL_read_pw_string.html
x64-windows/html/man3/UI_UTIL_wrap_read_pem_callback.html
x64-windows/html/man3/UI_add_error_string.html
x64-windows/html/man3/UI_add_info_string.html
x64-windows/html/man3/UI_add_input_boolean.html
x64-windows/html/man3/UI_add_input_string.html
x64-windows/html/man3/UI_add_user_data.html
x64-windows/html/man3/UI_add_verify_string.html
x64-windows/html/man3/UI_construct_prompt.html
x64-windows/html/man3/UI_create_method.html
x64-windows/html/man3/UI_ctrl.html
x64-windows/html/man3/UI_destroy_method.html
x64-windows/html/man3/UI_dup_error_string.html
x64-windows/html/man3/UI_dup_info_string.html
x64-windows/html/man3/UI_dup_input_boolean.html
x64-windows/html/man3/UI_dup_input_string.html
x64-windows/html/man3/UI_dup_user_data.html
x64-windows/html/man3/UI_dup_verify_string.html
x64-windows/html/man3/UI_free.html
x64-windows/html/man3/UI_get0_action_string.html
x64-windows/html/man3/UI_get0_output_string.html
x64-windows/html/man3/UI_get0_result.html
x64-windows/html/man3/UI_get0_result_string.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/X509_STORE_CTX_get0_untrusted.html
x64-windows/html/man3/X509_STORE_CTX_get1_chain.html
x64-windows/html/man3/X509_STORE_CTX_get_cert_crl.html
x64-windows/html/man3/X509_STORE_CTX_get_check_crl.html
x64-windows/html/man3/X509_STORE_CTX_get_check_issued.html
x64-windows/html/man3/X509_STORE_CTX_get_check_policy.html
x64-windows/html/man3/X509_STORE_CTX_get_check_revocation.html
x64-windows/html/man3/X509_STORE_CTX_get_cleanup.html
x64-windows/html/man3/X509_STORE_CTX_get_crl_fn.html
x64-windows/html/man3/X509_STORE_CTX_get_current_cert.html
x64-windows/html/man3/X509_STORE_CTX_get_error.html
x64-windows/html/man3/X509_STORE_CTX_get_error_depth.html
x64-windows/html/man3/X509_STORE_CTX_get_ex_data.html
x64-windows/html/man3/X509_STORE_CTX_get_ex_new_index.html
x64-windows/html/man3/X509_STORE_CTX_get_get_crl.html
x64-windows/html/man3/X509_STORE_CTX_get_get_issuer.html
x64-windows/html/man3/X509_STORE_CTX_get_issuer_fn.html
x64-windows/html/man3/X509_STORE_CTX_get_lookup_certs.html
x64-windows/html/man3/X509_STORE_CTX_get_lookup_crls.html
x64-windows/html/man3/X509_STORE_CTX_get_num_untrusted.html
x64-windows/html/man3/X509_STORE_CTX_get_verify.html
x64-windows/html/man3/X509_STORE_CTX_get_verify_cb.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/X509_STORE_CTX_lookup_crls_fn.html
x64-windows/html/man3/X509_STORE_CTX_new.html
x64-windows/html/man3/X509_STORE_CTX_set0_crls.html
x64-windows/html/man3/X509_STORE_CTX_set0_param.html
x64-windows/html/man3/X509_STORE_CTX_set0_trusted_stack.html
x64-windows/html/man3/X509_STORE_CTX_set0_untrusted.html
x64-windows/html/man3/X509_STORE_CTX_set0_verified_chain.html
x64-windows/html/man3/X509_STORE_CTX_set_cert.html
x64-windows/html/man3/X509_STORE_CTX_set_current_cert.html
x64-windows/html/man3/X509_STORE_CTX_set_default.html
x64-windows/html/man3/X509_STORE_CTX_set_error.html
x64-windows/html/man3/X509_STORE_CTX_set_error_depth.html
x64-windows/html/man3/X509_STORE_CTX_set_ex_data.html
x64-windows/html/man3/X509_STORE_CTX_set_verify.html
x64-windows/html/man3/X509_STORE_CTX_set_verify_cb.html
x64-windows/html/man3/X509_STORE_CTX_verify_cb.html
x64-windows/html/man3/X509_STORE_CTX_verify_fn.html
x64-windows/html/man3/X509_STORE_add_cert.html
x64-windows/html/man3/X509_STORE_add_crl.html
x64-windows/html/man3/X509_STORE_free.html
x64-windows/html/man3/X509_STORE_get0_objects.html
x64-windows/html/man3/X509_STORE_get0_param.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/X509_set_subject_name.html
x64-windows/html/man3/X509_set_version.html
x64-windows/html/man3/X509_sign.html
x64-windows/html/man3/X509_sign_ctx.html
x64-windows/html/man3/X509_subject_name_cmp.html
x64-windows/html/man3/X509_time_adj.html
x64-windows/html/man3/X509_time_adj_ex.html
x64-windows/html/man3/X509_up_ref.html
x64-windows/html/man3/X509_verify.html
x64-windows/html/man3/X509_verify_cert.html
x64-windows/html/man3/X509_verify_cert_error_string.html
x64-windows/html/man3/X509v3_add_ext.html
x64-windows/html/man3/X509v3_delete_ext.html
x64-windows/html/man3/X509v3_get_ext.html
x64-windows/html/man3/X509v3_get_ext_by_NID.html
x64-windows/html/man3/X509v3_get_ext_by_OBJ.html
x64-windows/html/man3/X509v3_get_ext_by_critical.html
x64-windows/html/man3/X509v3_get_ext_count.html
x64-windows/html/man3/custom_ext_add_cb.html
x64-windows/html/man3/custom_ext_free_cb.html
x64-windows/html/man3/custom_ext_parse_cb.html
corpus/vcpkg/r2/installed/vcpkg/info/openssl-windows_1.1.1d-1_x64-windows.list view on Meta::CPAN
x64-windows/html/man3/i2d_X509_VAL.html
x64-windows/html/man3/i2d_re_X509_CRL_tbs.html
x64-windows/html/man3/i2d_re_X509_REQ_tbs.html
x64-windows/html/man3/i2d_re_X509_tbs.html
x64-windows/html/man3/i2o_SCT.html
x64-windows/html/man3/i2o_SCT_LIST.html
x64-windows/html/man3/i2t_ASN1_OBJECT.html
x64-windows/html/man3/lh_TYPE_delete.html
x64-windows/html/man3/lh_TYPE_doall.html
x64-windows/html/man3/lh_TYPE_doall_arg.html
x64-windows/html/man3/lh_TYPE_error.html
x64-windows/html/man3/lh_TYPE_free.html
x64-windows/html/man3/lh_TYPE_insert.html
x64-windows/html/man3/lh_TYPE_new.html
x64-windows/html/man3/lh_TYPE_retrieve.html
x64-windows/html/man3/o2i_SCT.html
x64-windows/html/man3/o2i_SCT_LIST.html
x64-windows/html/man3/pem_password_cb.html
x64-windows/html/man3/sk_TYPE_deep_copy.html
x64-windows/html/man3/sk_TYPE_delete.html
x64-windows/html/man3/sk_TYPE_delete_ptr.html
diag_preamble = | eval {
diag_preamble = | require Alien::Build::Plugin::Core::Setup;
diag_preamble = | require Alien::Build::Plugin::Build::Autoconf;
diag_preamble = | require Alien::Build::Plugin::Build::CMake;
diag_preamble = | require Alien::Build::Plugin::PkgConfig::Negotiate;
diag_preamble = | require Alien::Build::Util;
diag_preamble = | require File::Which;
diag_preamble = | };
diag_preamble = | if($@)
diag_preamble = | {
diag_preamble = | diag "error: $@";
diag_preamble = | }
diag_preamble = | else
diag_preamble = | {
diag_preamble = | my %hash;
diag_preamble = | Alien::Build::Plugin::Core::Setup->_platform(\%hash);
diag_preamble = | $hash{cmake_generator} = Alien::Build::Plugin::Build::CMake::cmake_generator();
diag_preamble = | $hash{'pkg-config'}->{$_} = File::Which::which($_) for qw( pkg-config pkgconf );
diag_preamble = | $hash{'pkg-config'}->{PKG_CONFIG} = File::Which::which($ENV{PKG_CONFIG}) if defined $ENV{PKG_CONFIG};
diag_preamble = | diag Alien::Build::Util::_dump(\%hash);
diag_preamble = | diag "pkg-config negotiate pick = ", Alien::Build::Plugin::PkgConfig::Negotiate->pick;
inc/probebad.pl view on Meta::CPAN
use warnings;
use ExtUtils::CBuilder;
use ExtUtils::ParseXS;
use File::Temp qw( tempdir );
use File::Spec;
# probebad.pl: this is intended to be run by Makefile.PL to find FAIL reports
# that commonly come from cpantesters, but are in fact the result of badly
# configured environments. Usually I try to contact the testers in quesion,
# but sometimes they are either unable or unwilling to respond, and I don't
# want to waste my time re-diagnosing the same errors.
{ # /tmp check
my $dir = eval { tempdir( CLEANUP => 1 ) };
if($@)
{
print "Configuration unsupported\n";
print "Unable to create a temp directory using File::Temp. This is used\n";
print "extensively by the test suite. You may want to check if the dir\n";
print "@{[ File::Spec->tmpdir ]} is full or has other problems\n";
exit;
inc/probebad.pl view on Meta::CPAN
my $pxs = ExtUtils::ParseXS->new;
eval {
$pxs->process_file(
filename => "inc/trivial.xs",
output => "inc/trivial.c",
versioncheck => 0,
prototypes => 0,
);
};
if(my $error = $@)
{
print "Configuration unsupported\n";
print "You appear to have a C compiler, but I am unable to process a\n";
print "trivial XS file, errored with:\n";
print "$error\n";
exit;
}
if($pxs->report_error_count != 0)
{
print "Configuration unsupported\n";
print "You appear to have a C compiler, but there were errors processing\n";
print "a trivial XS file.\n";
exit;
}
my($cc_out, $obj, $cc_exception) = capture_merged(
sub {
my $obj = eval {
$cb->compile(
source => "inc/trivial.c",
);
};
($obj, $@);
}
);
if(! $obj)
{
print "Configuration unsupported\n";
print "You appear to have a C compiler, but there were errors processing\n";
print "the C file generated from a trivial XS file.\n";
if($cc_exception)
{
print "Exception:\n";
print "$cc_exception\n";
}
if($cc_out)
{
print "Compiler output:\n";
print "$cc_out\n";
lib/Alien/Base.pm view on Meta::CPAN
my $install_type = Alien::MyLibrary->install_type;
my $bool = Alien::MyLibrary->install_type($install_type);
Returns the install type that was used when C<Alien::MyLibrary> was
installed.
If a type is provided (the second form in the synopsis)
returns true if the actual install type matches.
For this use case it is recommended to use C<is_system_install>
or C<is_share_install> instead as these are less prone to
typographical errors.
Types include:
=over 4
=item system
The library was provided by the operating system
=item share
lib/Alien/Build.pm view on Meta::CPAN
sub probe
{
my($self) = @_;
local $CWD = $self->root;
my $dir;
my $env = $self->_call_hook('override');
my $type;
my $error;
$env = '' if $env eq 'default';
if($env eq 'share')
{
$type = 'share';
}
else
{
$type = eval {
lib/Alien/Build.pm view on Meta::CPAN
}
else
{
return 1;
}
},
},
'probe',
);
};
$error = $@;
$type = 'share' unless defined $type;
}
if($error)
{
if($env eq 'system')
{
die $error;
}
$self->log("error in probe (will do a share install): $@");
$self->log("Don't panic, we will attempt a share build from source if possible.");
$self->log("Do not file a bug unless you expected a system install to succeed.");
$type = 'share';
}
if($env && $env ne $type)
{
die "requested $env install not available";
}
lib/Alien/Build.pm view on Meta::CPAN
{
unless($checked_digest || $encrypted_fetch)
{
$self->log("!!! NOTICE OF FUTURE CHANGE IN BEHAVIOR !!!");
$self->log("a future version of Alien::Build will die here by default with this exception: file was fetched insecurely and required digest missing for $archive");
$self->log("!!! NOTICE OF FUTURE CHANGE IN BEHAVIOR !!!");
}
}
else
{
die "internal error, unknown download rule: @{[ $self->download_rule ]}";
}
}
my $nick_name = 'build';
if($self->meta_prop->{out_of_source})
{
$nick_name = 'extract';
my $extract = $self->install_prop->{extract};
lib/Alien/Build.pm view on Meta::CPAN
}
);
}
sub call_hook
{
my $self = shift;
my %args = ref $_[0] ? %{ shift() } : ();
my($name, @args) = @_;
my $error;
my @hooks = @{ $self->{hook}->{$name} || []};
if(@hooks == 0)
{
if(defined $self->{default_hook}->{$name})
{
@hooks = ($self->{default_hook}->{$name})
}
elsif(!$args{all})
lib/Alien/Build.pm view on Meta::CPAN
else
{
$value = $wrapper->(sub {
eval {
$hook->execute(@_);
$args{verify}->('command') if $args{verify};
};
defined $args{ok} ? $args{ok} : 1;
}, @args);
}
$error = $@;
$args{after}->() if $args{after};
if($args{all})
{
die if $error;
}
else
{
next if $error;
next if $args{continue} && $args{continue}->($value);
return $value;
}
}
die $error if $error && ! $args{all};
$value;
}
sub apply_plugin
{
my($self, $name, @args) = @_;
my $class;
lib/Alien/Build/CommandSequence.pm view on Meta::CPAN
sub _run_with_code
{
my($build, @cmd) = @_;
my $code = pop @cmd;
$build->log("+ @cmd");
my %args = ( command => \@cmd );
if($built_in{$cmd[0]})
{
my $error;
($args{out}, $args{err}, $error) = capture {
eval { $built_in{$cmd[0]}->(@cmd) };
$@;
};
$args{exit} = $error eq '' ? 0 : 2;
$args{builtin} = 1;
}
else
{
($args{out}, $args{err}, $args{exit}) = capture {
system @cmd; $?
};
}
$build->log("[output consumed by Alien::Build recipe]");
$code->($build, \%args);
lib/Alien/Build/Manual/FAQ.pod view on Meta::CPAN
You can also build the configure script during development of your alien,
generate the tarball and provide it somewhere like GitHub and use that
as the source instead of the original source. This should usually be
a last resort if the other two methods prove too difficult.
=back
=head3 autoconf-like
If you see an error like this:
Unknown option "--with-pic".
It is because the autoconf plugin uses the C<--with-pic> option by default, since
it makes sense most of the time, and autoconf usually ignores options that it does
not recognize. Some autoconf style build systems fail when they see an option that
they do not recognize. You can turn this behavior off for these packages:
plugin 'Build::Autoconf' => (
with_pic => 0,
);
Another thing about the autoconf plugin is that it uses C<DESTDIR> to do a double
staged install. If you see an error like "nothing was installed into destdir", that
means that your package does not support C<DESTDIR>. You should instead use the
MSYS plugin and use a command sequence to do the build like this:
share {
plugin 'Build::MSYS';
build [
# explicitly running configure with "sh" will make sure that
# it works on windows as well as UNIX.
'sh configure --prefix=%{.install.prefix} --disable-shared',
'%{make}',
lib/Alien/Build/Manual/FAQ.pod view on Meta::CPAN
after 'gather' => sub {
my($build) = @_;
if($^O eq 'MSWin32') {
$build->runtime_prop->{libs} .= " -lpsapi";
}
};
};
=head2 "cannot open shared object file" trying to load XS
The error looks something like this:
t/acme_alien_dontpanic2.t ....... 1/?
# Failed test 'xs'
# at t/acme_alien_dontpanic2.t line 13.
# XSLoader failed
# Can't load '/home/cip/.cpanm/work/1581635869.456/Acme-Alien-DontPanic2-2.0401/_alien/tmp/test-alien-lyiQNX/auto/Test/Alien/XS/Mod0/Mod0.so' for module Test::Alien::XS::Mod0: libdontpanic.so.0: cannot open shared object file: No such file or di...
# at /home/cip/perl5/lib/perl5/Test/Alien.pm line 414.
# Compilation failed in require at /home/cip/perl5/lib/perl5/Test/Alien.pm line 414.
# BEGIN failed--compilation aborted at /home/cip/perl5/lib/perl5/Test/Alien.pm line 414.
t/acme_alien_dontpanic2.t ....... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/6 subtests
t/acme_alien_dontpanic2__ffi.t .. ok
This error happened at test time for the Alien, but depending on your environment and Alien it might
happen later and the actual diagnostic wording might vary.
This is usually because your XS or Alien tries to use dynamic libraries instead of static ones.
Please consult the section about dynamic vs. static libraries in L<Alien::Build::Manual::AlienAuthor>.
The TL;DR is that L<Alien::Build::Plugin::Gather::IsolateDynamic> might help.
If you are the Alien author and the package you are alienizing doesn't have a static option you can
use L<Alien::Role::Dino>, but please note the extended set of caveats!
=head2 599 Internal Exception errors downloading packages from the internet
Alien::Build::Plugin::Fetch::HTTPTiny> 599 Internal Exception fetching http://dist.libuv.org/dist/v1.15.0
Alien::Build::Plugin::Fetch::HTTPTiny> exception: IO::Socket::SSL 1.42 must be installed for https support
Alien::Build::Plugin::Fetch::HTTPTiny> exception: Net::SSLeay 1.49 must be installed for https support
Alien::Build::Plugin::Fetch::HTTPTiny> An attempt at a SSL URL https was made, but your HTTP::Tiny does not appear to be able to use https.
Alien::Build::Plugin::Fetch::HTTPTiny> Please see: https://metacpan.org/pod/Alien::Build::Manual::FAQ#599-Internal-Exception-errors-downloading-packages-from-the-internet
error fetching http://dist.libuv.org/dist/v1.15.0: 599 Internal Exception at /Users/ollisg/.perlbrew/libs/perl-5.26.0@test1/lib/perl5/Alien/Build/Plugin/Fetch/HTTPTiny.pm line 68.
(Older versions of L<Alien::Build> produced a less verbose more confusing version of this diagnostic).
TL;DR, instead of this:
share {
start_url => 'http://example.org/dist';
...
};
do this:
share {
start_url => 'https://example.org/dist';
};
If the website is going to redirect to a secure URL anyway.
The "599 Internal Exception" indicates an "internal" exception from L<HTTP::Tiny> and is not a real
HTTP status code or error. This could mean a number of different problems, but most frequently
indicates that a SSL request was made without the required modules (L<Net::SSLeay> and
L<IO::Socket::SSL>). Normally the L<Alien::Build::Plugin::Download::Negotiate>
and L<Alien::Build::Plugin::Fetch::HTTPTiny> will make sure that the appropriate modules are added
to your prerequisites for you if you specify a C<https> URL. Some websites allow an initial request
from C<http> but then redirect to C<https>. If you can it is better to specify C<https>, if you
cannot, then you can instead use the C<ssl> property on either of those two plugins.
=head2 Does not detect system package even though it is installed
This could just be because the alien requires a more recent package that what is provided by your
operating system.
It could also be because you do not have the development package installed. Many Linux vendors
in particular separate packages into runtime and development pages. On RPM based systems these
development packages usually have C<-devel> suffix (example runtime: C<libffi> and development:
C<libffi-devel>). On Debian based systems these development packages usually have a C<-dev>
suffix (example runtime: C<libffi> and development: C<libffi-dev>).
=head2 Network fetch is turned off
If you get an error like this:
Alien::Build> install type share requested or detected, but network fetch is turned off
Alien::Build> see see https://metacpan.org/pod/Alien::Build::Manual::FAQ#Network-fetch-is-turned-off
This is because your environment is setup not to install aliens that require the network. You
can turn network fetch back on by setting C<ALIEN_INSTALL_NETWORK> to true, or by unsetting it.
This environment variable is designed for environments that don't ever want to install aliens that
require downloading source packages over the internet.
=head2 I would really prefer you not download stuff off the internet
lib/Alien/Build/Manual/FAQ.pod view on Meta::CPAN
easier. Some people may not like this, or may even have security requirements that they not download
random package over the internet (caveat, downloading random stuff off of CPAN may not be any safer,
so make sure you audit all of the open source software that you use appropriately). Another reason
you may not want to download from the internet is if you are packaging up an alien for an operating
system vendor, which will always want to use the system version of a library. In that situation you
don't want L<Alien::Build> to go off and download something from the internet because the probe failed
for some reason.
This is easy to take care of, simply set C<ALIEN_INSTALL_TYPE> to C<system> and a build from source
code will never be attempted. On systems that do not provide system versions of the library or tool
you will get an error, allowing you to install the library, and retry the alien install. You can
also set the environment variable on just some aliens.
% export ALIEN_INSTALL_TYPE=system # for everyone
% env ALIEN_INSTALL_TYPE=system cpanm -v Alien::libfoo
=head2 For testing I would like to test both system and share installs!
You can use the C<ALIEN_INSTALL_TYPE> environment variable. It will force either a C<share> or
C<system> install depending on how it is set. For Travis-CI you can do something like this:
lib/Alien/Build/Manual/FAQ.pod view on Meta::CPAN
- ALIEN_INSTALL_TYPE=share
- ALIEN_INSTALL_TYPE=system
=head2 How do I use Alien::Build from Dist::Zilla?
For creating L<Alien::Base> and L<Alien::Build> based dist from L<Dist::Zilla> you can use the
dzil plugin L<Dist::Zilla::Plugin::AlienBuild>.
=head2 Cannot find either a share directory or a ConfigData module
If you see an error like this:
Cannot find either a share directory or a ConfigData module for Alien::libfoo.
(Alien::libfoo loaded from lib/Alien/libfoo.pm)
Please see https://metacpan.org/pod/distribution/Alien-Build/lib/Alien/Build/Manual/FAQ.pod#Cannot-find-either-a-share-directory-or-a-ConfigData-module
Can't locate Alien/libfoo/ConfigData.pm in @INC (you may need to install the Alien::libfoo::ConfigData module) (@INC contains: ...)
it means you are trying to use an Alien that hasn't been properly installed. An L<Alien::Base>
based Alien needs to have either the share directory build during the install process or for
older legacy L<Alien::Base::ModuleBuild> based Aliens, a ConfigData module generated by
L<Module::Build>.
lib/Alien/Build/Manual/Security.pod view on Meta::CPAN
By design L<Alien>s should use local installs of libraries and tools
before downloading source from the internet. Setting this environment
variable to false, will instruct L<Alien::Build> to not attempt to
fetch the alienized package off the internet if it is not available
locally or as a bundled package.
This is similar to setting C<ALIEN_INSTALL_TYPE> to C<system> (see
below), except it does allow L<Alien>s that bundle their alienized
package inside the L<CPAN> package tarball.
Some L<Alien>s will not install properly at first, but when they error
you can install the system package and try to re-install the L<Alien>.
=item C<ALIEN_INSTALL_TYPE>
Setting C<ALIEN_INSTALL_TYPE> to C<system> is similar to setting
C<ALIEN_INSTALL_NETWORK> to false, except that bundled alienized
packages will also be rejected. This environment variable is really
intended for use by operating system vendors packaging L<Alien>s,
or for L<Alien> developer testing (in CI for example). For some
who want to restrict how L<Alien>s install this might be the right
lib/Alien/Build/Plugin/Extract/ArchiveTar.pm view on Meta::CPAN
my($build, $src) = @_;
my $tar = Archive::Tar->new;
$tar->read($src);
$tar->extract;
}
);
}
sub _can_bz2
{
# even when Archive::Tar reports that it supports bz2, I can sometimes get this error:
# 'Cannot read enough bytes from the tar file', so lets just probe for actual support!
my $dir = Path::Tiny->new(File::Temp::tempdir( CLEANUP => 1 ));
eval {
local $CWD = $dir;
my $tarball = unpack "u", q{M0EIH.3%!62936=+(]$0``$A[D-$0`8!``7^``!!AI)Y`!```""``=!JGIH-(MT#0]0/2!**---&F@;4#0&:D;X?(6@JH(2<%'N$%3VHC-9E>S/N@"6&I*1@GNJNHCC2>$I5(<0BKR.=XBZ""HVZ;T,CV\LJ!K&*?9`#\7<D4X4)#2R/1$`};
Path::Tiny->new('xx.tar.bz2')->spew_raw($tarball);
require Archive::Tar;
my $tar = Archive::Tar->new;
$tar->read('xx.tar.bz2');
$tar->extract;
my $content = Path::Tiny->new('xx.txt')->slurp;
die unless $content && $content eq "xx\n";
};
my $error = $@;
$dir->remove_tree;
!$error;
}
1;
__END__
=pod
=encoding UTF-8
lib/Alien/Build/Plugin/Fetch/CurlCommand.pm view on Meta::CPAN
# my($stdout, $stderr) = $self->_execute($build, $self->curl_command, -l => $url);
# chomp $stdout;
# return {
# type => 'list',
# list => [
# map { { filename => $_, url => "$url$_" } } sort split /\n/, $stdout,
# ],
# };
# }
#
# my $first_error;
#
# {
# local $CWD = tempdir( CLEANUP => 1 );
#
# my($filename) = $url =~ m{/([^/]+)$};
# $filename = 'unknown' if (! defined $filename) || ($filename eq '');
# my($stdout, $stderr) = eval { $self->_execute($build, $self->curl_command, -o => $filename, $url) };
# $first_error = $@;
# if($first_error eq '')
# {
# return {
# type => 'file',
# filename => $filename,
# path => path($filename)->absolute->stringify,
# };
# }
# }
#
# {
lib/Alien/Build/Plugin/Fetch/CurlCommand.pm view on Meta::CPAN
# chomp $stdout;
# return {
# type => 'list',
# list => [
# map { { filename => $_, url => "$url/$_" } } sort split /\n/, $stdout,
# ],
# };
# };
# }
#
# $first_error ||= 'unknown error';
# die $first_error;
#
# }
else
{
die "scheme $scheme is not supported by the Fetch::CurlCommand plugin";
}
},
) if $self->curl_command;
lib/Alien/Build/Plugin/Fetch/CurlCommand.pm view on Meta::CPAN
{
chomp $stderr;
$build->log($_) for split /\n/, $stderr;
if($stderr =~ /Remote filename has no length/ && !!(any { /^-O$/ } @command))
{
my @new_command = map {
/^-O$/ ? ( -o => 'index.html' ) : /^-J$/ ? () : ($_)
} @command;
return $self->_execute($build, @new_command);
}
die "error in curl fetch";
}
($stdout, $stderr);
}
1;
__END__
=pod
lib/Alien/Build/Plugin/Fetch/HTTPTiny.pm view on Meta::CPAN
my($can_ssl, $why_ssl) = HTTP::Tiny->can_ssl;
if(! $can_ssl)
{
if($res->{redirects}) {
foreach my $redirect (@{ $res->{redirects} })
{
if(defined $redirect->{headers}->{location} && $redirect->{headers}->{location} =~ /^https:/)
{
$build->log("An attempt at a SSL URL https was made, but your HTTP::Tiny does not appear to be able to use https.");
$build->log("Please see: https://metacpan.org/pod/Alien::Build::Manual::FAQ#599-Internal-Exception-errors-downloading-packages-from-the-internet");
}
}
}
}
}
die "error fetching $url: $status $reason";
}
my($type) = split /;/, $res->{headers}->{'content-type'};
$type = lc $type;
my $base = URI->new($res->{url});
my $filename = File::Basename::basename do { my $name = $base->path; $name =~ s{/$}{}; $name };
# TODO: this doesn't get exercised by t/bin/httpd
if(my $disposition = $res->{headers}->{"content-disposition"})
{
lib/Alien/Build/Plugin/Fetch/LWP.pm view on Meta::CPAN
$build->log("Fetch for $url with http_headers that is not an array reference");
}
}
my $ua = LWP::UserAgent->new;
$ua->env_proxy;
my $res = $ua->get($url, @headers);
my($protocol) = $url =~ /^([a-z]+):/;
die "error fetching $url: @{[ $res->status_line ]}"
unless $res->is_success;
my($type, $charset) = $res->content_type_charset;
my $base = $res->base;
my $filename = $res->filename;
if($type eq 'text/html')
{
return {
type => 'html',
lib/Alien/Build/Plugin/Fetch/NetFTP.pm view on Meta::CPAN
$self;
}
sub _ftp_connect {
my $url = shift;
my $is_passive = shift || 0;
my $ftp = Net::FTP->new(
$url->host, Port =>$url->port, Passive =>$is_passive,
) or die "error fetching $url: $@";
$ftp->login($url->user, $url->password)
or die "error on login $url: @{[ $ftp->message ]}";
$ftp->binary;
$ftp;
}
1;
__END__
lib/Alien/Build/Plugin/Fetch/Wget.pm view on Meta::CPAN
my($self, $build, @command) = @_;
$build->log("+ @command");
my($stdout, $stderr, $err) = capture {
system @command;
$?;
};
if($err)
{
chomp $stderr;
$stderr = [split /\n/, $stderr]->[-1];
die "error in wget fetch: $stderr";
}
($stdout, $stderr);
}
1;
__END__
=pod
lib/Alien/Build/Plugin/PkgConfig/Negotiate.pm view on Meta::CPAN
return 'PkgConfig::CommandLine';
}
}
if(Alien::Build::Plugin::PkgConfig::PP->available)
{
return 'PkgConfig::PP';
}
else
{
# this is a fata error. because we check for a pkg-config implementation
# at configure time, we expect at least one of these to work. (and we
# fallback on installing PkgConfig.pm as a prereq if nothing else is avail).
# we therefore expect at least one of these to work, if not, then the configuration
# of the system has shifted from underneath us.
Carp::croak("Could not find an appropriate pkg-config or pkgconf implementation, please install PkgConfig.pm, PkgConfig::LibPkgConf, pkg-config or pkgconf");
}
}
sub init
{
lib/Alien/Build/Plugin/Probe/CBuilder.pm view on Meta::CPAN
my $cb = ExtUtils::CBuilder->new(%{ $self->options });
my($out1, $obj) = capture_merged { eval {
$cb->compile(
source => 'mytest.c',
extra_compiler_flags => $self->cflags,
@cpp,
);
} };
if(my $error = $@)
{
$build->log("compile failed: $error");
$build->log("compile failed: $out1");
die $error;
}
my($out2, $exe) = capture_merged { eval {
$cb->link_executable(
objects => [$obj],
extra_linker_flags => $self->libs,
);
} };
if(my $error = $@)
{
$build->log("link failed: $error");
$build->log("link failed: $out2");
die $error;
}
my($out, $err, $ret) = capture { system($^O eq 'MSWin32' ? $exe : "./$exe") };
die "execute failed" if $ret;
my $cflags = $self->cflags;
my $libs = $self->libs;
$cflags =~ s{\s*$}{ };
$libs =~ s{\s*$}{ };
lib/Alien/Build/Plugin/Probe/CommandLine.pm view on Meta::CPAN
die 'Command not found ' . $self->command;
}
if(defined $self->match || defined $self->match_stderr || defined $self->version || defined $self->version_stderr)
{
my($out,$err,$ret) = capture {
system( $self->command, @{ $self->args } );
};
die 'Command did not return a true value' if $ret;
die 'Command output did not match' if defined $self->match && $out !~ $self->match;
die 'Command standard error did not match' if defined $self->match_stderr && $err !~ $self->match_stderr;
if (defined $self->version or defined $self->version_stderr)
{
my $found_version = '0';
if(defined $self->version)
{
if($out =~ $self->version)
{
$found_version = $1;
$build->runtime_prop->{version} = $found_version;
}
lib/Alien/Build/Plugin/Probe/CommandLine.pm view on Meta::CPAN
command => 'gzip',
secondary => 0, # default
);
=head2 match
Regular expression for which the program output should match.
=head2 match_stderr
Regular expression for which the program standard error should match.
=head2 version
Regular expression to parse out the version from the program output.
The regular expression should store the version number in C<$1>.
=head2 version_stderr
Regular expression to parse out the version from the program standard error.
The regular expression should store the version number in C<$1>.
=head2 atleast_version
The minimum required version as provided by the system.
=head1 SEE ALSO
L<Alien::Build>, L<alienfile>, L<Alien::Build::MM>, L<Alien>
lib/Alien/Build/Plugin/Probe/Vcpkg.pm view on Meta::CPAN
$build->hook_prop->{probe_class} = __PACKAGE__;
$build->hook_prop->{probe_instance_id} = $self->instance_id;
eval {
require Win32::Vcpkg;
require Win32::Vcpkg::List;
require Win32::Vcpkg::Package;
Win32::Vcpkg->VERSION('0.02');
};
if(my $error = $@)
{
$build->log("unable to load Win32::Vcpkg: $error");
return 'share';
}
my $package;
if($self->name)
{
$package = Win32::Vcpkg::List->new
->search($self->name, include => $self->include);
}
elsif($self->lib)
lib/Alien/Build/Util.pm view on Meta::CPAN
{
unless(-d $dst->parent)
{
Alien::Build->log("mkdir -p @{[ $dst->parent ]}") if $opt->{verbose};
$dst->parent->mkpath;
}
# TODO: rmtree if a directory?
if(-e "$dst")
{ unlink "$dst" }
Alien::Build->log("cp $src $dst") if $opt->{verbose};
File::Copy::cp("$src", "$dst") || die "copy error $src => $dst: $!";
if($] < 5.012 && -x "$src" && $^O ne 'MSWin32')
{
# apparently Perl 5.8 and 5.10 do not preserver perms
my $mode = [stat "$src"]->[2] & oct(777);
eval { chmod $mode, "$dst" };
}
}
},
no_chdir => 1,
}, "$src_root");
lib/Test/Alien.pm view on Meta::CPAN
unshift @PATH, $alien->bin_dir;
}
}
if($alien->can('alien_helper'))
{
my($intr) = _interpolator();
my $help = eval { $alien->alien_helper };
if(my $error = $@)
{
$ok = 0;
push @diag, " error getting helpers: $error";
}
foreach my $name (keys %$help)
{
my $code = $help->{$name};
$intr->replace_helper($name, $code);
}
}
}
else
lib/Test/Alien.pm view on Meta::CPAN
versioncheck => 0,
prototypes => 0,
%{ $xs->{pxs} },
);
};
$@;
};
$ctx->note("parse xs $xs_filename => $c_filename") if $verbose;
$ctx->note($out) if $verbose;
$ctx->note("error: $err") if $verbose && $err;
unless($pxs->report_error_count == 0)
{
$ok = 0;
push @diag, ' ExtUtils::ParseXS failed:';
push @diag, " $err" if $err;
push @diag, " $_" for split /\r?\n/, $out;
}
}
push @diag, "xs_ok called without any aliens, you may want to call alien_ok" unless @aliens || $ENV{TEST_ALIEN_ALIENS_MISSING};
lib/Test/Alien.pm view on Meta::CPAN
{
local @INC = @INC;
unshift @INC, "$dir";
## no critic
eval '# line '. __LINE__ . ' "' . __FILE__ . qq("\n) . qq{
use $module;
};
## use critic
}
if(my $error = $@)
{
$ok = 0;
push @diag, ' XSLoader failed';
push @diag, " $error";
}
}
}
}
$ctx->ok($ok, $message);
$ctx->diag($_) for @diag;
$ctx->release;
unless($ok || defined $ENV{TEST_ALIEN_ALWAYS_KEEP})
lib/Test/Alien.pm view on Meta::CPAN
my $pm = "$class.pm";
$pm =~ s/::/\//g;
my $ctx = context();
my $plugin = eval {
require $pm unless $class->can('new');
$class->new(@args);
};
if(my $error = $@)
{
$ctx->ok(0, $message, ['unable to create $name plugin', $error]);
$ctx->release;
return 0;
}
eval {
$plugin->init($build->meta);
};
if($^O eq 'MSWin32' && ($plugin->isa('Alien::Build::Plugin::Build::MSYS') || $plugin->isa('Alien::Build::Plugin::Build::Autoconf')))
{
require Alien::MSYS;
unshift @PATH, Alien::MSYS::msys_path();
}
if(my $error = $@)
{
$ctx->ok(0, $message, ['unable to initiate $name plugin', $error]);
$ctx->release;
return 0;
}
else
{
$ctx->ok(1, $message);
$ctx->release;
return 1;
}
}
lib/Test/Alien.pm view on Meta::CPAN
sub interpolate_template_is
{
my($template, $pattern, $message) = @_;
$message ||= "template matches";
my($intr) = _interpolator;
my $value = eval { $intr->interpolate($template) };
my $error = $@;
my @diag;
my $ok;
if($error)
{
$ok = 0;
push @diag, "error in evaluation:";
push @diag, " $error";
}
elsif(ref($pattern) eq 'Regexp')
{
$ok = $value =~ $pattern;
push @diag, "value '$value' does not match $pattern'" unless $ok;
}
else
{
$ok = $value eq "$pattern";
push @diag, "value '$value' does not equal '$pattern'" unless $ok;
lib/Test/Alien.pm view on Meta::CPAN
my($intr) = _interpolator;
my $ok = 1;
my @diag;
my @command;
foreach my $template (@template)
{
my $command = eval { $intr->interpolate($template) };
if(my $error = $@)
{
$ok = 0;
push @diag, "error in evaluation:";
push @diag, " $error";
}
else
{
push @command, $command;
}
}
my $ctx = context();
if($ok)
lib/Test/Alien.pm view on Meta::CPAN
to work easily with L<Alien::Base> based modules, but can also be used
via the synthetic interface to test non L<Alien::Base> based L<Alien>
modules. It has very modest prerequisites.
Prior to this module the best way to test a L<Alien> module was via L<Test::CChecker>.
The main downside to that module is that it is heavily influenced by and uses
L<ExtUtils::CChecker>, which is a tool for checking at install time various things
about your compiler. It was also written before L<Alien::Base> became as stable as it
is today. In particular, L<Test::CChecker> does its testing by creating an executable
and running it. Unfortunately Perl uses extensions by creating dynamic libraries
and linking them into the Perl process, which is different in subtle and error prone
ways. This module attempts to test the libraries in the way that they will actually
be used, via either C<XS> or L<FFI::Platypus>. It also provides a mechanism for
testing binaries that are provided by the various L<Alien> modules (for example
L<Alien::gmake> and L<Alien::patch>).
L<Alien> modules can actually be usable without a compiler, or without L<FFI::Platypus>
(for example, if the library is provided by the system, and you are using L<FFI::Platypus>,
or if you are building from source and you are using C<XS>), so tests with missing
prerequisites are automatically skipped. For example, L</xs_ok> will automatically skip
itself if a compiler is not found, and L</ffi_ok> will automatically skip itself
lib/Test/Alien.pm view on Meta::CPAN
my $run = run_ok $command;
my $run = run_ok $command, $message;
Runs the given command, falling back on any C<Alien::Base#bin_dir> methods provided by L<Alien> modules
specified with L</alien_ok>.
C<$command> can be either a string or an array reference.
Only fails if the command cannot be found, or if it is killed by a signal! Returns a L<Test::Alien::Run>
object, which you can use to test the exit status, output and standard error.
Always returns an instance of L<Test::Alien::Run>, even if the command could not be found.
=head2 xs_ok
xs_ok $xs;
xs_ok $xs, $message;
Compiles, links the given C<XS> code and attaches to Perl.
lib/Test/Alien.pm view on Meta::CPAN
is $module->foo, 1;
};
The module name detected during the XS parsing phase will
be passed in to the subtest. This is helpful when you are
using a generated module name.
If you need to test XS C++ interfaces, see L<Test::Alien::CPP>.
Caveats: C<xs_ok> uses L<ExtUtils::ParseXS>, which may call C<exit>
under certain error conditions. While this is not really good
thing to happen in the middle of a test, it usually indicates
a real failure condition, and it should return a failure condition
so the test should still fail overall.
[version 2.53]
As of version 2.53, C<xs_ok> will only remove temporary generated files
if the test is successful by default. You can force either always
or never removing the temporary generated files using the
C<TEST_ALIEN_ALWAYS_KEEP> environment variable (see L</ENVIRONMENT> below).
lib/Test/Alien/Build.pm view on Meta::CPAN
undef $build_alienfile;
undef $build_root;
undef $build_targ;
}
sub alienfile_ok
{
my $build;
my $name;
my $error;
if(@_ == 1 && ! defined $_[0])
{
$build = $_[0];
$error = 'no alienfile given';
$name = 'alienfile compiled';
}
elsif(@_ == 1 && eval { $_[0]->isa('Alien::Build') })
{
$build = $_[0];
$name = 'alienfile compiled';
}
else
{
$build = eval { alienfile(@_) };
$error = $@;
$name = 'alienfile compiles';
}
my $ok = !! $build;
my $ctx = context();
$ctx->ok($ok, $name);
$ctx->diag("error: $error") if $error;
$ctx->release;
$build;
}
sub alienfile_skip_if_missing_prereqs
{
my($phase) = @_;
if($build)
{
eval { $build->load_requires('configure', 1) };
if(my $error = $@)
{
my $reason = "Missing configure prereq";
if($error =~ /Required (.*) (.*),/)
{
$reason .= ": $1 $2";
}
my $ctx = context();
$ctx->plan(0, SKIP => $reason);
$ctx->release;
return;
}
$phase ||= $build->install_type;
eval { $build->load_requires($phase, 1) };
if(my $error = $@)
{
my $reason = "Missing $phase prereq";
if($error =~ /Required (.*) (.*),/)
{
$reason .= ": $1 $2";
}
my $ctx = context();
$ctx->plan(0, SKIP => $reason);
$ctx->release;
return;
}
}
}
lib/Test/Alien/Build.pm view on Meta::CPAN
$name ||= 'alien download';
my $ok;
my $file;
my @diag;
my @note;
if($build)
{
my($out, $error) = capture_merged {
eval {
$build->load_requires('configure');
$build->load_requires($build->install_type);
$build->download;
};
$@;
};
if($error)
{
$ok = 0;
push @diag, $out if defined $out;
push @diag, "extract threw exception: $error";
}
else
{
$file = $build->install_prop->{download};
if(-d $file || -f $file)
{
$ok = 1;
push @note, $out if defined $out;
}
else
lib/Test/Alien/Build.pm view on Meta::CPAN
my($archive, $name) = @_;
$name ||= $archive ? "alien extraction of $archive" : 'alien extraction';
my $ok;
my $dir;
my @diag;
my @note;
if($build)
{
my($out, $error);
($out, $dir, $error) = capture_merged {
my $dir = eval {
$build->load_requires('configure');
$build->load_requires($build->install_type);
$build->download;
$build->extract($archive);
};
($dir, $@);
};
if($error)
{
$ok = 0;
push @diag, $out if defined $out;
push @diag, "extract threw exception: $error";
}
else
{
if(-d $dir)
{
$ok = 1;
push @note, $out if defined $out;
}
else
{
lib/Test/Alien/Build.pm view on Meta::CPAN
my($name) = @_;
$name ||= 'alien builds okay';
my $ok;
my @diag;
my @note;
my $alien;
if($build)
{
my($out,$error) = capture_merged {
eval {
$build->load_requires('configure');
$build->load_requires($build->install_type);
$build->download;
$build->build;
};
$@;
};
if($error)
{
$ok = 0;
push @diag, $out if defined $out;
push @diag, "build threw exception: $error";
}
else
{
$ok = 1;
push @note, $out if defined $out;
require Alien::Base;
my $prefix = $build->runtime_prop->{prefix};
lib/Test/Alien/Build.pm view on Meta::CPAN
my($name) = @_;
$name ||= "run clean_install";
my $ok;
my @diag;
my @note;
if($build)
{
my($out,$error) = capture_merged {
eval {
$build->clean_install;
};
$@;
};
if($error)
{
$ok = 0;
push @diag, $out if defined $out && $out ne '';
push @diag, "build threw exception: $error";
}
else
{
$ok = 1;
push @note, $out if defined $out && $out ne '';
}
}
else
{
$ok = 0;
lib/Test/Alien/Build.pm view on Meta::CPAN
$name ||= "alien checkpoint ok";
my $ok;
my @diag;
if($build)
{
eval { $build->checkpoint };
if($@)
{
push @diag, "error in checkpoint: $@";
$ok = 0;
}
else
{
$ok = 1;
}
undef $build;
}
else
{
lib/Test/Alien/Build.pm view on Meta::CPAN
$name ||= "alien resume ok";
my $ok;
my @diag;
if($build_alienfile && $build_root && !defined $build)
{
$build = eval { Alien::Build->resume($build_alienfile, "$build_root/root") };
if($@)
{
push @diag, "error in resume: $@";
$ok = 0;
}
else
{
$ok = 1;
}
}
else
{
if($build)
lib/Test/Alien/Run.pm view on Meta::CPAN
{
my($self, $regex, $message) = @_;
$message ||= "output does not match $regex";
$self->_like($regex, 'out', 1, $message);
}
sub err_like
{
my($self, $regex, $message) = @_;
$message ||= "standard error matches $regex";
$self->_like($regex, 'err', 0, $message);
}
sub err_unlike
{
my($self, $regex, $message) = @_;
$message ||= "standard error does not match $regex";
$self->_like($regex, 'err', 1, $message);
}
sub note
{
my($self) = @_;
my $ctx = context();
$ctx->note("[cmd]");
$ctx->note(" @{$self->{cmd}}");
lib/Test/Alien/Run.pm view on Meta::CPAN
=head2 out
my $str = $run->out;
The standard output from the run.
=head2 err
my $str = $run->err;
The standard error from the run.
=head2 exit
my $int = $run->exit;
The exit value of the run.
=head2 signal
my $int = $run->signal;
lib/Test/Alien/Run.pm view on Meta::CPAN
$run->out_unlike($regex);
$run->out_unlike($regex, $message);
Passes if the output of the run does not match the given pattern.
=head2 err_like
$run->err_like($regex);
$run->err_like($regex, $message);
Passes if the standard error of the run matches the given pattern.
=head2 err_unlike
$run->err_unlike($regex);
$run->err_unlike($regex, $message);
Passes if the standard error of the run does not match the given pattern.
=head2 note
$run->note;
Send the output and standard error as test note.
=head2 diag
$run->diag;
Send the output and standard error as test diagnostic.
=head1 SEE ALSO
=over 4
=item L<Test::Alien>
=back
=head1 AUTHOR