Is there interest in compiler support patches to old branches

Post Reply
mr_tea
Junior
Posts: 21
Joined: Tue Apr 11, 2017 2:47 am
United States of America

Is there interest in compiler support patches to old branches

Post by mr_tea »

I have a series of patches to the 0.27 and 0.28 fixes branches that allow the MacPorts ports to compile with current Xcode versions and related SDKs. I was wondering if there was interest in pull requests for these old mythtv branches even though they are no longer supported.

Most of the patches are to the copy of ffmpeg in each branch, but also to the UI code, and configuration. In all cases, similar changes were made to more current code bases, but I'm cherry picking the parts that fix compile errors and do not change features. They should also be backwards compatible with older compilers.

If you are curious why I'm focused on these branches, these are the current branches available in MacPorts. Newer branches are not an option through this mechanism.
User avatar
pvr4me
Senior
Posts: 763
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: Is there interest in compiler support patches to old branches

Post by pvr4me »

Hi:

What about opening a ticket on the MacPorts Trac with the patches?

https://trac.macports.org/newticket [need to be logged into Github to submit]

Could you explain more about the patches? When you say UI code and configuration, what fixes does that include? When I tested 5 or 6 months ago, the resulting binaries were unusable on my systems. For example, only the top-left 1/4 of the screen was painted, etc. Details are in another thread in the MacOS sub-forum. Did you figure out fixes for these issues?

Craig
Formerly the MacPorts guy.
mr_tea
Junior
Posts: 21
Joined: Tue Apr 11, 2017 2:47 am
United States of America

Re: Is there interest in compiler support patches to old branches

Post by mr_tea »

Hi Craig.

0.27 works just fine on a fresh Mojave VM with these changes. I haven't spent the time to fully get 0.28 working as it isn't the current version I'm using, but I plan to get it building. My understanding from skulking around in the mailing lists for the last several years was that the problems that you described were specific to 29 and later.

There is a series of compile issues, none of which modify functionality. The first I ran into was related to changes in x264 headers. This is something that I was planning to add as a patch to the portfile instead of trying to submit the change as it would likely break the existing osx-packager script which relies on a fixed x264 that wouldn't work with the change. That was originally posted here:

https://trac.macports.org/ticket/58576

The items I am going to propose to put into the mythtv repo include fixes for UI code build failures related to an illegal construction of a reference, several instances of pointer testing that are no longer legal in newer C++ specs, and a quicktime library link switch depending on SDK (still thinkint about the best way to do this to support really old 32bit SDKs that are supported). There may be one or two things I'm not thinking about. None of these changes effect functionality. They just allow the code to compile on newer compilers that are more restrictive (and QuickTime linking, which isn't used in the final result anyway when building with most of the SDKs that are currently supported).

Between ffmpeg and mythtv master, all the changes I have made were made in later versions of code for the same reasons (compilers started complaining). So I feel comfortable that my analysis that these won't change functionality is likely to be true.

I worked yesterday to try to get osx-packager-qtsdk.pl working again as a second test for 0.27 build. Because of MacPorts, it has been many years since I've run these scripts this way. After fixing all the curl calls that don't reference files that exist, fixing configuration scripts to be more flexible for changes that have happened in the system, I'm finally giving up because I don't want to spend the time getting all the Qt4.8 issues fixed with Mojave, and 5.12 won't work for a number of reasons. It seems that this hasn't been used in quite a while (or at least, not the one in master). I may post my changes to the script anyway, as they are necessary in case anyone wants to run it with 4.8 setup fully. I spent several hours on this, so it would probably save someone else time.
mr_tea
Junior
Posts: 21
Joined: Tue Apr 11, 2017 2:47 am
United States of America

Re: Is there interest in compiler support patches to old branches

Post by mr_tea »

I haven't put a pull request in, but I've created patch files and changed the port file for mythtv.27 here:

https://github.com/jmcintyre/macports-p ... e/Xcode_10

I haven't tested with Xcode 11, but I've now run this on multiple machines and operating systems with Xcode 10. Most changes I've made should be backwards compatible with anything that was building this port up until now. However, the Quicktime change is a hammer. It wasn't clear to me if we would need to continue supporting versions of MacOS that don't support AVFoundation. If there are, then this will break them. It should be possible to write the pro file with SDK conditionals to fix this, but I don't know if it is actually necessary.
Post Reply