[Ipe-discuss] Compiling Ipe 6.0pre32 on Mac OS X 10.6 (Snow Leopard)

Sherif Ghali sherif.ghali at yahoo.com
Sat Jun 5 04:57:07 CEST 2010



Here are some notes for installing ipe-6.0pre32 on Mac OS X 10.6 (Snow Leopard).

------------------------------------------------------------------------
The directories used are:
        /usr/local      is a reasonable location for installing Ipe.
        /opt/local      MacPorts installs in this directory.
                        First wipe out /opt/local if one is left-over from Leopard.
                        MacPorts packages installed under Leopard will not run
under Snow Leopard (nor will Ipe if installed under Leopard).
------------------------------------------------------------------------
Pre-installation
        Xcode is not installed by default. It's on the OS X disk and is also at
                http://developer.apple.com/mac/
        MacPorts is a package manager, similar to Debian's apt-get and
                Fedora's rpm. Download/run it
                        http://www.macports.org/install.php
                then run
                        sudo port -v selfupdate
                Once MacPorts is installed, installing many linux packages is easy.
                For one, Ipe needs Freetype2:
                        sudo port install freetype
        MacTeX is derived from Tex Live
                Install:
                        http://www.tug.org/mactex/
                        1.3GB        download
                        >2GB        installed
                pdflatex is now at:
                        /usr/local/texlive/2009/bin/universal-darwin
                MacTeX puts this directory at the beginning of your
                path (and then you are ready to call pdflatex etc
                directly), but MacPorts also puts /opt/local/bin at
                the beginning of your path. If you already had MacTeX
                before you installed MacPorts, you will need to do
                something like:
                        sudo rm /usr/bin/pdflatex
                        sudo ln -s /usr/local/texlive/2009/bin/universal-darwin/pdflatex /usr/bin
                The first is needed only if you upgraded from Leopard to Snow Leopard,
                and TeX was already installed.
                Also make sure you do not have:
                        export IPEPDFLATEX=/opt/local/bin/pdflatex
                in your .bash_profile.
        Qt SDK
                Install:
                        http://qt.nokia.com/downloads/sdk-mac-os-cpp
                        545MB        download
                        1.7GB        installed
------------------------------------------------------------------------
Ipe
        Unpack ipe in /usr/local:
                cd /usr/local
                [sudo] cp ipe-6.0pre32-src.tar .
                [sudo] tar -xf ipe-6.0pre32-src.tar 
                sudo chown -R myusername /usr/local/ipe-6.0pre32
                cd ipe-6.0pre32/src/
        Edit /usr/local/ipe-6.0pre32/src/config.pri:
                Optional:
                        if you are using emacs, for increased readability
                        replace 'text' in the first line with 'sh-mode'.
                        If you a regular emacs/Qt user, consider using the
                        dedicated .pri/.pro mode.
                                http://www.tolchz.net/wp-content/uploads/2008/01/qt-pro.el
                        then remove the -*- text -*- line.
                Add the following block somewhere in config.pri.
                        mac {
                          QMAKE_CXXFLAGS   += -m32
                          QMAKE_LFLAGS     += -m32
                          # --------Freetype includes--------
                          # We need the next line because ipefonts.cpp #includes "ft2build.h".
                          FREETYPE_INCLUDE  = /Developer/SDKs/MacOSX10.6.sdk/usr/X11/include
                          # We need also the following line because ft2build.h #includes "freetype/config/ftheader.h"
                          FREETYPE_INCLUDE += /Developer/SDKs/MacOSX10.6.sdk/usr/X11/include/freetype2
                          # ...and we *may* need the next one because other freetype2 are therein.
                          # FREETYPE_INCLUDE += /Developer/SDKs/MacOSX10.6.sdk/usr/X11/include/freetype2/freetype
                          # --------Freetype library--------
                          # The following freetype2 lib is a 32-bit dylib.
                          FREETYPE_LIBPATH  = /Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib
                          # (The one in /opt/local/lib is a 64-bit dylib.)
                          IPEPREFIX         = /usr/local/ipe-6.0pre32
                        }
                Insert the "mac { ... }" block somewhere after the line:
                        FREETYPE_INCLUDE  = /usr/include/freetype2
                and before the block where:
                    error( "You need to specify IPEPREFIX!")
                appears.
            Other possible settings (if you use X11 and i-installer instead of MacPorts) are:
                X11:
                        FREETYPE_INCLUDE  = /usr/X11/include /usr/X11/include/freetype2
                i-installer:
                        FREETYPE_INCLUDE  = /usr/include /usr/include/freetype2                        
        Compile:
                cd /usr/local/ipe-6.0pre32/src
                qmake -spec macx-g++ -recursive
                make
                sudo make install
        Set path to the 14 standard Postscript fonts:
                mkdir -p /usr/local/ipe-6.0pre32/share/ipe/6.0pre32
                cp /usr/local/ipe-6.0pre32/tetex-fontmap.xml /usr/local/ipe-6.0pre32/share/ipe/6.0pre32/fontmap.xml
                In /usr/local/ipe-6.0pre32/fontmap.xml, replace each occurrence of
                        /usr/share/texmf/fonts/type1/urw/
                with
                        /usr/local/texlive/2009/texmf-dist/fonts/type1/urw/
                If you decide to install TeX through MacPorts rather than as a
                standalone package, the location would be:
                        /opt/local/share/texmf-dist/fonts/type1/urw/
        Copy ipekeys.xml to where they are expected:
                cp /usr/local/ipe-6.0pre32/ipekeys.xml /usr/local/ipe-6.0pre32/share/ipe/6.0pre32
--------------------------------
Final setup
        To launch from the terminal:
                sudo rm /usr/lib/libipe*
                sudo ln -s /usr/local/ipe-6.0pre32/build/lib/*.1.dylib /usr/lib

                sudo rm /usr/bin/ipe
                sudo rm /usr/bin/ipetoipe 
                sudo ln -s /usr/local/ipe-6.0pre32/build/bin/ipe.app/Contents/MacOS/ipe           /usr/bin
                    (doing 'sudo ln -s /usr/local/ipe-6.0pre32/build/bin/ipe.app           /usr/bin'
                     is not suitable because OSX does not expand *.app in /usr/bin)
                sudo ln -s /usr/local/ipe-6.0pre32/build/bin/ipetoipe.app/Contents/MacOS/ipetoipe /usr/bin

                pdftoipe is separate:
                        sudo rm /usr/bin/pdftoipe 
                        sudo ln -s /usr/local/pdftoipe-20070509/pdftoipe.app/Contents/MacOS/pdftoipe /usr/bin

        To launch from the dock:
                If you also want to use ipe from the dock:
                        sudo ln -s /usr/local/texlive/2009/bin/universal-darwin/pdflatex /usr/bin
                Another option---if TeX is installed via MacPorts:
                        sudo ln -s /opt/local/bin/pdflatex /usr/bin
                In Finder
                        drag /usr/local/ipe-6.0pre32/build/bin/ipe.app to the dock
                        (or else drag /usr/bin/ipe.app to the dock).
------------------------------------------------------------------------
Bugs:

Almost everything works perfectly, but there are a few quirks if
one launches ipe from the terminal or by dired-do-shell-command
(key: "!") in emacs dired mode.

-- The ipe window appears second from the top of the window stack,
   underneath the terminal (or emacs) window.

-- The ipe icon appears at the tail end of the Meta-Tab sequence.
   Hint: Type Meta-Tab, Meta-`, Meta-` (or Meta-Tab then point with
   the mouse) to reach it.

-- In the Meta-Tab sequence, ipe appears with the (ugly) generic
   program icon rather than ipe's icon.

All is well if ipe is launched from the dock.

------------------------------------------------------------------------
Keys:

To access the object-properties menu use CTRL-AppleKey-MouseButton on
a single-button mouse and AppleKey-RightButton on a two-button mouse.

To end a path use CTRL-MouseButton on a single-button mouse and 
RightButton on a two-button mouse.

Perhaps the nicest feature of running ipe on a Mac rather than on
Windows is that two-finger swipes perform a zoom in/zoom out. It is
very handy to zoom into a detail, modify something, then zoom out,
recenter (x), and repeat. The same can be done with the scroll wheel
of a mouse if one is attached.
------------------------------------------------------------------------
Installing MacTeX: 2GB; Qt: 2GB; XCode: 2GB; MacPorts: 1GB.
Finding that a free-software package is concise, well-written, and
useful: priceless. There are some things money can't buy, for
everything else there's a BiggerDrive.
------------------------------------------------------------------------

Sherif



      



More information about the Ipe-discuss mailing list