Skip to content
This repository was archived by the owner on Jan 19, 2023. It is now read-only.

Commit 4468871

Browse files
author
Frederik De Bleser
committed
NodeBox runs on 10.5-10.7 using Python 2.5.
We link in python2.5.dylib instead of the Mac Python framework (which links to 2.7 on Lion). This makes NodeBox run on 10.5 - 10.7. Howerver, native extensions are still borked, erring out with "unknown required load command 0x80000022". This is not a problem for cGeo and cPathmatics, which are just faster versions of built-in functions, but cPolymagic doesn't have a Python implementation.
1 parent 9a1d5bc commit 4468871

File tree

5 files changed

+30
-48
lines changed

5 files changed

+30
-48
lines changed

NodeBox-Info.plist

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,11 @@
3838
<key>CFBundlePackageType</key>
3939
<string>APPL</string>
4040
<key>CFBundleShortVersionString</key>
41-
<string>1.9.7rc1</string>
41+
<string>1.9.7rc2</string>
4242
<key>CFBundleSignature</key>
4343
<string>NdBx</string>
44+
<key>CFBundleURLTypes</key>
45+
<array/>
4446
<key>CFBundleVersion</key>
4547
<string>1</string>
4648
<key>LSApplicationCategoryType</key>
@@ -51,5 +53,11 @@
5153
<string>MainMenu</string>
5254
<key>NSPrincipalClass</key>
5355
<string>NSApplication</string>
56+
<key>NSServices</key>
57+
<array/>
58+
<key>UTExportedTypeDeclarations</key>
59+
<array/>
60+
<key>UTImportedTypeDeclarations</key>
61+
<array/>
5462
</dict>
5563
</plist>

NodeBox.xcodeproj/project.pbxproj

Lines changed: 14 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
/* End PBXAggregateTarget section */
2323

2424
/* Begin PBXBuildFile section */
25+
611B5F4F13E2F0DB0009BC14 /* libpython2.5.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 611B5F4E13E2F0DB0009BC14 /* libpython2.5.dylib */; };
2526
611CC49810BA8B9E00B55455 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 611CC48110BA8B9E00B55455 /* Credits.rtf */; };
2627
611CC49C10BA8B9E00B55455 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 611CC48910BA8B9E00B55455 /* InfoPlist.strings */; };
2728
611CC4A110BA8B9E00B55455 /* NodeBox.icns in Resources */ = {isa = PBXBuildFile; fileRef = 611CC49310BA8B9E00B55455 /* NodeBox.icns */; };
2829
611CC4A210BA8B9E00B55455 /* NodeBoxFile.icns in Resources */ = {isa = PBXBuildFile; fileRef = 611CC49410BA8B9E00B55455 /* NodeBoxFile.icns */; };
2930
611CC4A310BA8B9E00B55455 /* zoombig.png in Resources */ = {isa = PBXBuildFile; fileRef = 611CC49510BA8B9E00B55455 /* zoombig.png */; };
3031
611CC4A410BA8B9E00B55455 /* zoomsmall.png in Resources */ = {isa = PBXBuildFile; fileRef = 611CC49610BA8B9E00B55455 /* zoomsmall.png */; };
31-
611CC50F10BA8C7500B55455 /* Python.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 611CC50E10BA8C7500B55455 /* Python.framework */; };
3232
611CC52F10BA8DDF00B55455 /* __init__.py in Copy Python root */ = {isa = PBXBuildFile; fileRef = 611CC4AF10BA8C1B00B55455 /* __init__.py */; };
3333
611CC53010BA8DE200B55455 /* console.py in Copy Python root */ = {isa = PBXBuildFile; fileRef = 611CC4B110BA8C1B00B55455 /* console.py */; };
3434
611CC53310BA8E2800B55455 /* __init__.py in Copy Python gui */ = {isa = PBXBuildFile; fileRef = 611CC4C510BA8C1B00B55455 /* __init__.py */; };
@@ -74,7 +74,7 @@
7474
remoteGlobalIDString = 8D15AC270486D014006FF6A4;
7575
remoteInfo = NodeBox;
7676
};
77-
61FFC06210BAD9F4009AF371 /* PBXContainerItemProxy */ = {
77+
61EB1E3313E2C6E6002641C0 /* PBXContainerItemProxy */ = {
7878
isa = PBXContainerItemProxy;
7979
containerPortal = 2A37F4A9FDCFA73011CA2CEA /* Project object */;
8080
proxyType = 1;
@@ -175,6 +175,7 @@
175175
2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
176176
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
177177
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
178+
611B5F4E13E2F0DB0009BC14 /* libpython2.5.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpython2.5.dylib; path = /usr/lib/libpython2.5.dylib; sourceTree = "<absolute>"; };
178179
611CC48210BA8B9E00B55455 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
179180
611CC48A10BA8B9E00B55455 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
180181
611CC49310BA8B9E00B55455 /* NodeBox.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = NodeBox.icns; path = Resources/NodeBox.icns; sourceTree = "<group>"; };
@@ -203,7 +204,6 @@
203204
611CC4DC10BA8C1B00B55455 /* PyFontify.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = PyFontify.py; sourceTree = "<group>"; };
204205
611CC4DE10BA8C1B00B55455 /* QTSupport.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = QTSupport.py; sourceTree = "<group>"; };
205206
611CC4E010BA8C1B00B55455 /* vdiff.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = vdiff.py; sourceTree = "<group>"; };
206-
611CC50E10BA8C7500B55455 /* Python.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Python.framework; path = System/Library/Frameworks/Python.framework; sourceTree = SDKROOT; };
207207
611CC59F10BA908C00B55455 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/NodeBoxDocument.xib; sourceTree = "<group>"; };
208208
611CC5A710BA919A00B55455 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/NodeBoxPreferences.xib; sourceTree = "<group>"; };
209209
611CC5AE10BA91CB00B55455 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/ProgressBarSheet.xib; sourceTree = "<group>"; };
@@ -225,8 +225,8 @@
225225
isa = PBXFrameworksBuildPhase;
226226
buildActionMask = 2147483647;
227227
files = (
228+
611B5F4F13E2F0DB0009BC14 /* libpython2.5.dylib in Frameworks */,
228229
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */,
229-
611CC50F10BA8C7500B55455 /* Python.framework in Frameworks */,
230230
);
231231
runOnlyForDeploymentPostprocessing = 0;
232232
};
@@ -236,7 +236,7 @@
236236
1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */ = {
237237
isa = PBXGroup;
238238
children = (
239-
611CC50E10BA8C7500B55455 /* Python.framework */,
239+
611B5F4E13E2F0DB0009BC14 /* libpython2.5.dylib */,
240240
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */,
241241
);
242242
name = "Linked Frameworks";
@@ -394,7 +394,7 @@
394394
buildConfigurationList = 61EF506410BC26F9006DEF6C /* Build configuration list for PBXLegacyTarget "Clean Extensions" */;
395395
buildPhases = (
396396
);
397-
buildToolPath = python;
397+
buildToolPath = python2.5;
398398
buildWorkingDirectory = libs;
399399
dependencies = (
400400
);
@@ -408,7 +408,7 @@
408408
buildConfigurationList = 61FFC03B10BAD915009AF371 /* Build configuration list for PBXLegacyTarget "Build Extensions" */;
409409
buildPhases = (
410410
);
411-
buildToolPath = python;
411+
buildToolPath = python2.5;
412412
buildWorkingDirectory = libs;
413413
dependencies = (
414414
);
@@ -437,7 +437,7 @@
437437
buildRules = (
438438
);
439439
dependencies = (
440-
61FFC06310BAD9F4009AF371 /* PBXTargetDependency */,
440+
61EB1E3413E2C6E6002641C0 /* PBXTargetDependency */,
441441
);
442442
name = NodeBox;
443443
productInstallPath = "$(HOME)/Applications";
@@ -548,10 +548,10 @@
548548
target = 8D15AC270486D014006FF6A4 /* NodeBox */;
549549
targetProxy = 61DB841310BEABD4003F73B9 /* PBXContainerItemProxy */;
550550
};
551-
61FFC06310BAD9F4009AF371 /* PBXTargetDependency */ = {
551+
61EB1E3413E2C6E6002641C0 /* PBXTargetDependency */ = {
552552
isa = PBXTargetDependency;
553553
target = 61FFC03810BAD90D009AF371 /* Build Extensions */;
554-
targetProxy = 61FFC06210BAD9F4009AF371 /* PBXContainerItemProxy */;
554+
targetProxy = 61EB1E3313E2C6E6002641C0 /* PBXContainerItemProxy */;
555555
};
556556
/* End PBXTargetDependency section */
557557

@@ -636,60 +636,38 @@
636636
61DB841110BEABCF003F73B9 /* Debug */ = {
637637
isa = XCBuildConfiguration;
638638
buildSettings = {
639-
COPY_PHASE_STRIP = NO;
640-
GCC_DYNAMIC_NO_PIC = NO;
641-
GCC_OPTIMIZATION_LEVEL = 0;
642639
PRODUCT_NAME = "Build Distribution";
643640
};
644641
name = Debug;
645642
};
646643
61DB841210BEABCF003F73B9 /* Release */ = {
647644
isa = XCBuildConfiguration;
648645
buildSettings = {
649-
COPY_PHASE_STRIP = YES;
650-
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
651646
PRODUCT_NAME = "Build Distribution";
652-
ZERO_LINK = NO;
653647
};
654648
name = Release;
655649
};
656650
61EF506210BC26D1006DEF6C /* Debug */ = {
657651
isa = XCBuildConfiguration;
658652
buildSettings = {
659-
COPY_PHASE_STRIP = NO;
660-
GCC_DYNAMIC_NO_PIC = NO;
661-
GCC_OPTIMIZATION_LEVEL = 0;
662-
PRODUCT_NAME = "Clean Extensions";
663653
};
664654
name = Debug;
665655
};
666656
61EF506310BC26D1006DEF6C /* Release */ = {
667657
isa = XCBuildConfiguration;
668658
buildSettings = {
669-
COPY_PHASE_STRIP = YES;
670-
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
671-
PRODUCT_NAME = "Clean Extensions";
672-
ZERO_LINK = NO;
673659
};
674660
name = Release;
675661
};
676662
61FFC03910BAD90D009AF371 /* Debug */ = {
677663
isa = XCBuildConfiguration;
678664
buildSettings = {
679-
COPY_PHASE_STRIP = NO;
680-
GCC_DYNAMIC_NO_PIC = NO;
681-
GCC_OPTIMIZATION_LEVEL = 0;
682-
PRODUCT_NAME = "Build Extensions";
683665
};
684666
name = Debug;
685667
};
686668
61FFC03A10BAD90D009AF371 /* Release */ = {
687669
isa = XCBuildConfiguration;
688670
buildSettings = {
689-
COPY_PHASE_STRIP = YES;
690-
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
691-
PRODUCT_NAME = "Build Extensions";
692-
ZERO_LINK = NO;
693671
};
694672
name = Release;
695673
};
@@ -706,6 +684,7 @@
706684
INFOPLIST_FILE = "NodeBox-Info.plist";
707685
INSTALL_PATH = "$(HOME)/Applications";
708686
MACOSX_DEPLOYMENT_TARGET = 10.5;
687+
OTHER_LDFLAGS = "";
709688
PRODUCT_NAME = NodeBox;
710689
};
711690
name = Debug;
@@ -721,31 +700,22 @@
721700
INFOPLIST_FILE = "NodeBox-Info.plist";
722701
INSTALL_PATH = "$(HOME)/Applications";
723702
MACOSX_DEPLOYMENT_TARGET = 10.5;
703+
OTHER_LDFLAGS = "";
724704
PRODUCT_NAME = NodeBox;
725705
};
726706
name = Release;
727707
};
728708
C05733CC08A9546B00998B17 /* Debug */ = {
729709
isa = XCBuildConfiguration;
730710
buildSettings = {
731-
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
732-
GCC_C_LANGUAGE_STANDARD = gnu99;
733-
GCC_OPTIMIZATION_LEVEL = 0;
734-
GCC_WARN_ABOUT_RETURN_TYPE = YES;
735-
GCC_WARN_UNUSED_VARIABLE = YES;
736-
ONLY_ACTIVE_ARCH = YES;
737-
SDKROOT = macosx;
711+
PRODUCT_NAME = NodeBox;
738712
};
739713
name = Debug;
740714
};
741715
C05733CD08A9546B00998B17 /* Release */ = {
742716
isa = XCBuildConfiguration;
743717
buildSettings = {
744-
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
745-
GCC_C_LANGUAGE_STANDARD = gnu99;
746-
GCC_WARN_ABOUT_RETURN_TYPE = YES;
747-
GCC_WARN_UNUSED_VARIABLE = YES;
748-
SDKROOT = macosx;
718+
PRODUCT_NAME = NodeBox;
749719
};
750720
name = Release;
751721
};

libs/buildlibs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def build_libraries():
2121
print "Building", lib_name
2222
# run_setup gave some wonky errors, so we're defaulting to a simple os.system call.
2323
os.chdir(os.path.dirname(setup_script))
24-
result = os.system('python setup.py build')
24+
result = os.system('python2.5 setup.py build')
2525
if result > 0:
2626
raise OSError("Could not build %s" % lib_name)
2727
os.chdir(lib_root)

nodebox/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__='1.9.7rc1'
1+
__version__='1.9.7rc2'
22

33
def get_version():
44
return __version__

nodebox/graphics/cocoa.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
from Foundation import *
66

77
from nodebox.util import _copy_attr, _copy_attrs
8-
import cPolymagic
8+
9+
try:
10+
import cPolymagic
11+
except ImportError, e:
12+
warnings.warn('Could not load cPolymagic: %s' % e)
913

1014
__all__ = [
1115
"DEFAULT_WIDTH", "DEFAULT_HEIGHT",

0 commit comments

Comments
 (0)