<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ca433978c7af4a559c4cd84ed3349438d41c6aba">https://github.com/macports/macports-ports/commit/ca433978c7af4a559c4cd84ed3349438d41c6aba</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new ca43397 bazel: Add support for OSX 10.9
</span>ca43397 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit ca433978c7af4a559c4cd84ed3349438d41c6aba
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Mon Oct 22 17:45:30 2018 +0100
<span style='display:block; white-space:pre;color:#404040;'> bazel: Add support for OSX 10.9
</span>---
devel/bazel/Portfile | 17 ++-
.../xcode_locator_fixes/Xcode6-xcode_locator.m | 145 +++++++++++++++++++++
.../Xcode7-xcode_locator.m} | 0
3 files changed, 156 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/bazel/Portfile b/devel/bazel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 54f5cc1..0d435a2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/bazel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/bazel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,10 +52,14 @@ if {${os.major} < 16} {
</span> depends_build-append port:unzip
}
post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp ${xcodeversion} 8.0] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Revert xcode-locator to an older version for Xcode 7 and older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp ${xcodeversion} 7.0] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use hacked version that does not find anything.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # We use MacPorts compiler toolchain anyway so not a problem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy -force ${filespath}/xcode_locator_fixes/Xcode6-xcode_locator.m ${worksrcpath}/tools/osx/xcode_locator.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {[vercmp ${xcodeversion} 8.0] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Revert xcode-locator to an older version
</span> # https://raw.githubusercontent.com/bazelbuild/bazel/7372c04d40d7ab45fa2649c8be002ee6909668d1/tools/osx/xcode_locator.m
<span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy -force ${filespath}/Xcode7-Revert-xcode-locator/xcode_locator.m ${worksrcpath}/tools/osx/xcode_locator.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file copy -force ${filespath}/xcode_locator_fixes/Xcode7-xcode_locator.m ${worksrcpath}/tools/osx/xcode_locator.m
</span> }
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,9 +82,10 @@ build {
</span> foreach cmd {ar nm strip libtool ld objdump} {
reinplace -q "s|/usr/bin/${cmd}|${prefix}/bin/${cmd}|g" ${f}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -q "s|/usr/bin/clang|${configure.cc}|g" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -q "s|\"clang\"|\"${configure.cc}\"|g" ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -q "s| clang | ${configure.cc} |g" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -q "s|/usr/bin/clang|${configure.cc}|g" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -q "s|\"clang\"|\"${configure.cc}\"|g" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -q "s| clang | ${configure.cc} |g" ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -q "s|/usr/local/include|${prefix}/include|g" ${f}
</span> }
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/bazel/files/xcode_locator_fixes/Xcode6-xcode_locator.m b/devel/bazel/files/xcode_locator_fixes/Xcode6-xcode_locator.m
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8fb3978
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/bazel/files/xcode_locator_fixes/Xcode6-xcode_locator.m
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,145 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Copyright 2015 Google Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Licensed under the Apache License, Version 2.0 (the "License");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// you may not use this file except in compliance with the License.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// You may obtain a copy of the License at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// http://www.apache.org/licenses/LICENSE-2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Unless required by applicable law or agreed to in writing, software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// distributed under the License is distributed on an "AS IS" BASIS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// See the License for the specific language governing permissions and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// limitations under the License.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Application that finds all Xcodes installed on a given Mac and will return a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// path for a given version number.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// If you have 7.0, 6.4.1 and 6.3 installed the inputs will map to:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// 7,7.0,7.0.0 = 7.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// 6,6.4,6.4.1 = 6.4.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// 6.3,6.3.0 = 6.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if !defined(__has_feature) || !__has_feature(objc_arc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#error "This file requires ARC support."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#import <CoreServices/CoreServices.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#import <Foundation/Foundation.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Simple data structure for tracking a version of Xcode (i.e. 6.4) with an URL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// to the appplication.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@interface XcodeVersionEntry : NSObject
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@property(readonly) NSString *version;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@property(readonly) NSURL *url;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@implementation XcodeVersionEntry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (id)initWithVersion:(NSString *)version url:(NSURL *)url {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ((self = [super init])) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _version = version;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _url = url;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return self;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- (id)description {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [NSString stringWithFormat:@"<%@ %p>: %@ %@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [self class], self, _version, _url];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Searches for all available Xcodes in the system and returns a dictionary that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// maps version identifiers of any form (X, X.Y, and X.Y.Z) to the directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// where the Xcode bundle lives.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// If there is a problem locating the Xcodes, prints one or more error messages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// and returns nil.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static NSMutableDictionary *FindXcodes() __attribute((ns_returns_retained)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFStringRef bundleID = CFSTR("com.apple.dt.Xcode");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // hacked away everything here...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return dict;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Prints out the located Xcodes in JSON format.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static void DumpAsJson(FILE *output, NSMutableDictionary *dict) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fprintf(output, "{\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// for (NSString *version in dict) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// XcodeVersionEntry *entry = dict[version];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// fprintf(output, "\t\"%s\": \"%s\",\n",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// version.UTF8String, entry.url.fileSystemRepresentation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fprintf(output, "}\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// Dumps usage information.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+static void usage(FILE *output) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fprintf(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "xcode-locator [-v|<version_number>]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Given a version number or partial version number in x.y.z format, "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "will attempt to return the path to the appropriate developer "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "directory."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Omitting a version number will list all available versions in JSON "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "format, alongside their paths."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "Passing -v will list all available fully-specified version numbers "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "along with their possible aliases and their developer directory, "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "each on a new line. For example:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\n\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "7.3.1:7,7.3,7.3.1:/Applications/Xcode.app/Contents/Developer"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int main(int argc, const char * argv[]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @autoreleasepool {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSString *versionArg = nil;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ BOOL versionsOnly = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (argc == 1) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versionArg = @"";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else if (argc == 2) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSString *firstArg = [NSString stringWithUTF8String:argv[1]];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ([@"-v" isEqualToString:firstArg]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versionsOnly = YES;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versionArg = @"";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versionArg = firstArg;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSCharacterSet *versSet =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ [NSCharacterSet characterSetWithCharactersInString:@"0123456789."];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ([versionArg rangeOfCharacterFromSet:versSet.invertedSet].length
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versionArg = nil;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (versionArg == nil) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ usage(stderr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ NSMutableDictionary *dict = FindXcodes();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dict == nil) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //XcodeVersionEntry *entry = [dict objectForKey:versionArg];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //if (entry) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // printf("%s\n", entry.url.fileSystemRepresentation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (versionsOnly) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //DumpAsVersionsOnly(stdout, dict);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DumpAsJson(stdout, dict);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ([@"" isEqualToString:versionArg] ? 0 : 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/bazel/files/Xcode7-Revert-xcode-locator/xcode_locator.m b/devel/bazel/files/xcode_locator_fixes/Xcode7-xcode_locator.m
</span>similarity index 100%
rename from devel/bazel/files/Xcode7-Revert-xcode-locator/xcode_locator.m
rename to devel/bazel/files/xcode_locator_fixes/Xcode7-xcode_locator.m
</pre><pre style='margin:0'>
</pre>