./pkgtools/mktool, High performance alternatives for pkgsrc/mk

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ]


Branch: CURRENT, Version: 1.5.11, Package name: mktool-1.5.11, Maintainer: jperkin

This is a highly-performant collection of utilities that provide
alternate implementations for parts of the pkgsrc mk infrastructure.

Many targets under pkgsrc/mk are implemented using a combination of
shell and awk, and can suffer from a lack of performance, especially
when the number of input files grows significantly.

The replacement tools provided by mktool can be anywhere from 5 times
up to 500 times faster than the defaults.

To enable, install this package or 'cargo install mktool', and then
add the following lines to your mk.conf:

TOOLS_PLATFORM.mktool= /path/to/mktool

pkgsrc will then use mktool for all targets where it is supported.


Master sites:

Filesize: 53.743 KB

Version history: (Expand)


CVS history: (Expand)


   2026-10-22 13:54:21 by Jonathan Perkin | Files touched by this commit (3) | Package updated
Log message:
mktool: Update to 1.5.11.

* Cargo: Upgrade all dependencies, including webpki certificate updates.  The
  minimum supported Rust version is now 1.88.

* check-portability: Handle non-UTF8 input without skipping shell checks or
  failing to read patch files, and improve performance.

* fetch: Honour `MKTOOL_READ_TIMEOUT` for HTTP downloads.

* distinfo: Calculate all checksums in a single pass over each file, improving
  performance of distinfo generation for www/grafana by another 33%.
   2026-07-24 12:56:36 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.10.

## Version 1.5.10 (2026-07-24)

* fetch: Specify a User-Agent, required by some sites.

* Include git sha in version number when building from an untagged revision to
  help keep track of test binaries.
   2026-05-21 15:22:44 by Jonathan Perkin | Files touched by this commit (2)
Log message:
mktool: Update to 1.5.9.

## Version 1.5.9 (2026-05-21)

* checksum: Fix error handling and improve compatibility with checksum.awk.
   2026-04-27 10:17:24 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.8.

## Version 1.5.8 (2026-04-20)

* Many minor code cleanups, performance improvements, security enhancements,
  and fixes for some potential but unlikely failures.
   2026-04-08 21:53:55 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.7.

## Version 1.5.7 (2026-04-08)

* check-shlibs: Fix issue causing macOS libraries to erroneously pass.
   2026-03-03 16:08:13 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.6.

## Version 1.5.6 (2026-03-03)

* fetch: Fix IPv6 ftp connections that require EPSV mode.

* fetch: Try all resolved addresses before moving to the next site.

* Improve error handling, warnings, and tests.

* Note that `FETCH_USING=mktool` is no longer required.
   2026-02-02 13:27:57 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.5.

## Version 1.5.5 (2026-01-30)

* fetch: Support connect timeouts for both HTTP and FTP, and read timeouts
  for FTP.  MKTOOL_CONNECT_TIMEOUT and MKTOOL_READ_TIMEOUT allow the
  defaults to be overriden, primarily useful for tests.

* fetch: Fix temp file leak when HTTP body transfer fails mid-download.

* CI: Add workflows to test both feature sets, and improve test coverage.
   2026-01-29 14:10:28 by Jonathan Perkin | Files touched by this commit (3)
Log message:
mktool: Update to 1.5.4.

Ensure http2 support is enabled when native-tls is used.  Noticed by pin.