Bot releases are hidden (Show)
Changes since 2.10.0:
Fixed issues migrating when running under Rosetta 2 on
Apple Silicon. (#70512, jmr in 567fa44, e291303, 9eb441f)
Fixed printing the list of installed versions twice when an
ambiguous port activate
is run. (#70514, jmr in d27484c)
The default build_arch
is now always arm64 when running on Apple
Silicon hardware, even under Rosetta 2. (#61750, jmr in 05cd570)
Published by jmroot 2 months ago
Changes since 2.9.3:
port space
no longer overcounts the space used by ports that
install links. (#66526, jmr in 11662bd)
The number of outdated ports is printed after running
port selfupdate
. (#33820, thelastlin in 4ae6d98)
port selfupdate
now checks whether MacPorts base is outdated by
downloading a small file, and only downloads and extracts the
source code (via http(s)) if a new version needs to be installed.
Integrity of the source is checked using OpenBSD's signify(1).
The old rsync method is used as a fallback if the new method fails.
(#38265, cal in dd3acc4)
Line continuation is supported in macports.conf by ending lines
with a backslash. (jmr in b86ef1e)
Ports' files are now activated using clonefile()
when on a
filesystem that supports cloning (such as APFS). This should
perform better and use less storage for active ports. Port images
are stored as directories rather than archives in this case. A
portimage_mode
option has been added to macports.conf to
enable changing which method is used. (#69555, jmr in 4504942)
The middle part of bin:
, lib:
, and path:
depspecs is no longer
interpreted as a regex. This was mostly undocumented, almost
never used, and made it difficult to use paths containing
characters with special meaning in regexes.
(#69585, jmr in e0c1226)
Added port migrate
action, which can be used after moving to a
new major OS version or CPU architecture to reinstall MacPorts
base and installed ports if needed. (umeshksingla in 6e2f453,
cal in 3f83ad1, 4317a32, f40f655, 72478b1 etc.)
Added -t
and -N
options to the default patch.pre_args
, to prevent
patch(1) on recent macOS versions from silently reverse-applying
already-applied patches. (vallon in b1f59d8)
Updated the bundled Tcl to 8.6.14. (jmr in bc46d68)
Added test.asroot
option. (jmr in 6f0de6c)
Prevented port rdeps --full
from looping infinitely when there
are circular dependencies. (#62711, jmr in 49df406)
Performance improvements for many operations, particularly
boolean expressions and Portfile parsing. (jmr in a28e81c,
169b1ed, 2f3d072, c97e75d, 341d9a0, 46bc1af, etc.)
Add progress bars to slow activation and deactivation operations.
(cal in b78e320b1, 5e669e4a0, 31c285116, cb3305837, effd43526)
Published by jmroot 3 months ago
Changes since beta2:
Published by jmroot 3 months ago
Changes since beta 1:
port migrate
syncs the ports tree before reinstalling ports.Published by jmroot 3 months ago
Changes since 2.9.3:
'port space' no longer overcounts the space used by ports that
install links. (#66526, jmr in 11662bd)
The number of outdated ports is printed after running
'port selfupdate'. (#33820, thelastlin in 4ae6d98)
'port selfupdate' now checks whether MacPorts base is outdated by
downloading a small file, and only downloads and extracts the
source code (via http(s)) if a new version needs to be installed.
Integrity of the source is checked using OpenBSD's signify(1).
The old rsync method is used as a fallback if the new method fails.
(#38265, cal in dd3acc4)
Line continuation is supported in macports.conf by ending lines
with a backslash. (jmr in b86ef1e)
Ports' files are now activated using clonefile() when on a
filesystem that supports cloning (such as APFS). This should
perform better and use less storage for active ports. Port images
are stored as directories rather than archives in this case. A
'portimage_mode' option has been added to macports.conf to
enable changing which method is used. (#69555, jmr in 4504942)
The middle part of bin:, lib:, and path: depspecs is no longer
interpreted as a regex. This was mostly undocumented, almost
never used, and made it difficult to use paths containing
characters with special meaning in regexes.
(#69585, jmr in e0c1226)
Added 'port migrate' action, which can be used after moving to a
new major OS version or CPU architecture to reinstall MacPorts
base and installed ports if needed. (umeshksingla in 6e2f453,
cal in 3f83ad1, 4317a32, f40f655, 72478b1 etc.)
Added -t and -N options to the default patch.pre_args, to prevent
patch(1) on recent macOS versions from silently reverse-applying
already-applied patches. (vallon in b1f59d8)
Updated the bundled Tcl to 8.6.14. (jmr in bc46d68)
Added test.asroot option. (jmr in 6f0de6c)
Prevented 'port rdeps --full' from looping infinitely when there
are circular dependencies. (#62711, jmr in 49df406)
Performance improvements for many operations, particularly
boolean expressions and Portfile parsing. (jmr in a28e81c,
169b1ed, 2f3d072, c97e75d, 341d9a0, 46bc1af, etc.)
Add progress bars to slow activation and deactivation operations.
(cal in b78e320b1, 5e669e4a0, 31c285116, cb3305837, effd43526)
Published by jmroot 7 months ago
Changes since 2.9.2:
Published by jmroot 7 months ago
Changes since 2.9.1:
Fixed built-in architecture test failing on unreadable files.
(#69478, jmr in e3468c5)
Fixed some issues that could occur if settings like 'prefix'
contained symlinks, by fully resolving and normalizing paths read
from the config file. (#69327, jmr in b69f0cf)
Fixed privileges sometimes not being dropped for test target.
(jmr in d304c0a)
Published by jmroot 9 months ago
Changes since 2.9.0:
Published by jmroot 9 months ago
Changes since 2.8.1:
Upgrade will now update registry metadata if needed for ports
that are not outdated. This should hopefully cut down on revision
increases requiring a rebuild just to do things like add or
remove dependencies. (jmr in bec110b)
Added new option startupitem.logfile.stderr
.
(#67955, mascguy in e70a512)
Many single-letter command line options should now work when
given after the action name, and apply only to that action. A few
like -N
can't easily be turned on and off internally, so if in
doubt, keep putting single-letter options before the action.
(jmr in aec0601)
Ports that set platforms containing any
are now not considered
outdated after major OS updates. (#68256, jmr in 1b4db00)
Dependencies installed for the first time when upgrading a port
no longer inherit all variants from the dependent port. Arch
checking is now done in this case so +universal
is added to the
dependency iff needed. (#67637, jmr in 7be167c)
Prevented rev-upgrade from complaining about weakly-linked libs
that are not present. (#52700, chrstphrchvz in 77e333a)
Avoid installing build-time dependencies when force-upgrading an
installed port for which a binary archive will be used.
(#67017, jmr in a9597dc)
Fixed error when running upgrade with -R
and -u
options.
(#68019, jmr in 980a5c1)
Fixed rev-upgrade potentially trying to access registry entries
that have been uninstalled as a result of a rebuild.
(#66186, jmr in 1abd73a)
Fixed missing make command potentially causing some ports to fail
to parse. (#60881, jmr in 1b4e6a1)
Prevented destroot.keepdirs
from creating files outside the
destroot. (#55673, jmr in 8db11c8)
Running port install
on a port that is already installed will
set the requested flag for that port. (#55085, jmr in 7ed853d)
Fixed trace mode on Intel macOS 13. (#66358, cal in 4a1b0c7)
Fixed incorrect trace mode handling of setuid/setgid binaries.
(cal in 9cc9afc)
Fixed the deactivate and uninstall actions sometimes not handling
multiple ports in correct dependency order if one or more of them
was specified with non-canonical case. (#60446, jmr in 772a9cc)
Fixed port names that differ only in case not being considered
to be the same when evaulating boolean expressions.
(#50518, jmr in bd02a2f)
Fixed some issues that could occur in the unusual case that a
mirror has an archive but not its corresponding signature.
(jmr in a774938, f7828b8)
If the macports
user has an incorrect home directory set somehow,
the installer should now fix it. (#49101, jmr in 128e8ce)
Skip vacuuming the registry database on shutdown (after
uninstalling one or more ports) if it would not save significant
space. (jmr in c82a269)
Clean up the SQLite write-ahead log file when closing the
registry. (jmr in 9bb06b9)
Added a simple default test phase for all ports, which currently
just checks the architectures of installed files. test.run yes
enables the tests defined by the Portfile, as before. It should
always be safe to run port test
now, and if it fails it means
a test didn't pass. (jmr in ddc2655)
Using multiple threads for portindex
. (jmr in f00bf80)
Published by jmroot 9 months ago
Changes since rc1:
port diagnose
. (#69126, jmr in f37bf45)Published by jmroot 9 months ago
Changes since beta1:
Published by jmroot 10 months ago
Changes since 2.8.1:
Upgrade will now update registry metadata if needed for ports
that are not outdated. This should hopefully cut down on revision
increases requiring a rebuild just to do things like add or
remove dependencies. (jmr in bec110b)
Added new option startupitem.logfile.stderr
.
(#67955, mascguy in e70a512)
Many single-letter command line options should now work when
given after the action name, and apply only to that action. A few
like -N
can't easily be turned on and off internally, so if in
doubt, keep putting single-letter options before the action.
(jmr in aec0601)
Ports that set platforms containing any
are now not considered
outdated after major OS updates. (#68256, jmr in 1b4db00)
Dependencies installed for the first time when upgrading a port
no longer inherit all variants from the dependent port. Arch
checking is now done in this case so +universal
is added to the
dependency iff needed. (#67637, jmr in 7be167c)
Prevented rev-upgrade from complaining about weakly-linked libs
that are not present. (#52700, chrstphrchvz in 77e333a)
Avoid installing build-time dependencies when force-upgrading an
installed port for which a binary archive will be used.
(#67017, jmr in a9597dc)
Fixed error when running upgrade with -R
and -u
options.
(#68019, jmr in 980a5c1)
Fixed rev-upgrade potentially trying to access registry entries
that have been uninstalled as a result of a rebuild.
(#66186, jmr in 1abd73a)
Fixed missing make command potentially causing some ports to fail
to parse. (#60881, jmr in 1b4e6a1)
Prevented destroot.keepdirs
from creating files outside the
destroot. (#55673, jmr in 8db11c8)
Running port install
on a port that is already installed will
set the requested flag for that port. (#55085, jmr in 7ed853d)
Fixed trace mode on Intel macOS 13. (#66358, cal in 4a1b0c7)
Fixed incorrect trace mode handling of setuid/setgid binaries.
(cal in 9cc9afc)
Fixed the deactivate and uninstall actions sometimes not handling
multiple ports in correct dependency order if one or more of them
was specified with non-canonical case. (#60446, jmr in 772a9cc)
Fixed port names that differ only in case not being considered
to be the same when evaulating boolean expressions.
(#50518, jmr in bd02a2f)
Fixed some issues that could occur in the unusual case that a
mirror has an archive but not its corresponding signature.
(jmr in a774938, f7828b8)
If the macports
user has an incorrect home directory set somehow,
the installer should now fix it. (#49101, jmr in 128e8ce)
Skip vacuuming the registry database on shutdown (after
uninstalling one or more ports) if it would not save significant
space. (jmr in c82a269)
Clean up the SQLite write-ahead log file when closing the
registry. (jmr in 9bb06b9)
Added a simple default test phase for all ports, which currently
just checks the architectures of installed files. test.run yes
enables the tests defined by the Portfile, as before. It should
always be safe to run port test
now, and if it fails it means
a test didn't pass. (jmr in ddc2655)
Using multiple threads for portindex
. (jmr in f00bf80)
Published by jmroot over 1 year ago
Changes since 2.8.0:
Fixed port lint
complaining about platforms any
.
(jmr in 84d8683)
Specifiers like {darwin any >= 10}
are now allowed in platforms.
This means one archive will be shared by all darwin versions, but
it only works on the specified versions.
(jmr in 3d9856b)
The -stdlib
option is now passed to GCC when supported.
(jonesc in ebd2261)
Fixed the PortIndex not getting correct known_fail
values based
on the platforms option when using portindex -p
.
(#66301, jmr in a82021a)
Updated the bundled Tcl to 8.6.13. (jmr in 9edb436)
No longer automatically creating a symlink in $workpath
when the
expected worksrcdir
doesn't exist, as this broke some ports.
Either set worksrcdir
correctly, or if it can't be determined in
advance, set the new extract.rename
option to yes
.
(jmr in ffdb7d9, 8ae0d73)
Added --no-test
option for port rdeps
to exclude depends_test
.
(jmr in f1de2b6)
Published by jmroot almost 2 years ago
Changes since 2.7.2:
Fixed an error that occurred in the very specific but apparently somewhat common circumstances where a port was installed from a binary archive but failed to activate (usually because of a conflict with an existing file), and then the port was uninstalled, and later installed again without cleaning it in between. (#55445, jmr in bdd0a13)
Added startupitem.custom_file
option, which can be used to specify the path to an existing .plist file that should be installed instead of generating one. (jmr in dadc533)
The platforms
option can now indicate which OS versions a port works on, and known_fail
is automatically set on other versions. (#15712, jmr in 2866618)
The user is now informed before installing if a port sets known_fail
, with the option to try installing anyway if you really want to. (#60566, jmr in d863a7e, 3406c5d)
Attempting to install a port with replaced_by
set will now install the replacement instead. (jmr in 4da66a2)
Fixed new dependencies installed when upgrading a requested port being incorrectly marked as requested. (#60648, jmr in 31e10a8)
The SQLite included with Tcl is now used instead of the system version. (jmr in 11d2b06)
MacPorts can now be built without a pre-existing tclsh. (#61253, jmr in 2eeba4d)
Updated the bundled Tcl to 8.6.12, as well as tcllib 1.21 and tclx 8.4.4. (cal in 89abece, 24c34a9, d7cf914, d3d9e4b, etc.)
Fixed the ln
command erroring when told to link more than two files into a directory. (jmr in b75c464)
The PortGroup
command now prevents multiple inclusion of the same portgroup. (jmr in 4215012)
Added xcodecltversion
variable containing the installed version of the Command Line Tools for Xcode. (jmr in d05ebde)
The vercmp
command can now take a comparison operator. (jmr in 35daead)
Fixed error when installing ports that change prefix
without root privileges. (#65313, jmr in a594e01, fbfcb9f)
Fixed possible directory ownership error when syncing with recent versions of git. (jmr in e0338e8)
Improved the message printed by port diagnose
when the Xcode version is newer than any we know about. (#63377, jmr in 733d6e7)
Published by jmroot about 2 years ago
Changes since beta1:
cxx_stdlib
information in the registry.Published by jmroot about 2 years ago
Changes since 2.7.2:
Fixed an error that occurred in the very specific but apparently
somewhat common circumstances where a port was installed from a
binary archive but failed to activate (usually because of a
conflict with an existing file), and then the port was
uninstalled, and later installed again without cleaning it in
between. (#55445, jmr in bdd0a13)
Added startupitem.custom_file
option, which can be used to
specify the path to an existing .plist file that should be
installed instead of generating one. (jmr in dadc533)
The platforms
option can now indicate which OS versions a port
works on, and known_fail
is automatically set on other versions.
(#15712, jmr in 2866618)
The user is now informed before installing if a port sets
known_fail
, with the option to try installing anyway if you
really want to. (#60566, jmr in d863a7e, 3406c5d)
Attempting to install a port with replaced_by
set will now
install the replacement instead. (jmr in 4da66a2)
Fixed new dependencies installed when upgrading a requested port
being incorrectly marked as requested. (#60648, jmr in 31e10a8)
The SQLite included with Tcl is now used instead of the system
version. (jmr in 11d2b06)
MacPorts can now be built without a pre-existing tclsh.
(#61253, jmr in 2eeba4d)
Updated the bundled Tcl to 8.6.12, as well as tcllib 1.21 and
tclx 8.4.4. (cal in 89abece, 24c34a9, d7cf914, d3d9e4b, etc.)
Fixed the ln
command erroring when told to link more than two
files into a directory. (jmr in b75c464)
The PortGroup
command now prevents multiple inclusion of the same
portgroup. (jmr in 4215012)
Added xcodecltversion
variable containing the installed version
of the Command Line Tools for Xcode. (jmr in d05ebde)
The vercmp
command can now take a comparison operator.
(jmr in 35daead)
Fixed error when installing ports that change prefix
without root
privileges. (#65313, jmr in a594e01, fbfcb9f)
Fixed possible directory ownership error when syncing with recent
versions of git. (jmr in e0338e8)
Improved the message printed by port diagnose
when the Xcode
version is newer than any we know about. (#63377, jmr in 733d6e7)
Published by jmroot over 2 years ago
Changes since 2.7.1:
Fixed poor trace mode performance on newer OS versions. (cal in 3b949cc)
Added escaping of shell-unsafe characters when compressing man pages in the destroot phase. (#64531, jmr in b6bac45)
Fixed several cases of unrelated errorInfo
being printed when something failed. (jmr in e5e7dff, b864109)
Fixed handling of distname
containing spaces. (#64419, jmr in 690fab1)
Fixed use_xmkmf
. (#64011, ryandesign in ce42354, c8ff808)
Fixed fetch.type cvs
. (#63931, ryandesign in c118fb2)
Avoided error about specified version being unavailable when the version came from a pseudo-portname like outdated
. (#63438, jmr in db498e0)
Fixed failure in PortGroup
command when the ports tree path contains spaces. (#63534, jmr in b83c743)
Fixed incorrect compiler selection logic for certain GCC versions. (#63281, jmr in 087ce29)
Added metadata so Installer won't erroneously claim that the MacPorts .pkg requires Rosetta 2 to install on Apple Silicon. (#63096, jmr in 09c4373)
Published by jmroot over 3 years ago
Changes since 2.7.0:
Fixed SQL error when MacPorts was built against the 10.15 SDK but
run on 10.14. (#62929, jmr in 0249b3c)
Fixed poor performance when installing ports containing tens of
thousands of files. (#56793, jmr in fc212a0)
Fixed a stack trace being printed after an error occurred if
COLUMNS
was not set in the environment. (#62935, jmr in 13eeabd)
Published by jmroot over 3 years ago
Changes since 2.6.4:
The platforms
option now has a default value of darwin
.
(jmr in d918190)
Fixed incorrect versioning assumptions that led to being unable
to find the right SDK on Big Sur. (#61866, jmr in 8aa347e)
Fixed installer incorrectly setting DISPLAY
in the user's shell
config on Big Sur. (#61649, jmr in 4ce1e96)
Fixed crash in rev-upgrade when MacPorts was built against the
macOS 11 SDK and run on 10.15. (#61540, jmr in 23f2aa3)
Fixed minimum compiler version selected when C++14 and
thread-local storage are required.
(#61418, chrstphrchvz in 618d036)
Enabled write-ahead logging when using SQLite 3.22.0 and later,
and enabled the fullfsync pragma, which should make the database
even more resilient against power failures and the like.
(#61154, jmr in 5779dbc)
Fixed svn fetch with newer Xcode versions that no longer provide
svn (but do ship a /usr/bin/svn stub) by always using the
subversion port. (#60854, jmr in 4acfd68)
Logs now explicitly mention the port's version, revision, and
active variants. (#59643, jmr in d484695)
Improved error reporting when circular dependencies are present
when installing or upgrading ports. (#59289, jmr in cea9833)
The universal variant is removed if it is not possible to build
for two or more architectures. (#57133, jmr in fcff138)
New universal_possible
variable can be checked to see if
universal building is possible. (jmr in e356e1e)
Fixed error when choosing the currently active version when
interactively prompted to pick a version by port activate
.
(#56817, jmr in 5f41bb4)
Configuring MacPorts base with --with-no-root-privileges
now
also defaults to --without-startupitems
. (#56743, jmr in a18eb94)
Rev-upgrade now makes it more obvious when a port is considered
broken because of using the wrong cxx_stdlib
.
(#56629, jmr in 00a2631)
Fixed missing error message when the sync portion of selfupdate
fails. (#56549, jmr in 8f4b9e5)
When installing a port, the variants that are requested by the
user (either on the command line or via variants.conf) are now
recorded in the registry in order to distinguish them from
default variants chosen by the port. When upgrading, only the
requested variants from the previous version, rather than all its
active variants, are considered when deciding which variants to
request when installing the new version. (#46956, jmr in 19c9339)
Added new variables macos_version
and macos_version_major
, which
contain the full macOS version (like 10.15.7) and the major macOS
version (like 10.15 or 11), respectively. The macosx_version
variable is still available but deprecated.
(#56252, jmr in 1916d6f)
reclaim: remove everything under build and ccache directories.
(#60126, khindenburg in b9fdb847, d08d261f)
For various actions, abort if @version
specified is not current.
(#60454, khindenburg, jmr in 835a7db1, ca071954)
Abort when a port includes a nonexistent PortGroup.
(#59787, khindenburg in d9139328)
Adjust lint --nitpick on patchfiles to allow *.diff
or *.patch
.
(#59695, khindenburg in 5037999e)
Display a progress bar when the underlying build system provides the
necessary information, which is currently cmake and ninja.
(#15939, landonf in da3524e)
Support compressed web pages for livecheck.
(#55011, dgilman in 8c41ca7, d741f0c)
Added configure.sysroot variable, which is set to either
${configure.sdkroot}
if an SDK is being used, or /
if not.
(#59798, jmr in 8d76ba6)
Published by jmroot over 3 years ago
Changes since beta2:
-j1
for the benefit of ninja when build.jobs
is 1 (instead of no -j
option), and setting use_parallel_build no
changes the value of build.jobs
to 1 rather than omitting the -j
option.