Commit Graph

822 Commits

Author SHA1 Message Date
Joshua Root 22e1abd866 Add --purge option for port clean 2026-05-25 03:49:53 +10:00
Herby Gillot bc1089e900 port: add 'prefix' action to display the configured prefix
Adds a new `port prefix` command that prints MacPorts' installation prefix on
stdout, unadorned, so it can be used directly in shell scripts.

Closes: https://trac.macports.org/ticket/72961
2026-04-18 15:58:50 -04:00
Herby Gillot 1dadbbf8b5 pextlib: add BLAKE3 as new checksum type
Bundle the BLAKE3 1.8.4 C implementation (CC0/Apache-2.0 licensed) in
pextlib and wire it up as a new checksum type alongside md5, sha1,
rmd160, and sha256.

Architecture-specific SIMD acceleration is selected at configure time:
x86-64 gets SSE2/SSE41/AVX2/AVX512 assembly with runtime dispatch,
arm64 gets NEON intrinsics, and all other architectures (including
i386 and ppc for OS X 10.5 compatibility) use the portable C fallback.

Includes tests, and fixes some bad tests around checksum validation.

See: https://trac.macports.org/ticket/63885
2026-04-11 02:50:09 +02:00
Joshua Root 81fb1d2acd Document port search --depends_{patch,test}
Closes: https://trac.macports.org/ticket/73758
2026-03-29 12:28:56 +11:00
Herby Gillot 0d4b57b05a portlivecheck: add livecheck.user_agent option
Add livecheck.user_agent to override the HTTP User-Agent for livecheck
requests, mirroring the existing fetch.user_agent option. Also document
both options in portfile.7, where they were previously undocumented.

Fixes: https://trac.macports.org/ticket/64369
2026-03-28 15:35:49 +11:00
aeiouaeiouaeiouaeiouaeiouaeiou acd7868b5a Update copyright year 2026-03-28 14:49:05 +11:00
Joshua Root 90eefc6648 regen docs 2026-03-22 06:33:46 +11:00
Herby Gillot 037d1686d1 port: add per-line timestamps (-T) and phase elapsed time logging
Adds two related logging improvements to port build output:

- New -T flag prepends an ISO 8601 timestamp (e.g. 2026-03-18T09:42:01-0400)
  to every line of terminal output. Timestamps are off by default. The flag is
  implemented via a new ui_options(ports_timestamps) option, consistent with
  ports_verbose, ports_debug, etc.

- Phase elapsed time is always reported. When a build phase completes,
  a notice is emitted showing the phase name and duration in seconds
  (e.g. "Phase build completed in 112.034 seconds"). This is implemented
  in set_phase, which now tracks phase_start_ms and emits the notice on
  each phase transition. A call to set_phase main after eval_targets
  ensures the final phase's elapsed time is also reported.

The timestamp format is stored in macports::log_timestamp_format so it
is defined in one place. Tests are added for both features.

Closes: https://trac.macports.org/ticket/2020

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 21:38:28 +01:00
Joshua Root 97a7369bb7 Bump master version to 2.12.99 2026-02-03 07:23:02 +11:00
Joshua Root 9c473823cc macports.conf: document fetch_threads 2025-12-09 18:01:58 +11:00
Joshua Root ebe342ac69 Document test and patch dependencies.
Closes: https://trac.macports.org/ticket/69848
2025-08-23 07:29:53 +10:00
Joshua Root 05122e1f46 selfupdate: use master not HEAD in Trac fallback URL
Closes: https://trac.macports.org/ticket/72823
2025-08-13 16:58:19 +10:00
Joshua Root a488313711 Bump master version to 2.11.99 2025-06-27 18:10:09 +10:00
Joshua Root d9a94cc142 snapshot: document --export and --import options
See: https://trac.macports.org/ticket/72628
2025-06-23 15:30:47 +10:00
Joshua Root 8da8bced8a Document 'port reclaim --keep-build-deps'
Closes: https://trac.macports.org/ticket/72627
2025-06-23 14:00:13 +10:00
Mohamed Akram c1c02d8b4c livecheck: add git support 2025-03-08 16:25:54 +11:00
Joshua Root fe87793b8e Drop support for Mac OS X 10.4 Tiger
See thread: https://lists.macports.org/pipermail/macports-dev/2025-January/046014.html
2025-02-01 16:43:15 +11:00
Clemens Lang 079ce04d22 doc: Document migrate/restore/snapshot in port(1)
See https://lists.macports.org/pipermail/macports-users/2024-October/053107.html.
2024-10-14 20:27:32 +00:00
Joshua Root c29382642f Bump version to 2.10.99 2024-08-02 22:26:47 +10:00
Joshua Root 00e0280cb5 Regen docs 2024-07-15 16:26:33 +10:00
Joshua Root 57847f7afa mportsync: use gzipped tarball if available
Should be compressed with --rsyncable in order to not defeat the rsync
algorithm and allow incremental updates.
2024-07-14 04:48:28 +10:00
Joshua Root 30dbb2f218 Add --rsync option for selfupdate
Forces use of rsync to download bases sources, just in case there are
unforeseen issues with http. Don't delete the base sources after
successful update with this option, since rsync updates them
incrementally.
2024-07-08 17:14:27 +10:00
Joshua Root b5818f3719 regen docs 2024-07-07 01:53:52 +10:00
Clemens Lang dd3acc4b97 macports1.0: Selfupdate using HTTP(S)
Refactor the selfupdate package into smaller functions and switch to
a control flow of:

 1. checking for newer versions by downloading a single URL
 2. downloading the new version using HTTP when available
 3. verifying the signature using EdDSA with ed25519 elliptic curve
    crypto with the help of OpenBSD's signify(1)
 4. Fall back to the old rsync method if the above fails.

This allows us to automatically fall back to other mirrors should our
main mirror not be available. We did not have this functionality
available for our previous rsync-based mechanism.

Additionally, the use of our standard curl wrapper enables displaying
a progress bar for the download and automatically uses any proxies that
might already be configured for HTTP.

Since we currently do not have a standard mechanism to sign the source
code tarballs uploaded to our distfiles server and github releases page
(we only sign the tarball pushed to rsync), I've taken the liberty to
introduce a new modern signature scheme for this channel – if we have to
touch this anyway, we might as well use modern tools and algorithms.

Co-authored-by: Joshua Root <jmr@macports.org>

Closes: https://trac.macports.org/ticket/38265
Closes: https://github.com/macports/macports-base/pull/184
2024-07-06 23:00:41 +10:00
Joshua Root 1be7e2c135 port-list.1: mention no args behaviour
This is actually the main point of the action.
2024-07-06 03:11:14 +10:00