From 2980784b0084b1bfa265755530114f6d57abfccc Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 19 Apr 2005 05:04:56 +0000 Subject: builds into a prebuilt Pd.app, but I still don't have the build working with Tcl 8.4.9; removed some obsolete cruft from various other packaging attempts svn path=/trunk/; revision=2786 --- packages/darwin_app/AppMain.tcl | 91 ----------------------------------- packages/darwin_app/Makefile | 101 +++++++++++++++++++++++++-------------- packages/darwin_app/Pd.term | 95 ------------------------------------ packages/darwin_app/README | 16 ++++++- packages/darwin_app/TODO | 23 ++++++++- packages/darwin_app/pd-unix.info | 16 ------- 6 files changed, 101 insertions(+), 241 deletions(-) delete mode 100644 packages/darwin_app/AppMain.tcl delete mode 100644 packages/darwin_app/Pd.term delete mode 100644 packages/darwin_app/pd-unix.info diff --git a/packages/darwin_app/AppMain.tcl b/packages/darwin_app/AppMain.tcl deleted file mode 100644 index b4bbac17..00000000 --- a/packages/darwin_app/AppMain.tcl +++ /dev/null @@ -1,91 +0,0 @@ - -proc log {message} { - exec sh -c "/bin/echo $message" >/dev/stderr -} - -proc alert {message} { - tk_messageBox -message $message -type ok -icon question -} - -proc default_keybindings {} { - return { exit CMD-q } -} - -proc checkPort { port } { - if { - [catch {set result [exec sh -c "/usr/sbin/netstat -an |grep $port"] } errn] } { - # the command returns no result, so the port is not used - return true - } else { - return false - } -} - -proc waitForPort { port } { - for {set x 0} {$x<30} {incr x} { - after 100 - if {![checkPort $port]} { - return true - } - } - return false -} - - - -proc loadpdtcl { } { - global pd_guidir - # wait for pd to start - if {[waitForPort 5400]} { - if { - [catch {load $pd_guidir/bin/pdtcl } errmsg] } { - alert "can't connect to pd : $errmsg" - exit(1) - } - } else { - alert "Couldn't start Pd" - } -} - - - -##### startup ################################################################## - -global pd_guidir -global pd_port - -# get the path to the Wish Shell so a relative path can be -# used to launch Pd -regsub -- "Pd" [info nameofexecutable] "" wish_path -puts "$wish_path/../Resources/lib/pd/bin/pd.tk" - -# set paths -set pd_guidir [file join [file dirname [file dirname [info script]]] lib pd] -set pd_exec_path [file join [file dirname [file dirname [info script]]] bin] - -# launch pd -a dummy guicmd prevents starting the wish shell -if {[checkPort 5400]} { - exec sh -c "cd $pd_exec_path;./pd -guicmd /bin/echo" >&/dev/stderr & -} else { - alert "Can't start pd because the port 5400 is in use" - exit(1) -} - - -# open gui -source [file join $pd_guidir bin pd.tk] - -################################################################################ - - - -# depends on pd.tk -# tk::mac::OpenDocument is called when docs are dropped -# on the Dock icon with the filenames put into the var args -proc tk::mac::OpenDocument {args} { - foreach file $args { - pd [concat pd open [pdtk_enquote [file tail $file]] \ - [pdtk_enquote [file dirname $file]] \;] - menu_doc_open [file dirname $file] [file tail $file] - } -} diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile index ad0181cb..d99ccf22 100644 --- a/packages/darwin_app/Makefile +++ b/packages/darwin_app/Makefile @@ -74,8 +74,10 @@ ZEXY_VERSION = $(shell grep VERSION ../../externals/zexy/src/zexy.h | cut -d ' ' darwin_app: darwin_app_wrapper darwin_patch_pd darwin_app_core \ - darwin_app_externals darwin_app_docs darwin_app_abstractions + darwin_app_docs darwin_app_externals darwin_app_abstractions +darwin_prebuilt_app: darwin_app_externals darwin_app_docs \ + darwin_app_abstractions darwin_app_doc_format darwin_app_license: # generate HTML version of License @@ -137,11 +139,11 @@ darwin_app_readme: echo "(this package was built on `date`)
" >> $(README_FILE) echo "" >> $(README_FILE) -darwin_mount_tcltk: -# it should automatically mount the most recent TclTkStandalone here +# check here for a reference on how to do this: +# http://cvs.sourceforge.net/viewcvs.py/tkcvs/tkcvs-proj/PackApp?rev=1.4 darwin_app_wrapper: - hdiutil mount $(TCLTK).dmg + -hdiutil mount $(TCLTK).dmg # copy Wish Shell.app from default install location # note: use the "standalone" Wish shell to make a "standalone" pd app install -d "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" @@ -162,23 +164,24 @@ darwin_app_wrapper: install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" install -m0644 -p Info.plist "$(DESTDIR)$(PD_APP_CONTENTS)" install -m0644 -p *.icns "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" -# pd/src/u_main.tk now acts as the AppMain.tcl -# install -m0644 -p AppMain.tcl "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" # rename the Wish Shell executable to "Pd" mv "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS/Wish Shell" "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS/Pd" - diskutil eject /Volumes/$(TCLTK) +# diskutil eject /Volumes/$(TCLTK) darwin_patch_pd: # apply some patches # cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/socket.patch # cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/u_main.tk.patch cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/darwin_build-0.38.patch + rm ../../pd/src/configure ../../pd/src/makefile + cd ../../pd/src/ && autoconf -darwin_app_core: +darwin_app_core: darwin_app_wrapper # pd core - cd ../../pd/src/ && \ - ./configure --enable-jack --prefix=$(INSTALL_PREFIX) && make - cp -R -p ../../pd/bin ../../pd/doc ../../pd/extra ../../pd/man \ +# cd ../../pd/src/ && \ +# ./configure --enable-jack --prefix=$(INSTALL_PREFIX) && make + cd ../../pd/src/ && ./configure --enable-jack && make + cp -Rp ../../pd/bin ../../pd/doc ../../pd/extra ../../pd/man \ $(PD_FILE_ROOT) # AppMain.tcl cd "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" && \ @@ -187,14 +190,21 @@ darwin_app_core: install -d -m0755 $(PD_FILE_ROOT)/include install -m0444 ../../pd/src/*.h $(PD_FILE_ROOT)/include -darwin_app_docs: +darwin_app_doc_format: #---------------------------------------------------------------------------- +# clean out cruft files + -find $(PD_FILE_ROOT) -name .DS_Store -delete + -rm -Rf `find $(PD_FILE_ROOT) -name CVS` # set the font to 10pt on all help patches cd $(HELP_DIR) && \ sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' */*.pd # the BSD/Darwin version of sed must create a backup file when doing # in-place replacement, so delete the unneeded backup files - rm */*.pd.bak + -rm */*.pd.bak +# run script to move help-*.pd files to *-help.pd according to the standard + ../../scripts/convert-help-to-standard.sh + +darwin_app_docs: #---------------------------------------------------------------------------- # DOC install -d $(HELP_DIR)/5.reference @@ -217,13 +227,15 @@ darwin_app_abstractions: #---------------------------------------------------------------------------- # ABSTRACTIONS install -d $(ABSTRACTIONS_DIR) - install -p -m0644 ../../externals/creb/abs/*.pd $(ABSTRACTIONS_DIR) - cd $(ABSTRACTIONS_DIR) && rm count.pd +# creb + install -p -m0444 ../../externals/creb/abs/*.pd $(ABSTRACTIONS_DIR) + cd $(ABSTRACTIONS_DIR) && rm -f count.pd install -d $(ABSTRACTIONS_DIR)/creb install -p -m0444 ../../externals/creb/doc/examples/*.* $(ABSTRACTIONS_DIR)/creb + # cp -Rf footils timestretch vadsr~ $(ABSTRACTIONS_DIR) -darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_gem +darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ #darwin_app_externals: darwin_app_externals_flext darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_gem darwin_app_externals_gem: @@ -323,42 +335,49 @@ darwin_app_externals_standard: cp -Rfp ../../Gem/examples/*.* ../../Gem/examples/data $(HELP_DIR)/gem #---------------------------------------------------------------------------- # hcs + install -p -m0444 $(shell ls -1 ../../externals/hcs/*.pd | \ + grep -v '\-help.pd') $(EXTERNALS_DIR) +# hid cd ../../externals/hcs/hid && make install -p -m0444 ../../externals/hcs/hid/hid.pd_darwin $(EXTERNALS_DIR) - install -p -m0444 ../../externals/hcs/hid/ev*-list.pd $(HELP_DIR)/5.reference - install -p -m0444 ../../externals/hcs/hid/*-help.pd $(HELP_DIR)/5.reference + install -p -m0444 $(shell ls -1 ../../externals/hcs/hid/*.pd | \ + grep -v '\-help.pd'| grep -v '\-list.pd') $(EXTERNALS_DIR) +# pan + install -p -m0444 $(shell ls -1 ../../externals/hcs/pan/*.pd | \ + grep -v '\-help.pd') $(EXTERNALS_DIR) +#---------------------------------------------------------------------------- +# IEMlib + cp -Rp ../../externals/iemlib/iemabs $(EXTERNALS_DIR) + install -d -m0755 $(HELP_DIR)/5.reference/iemabs + mv $(EXTERNALS_DIR)/iemabs/help-*.pd $(HELP_DIR)/5.reference/iemabs #---------------------------------------------------------------------------- # miXed cd ../../externals/miXed/toxy && make cd ../../externals/miXed/cyclone && make - install -d -m755 $(EXTERNALS_DIR)/cyclone - install -p -m444 ../../externals/miXed/bin/*.pd_darwin $(EXTERNALS_DIR)/cyclone - sudo install -p -m555 ../../externals/miXed/bin/cyclist $(PD_FILE_ROOT)/bin + install -d -m755 $(EXTERNALS_DIR) + install -p -m444 ../../externals/miXed/bin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m555 ../../externals/miXed/bin/cyclist $(PD_FILE_ROOT)/bin + install -d -m755 $(HELP_DIR)/5.reference/cyclone install -p -m0444 ../../externals/miXed/test/*/*.* \ - ../../externals/miXed/doc/*/*/*.* \ $(HELP_DIR)/5.reference/cyclone + install -p -m0444 ../../externals/miXed/doc/*/*/*.* \ + $(HELP_DIR)/5.reference #---------------------------------------------------------------------------- # OSC cd ../../externals/OSCx && ./configure && make install -p -m0444 ../../externals/OSCx/doc/*.* $(HELP_DIR)/5.reference install -p -m0444 ../../externals/OSCx/src/*.pd_darwin $(EXTERNALS_DIR) #---------------------------------------------------------------------------- -# PDP - cd ../../externals/pdp && ./configure && make - install -p -m0444 ../../externals/pdp/*.pd_darwin $(EXTERNALS_DIR) +# PdP +# cd ../../externals/pdp && ./configure && make +# install -p -m0444 ../../externals/pdp/*.pd_darwin $(EXTERNALS_DIR) install -p -m0444 ../../externals/pdp/doc/objects/*.* $(HELP_DIR)/5.reference install -d $(HELP_DIR)/pdp/introduction install -p -m0444 ../../externals/pdp/doc/introduction/*.* $(HELP_DIR)/pdp/introduction install -d $(HELP_DIR)/pdp/examples install -p -m0444 ../../externals/pdp/doc/examples/*.* $(HELP_DIR)/pdp/examples install -p -m0444 ../../externals/pdp/doc/reference.txt $(HELP_DIR)/pdp -#---------------------------------------------------------------------------- -# PMPD - cd ../../externals/pmpd/src && make pd_darwin - install -p -m0444 ../../externals/pmpd/src/*.pd_darwin $(EXTERNALS_DIR) - install -p -m0444 ../../externals/pmpd/help/*.pd $(HELP_DIR)/5.reference - install -d $(HELP_DIR)/pmpd - install -p -m0444 ../../externals/pmpd/exemples/*.pd $(HELP_DIR)/pmpd +# libs for PdP #---------------------------------------------------------------------------- # unauthorized cd ../../externals/unauthorized && make @@ -368,12 +387,19 @@ darwin_app_externals_standard: install -p -m0444 ../../externals/unauthorized/*/*.pls $(HELP_DIR)/5.reference cp -Rfp ../../externals/unauthorized/blinkenlights/blm $(HELP_DIR)/5.reference #---------------------------------------------------------------------------- -# zexy - cd ../../externals/zexy/src && make -f makefile.darwin - install -p -m0444 ../../externals/zexy/src/*.pd_darwin $(EXTERNALS_DIR) +# 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/zexy/src && autoconf && ./configure && make + -install -p -m0444 ../../externals/zexy/src/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 \ + $(shell ls -1 ../../externals/zexy/abs/*.pd | \ + grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \ + $(EXTERNALS_DIR) install -p -m0444 ../../externals/zexy/zexy.pd $(HELP_DIR)/5.reference install -d $(HELP_DIR)/help-zexy install -p -m0444 ../../externals/zexy/examples/*.* $(HELP_DIR)/help-zexy + install -p -m0444 ../../externals/zexy/abs/*-help.pd $(HELP_DIR)/5.reference darwin_app_externals_c++: @@ -446,6 +472,9 @@ darwin_app_externals_c++: # echo "" >> $(WELCOME_FILE) # echo "" >> $(WELCOME_FILE) +darwin_app_perms: + chmod a-x $(HELP_DIR)/*/*.pd $(HELP_DIR)/*/*/*.pd $(HELP_DIR)/*/*/*/*.pd + chmod -R a-w $(HELP_DIR) dmg: darwin_app_readme darwin_unix_pkg_welcome darwin_app_license install -d "$(DMG_NAME)" @@ -457,7 +486,7 @@ dmg: darwin_app_readme darwin_unix_pkg_welcome darwin_app_license /bin/sh mkdmg "$(DMG_NAME)" -clean: darwin_app_clean darwin_unpatch_pd +clean: darwin_app_clean darwin_app_clean: diff --git a/packages/darwin_app/Pd.term b/packages/darwin_app/Pd.term deleted file mode 100644 index 78e0078f..00000000 --- a/packages/darwin_app/Pd.term +++ /dev/null @@ -1,95 +0,0 @@ - - - - - WindowSettings - - - AutoFocus - YES - Autowrap - YES - Backwrap - YES - Bell - YES - BlinkCursor - NO - CleanCommands - rlogin;telnet;ssh;slogin - Columns - 80 - CursorShape - 2 - CustomTitle - pure data - DeleteKeySendsBackspace - NO - DisableAnsiColors - NO - DoubleBold - YES - DoubleColumnsForDoubleWide - NO - DoubleWideChars - YES - ExecutionString - /Applications/Pd.app/Contents/Resources/bin/pd; exit - FontAntialiasing - YES - FontHeightSpacing - 0.8 - FontWidthSpacing - 1 - IsMiniaturized - NO - MacTermFunctionKeys - NO - Meta - 27 - NSFixedPitchFont - Courier - NSFixedPitchFontSize - 12 - Rows - 24 - SaveLines - -1 - ScrollRegionCompat - NO - ScrollRows - 0 - Scrollback - YES - Shell - /bin/sh - ShellExitAction - 1 - StrictEmulation - NO - StringEncoding - 5 - TerminalOpaqueness - 1 - TextColors - 0.000 0.000 0.000 1.000 1.000 1.000 1.000 0.797 0.000 1.000 0.797 0.000 1.000 1.000 1.000 0.000 0.000 0.000 0.000 0.084 1.000 0.383 1.000 1.000 - TitleBits - 104 - Translate - YES - UseCtrlVEscapes - NO - VisualBell - YES - WinLocULY - 629 - WinLocX - 5 - WinLocY - 0 - WindowCloseAction - 0 - - - - diff --git a/packages/darwin_app/README b/packages/darwin_app/README index e875c38d..eb3c60bf 100644 --- a/packages/darwin_app/README +++ b/packages/darwin_app/README @@ -1,3 +1,16 @@ +============================================================================== + Patches +============================================================================== + +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 necessary patches are automatically applied +by 'packages/darwin_app/Makefile' before building the sources in 'pd/src' + + +============================================================================== + Compiling Pd.app +============================================================================== To compile a standalone Pd.app, you need this stuff: @@ -7,7 +20,8 @@ Tcl/Tk Standalone .app 1. download TclTkAquaStandalone-8.4.*.dmg from http://tcltkaqua.sourceforge.net/ (I used 8.4.9) - 2. mount the dmg + 2. mount the dmg manually or put TclTkAquaStandalone-8.4.*.dmg in + packages/darwin_app and it will be automatically mounted 3. the Makefile will find what it needs in the mounted .dmg Tcl/Tk Frameworks diff --git a/packages/darwin_app/TODO b/packages/darwin_app/TODO index 07f9d644..126fa25c 100644 --- a/packages/darwin_app/TODO +++ b/packages/darwin_app/TODO @@ -1,4 +1,25 @@ +- 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 + +- check up on zexy in packages/darwin_app/Makefile and + externals/build/doc/makefile now that its been added to the build system + +- 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 + +- research Tcl "auto_path" + +- research Tk + "Custom MDEF" for menus + - include auto-.pdrc script in package somewhere... - make a web page that has stuff that can't be included due to license issues: @@ -21,8 +42,6 @@ - write sed script to set help-patch font size to 10 point from 12 point on all help patches. -- add file browser and cascasing menus to Help menu - - create --enable-cpu and --enable-arch in pd/src/configure.in - create general optimization flag system diff --git a/packages/darwin_app/pd-unix.info b/packages/darwin_app/pd-unix.info deleted file mode 100644 index 83523b69..00000000 --- a/packages/darwin_app/pd-unix.info +++ /dev/null @@ -1,16 +0,0 @@ -Title Pd-UNIX -Version Pd.app Version -Description UNIX Tools for Pd -DefaultLocation /usr/local -DeleteWarning - -### Package Flags - -NeedsAuthorization YES -Required NO -Relocatable YES -RequiresReboot NO -UseUserMask YES -OverwritePermissions NO -InstallFat NO -RootVolumeOnly NO -- cgit v1.2.1