RJVB / macstrop

RJVB's repository of alternative macports, with ports missing from or overriding those in the standard collection, including a set of KF5 ports.
20 stars 9 forks source link

VLC fails to build: "- (id)value" method ambiguity #70

Closed Tatsh closed 4 years ago

Tatsh commented 4 years ago

The error is that in VLCPlaylistInfo.m, the method - (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *) tableColumn byItem:(id)item (a method called by Apple's code) uses [id value] where value could be multiple types and the output is expected to be an NSString anyway here. I don't know why but maybe it's Xcode 11's compiler having an improved type check here.

Possible patch in modules/gui/macosx/VLCPlaylistInfo.m starting on line 401 replacing the existing else. This made it build for me and I tested basic functionality of the app.

 401     else {
 402         if ([item isKindOfClass:[VLCInfoTreeItem class]])
 403             return [(VLCInfoTreeItem *)item value];
 404     }
 405     return @"";

Probably could just return [(VLCInfoTreeItem *)item value] but I added an extra check just in case. All values in this table outline should be VLCInfoTreeItem.

RJVB commented 4 years ago

Thanks, as you may have seen on Trac there are a crazy number of issues that are due to the latest Xcode, the disappearance of /usr/include (WHAAAAT?!) and probably Apple's general attitude to turn our computers into a locked iDevice in need of jailbreaking...

Tatsh commented 4 years ago

I currently am unable to build this as it is because the libaacs port needs an update on master_sites:

diff --git a/multimedia/libaacs/Portfile b/multimedia/libaacs/Portfile
index aa3e8d52..66bb6a04 100644
--- a/multimedia/libaacs/Portfile
+++ b/multimedia/libaacs/Portfile
@@ -13,7 +13,7 @@ description         AACS support library for Blu-ray playback
 long_description    Implementation of the Advanced Access Content System Specification

 homepage            http://www.videolan.org/developers/libaacs.html
-master_sites        http://get.videolan.org/libaacs/${version}
+master_sites        https://get.videolan.org/libaacs/${version}

 use_bzip2           yes
Tatsh commented 4 years ago

The compilation issue this ticket is originally about seems to be resolved.