User:John64/Environment-OSX
From MozillaWiki
Contents
- 1 Mac OS X 10.6
- 2 Already Built Cocoa Applications
- 3 pylibs
- 4 Software from Source
- 4.1 GNU coreutils
- 4.2 GNU findutils
- 4.3 Git
- 4.4 Mercurial
- 4.5 VirtualEnv
- 4.6 pkg-config
- 4.7 gettext
- 4.8 libiconv
- 4.9 libffi
- 4.10 glib2
- 4.11 libIDL
- 4.12 autoconf213
- 4.13 GNU wget
- 4.14 Patchutils
- 4.15 Ncurses
- 4.16 CScope
- 4.17 MacVim
- 4.18 Emacs.app 23.2
- 4.19 bzip2 + pbzip2
- 4.20 ccache
- 4.21 yasm
- 4.22 pipe viewer
- 5 Configure Repo
- 6 xz (provides lzma)
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