Note: Changes should be grouped by release and use these icons:
- Added: ➕
- Changed: 🌌
- Deprecated: 👇
- Removed: ❌
- Fixed: 🐛
- Security: 🛡
➕ Support for downloading recipe source code using Git.
Added a new source field for recipe YAML files. source should contain one of:
uri: This is equivalent to the legacyurlfield.git: A URL to clone a Git repository. May be eithergit@orhttps://.
If git is used, you must additionally specify one of:
branchtag
For example:
source:
git: "https://github.com/Cisco-Talos/clamav.git"
branch: mainOr, instead of this:
url: "https://github.com/Cisco-Talos/clamav/releases/download/clamav-1.5.1/clamav-1.5.1.tar.gzDo this:
source:
uri: "https://github.com/Cisco-Talos/clamav/releases/download/clamav-1.5.1/clamav-1.5.1.tar.gzDeprecated the url field in favor of using source with uri. url may be removed in a future release.
🐛 Remove dependency on deprecated pkg_resources package to ensure compatibility with future Python versions.
🐛 Fixed an issue using pkg_resources package when setuptools is not installed. The fix adds setuptools as a dependency.
➕ Added support for extracting .tar.xz source archives, in addition to .tar.gz and .zip archives.
➕ Added the ability to define variables in tools that can be accessed in recipes.
To define variables, add a variables list for each platform.
This feature was inspired by a need to make recipes that have strings in them specific to a given tool version. Specifically we'll be using this to define CMake generator names in Visual Studio tool YAML files. The correct generator name for a given Visual Studio version will then be available for use in recipes that use Visual Studio.
Example tool, visualstudio-2017.yaml:
name: visualstudio
version: "2017"
mussels_version: "0.3"
type: tool
platforms:
Windows:
file_checks:
- C:\/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Auxiliary/Build/vcvarsall.bat
- C:\/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Auxiliary/Build/vcvarsall.bat
- C:\/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat
variables:
cmake_generator: Visual Studio 15 2017Example recipe, libz.yaml:
name: libz
version: "1.2.11"
url: https://www.zlib.net/zlib-1.2.11.tar.gz
mussels_version: "0.3"
type: recipe
platforms:
Windows:
x64:
build_script:
configure: |
CALL cmake.exe -G "{visualstudio.cmake_generator} Win64"
make: |
CALL cmake.exe --build . --config Release
dependencies: []
install_paths:
include:
- zlib.h
- zconf.h
lib:
- Release/zlibstatic.lib
license/zlib:
- README
required_tools:
- cmake
- visualstudio>=2017🐛 Fixed a crash caused by a failure to properly decode command output text from some locales to utf8.
➕ Added the Mussels version string to the msl --help output.
➕ Added msl build options allowing users to customize the work, logs, and downloads directories:
-w,--work-dir TEXTWork directory. The default is: ~/.mussels/cache/work-l,--log-dir TEXTLog directory. The default is: ~/.mussels/logs-D,--download-dir TEXTDownloads directory. The default is: ~/.mussels/cache/downloads
🐛 The msl build -c shorthand for --cookbook was overloaded by the --clean (-c) shorthand. Because --cookbook (-c ) is also used elsewhere, the --clean option was renamed to --rebuild (-r).
🐛 Fixed an issue where the list of available tools was being limited based on all recipe tool version requirements rather than just those found in the dependency chain.
➕ Added the msl build --install/-i option, allowing builds to install directly to a directory of the user's choosing.
🌌 The {install} build script variable now points to the full install prefix, including the target architecture directory when building with the default install directory (eg: host, x86, x64, etc).
This was necessary in order for the --install option to make sense. This also simplifies recipes because they no longer have to specify "{install}/{target}" to reference the install directory. This, unfortunately, also makes it a breaking change. All recipes will have to remove the "/{target}" to remain compatible.
➕ First release!