From 87732ce8d42a322143d604607b5e6660719ae672 Mon Sep 17 00:00:00 2001
From: Hans-Christoph Steiner <eighthave@users.sourceforge.net>
Date: Mon, 25 Jul 2005 20:57:37 +0000
Subject: - updated build system for Pd-0.38.4-extended-RC2

- got optional Jack linking working using "weak" linking

- updated Pd version grabbing regexps and added extended version to "about
  pd.." dialog

svn path=/trunk/; revision=3377
---
 packages/darwin_app/BUGS                         |  4 +-
 packages/darwin_app/Makefile                     | 95 +++++++++++++++---------
 packages/darwin_app/README                       | 12 +--
 packages/darwin_app/TODO                         | 27 ++++---
 packages/darwin_app/org.puredata.pd.plist        | 12 +++
 packages/darwin_app/patches/display_tweaks.patch |  4 +-
 packages/darwin_app/patches/weak_linking.patch   | 22 ++++++
 7 files changed, 119 insertions(+), 57 deletions(-)
 create mode 100644 packages/darwin_app/org.puredata.pd.plist
 create mode 100644 packages/darwin_app/patches/weak_linking.patch

(limited to 'packages/darwin_app')

diff --git a/packages/darwin_app/BUGS b/packages/darwin_app/BUGS
index 97f6af7d..6fccfdc5 100644
--- a/packages/darwin_app/BUGS
+++ b/packages/darwin_app/BUGS
@@ -1,4 +1,4 @@
 
-- Help->Documentation doesn't work, MacOS X hides it... arg!!!!!
+- help menu seems to cause long pauses on some machine (the cause of the
+  problem is conjecture, and I haven't seen the problem in action -Hans)
 
-- the readme makefile target is broken
diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile
index 1090595e..b105d67d 100644
--- a/packages/darwin_app/Makefile
+++ b/packages/darwin_app/Makefile
@@ -1,6 +1,12 @@
 
 current: darwin_app
 
+# Pd needs autoconf 2.59, which is labeled differently on different machines
+PD_AUTOCONF := ${shell ( test -x "`which autoconf-2.59`" && echo autoconf-2.59 ) || echo autoconf }
+
+# needed to support weak linking of frameworks
+MAKE=MACOSX_DEPLOYMENT_TARGET=10.2 make
+
 CWD := $(shell pwd)
 DESTDIR = $(CWD)/build
 PD_APP_NAME = Pd
@@ -19,6 +25,7 @@ WISH_SHELL_CONTENTS = $(WISH_SHELL)/Contents
 
 # locations of the various directories from CVS
 SRC_ROOT_DIR = $(CWD)/../..
+
 ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
 DOC_SRC = $(SRC_ROOT_DIR)/doc
 EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals
@@ -34,10 +41,10 @@ EXTERNALS_DST = $(INSTALL_PREFIX)/extra
 DOC_DST = $(INSTALL_PREFIX)/doc
 
 
-PD_MAJOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 1)
-PD_MINOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 2)
-PD_BUGFIX_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 3)
-PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION)-$(PD_BUGFIX_VERSION)
+PD_MAJOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version \([0-9]\)\.[0-9]*[. TES]*[0-9]*[0-9extndRC.-]*\\n";/\1/')
+PD_MINOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.\([0-9]*\)[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+PD_BUGFIX_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.[0-9]*[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
 
 
 # release version for this distro
@@ -93,7 +100,7 @@ darwin_app_license:
 	echo "</font></body></html>" >> $(LICENSE_FILE)
 
 
-darwin_app_readme:
+darwin_app_readme: 
 	echo $(CYCLONE_RELEASE)
 	-rm $(README_FILE)
 	echo "<html>" > $(README_FILE)
@@ -103,12 +110,13 @@ darwin_app_readme:
 	echo "<body>" >> $(README_FILE)
 	echo "<h2>Pure Data $(PD_VERSION)-$(PACKAGE_VERSION)</h2>" 	>> $(README_FILE)
 	echo "<p>Pd is a free real-time computer music software package resembling Max.  It provides a patchable environment for audio analysis, synthesis, and processing, with a rich set of multimedia capabilities.  You can get Pd for Linux, Windows, MacOS X, BSD, or IRIX.</p>" >> $(README_FILE)
-	echo "<p>For more information, go to: http://www.puredata.org</p>" >> $(README_FILE)
+	echo "<p>For more information, go to: <a href=\"http://puredata.org\" target=\"pd\">http://puredata.org</a></p>" >> $(README_FILE)
 	echo "<h3>Installation</h3>" >> $(README_FILE)	
 	echo "<p>To install Pd, drag the Pd.app to anywhere in your hard disk.</p>" >> $(README_FILE)	
+	echo "<p>To install Gem and pmpd support, copy <code>org.puredata.pd.plist</code> to <code>~/Library/Preferences</code> (<code>~</code> means your home folder).</p>" >> $(README_FILE)	
 	echo "<h3>Pure Data CVS Developers</h3>" >> $(README_FILE)	
 # this may seem whack, but it generates the list of developers from the SourceForge site:
-	wget -q -O - 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -e '<td>' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | grep -v '^$$' | sed -e 's/\t*/ - /' >> $(README_FILE)
+	curl 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -e '<td>' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | grep -v '^$$' | sed -e 's/\t*/ - /' >> $(README_FILE)
 	echo "</p>" >> $(README_FILE)
 	echo "<p>" >> $(README_FILE)
 	echo "Many others not listed have contributed their time and effort, this is just a list of the current developers in the SourceForge project.  But really, every Pd user is a developer and is encouraged to contribute to the CVS repository." >> $(README_FILE)
@@ -171,17 +179,22 @@ darwin_app_wrapper:
 #	diskutil eject /Volumes/$(TCLTK)
 
 darwin_patch_pd:
+	sed -i.bak 's/\(pd_version\[\] = "Pd version \)[0-9extndRC.-]*/\1$(PD_VERSION)-$(PACKAGE_VERSION)/'  \
+		$(PD_SRC)/src/s_main.c
 	cd $(PD_SRC)/src/ && patch -p0 < \
 		../../packages/darwin_app/patches/darwin_linking_fixes.patch
 	cd $(PD_SRC)/src/ && patch -p0 < \
 		../../packages/darwin_app/patches/extended-help-menu.patch
-	-rm $(PD_SRC)/src/configure  $(PD_SRC)/src/makefile
-	cd  $(PD_SRC)/src/ && autoconf-2.59
+	cd $(PD_SRC)/src/ && patch -p0 < \
+		../../packages/darwin_app/patches/display_tweaks.patch
+	-rm -f -- $(PD_SRC)/src/configure  $(PD_SRC)/src/makefile
 
 darwin_app_core: darwin_app_wrapper
 # pd core
-	cd $(PD_SRC)/src/ && ./configure --enable-jack && make
-	cp -Rp $(PD_SRC)/bin $(PD_SRC)/doc $(PD_SRC)/extra $(PD_SRC)/man  \
+#	cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure && $(MAKE)
+# or pd core with jack
+	cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure --enable-jack && $(MAKE)
+	cp -Rp -- $(PD_SRC)/bin $(PD_SRC)/doc $(PD_SRC)/extra $(PD_SRC)/man  \
 		$(INSTALL_PREFIX)
 # AppMain.tcl
 	cd "$(PD_APP_CONTENTS)/Resources/Scripts" && \
@@ -203,8 +216,9 @@ darwin_app_doc_format:
 # the BSD/Darwin version of sed must create a backup file when doing 
 # in-place replacement, so delete the unneeded backup files
 	cd $(DOC_DST) && \
-		sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' */*.pd && \
-		rm -f */*.pd.bak	
+		sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' \
+			*/*.pd */*/*.pd && \
+		rm -f -- */*.pd.bak	
 # run script to move help-*.pd files to *-help.pd according to the standard
 	cd $(DOC_DST)/5.reference && \
 		$(SCRIPTS_SRC)/convert-help-to-standard.sh
@@ -218,7 +232,7 @@ darwin_app_docs:
 #----------------------------------------------------------------------------
 # externals help patches
 	install -d $(DOC_DST)/5.reference
-	cd $(EXTERNALS_SRC)/build/doc && make
+	cd $(EXTERNALS_SRC)/build/doc && $(MAKE)
 	cp -Rp $(EXTERNALS_SRC)/build/doc/* $(DOC_DST)/5.reference
 #----------------------------------------------------------------------------
 # DOC
@@ -398,7 +412,7 @@ darwin_app_externals_flext:
 		$(DOC_DST)/xsample
 ########## FOOTILS #########
 # syncgrain
-#	cd $(EXTERNALS_SRC)/footils/syncgrain/ && make -f makefile.pd-darwin
+#	cd $(EXTERNALS_SRC)/footils/syncgrain/ && $(MAKE) -f makefile.pd-darwin
 #	install -p -m0444 $(EXTERNALS_SRC)/footils/syncgrain/pd-darwin/*.pd_darwin \
 #		$(EXTERNALS_DST)
 	install -p -m0644 $(EXTERNALS_SRC)/footils/syncgrain/pd/*.* $(DOC_DST)/5.reference
@@ -407,7 +421,7 @@ darwin_app_externals_flext:
 darwin_app_externals_standard:
 #----------------------------------------------------------------------------
 # PD-EXTERNALS
-	-cd $(EXTERNALS_SRC)/build/darwin && make -k
+	-cd $(EXTERNALS_SRC)/build/darwin && $(MAKE) -k
 	install -d $(EXTERNALS_DST)
 	install -p -m0644 $(EXTERNALS_SRC)/build/darwin/*.pd_darwin $(EXTERNALS_DST)
 # creb
@@ -429,7 +443,7 @@ darwin_app_externals_standard:
 	install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/*.pd | \
 			 grep -v '\-help.pd') $(EXTERNALS_DST)
 # hid
-	cd $(EXTERNALS_SRC)/hcs/hid && make 
+	cd $(EXTERNALS_SRC)/hcs/hid && $(MAKE) 
 	install -p -m0644 $(EXTERNALS_SRC)/hcs/hid/hid.pd_darwin $(EXTERNALS_DST)
 	install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/hid/*.pd | \
 			 grep -v '\-help.pd'| grep -v '\-list.pd') $(EXTERNALS_DST)
@@ -445,9 +459,9 @@ darwin_app_externals_standard:
 	mv  $(EXTERNALS_DST)/iemabs/help-*.pd $(DOC_DST)/5.reference/iemabs
 #----------------------------------------------------------------------------
 # miXed
-	cd $(EXTERNALS_SRC)/miXed/toxy && make
-	cd $(EXTERNALS_SRC)/miXed/cyclone && make
-	cd $(EXTERNALS_SRC)/miXed/pddp && make
+	cd $(EXTERNALS_SRC)/miXed/toxy && $(MAKE)
+	cd $(EXTERNALS_SRC)/miXed/cyclone && $(MAKE)
+	cd $(EXTERNALS_SRC)/miXed/pddp && $(MAKE)
 	install -d -m755 $(EXTERNALS_DST)
 	install -p -m444 $(EXTERNALS_SRC)/miXed/bin/*.pd_darwin $(EXTERNALS_DST)
 	install -p -m555 $(EXTERNALS_SRC)/miXed/bin/cyclist $(INSTALL_PREFIX)/bin
@@ -458,12 +472,12 @@ darwin_app_externals_standard:
 		$(DOC_DST)/5.reference
 #----------------------------------------------------------------------------
 # OSC
-	cd $(EXTERNALS_SRC)/OSCx && ./configure && make
+	cd $(EXTERNALS_SRC)/OSCx && ./configure && $(MAKE)
 	install -p -m0644 $(EXTERNALS_SRC)/OSCx/doc/*.* $(DOC_DST)/5.reference
 	install -p -m0444 $(EXTERNALS_SRC)/OSCx/src/*.pd_darwin $(EXTERNALS_DST)
 #----------------------------------------------------------------------------
 # PdP
-#	cd $(EXTERNALS_SRC)/pdp && ./configure && make
+#	cd $(EXTERNALS_SRC)/pdp && ./configure && $(MAKE)
 #	install -p -m0444 $(EXTERNALS_SRC)/pdp/*.pd_darwin $(EXTERNALS_DST)
 	install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/objects/*.* $(DOC_DST)/5.reference
 	install -d $(DOC_DST)/pdp/introduction
@@ -474,7 +488,7 @@ darwin_app_externals_standard:
 # libs for PdP
 #----------------------------------------------------------------------------
 # unauthorized
-	cd $(EXTERNALS_SRC)/unauthorized && make 
+	cd $(EXTERNALS_SRC)/unauthorized && $(MAKE) 
 	install -p -m0444 $(EXTERNALS_SRC)/unauthorized/*/*.pd_darwin $(EXTERNALS_DST)
 	install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.pd $(DOC_DST)/5.reference
 	install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.txt $(DOC_DST)/5.reference
@@ -484,7 +498,7 @@ darwin_app_externals_standard:
 # zexy 
 # new build system doesn't work with CVS layout, and most of zexy is
 # included in the extrnals build system now anyway
-#	cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && make
+#	cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && $(MAKE)
 	-install -p -m0444 $(EXTERNALS_SRC)/zexy/src/*.pd_darwin $(EXTERNALS_DST)
 	install -p -m0444 \
 		$(shell ls -1 $(EXTERNALS_SRC)/zexy/abs/*.pd | \
@@ -496,15 +510,15 @@ darwin_app_externals_standard:
 darwin_app_externals_c++:
 #----------------------------------------------------------------------------
 # CREB
-#	cd $(EXTERNALS_SRC)/creb && autoconf && ./configure && cd modules++ && make
+#	cd $(EXTERNALS_SRC)/creb && autoconf && ./configure && cd modules++ && $(MAKE)
 #	install -p -m0644 $(EXTERNALS_SRC)/creb/modules++/*.pd_darwin $(EXTERNALS_DST)
 #----------------------------------------------------------------------------
 # gem2pdp
-#	cd $(EXTERNALS_SRC)/gem2pdp && make -f Makefile.darwin
+#	cd $(EXTERNALS_SRC)/gem2pdp && $(MAKE) -f Makefile.darwin
 #	install -p -m0444 $(EXTERNALS_SRC)/gem2pdp/*.pd_darwin $(EXTERNALS_DST)
 #----------------------------------------------------------------------------
 # GridFlow
-#	cd ../../gridflow && ./configure && make
+#	cd ../../gridflow && ./configure && $(MAKE)
 
 
 darwin_app_welcome:
@@ -531,28 +545,37 @@ darwin_app_perms:
 	chmod a+w $(DOC_DST)/serendipd/*shared_patch.pd
 
 dmg: darwin_app_readme darwin_app_welcome darwin_app_license darwin_app_perms
-	install -d "$(DMG_NAME)"
-	cd $(DESTDIR) && mv $(PD_APP_NAME).app "../../$(DMG_NAME)/$(DMG_NAME).app"
-	install -p -m0444 $(PD_SRC)/LICENSE.txt "$(DMG_NAME)/PD LICENSE.txt"
+	install -d "$(CWD)/$(DMG_NAME)"
+	cd $(DESTDIR) && mv $(PD_APP_NAME).app "$(CWD)/$(DMG_NAME)/$(DMG_NAME).app"
+	install -p -m0444 $(PD_SRC)/LICENSE.txt "$(CWD)/$(DMG_NAME)/PD LICENSE.txt"
 	install -p -m0444 $(LICENSE_FILE) $(README_FILE) \
-		$(WELCOME_FILE) $(LICENSE_FILE)   "$(DMG_NAME)"
-	/bin/sh mkdmg "$(DMG_NAME)"
+		$(WELCOME_FILE) $(LICENSE_FILE)   "$(CWD)/$(DMG_NAME)"
+	cd $(CWD) && /bin/sh mkdmg "$(DMG_NAME)"
 
 
-clean: darwin_app_clean darwin_app_externals_standard_clean 
+clean: darwin_app_clean darwin_app_externals_standard_clean darwin_pd_clean
 clean: darwin_app_externals_gem_clean darwin_app_externals_flext_clean
 
+darwin_pd_clean:
+	cd $(PD_SRC)/src/ && make clean
 
 darwin_app_clean:
-	-sudo rm -Rf $(DESTDIR) "$(DMG_NAME)" 
-	-rm -f *~ 1 $(README_FILE) $(WELCOME_FILE) $(LICENSE_FILE) \
+	-sudo rm -Rf -- $(DESTDIR) "$(DMG_NAME)" 
+	-rm -f -- *~ 1 $(README_FILE) $(WELCOME_FILE) $(LICENSE_FILE) \
 		$(UNIX_PACKAGE_NAME).pkg  "$(DMG_NAME).dmg"
 
 darwin_unpatch_pd:
+# this sed pattern won't work with TEST versions
+	cd $(PD_SRC)/src && \
+		sed -i.bak 's/\(pd_version\[\] = "Pd version [0-9.]*\)[0-9extndRC.-]*/\1/' \
+			s_main.c && \
+		rm -- *.bak
 	cd $(PD_SRC)/src/ && patch -R -p0 < \
 		../../packages/darwin_app/patches/darwin_linking_fixes.patch
 	cd $(PD_SRC)/src/ && patch -R -p0 < \
 		../../packages/darwin_app/patches/extended-help-menu.patch
+	cd $(PD_SRC)/src/ && patch -R -p0 < \
+		../../packages/darwin_app/patches/display_tweaks.patch
 
 darwin_app_externals_standard_clean:
 	cd $(EXTERNALS_SRC)/build/darwin && make clean
@@ -565,7 +588,7 @@ darwin_app_externals_gem_clean:
 darwin_app_externals_flext_clean:
 	cd $(EXTERNALS_SRC)/footils/syncgrain && make -f makefile.pd-darwin clean
 	cd $(EXTERNALS_SRC)/grill && \
-		rm flext/buildsys/config-mac-pd-gcc.txt config.txt flext/config.txt \
+		rm -- flext/buildsys/config-mac-pd-gcc.txt config.txt flext/config.txt \
 			flext/source/libflext.a */pd-darwin/*.o */pd-darwin/*.pd_darwin \
 			*/pd-darwin/*/*.pd_darwin
 
diff --git a/packages/darwin_app/README b/packages/darwin_app/README
index 5b8f7ceb..b3a4db4a 100644
--- a/packages/darwin_app/README
+++ b/packages/darwin_app/README
@@ -3,9 +3,10 @@
 ==============================================================================
 
 Since currently, only Miller has commit permissions to the 'pd' section of the
-CVS, the fixes necessary for building the whole Pd.app are included in
-'packages/darwin_app/patches'.  The patches can be applied by running "make
-darwin_patch_pd" or unpatched using "make darwin_unpatch_pd".
+CVS, optional fixes and fixes necessary for building the whole Pd.app are
+included in 'packages/darwin_app/patches'.  The currently used patches can be
+applied by running "make darwin_patch_pd" or unpatched using "make
+darwin_unpatch_pd".
 
 
 ==============================================================================
@@ -33,9 +34,8 @@ ______________________________
 JackOSX 
 ______________________________
 
-Jack is optional.  The current linking method causes the resulting binary to
-require the Jack.framework to start whether or not you are using Jack.
-Ideally with would be fixed...
+Jack is optional.  The current linking allows Jack to be "weakly" linked,
+meaning that its an optional dependency.
 
   1. download latest JackOSX from http://www.jackosx.com/download.html 
   	  (I used version 0.6.1)
diff --git a/packages/darwin_app/TODO b/packages/darwin_app/TODO
index 276942a3..20f9be12 100644
--- a/packages/darwin_app/TODO
+++ b/packages/darwin_app/TODO
@@ -1,20 +1,24 @@
 
-- convert the wget sf dev listing line in darwin_app_readme from wget to curl
-  so it works out-of-box on macosx
+- review permissions so that you can build on top on existing builds
 
-- fix Pd.app file associations
+- import nqpoly4 and write helpfiles based on website: 
+  			http://pix.test.at/pd/nqpoly/nqpoly4.html
+
+- add standard paths to included org.puredata.pd.plist following these
+  guidelines:
+http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/WhereToPutFiles.html
+
+- explore Pd.app/Contents/Plugins with "Get Info" installation for externals
+
+- include org.puredata.pd.plist file in the DMG
+
+- add "extended" version to pd/src/s_main.c:char pd_version[] = "Pd version 0.38.4\n";
 
 - create old-style Help->Pure Documentation link on Help menu.  It should use a
   symlink to the "doc" dir internal to that particular Pd.app.  The symlink is
   named after the complete path to the "doc" dir, like:
      /tmp/.Applications_Pd-0.38-4.app_Contents_Resources_doc
 
-- make Help menu generator recursive
-
-- follow AppMain.tcl instructions:
-  http://wiki.tcl.tk/12987
-http://www.wordtech-software.com/tcl-bundle-tutorial.html
-
 - try this for the Pref Pane:
  kAEShowPreferences ::tk::mac::ShowPreferences
 
@@ -22,8 +26,6 @@ http://www.wordtech-software.com/tcl-bundle-tutorial.html
 
 - research Tk + "Custom MDEF" for menus
 
-- include auto-.pdrc script in package somewhere...
-
 - create Tcl script called from Prefs that creates links for the standard unix
 - locations for files that are in bin, include, man inside $(PD_FILE_ROOT)
 
@@ -46,5 +48,8 @@ http://www.wordtech-software.com/tcl-bundle-tutorial.html
 ------------------------------------------------------------------------------
 semi-abandoned TODOs
 
+
+- make Help menu generator recursive
+
 - make a web page that has stuff that can't be included due to license issues:
   (percolate)
diff --git a/packages/darwin_app/org.puredata.pd.plist b/packages/darwin_app/org.puredata.pd.plist
new file mode 100644
index 00000000..96c11826
--- /dev/null
+++ b/packages/darwin_app/org.puredata.pd.plist
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>loadlib1</key>
+	<string>Gem</string>
+	<key>loadlib2</key>
+	<string>pmpd</string>
+	<key>standardpath</key>
+	<string>1</string>
+</dict>
+</plist>
diff --git a/packages/darwin_app/patches/display_tweaks.patch b/packages/darwin_app/patches/display_tweaks.patch
index 97232b07..59771854 100644
--- a/packages/darwin_app/patches/display_tweaks.patch
+++ b/packages/darwin_app/patches/display_tweaks.patch
@@ -18,7 +18,7 @@
  
  frame .printout
 -text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \
-+text .printout.text -relief raised -bd 2 -font -*-courier-regular--normal--12-* \
++text .printout.text -relief raised -bd 2 -font { courier 12 } \
      -yscrollcommand ".printout.scroll set" -width 80
  # .printout.text insert end "\n\n\n\n\n\n\n\n\n\n"
  scrollbar .printout.scroll -command ".printout.text yview"
@@ -27,7 +27,7 @@
      set name [format ".help%d" $doc_number]
      toplevel $name
 -    text $name.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \
-+    text $name.text -relief raised -bd 2 -font -*-times-regular--normal--14-* \
++    text $name.text -relief raised -bd 2 -font { helvetica 14 } \
      	-yscrollcommand "$name.scroll set" -background white
      scrollbar $name.scroll -command "$name.text yview"
      pack $name.scroll -side right -fill y
diff --git a/packages/darwin_app/patches/weak_linking.patch b/packages/darwin_app/patches/weak_linking.patch
new file mode 100644
index 00000000..fa0f6601
--- /dev/null
+++ b/packages/darwin_app/patches/weak_linking.patch
@@ -0,0 +1,22 @@
+Index: makefile.in
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
+retrieving revision 1.8
+diff -u -w -r1.8 makefile.in
+--- makefile.in	24 Jul 2005 19:41:14 -0000	1.8
++++ makefile.in	25 Jul 2005 01:59:05 -0000
+@@ -85,9 +85,12 @@
+ $(BIN_DIR)/pdreceive: u_pdreceive.c
+ 	$(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c
+ 
++# MACOSX_DEPLOYMENT_TARGET=10.2 is necessary on Mac OS X to support weak
++# linking of frameworks.  Since its just a environment variable, it should be
++# safely ignored on other platforms.  <hans@eds.org>
+ $(PDEXEC): $(OBJ) 
+-	cd ../obj;  $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \
+-	$(LIB)
++	cd ../obj; MACOSX_DEPLOYMENT_TARGET=10.2 $(CC) $(LDFLAGS) $(DBG_CFLAGS) \
++		-o $(PDEXEC) $(OBJ) $(LIB)
+ 
+ $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC)
+ 	cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \
-- 
cgit v1.2.1