[44895] users/toby/objcports
toby at macports.org
toby at macports.org
Sun Jan 4 07:11:28 PST 2009
Revision: 44895
http://trac.macports.org/changeset/44895
Author: toby at macports.org
Date: 2009-01-04 07:11:28 -0800 (Sun, 04 Jan 2009)
Log Message:
-----------
etc
Modified Paths:
--------------
users/toby/objcports/MPParser.m
users/toby/objcports/MPPort.h
users/toby/objcports/MPPort.m
Modified: users/toby/objcports/MPParser.m
===================================================================
--- users/toby/objcports/MPParser.m 2009-01-04 15:02:37 UTC (rev 44894)
+++ users/toby/objcports/MPParser.m 2009-01-04 15:11:28 UTC (rev 44895)
@@ -6,8 +6,7 @@
#include "MPArrayAdditions.h"
#include "MPStringAdditions.h"
-static int _target(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
-static int _option(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
+static int _nslog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
static int _unknown(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]);
static char *_default(ClientData clientData, Tcl_Interp *interp, const char *name1, const char *name2, int flags);
static void info(Tcl_Interp *interp, const char *command); // debugging
@@ -34,6 +33,8 @@
Tcl_TraceVar(_interp, [def UTF8String], TCL_TRACE_READS, _default, port);
}
+ Tcl_CreateObjCommand(_interp, "nslog", _nslog, NULL, NULL);
+
/* Handle *all* commands via the "unknown" mechanism. */
Tcl_CreateObjCommand(_interp, "unknown", _unknown, self, NULL);
@@ -42,6 +43,8 @@
NSLog(@"Tcl_EvalFile(%@): %s", portfile, Tcl_GetStringResult(_interp));
}
+ //fprintf(stderr, "%s\n", Tcl_GetString(Tcl_SubstObj(_interp, Tcl_NewStringObj("$prefix/${extract.suffix}", -1), TCL_SUBST_ALL)));
+
Tcl_Release(_interp);
}
@catch (NSException *exception) {
@@ -94,8 +97,8 @@
// (ugh, more tcl parsing)
} else if ([command isEqualToString:@"platform"]) {
NSUInteger count = [args count];
- NSString *os, *arch;
- NSInteger release;
+ NSString *os, *arch = nil;
+ NSInteger release = 0;
if (count < 2 || count > 4) {
NSLog(@"bogus platform declaration");
@@ -148,6 +151,8 @@
if (YES) {
Tcl_Eval(_interp, [[args lastObject] UTF8String]);
}
+ } else if ([[_port procs] containsObject:command]) {
+ // callback somewhere...
} else if ([_port isTarget:command]) {
// XXX: store for later use...
} else {
@@ -213,27 +218,16 @@
@end
-static int
-_target(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
+static int _nslog(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
{
- NSArray *args = [[NSArray alloc] initWithTclObjects:objv count:objc];
- NSLog(@"_target %@", args);
+ NSArray *args = [[NSArray alloc] initWithTclObjects:++objv count:--objc];
+ NSLog(@"%@", [args componentsJoinedByString:@" "]);
[args release];
return TCL_OK;
}
static int
-_option(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
-{
- NSArray *args = [[NSArray alloc] initWithTclObjects:objv count:objc];
- NSLog(@"_option %@", args);
- [args release];
-
- return TCL_OK;
-}
-
-static int
_unknown(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[])
{
assert(objc >= 2);
Modified: users/toby/objcports/MPPort.h
===================================================================
--- users/toby/objcports/MPPort.h 2009-01-04 15:02:37 UTC (rev 44894)
+++ users/toby/objcports/MPPort.h 2009-01-04 15:11:28 UTC (rev 44895)
@@ -5,16 +5,20 @@
NSString *_portfile;
MPParser *_parser;
+ NSMutableArray *_procs;
+
NSMutableArray *_targets;
NSMutableArray *_options;
- NSMutableArray *_defaults;
+ NSMutableDictionary *_defaults;
}
- (id)initWithPortfile:(NSString *)port options:(NSDictionary *)options;
- (NSString *)portfile;
+- (NSArray *)procs;
+
- (NSArray *)targets;
- (BOOL)isTarget:(NSString *)target;
Modified: users/toby/objcports/MPPort.m
===================================================================
--- users/toby/objcports/MPPort.m 2009-01-04 15:02:37 UTC (rev 44894)
+++ users/toby/objcports/MPPort.m 2009-01-04 15:11:28 UTC (rev 44895)
@@ -15,15 +15,29 @@
self = [super init];
_portfile = [portfile retain];
+ _procs = [[NSMutableArray alloc] initWithCapacity:0];
+ [_procs addObject:@"variant_isset"];
+ [_procs addObject:@"strsed"];
+
_targets = [[NSMutableArray alloc] initWithCapacity:0];
+ [_targets addObject:@"fetch"];
+ [_targets addObject:@"extract"];
+ [_targets addObject:@"patch"];
[_targets addObject:@"configure"];
[_targets addObject:@"build"];
[_targets addObject:@"destroot"];
_options = [[NSMutableArray alloc] initWithCapacity:0];
+ [self addCommand:@"autoconf"];
[self addCommand:@"configure"];
+ [self addCommand:@"extract"];
+ [self addCommand:@"patch"];
+ [self addCommand:@"fetch"];
+ [self addCommand:@"build"];
+ [self addCommand:@"destroot"];
[_options addObject:@"name"];
[_options addObject:@"version"];
+ [_options addObject:@"revision"];
[_options addObject:@"categories"];
[_options addObject:@"maintainers"];
[_options addObject:@"homepage"];
@@ -34,16 +48,33 @@
[_options addObject:@"long_description"];
[_options addObject:@"master_sites"];
[_options addObject:@"checksums"];
+ [_options addObject:@"patchfiles"];
+ [_options addObject:@"depends_run"];
[_options addObject:@"depends_build"];
[_options addObject:@"depends_lib"];
-
+ [_options addObject:@"distname"];
+ [_options addObject:@"extract.suffix"];
+ [_options addObject:@"use_zip"];
+ [_options addObject:@"universal_variant"];
+ [_options addObject:@"build.target"];
[_options addObject:@"test.run"];
[_options addObject:@"test.target"];
-
+ [_options addObject:@"destroot.destdir"];
[_options addObject:@"livecheck.check"];
+ [_options addObject:@"livecheck.url"];
+ [_options addObject:@"livecheck.regex"];
+ [_options addObject:@"livecheck.distname"];
+ [_options addObject:@"worksrcdir"];
- _defaults = [[NSMutableArray alloc] initWithCapacity:0];
- [_defaults addObject:@"prefix"];
+ // *some* overlap with options
+ _defaults = [[NSMutableDictionary alloc] initWithCapacity:0];
+ [_defaults setObject:@"/opt/local" forKey:@"prefix"];
+ [_defaults setObject:@"" forKey:@"destroot"];
+ [_defaults setObject:@"" forKey:@"distname"];
+ [_defaults setObject:@"" forKey:@"os.arch"];
+ [_defaults setObject:@"" forKey:@"configure.cflags"];
+ [_defaults setObject:@"" forKey:@"configure.ldflags"];
+ [_defaults setObject:@".tar.gz" forKey:@"extract.suffix"];
_parser = [[MPParser alloc] initWithPort:self];
@@ -55,6 +86,7 @@
[_parser release];
[_portfile release];
+ [_procs release];
[_targets release];
[_options release];
[_defaults release];
@@ -67,6 +99,11 @@
return _portfile;
}
+- (NSArray *)procs
+{
+ return _procs;
+}
+
- (NSArray *)targets
{
return _targets;
@@ -85,13 +122,13 @@
- (NSArray *)defaults
{
- return _defaults;
+ return [_defaults allKeys];
}
- (NSString *)default:(NSString *)def
{
// XXX: selector (NSInvocation?) or constant NSString...
- return def;
+ return [_defaults objectForKey:def];
}
- (NSArray *)options
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090104/57d7de7d/attachment.html>
More information about the macports-changes
mailing list