macports-base

The MacPorts command-line client

BSD-3-CLAUSE License

Stars
861
Committers
108

Bot releases are hidden (Show)

macports-base - MacPorts 2.10.1 Latest Release

Published by jmroot 2 months ago

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)

macports-base - MacPorts 2.10.0

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)

macports-base - MacPorts 2.10.0-rc1

Published by jmroot 3 months ago

Changes since beta2:

  • Version number only.
macports-base - MacPorts 2.10.0 beta 2

Published by jmroot 3 months ago

Changes since beta 1:

  • port migrate syncs the ports tree before reinstalling ports.
  • Various fixes and improvements to error handling and reporting in the snapshot and restore code.
macports-base - MacPorts 2.10.0 beta 1

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)

macports-base - MacPorts 2.9.3

Published by jmroot 7 months ago

Changes since 2.9.2:

  • Fixed error due to insufficient privileges to create the work
    symlink in some circumstances. (jmr in 51511c8)
macports-base - MacPorts 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)

macports-base - MacPorts 2.9.1

Published by jmroot 9 months ago

Changes since 2.9.0:

  • Fixed installation of unneeded build-time dependencies when using
    source-only mode. (cal in 5988c00)
macports-base - MacPorts 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)

macports-base - MacPorts 2.9.0-rc2

Published by jmroot 9 months ago

Changes since rc1:

  • Fixed error when running port diagnose. (#69126, jmr in f37bf45)
macports-base - MacPorts 2.9.0-rc1

Published by jmroot 9 months ago

Changes since beta1:

  • Version number only.
macports-base - MacPorts 2.9.0 beta 1

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)

macports-base - MacPorts 2.8.1

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)

macports-base - MacPorts 2.8.0

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)

macports-base - MacPorts 2.8.0-rc1

Published by jmroot about 2 years ago

Changes since beta1:

  • Fixed error when upgrading ports with no cxx_stdlib information in the registry.
  • Ensured that SQLite write-ahead logging is enabled on all systems.
macports-base - MacPorts 2.8.0 beta 1

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)

macports-base - MacPorts 2.7.2

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)

macports-base - MacPorts 2.7.1

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)

macports-base - MacPorts 2.7.0

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)

macports-base - MacPorts 2.7.0-rc1

Published by jmroot over 3 years ago

Changes since beta2:

  • Fixed build failure on <= 10.6.
  • Adjusted minimum compiler version for C++17.
  • Using -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.
  • Checking some more logs for implicit function declarations.
  • Printing some more possibly helpful log locations when configure fails.