2.2.0~alpha3
Pre-release
Pre-release
kit-ty-kate
released this
14 Nov 14:41
·
646 commits
to master
since this release
This is the third alpha release of opam 2.2.0.
This alpha release contains new features, enhancements, updates & fixes. Please see upcoming blog post for main new features highlights and upgrade instructions.
Binaries and full archive are signed by by opam dev team (fingerprint 92C5 26AE 50DF 3947 0EB2 911B ED4C F1CA 67CB AA92
).
Major changes
Environment variables path rewriting
- When computing environment variables updates, use rewriting rules (defined in opam file, or default per variable) to split, join, quote, etc. [#5636 @rjbou - fix #5602 #4690 #2927]
- Add
x-env-path-rewrite
extensions field to permit specification of rewriting rules for variables defined insetenv
andbuild-env
: no rewrite; separator and path format formulae [#5636 @rjbou - fix #5602 #4690 #2927] - Reinstall if
x-env-path-rewrite
is updated [#5636 @rjbou] environment
file now stores environment variable rewriting rules [#5636 @rjbou]
Sandbox
- Make /tmp writable again to restore POSIX compliancy [#5634 #5662 @kit-ty-kate - fixes #5462]
Tree
- Allow packages with a specific version, directories or local opam files, as input [#5613 @kit-ty-kate]
- Add handling of
--recurse
and--subpath
for directory arguments [#5613 @kit-ty-kate]
Admin
- Add
add-extrafiles
command to add, check, and updateextra-files:
field according files present infiles/
directory [#5647 @rjbou]
Lint
- Allow to mark a set of warnings as errors using a new syntax
-W @1..9
[#5652 @kit-ty-kate @rjbou - fixes #5651]
Miscellaneous changes
Global CLI
- [BUG] Fix the
OPAMVERBOSE
setting, levels 0 and 1 were inverted: "no" gave level 1, and "yes" gave level 0 [#5686 @smorimoto]
Install
- [BUG] On install driven by
.install
file, track intermediate directories too, in order to have them suppressed at package removal [#5691 @rjbou - fix #5688] - [BUG] With
--assume-built
, resolve variables in depends filter according switch & global environment, not only depends predefined variables [#570 @rjbou - fix #5698] - [BUG] Handle undefined variables defaults to false in dependencies formula resolution for assume built [#5701 rjbou]
Lint
- [BUG] Fix extra-files handling when linting packages from repositories, see #5068 [#5639 @rjbou]
- Improve the debug log when checking extra-files [#5640 @rjbou]
Repository
Opamfile
Build
- [BUG] Fix "make cold" on Windows when gcc is available [#5635 @kit-ty-kate - fixes #5600]
- Fix incorrect error message when alternate C compiler is missing [#5667 @dra27 - partial fix #5661]
Internal: Windows
Release
- Create ppc64le and s390x binaries during releases [#5420 @kit-ty-kate]
- Workaround incorrect
<limits.h>
in musl [#5383 @dra27] - Upgrade to FreeBSD 13.2 and OpenBSD 7.4 [#5727 @kit-ty-kate]
- Fix check for adding
-lsha_stubs
only onmaster
on OpenBSD [#5733 @punchagan]
Documentation
Testing
- Improve and extend tests [#5560 #5600 #5607 #5636 #5639 #5647 #5672 #5686 #5691 #5700 #5701 @kit-ty-kate @rjbou]
- Improve test engine [#5560 #5606 #5607 #5654 #5657 @rjbou]
API updates
opam-client
OpamTreeCommand.run
: now takes anatom
instead ofname
[#5613 @kit-ty-kate]
opam-format
OpamFile.Environment
: add parsing-printing of rewriting rules, keeping backward compatibility [#5636 @rjbou]OpamFile.OPAM
:effective_part
keepsx-env-path-rewrite
, affects alsoeffectively_equal
[#5636 @rjbou]OpamFile.OPAM
: add handling ofx-env-path-rewrite
extensions field, that specifies rewrite rules [#5636 @rjbou]OpamFilter
: addexpand_interpolations_in_file_full
which allows setting the output file along with the input file [#5629 @rgrinberg]OpamFilter
: exposestring_interp_regex
which allows clients to identify variable interpolations in strings [#5633 @gridbugs]OpamFormat.V
: addpath_format
&separator
value parser printer [#5636 @rjbou]OpamFormat
: addformula_items
to permit definition of formulae pp not only of the typepackage-formula
[#5636 @rjbou]OpamPp.fallback
: add name concatenation and printing fallback too [#5636 @rjbou]OpamTypes.env_update
: add arewrite
field, that contains environment variable rewriting rules (formula to resolved, or already resolved, or no rewriting) [#5636 @rjbou]OpamTypes.env_update
: change from tuple to a record [#5636 @rjbou]OpamTypesBase
: addenv_update_resolved
andenv_update_unresolved
builders [#5636 @rjbou]OpamTypesBase
: addenv_update
,env_update_resolved
, andenv_update_unresolved
builders [#5636 @rjbou]OpamTypesBase
: add to_string function forpath_format
&separator
[#5636 @rjbou]
opam-core
OpamStd.Config.env_level
: fix level parsing, it was inverted (eg, "no" gives level 1, and "yes" level 0) [#5686 @smorimoto]OpamStd.Sys.chop_exe_suffix
: removes.exe
from the end of a path, if present [#5714 @dra27]OpamSystem.apply_cygpath_path_transform
: fix cygpath call, use resolved name [#5716 @rjbou]OpamSystem.get_cygpath_path_transform
: add labeled argument to specify if path is a pathlist [#5636 @rjbou]OpamSystem.mk_temp_dir
: resolve real path withOpamSystem.real_path
before returning it [#5654 @rjbou]OpamSystem.resolve_command
: in command resolution path, check that the file is not a directory and that it is a regular file [#5606 @rjbou - fix #5585 #5597 #5650 #5626]