Changes between Initial Version and Version 1 of Ticket #51689


Ignore:
Timestamp:
Jun 22, 2016, 6:45:27 PM (8 years ago)
Author:
ryandesign (Ryan Carsten Schmidt)
Comment:

This won't work with binaries built by our buildbot system, because no ports are active when a port build is started on our buildbot system. More generally, it conflicts with our goal of ReproducibleBuilds. So I don't think we want this solution for this issue. You should bring the matter up on the macports-devel mailing list for discussion of the problem and possible solutions before implementing a particular solution.

It also seems like you're looking in part for a solution to a problem you caused for yourself. Regarding your example of webp, it was updated to version 0.5 in r144197 back in January 2016, and all the ports you show as broken were revbumped at the same time. Our build server will have built binaries of those packages at that time, if possible, such that you should now be able to upgrade those ports and receive those binaries without having to wait for compilation. kde4-runtime appears to be an exception in your case because you're running a locally-modified newer version than the one we have in MacPorts, so yes you'll have to recompile that, as well as other ports for which binaries are not available, such as ImageMagick.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #51689 – Description

    initial v1  
    55To return closer to home: I was still running a 0.4 port:webp and thought I'd update it since it's could be a dependency for QtWebEngine (if that package allowed to build against the system webp on OS X). Webp 0.5 changes the library versioning, so a number of ports broke, including a few that are quite (very) expensive to build:
    66
    7 ```
     7{{{
    88--->  Found 11 broken files, matching files to ports     
    99--->  Found 7 broken ports:
     
    2424         /opt/local/libexec/qt5/Library/Frameworks/QtWebKit.framework/Versions/5/QtWebKit
    2525         /opt/local/share/qt5/plugins/imageformats/libqwebp.dylib
    26 ```
     26}}}
    2727
    2828The attached PortGroup provides an easy first-approach/PoC solution to this issue: it copies the specified runtime libraries from ${prefix} to ${destroot} during the post-destroot, if they do not already exist in the destroot.
     
    3030For instance, in a personal port:webp I used for testing I only needed to include the PortGroup and then add the line
    3131
    32 ```
     32{{{
    3333preserve_libraries      [glob -nocomplain ${prefix}/lib/libwebp*.*.dylib]
    34 ```
     34}}}
    3535
    3636This simply allows currently installed ports to remain functional using their current dependencies and alleviates the need to revbump all dependents. They'll just move to using the new dependency version when they're rebuilt for other reasons (upgrade, reinstall, ...).