User:John64/Environment-OSX

From MozillaWiki
Jump to: navigation, search

Mac OS X 10.6

System Prefs:

  • set mouse tracking speed to fastest and enable right clicking
  • set caps lock to become a control key
  • screen saver timeout to 15 minutes
  • dock on left side (size smaller than default)
  • disable expose/dashboard F-keys
  • enable spaces
  • language order:
    • CDN
    • AUS
    • UK
    • US
    • English
  • require password 1 minute after sleep or screen saver
  • disable automatic login
  • disable spotlight on everything other than:
    • Applications
  • Set all CDs & DVDs options to ignore
  • Disable automatically adjust brightness
  • Computer sleep 1hr, display sleep 15m on battery, never on power
  • untick both 'automatically reduce brightness...' and 'slightly dim display'
  • Disable Front Row keyboard shortcut
  • enable full keyboard access
  • enable tapping on trackpad
  • enable screen sharing and remote login

Enable 64bit Kernel [1]

Already Built Cocoa Applications

  • Skype
  • Viscosity
  • Linkinus
  • Adium
  • Xcode

pylibs

sudo easy_install-2.7 pip
sudo easy_install-2.6 pip
sudo easy_install-2.5 pip
sudo pip-2.7 install virtualenv
sudo pip-2.7 install mercurial

Software from Source

GNU coreutils

curl -O ftp://mirrors.kernel.org/gnu/coreutils/coreutils-8.9.tar.gz
tar zxf coreutils-8.9.tar.gz
cd coreutils-8.9
./configure --prefix=/usr/local --program-prefix=g
make -j4
sudo make install
make distclean
./configure --prefix=/Users/jhford/
make -j4
make install
make distclean

GNU findutils

curl -O ftp://mirrors.kernel.org/gnu/findutils/findutils-4.4.2.tar.gz
tar zxf findutils-4.4.2.tar.gz
cd findutils-4.4.2
./configure --prefix=/usr/local --program-prefix=g
make -j4
sudo make install
make distclean
./configure --prefix=/Users/jhford/
make -j4
make install
make distclean

Git

curl -O http://kernel.org/pub/software/scm/git/git-1.7.5.4.tar.gz
tar xzf git-1.7.5.4.tar.gz
cd git-1.7.5.4/
./configure --prefix=/usr/local
make -j4
sudo make install

Mercurial

curl -O http://mercurial.selenic.com/release/mercurial-1.6.2.tar.gz
tar xzf mercurial-1.6.2.tar.gz
cd mercurial-1.6.2/
sudo python2.6 setup.py install

or

sudo easy_install-2.6 mercurial

VirtualEnv

curl -O http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.9.tar.gz
tar zxf virtualenv-1.4.9.tar.gz
cd virtualenv-1.4.9
sudo python setup.py install

or

sudo easy_install-2.6 virtualenv

pkg-config

curl -O http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz
tar xzf pkg-config-0.26.tar.gz
cd pkg-config-0.26
./configure --prefix=/usr/local/
make
sudo make install

gettext

curl -O http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz
tar xzf gettext-0.18.1.1.tar.gz
cd gettext-0.18.1.1
./configure --prefix=/usr/local/
make
sudo make install

libiconv

curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xzf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/
make
sudo make install

Note: to fully enable gettext, it's best to rebuild it after installing libiconv (thanks [2])

cd ../gettext-0.18.1.1
make distclean
./configure --prefix=/usr/local/
make
sudo make install

libffi

curl -O ftp://sources.redhat.com/pub/libffi/libffi-3.0.9.tar.gz
tar jxf libffi-3.0.9.tar.gz
cd libffi-3.0.9.tar.gz
./configure --prefix=/usr/local
make

glib2

Note: the LDFLAGS and CPPFLAGS values are so that the /opt version of gettext and libiconv are used

Note: thanks to Amanda Notes for OS X Installs for the *FLAGS clue on how to get glib2 to compile

curl -O http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.1.tar.bz2
curl -O http://ftp.acc.umu.se/pub/gnome/sources/glib/2.29/glib-2.29.8.tar.bz2
tar xjf glib-2.24.1.tar.bz2
cd glib-2.24.1
./configure --prefix=/usr/local LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include"
make
sudo make install

libIDL

curl -O http://ftp.acc.umu.se/pub/gnome/sources/libIDL/0.8/libIDL-0.8.14.tar.gz
tar xzf libIDL-0.8.14.tar.gz
cd libIDL-0.8.14
./configure --prefix=/usr/local
make
sudo make install

autoconf213

curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
tar xzf autoconf-2.13.tar.gz
cd autoconf-2.13
./configure --prefix=/usr/local --program-suffix=213
make
sudo make install

GNU wget

curl -O http://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz
tar zxf wget-1.9.1.tar.gz
cd wget-1.9.1
./configure
make -j4
sudo make install

Patchutils

wget http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.3.2.tar.bz2
tar jxf patchutils-0.3.2.tar.bz2
cd patchutils-0.3.2
./configure
make -j4
sudo make install

Ncurses

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
tar zxf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure --prefix=/usr/local
make -j4
sudo make install

CScope

wget http://downloads.sourceforge.net/project/cscope/cscope/15.7a/cscope-15.7a.tar.bz2
tar jxf cscope-15.7a.tar.bz2
cd cscope-15.7a
./configure --prefix=/usr/local/
make -j4

MacVim

git clone git://repo.or.cz/MacVim.git # or cd MacVim ; git pull
cd MacVim
./configure --with-features=huge --enable-pythoninterp
make -j4
mv src/MacVim/build/Release/MacVim.app /Applications/
cp src/MacVim/mvim ~/bin/

Emacs.app 23.2

wget http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3.tar.bz2
tar jxf emacs-23.3.tar.bz2
cd emacs-23.3
./configure --with-ns
make -j4
make install
mv nextstep/Emacs.app /Applications/
#for command line version
cd ..
rm -rf emacs-23.3
tar jxf emacs-23.3.tar.bz2
cd emacs-23.3
./configure --without-ns --without-x --prefix=/usr/local
make -j4
sudo make install

bzip2 + pbzip2

wget http://compression.ca/pbzip2/pbzip2-1.1.1.tar.gz
wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
tar zxf bzip2-1.0.5.tar.gz
tar zxf pbzip2-1.1.1.tar.gz
cd bzip2-1.0.5
CFLAGS='-O3' make
make install PREFIX=/usr/local
cp libbz2.a bzlib.h ../pbzip-1.1.1
cd pbzip2-1.1.1
make pbzip2-static
make install PREFIX=/usr/local

ccache

wget http://www.samba.org/ftp/ccache/ccache-3.1.5.tar.gz
tar zxf ccache-3.1.5.tar.gz
cd ccache-3.1.5
./configure --prefix=/usr/local
make
sudo make install

yasm

wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
tar zxf yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure --prefix=/usr/local
make
sudo make install

pipe viewer

wget http://pipeviewer.googlecode.com/files/pv-1.1.4.tar.bz2
tar jxf pv-1.1.4.tar.bz2
cd pv-1.1.4
./configure --prefix=/usr/local
make
sudo make install

Configure Repo

I keep a lot of my configuration files in a repository.

hg clone <repo> .jhford
ln -s .jhford/.hg .hg
hg up -C
chmod 700 -R ~/.ssh

xz (provides lzma)

wget http://tukaani.org/xz/xz-5.0.3.tar.gz
tar zxf xz-5.0.3.tar.gz
cd xz-5.0.3
./configure
make
sudo make install