Rev 26266 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ReadMe file for building, installing and executing the AQUA - Darwin R GUI.Building RAqua from Source:0) You need C and Fortran compilers. Seehttp://www.economia.unimi.it/R/for some recommendations.1)You can build the RAqua GUI either with or without X11 support, and withor without Tcl/Tk support.Without either X11 or Tcl/Tk:% ./configure --enable-R-shlib --with-blas='-framework vecLib'--with-lapack --with-aqua --without-xWith both:% ./configure --enable-R-shlib --with-blas='-framework vecLib'--with-lapack--with-tcl-config=/Library/Frameworks/Tcl.framework/tclConfig.sh--with-tk-config=/Library/Frameworks/Tk.framework/tkConfig.sh--with-aquaThen build R with% makeCompiling with X11 support requires X11 header files (SDK, as Applecalls it) and running with X11 support requires an X server, such asApple's Xquartz server (http://www.apple.com/macosx/x11/download/).Compiling with Tcl/Tk has been tested only with AquaTcl/Tk 8.4.2. Seehttp://www.economia.unimi.it/R/for more information on where to get it and how to install it.2) To install the RAqua GUI type% make install-aquaUnless you have write permission to /Applications you will need anadministrator password and sudo:% sudo make install-aqua3) double-click on the StartR icon in /Applications, or drag it to theDock and single-click it.Installing packages:Binary packages will be provided by the time RAqua is released. Sourcepackages can be installed but may need some extra stuff:- For packages with no C or Fortran, RAqua is sufficient.- For packages with C but not Fortran the Apple developer toolkit issufficientOtherwise seehttp://www.economia.unimi.it/R/for details.Creating packages:The tar command in OS X is missing some features that are used by R CMDbuild. At the moment the recommended work-around is to install GNU tar(eg, as part of fink) and set the TAR environment variable to point toGNU tar.Egsetenv TAR /sw/bin/tarAbout the RAqua GUI:The GUI has separate input and output windows. What you type goes intothe small input window, and the output goes in the large window above.You can change the colors and font sizes in Preferences. The outputwindow is buffered: it may not update until the previous command isfinished. This makes output of large objects much faster. You can turnoff buffering and adjust the size of the buffer in Preferences.Help pages display in separate pop-up windows, and HTML help is alsoavailable in your browser.The standard graphics driver for RAqua is quartz(), using the QuartzPDF-based display engine. It has all the features you would expect in anR device driver. If you compiled with X11 support and have an Xserver running you can also use x11() for the X-Windows display device.Currently x11() with Apple's X server is faster than quartz(). Of course,all the usual file-based devices are available: PDF(), postscript(),xfig(), etc.Data frames can be displayed and edited with data.entry() and edit().The Workspace menu allows the Workspace to be saved, loaded, clearedorbrowsed. The workspace browser can also be started with the browseEnv()function.The Tools window manages the command history and working directory.The Packages menu allows you to install packages from CRAN andBioconductor, to see what packages are currently installed, and to loadand unload packages and load data sets.Notes for developers:Nearly everything is in src/modules/aqua/. At the moment the mainexception is the quartz device driver, which is in src/unix/ but maymove soon.The Console is based on the Carbon MLTE system. It is inmodules/aqua/aquaconsole.c. There are two TXNObjects, one for the inputwindow and one for the output window. The MLTE engine is documented inthe Apple Developer Toolkit:/Developer/Documentation/Carbon/Text/MultiLingualTextEngineThe package manager, data set manager, install browsers, and workspacebrowser are DataBrowser controls:http://developer.apple.com/technotes/tn/tn2009.htmlMenus, and windows other than the data browsers are constructed fromspecifications in modules/aqua/Contents/Resources/main.nib, which can beedited with the Interface Builder.Beware of code that assumes Unix systems are X11-based. For example,edit.data.frame() used to assume that a Unix system with no DISPLAYvariable must not have a GUI. Check .Platform$GUI=="AQUA" in interpretedcode or !strcmp(R_GUIType,"AQUA") in C.There's a lot of coding based on static variables in the aqua files. Ifyou can't find a local declaration for a variable look at the top of thefile.