## mini_portile changelog
### 2.8.7 / 2024-05-31
#### Added
- When setting the C compiler through the `MiniPortile` constructor, the preferred keyword argument is now `:cc_command`. The original `:gcc_command` is still supported. (#144 by @flavorjones)
- Add support for extracting xz-compressed tarballs on OpenBSD. (#141 by @postmodern)
- Add OpenBSD support to the experimental method `MakeMakefile#mkmf_config`. (#141 by @flavorjones)
#### Changed
- `MiniPortileCMake` now detects the C and C++ compiler the same way `MiniPortile` does: by examining environment variables, then using kwargs, then looking in RbConfig (in that order). (#144 by @flavorjones)
- GPG file verification error messages are captured in the raised exception. Previously these errors went to `stderr`. (#145 by @flavorjones)
### 2.8.6 / 2024-04-14
#### Added
- When using CMake on FreeBSD, default to clang's "cc" and "c++" compilers. (#139 by @mudge)
### 2.8.5 / 2023-10-22
#### Added
- New methods `#lib_path` and `#include_path` which point at the installed directories under `ports`. (by @flavorjones)
- Add config param for CMAKE_BUILD_TYPE, which now defaults to `Release`. (#136 by @Watson1978)
#### Experimental
Introduce experimental support for `MiniPortile#mkmf_config` which sets up MakeMakefile variables to properly link against the recipe. This should make it easier for C extensions to package third-party libraries. (by @flavorjones)
- With no arguments, will set up just `$INCFLAGS`, `$libs`, and `$LIBPATH`.
- Optionally, if provided a pkg-config file, will use that config to more precisely set `$INCFLAGS`, `$libs`, `$LIBPATH`, and `$CFLAGS`/`$CXXFLAGS`.
- Optionally, if provided the name of a static archive, will rewrite linker flags to ensure correct linkage.
Note that the behavior may change slightly before official support is announced. Please comment on [#118](https://github.com/flavorjones/mini_portile/issues/118) if you have feedback.
### 2.8.4 / 2023-07-18
- cmake: set CMAKE compile flags to configure cross-compilation similarly to `autotools` `--host` flag: `SYSTEM_NAME`, `SYSTEM_PROCESSOR`, `C_COMPILER`, and `CXX_COMPILER`. [#130] (Thanks, @stanhu!)
### 2.8.3 / 2023-07-18
#### Fixed
- cmake: only use MSYS/NMake generators when available. [#129] (Thanks, @stanhu!)
### 2.8.2 / 2023-04-30
#### Fixed
- Ensure that the `source_directory` option will work when given a Windows path to an autoconf directory. [#126]
### 2.8.1 / 2022-12-24
#### Fixed
- Support applying patches via `git apply` even when the working directory resembles a git directory. [#119] (Thanks, @h0tw1r3!)
### 2.8.0 / 2022-02-20
#### Added
- Support xz-compressed archives (recognized by an `.xz` file extension).
- When downloading a source archive, default open_timeout and read_timeout to 10 seconds, but allow configuration via open_timeout and read_timeout config parameters.
### 2.7.1 / 2021-10-20
#### Packaging
A test artifact that has been included in the gem was being flagged by some users' security scanners because it wasn't a real tarball. That artifact has been updated to be a real tarball. [#108]
### 2.7.0 / 2021-08-31
#### Added
The commands used for "make", "compile", and "cmake" are configurable via keyword arguments. [#107] (Thanks, @cosmo0920!)
### 2.6.1 / 2021-05-31
#### Dependencies
Make `net-ftp` an optional dependency, since requiring it as a hard dependency in v2.5.2 caused warnings to be emitted by Ruby 2.7 and earlier. A warning message is emitted if FTP functionality is called and `net-ftp` isn't available; this should only happen in Ruby 3.1 and later.
### 2.5.3 / 2021-05-31
#### Dependencies
Make `net-ftp` an optional dependency, since requiring it as a hard dependency in v2.5.2 caused warnings to be emitted by Ruby 2.7 and earlier. A warning message is emitted if FTP functionality is called and `net-ftp` isn't available; this should only happen in Ruby 3.1 and later.
### 2.6.0 / 2021-05-31
### Added
Recipes may build against a local directory by specifying `source_directory` instead of `files`. In
particular, this may be useful for debugging problems with the upstream dependency (e.g., use `git
bisect` in a local clone) or for continuous integration with upstream HEAD.
### 2.5.2 / 2021-05-28
#### Dependencies
Add `net-ftp` as an explicit dependency to accommodate the upcoming Ruby 3.1 changes that move this and other gems out of the "default" gem set and into the "bundled" gem set. See https://bugs.ruby-lang.org/issues/17873 [#101]
### 2.5.1 / 2021-04-28
#### Dependencies
This release ends support for ruby < 2.3.0. If you're on 2.2.x or earlier, we strongly suggest that you find the time to upgrade, because [official support for Ruby 2.2 ended on 2018-03-31](https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/).
#### Enhancements
* `MiniPortile.execute` now takes an optional `:env` hash, which is merged into the environment variables for the subprocess. Likely this is only useful for specialized use cases. [#99]
* Experimental support for cmake-based projects extended to Windows. (Thanks, @larskanis!)
### 2.5.0 / 2020-02-24
#### Enhancements
* When verifying GPG signatures, remove all imported pubkeys from keyring [#90] (Thanks, @hanazuki!)
### 2.4.0 / 2018-12-02
#### Enhancements
* Skip progress report when Content-Length is unavailable. [#85] (Thanks, @eagletmt!)
### 2.3.0 / 2017-09-13
#### Enhancements
* Verify checksums of files at extraction time (in addition to at download time). (#56)
* Clarify error message if a `tar` command can't be found. (#81)
### 2.2.0 / 2017-06-04
#### Enhancements
* Remove MD5 hashing of configure options, not avialbale in FIPS mode. (#78)
* Add experimental support for cmake-based projects.
* Retry on HTTP failures during downloads. [#63] (Thanks, @jtarchie and @jvshahid!)
* Support Ruby 2.4 frozen string literals.
* Support applying patches for users with misconfigured git worktree. [#69]
* Support gpg signature verification of download resources.
### 2.1.0 / 2016-01-06
#### Enhancements
* Add support for `file:` protocol for tarballs
#### Bugfixes
* Raise exception on unsupported URI protocols
* Ignore git whitespace config when patching (Thanks, @e2!) (#67)
### 2.0.0 / 2015-11-30
Many thanks to @larskanis, @knu, and @kirikak2, who all contributed
code, ideas, or both to this release.
Note that the 0.7.0.rc* series was not released as 0.7.0 final, and
instead became 2.0.0 due to backwards-incompatible behavioral changes
which can appear because rubygems doesn't enforce loading the declared
dependency version at installation-time (only run-time).
If you use MiniPortile in an `extconf.rb` file, please make sure you're
setting a gem version constraint before `require "mini_portile2"` .
Note also that 2.0.0 doesn't include the backwards-compatible "escaped
string" behavior from 0.7.0.rc3.
#### Enhancements
* In patch task, use git(1) or patch(1), whichever is available.
* Append outputs to patch.log instead of clobbering it for every patch command.
* Take `configure_options` literally without running a subshell.
This changes allows for embedded spaces in a path, among other things.
Please unescape `configure_options` where you have been doing it yourself.
* Print last 20 lines of the given log file, for convenience.
* Allow SHA1, SHA256 and MD5 hash verification of downloads
#### Bugfixes
* Fix issue when proxy username/password use escaped characters.
* Fix use of https and ftp proxy.
### 0.7.0.rc4 / 2015-08-24
* Updated tests for Windows. No functional change. Final release candidate?
### 0.7.0.rc3 / 2015-08-24
* Restore backwards-compatible behavior with respect to escaped strings.
### 0.7.0.rc2 / 2015-08-24
* Restore support for Ruby 1.9.2
* Add Ruby 2.0.0 and Ruby 2.1.x to Appveyor suite
### 0.7.0.rc1 / 2015-08-24
Many thanks to @larskanis, @knu, and @kirikak2, who all contributed
code, ideas, or both to this release.
#### Enhancements
* In patch task, use git(1) or patch(1), whichever is available.
* Append outputs to patch.log instead of clobbering it for every patch command.
* Take `configure_options` literally without running a subshell.
This changes allows for embedded spaces in a path, among other things.
Please unescape `configure_options` where you have been doing it yourself.
* Print last 20 lines of the given log file, for convenience.
* Allow SHA1, SHA256 and MD5 hash verification of downloads
#### Bugfixes
* Fix issue when proxy username/password use escaped characters.
* Fix use of https and ftp proxy.
### 0.6.2 / 2014-12-30
* Updated gemspec, license and README to reflect new maintainer.
### 0.6.1 / 2014-08-03
* Enhancements:
* Expand path to logfile to easier debugging on failures.
Pull #33 [marvin2k]
### 0.6.0 / 2014-04-18
* Enhancements:
* Add default cert store and custom certs from `SSL_CERT_FILE` if present.
This increases compatibility with Ruby 1.8.7.
* Bugfixes:
* Specify Accept-Encoding to make sure a raw file content is downloaded.
Pull #30. [knu]
* Internal:
* Improve examples and use them as test harness.
### 0.5.3 / 2014-03-24
* Bugfixes:
* Shell escape paths in tar command. Pull #29. [quickshiftin]
* Support older versions of tar that cannot auto-detect
the compression type. Pull #27. Closes #21. [b-dean]
* Try RbConfig's CC before fall back to 'gcc'. Ref #28.
### 0.5.2 / 2013-10-23
* Bugfixes:
* Change tar detection order to support NetBSD 'gtar'. Closes #24
* Trick 'git-apply' when applying patches on nested Git checkouts. [larskanis]
* Respect ENV's MAKE before fallback to 'make'. [larskanis]
* Respect ENV's CC variable before fallback to 'gcc'.
* Avoid non-ASCII output of GCC cause host detection issues. Closes #22
### 0.5.1 / 2013-07-07
* Bugfixes:
* Detect tar executable without shelling out. [jtimberman]
### 0.5.0 / 2012-11-17
* Enhancements:
* Allow patching extracted files using `git apply`. [metaskills]
### 0.4.1 / 2012-10-24
* Bugfixes:
* Syntax to process FTp binary chunks differs between Ruby 1.8.7 and 1.9.x
### 0.4.0 / 2012-10-24
* Enhancements:
* Allow fetching of FTP URLs along HTTP ones. [metaskills]
### 0.3.0 / 2012-03-23
* Enhancements:
* Use `gcc -v` to determine original host (platform) instead of Ruby one.
* Deprecations:
* Dropped support for Rubies older than 1.8.7
### 0.2.2 / 2011-04-11
* Minor enhancements:
* Use LDFLAGS when activating recipes for cross-compilation. Closes #6
* Bugfixes:
* Remove memoization of *_path helpers. Closes #7
### 0.2.1 / 2011-04-06
* Minor enhancements:
* Provide MiniPortile#path to obtain full path to installation directory. Closes GH-5
### 0.2.0 / 2011-04-05
* Enhancements:
* Improve tar detection
* Improve and refactor configure_options
* Detect configure_options changes. Closes GH-1
* Add recipe examples
* Bugfixes:
* MiniPortile#target can be changed now. Closes GH-2
* Always redirect tar output properly
### 0.1.0 / 2011-03-08
* Initial release. Welcome to this world!
Generated by dwww version 1.16 on Tue Dec 16 05:27:53 CET 2025.