User:Bear:My Environment

From MozillaWiki
Jump to: navigation, search

Useful Tools

Mac OS X 10.7 (aka Lion)

core dev tools

/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
  • Edit your bash profile to make sure the HomeBrew environment is preferred:
export PATH=/Users/bear/bin:/usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/opt/bin:/opt/sbin:/usr/X11/bin
  • Install tools
brew install python
brew install git
brew install mercurial
brew install zeromq
brew install pyzmq
easy_install pip
  • Install gnupg
brew install pth
brew install libksba
brew install libgcrypt
brew install libassuan
cd ~/Downloads
wget ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.0.19.tar.bz2
cd ~/installs
tar xf ~/Downloads/gnupg-2.0.19.tar.gz2
cd gnupg-2.0.19
./configure
make install


Mac OS X 10.6 (aka Snow Leopard)

Bash .profile

export PATH="/opt/bin:/opt/sbin:$PATH"


Git

curl -O http://kernel.org/pub/software/scm/git/git-1.7.0.tar.gz
tar xzf git-1.7.0.tar.gz
cd git-1.7.0/
./configure --prefix=/opt
make
sudo make install

Mercurial

curl -O http://mercurial.selenic.com/release/mercurial-1.4.tar.gz
tar xzf mercurial-1.4.tar.gz
cd mercurial-1.4/
make all
sudo make install

VirtualEnv

need to find notes on this

Buildbot

Twisted

cd ~/Downloads
curl -O http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted-2.4.0.tar.bz2
cd ~/src
virtualenv buildbot
cd buildbot
source bin/activate
tar xzf ~/Downloads/Twisted-2.4.0.tar.bz2
cd Twisted-2.4.0
python setup.py install

buildbot

cd ~/src/buildbot
source bin/activate
hg clone http://hg.mozilla.org/build/buildbot
cd buildbot
python setup.py install

creating buildbot master

Note: need to finish documenting the master and slave config changes for local setups

cd ~/src/buildbot
source bin/activate
buildbot create-master master
buildbot create-slave slave localhost:9010 moz-slave-name

GnuPG v2

libgpg-error

curl -O http://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.7.tar.bz2
tar xjf libgpg-error-1.7.tar.bz2
cd libgpg-error-1.7/
./configure CC="gcc -arch i386" --prefix=/opt
make
sudo make install

libgcrypt

curl -O http://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.4.5.tar.bz2
tar xjf libgcrypt-1.4.5.tar.bz2
cd libgcrypt-1.4.5/
./configure CC="gcc -arch i386" --prefix=/opt/ --with-gpg-error-prefix=/opt
make
sudo make install

libksba

curl -O http://ftp.gnupg.org/gcrypt/libksba/libksba-1.0.7.tar.bz2
tar xjf libksba-1.0.7.tar.bz2
cd libksba-1.0.7/
./configure CC="gcc -arch i386" --prefix=/opt/ --with-gpg-error-prefix=/opt
make
sudo make install

pth

curl -O http://ftp.gnu.org/gnu/pth/pth-2.0.7.tar.gz
tar xzf pth-2.0.7.tar.gz
cd pth-2.0.7/
./configure CC="gcc -arch i386" --prefix=/opt/ --with-gpg-error-prefix=/opt
make
sudo make install

libassuan

curl -O http://ftp.gnupg.org/gcrypt/libassuan/libassuan-1.0.5.tar.bz2
tar xjf libassuan-1.0.5.tar.bz2
cd libassuan-1.0.5/
./configure CC="gcc -arch i386" --prefix=/opt/ --with-pth-prefix=/opt
make
sudo make install

gnupg

curl -O http://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.0.9.tar.bz2
cd gnupg-2.0.9/
./configure CC="gcc -arch i386" --prefix=/opt/ --with-pth-prefix=/opt --with-ksba-prefix=/opt --with-libassuan-prefix=/opt --with-libgcrypt-prefix=/opt --with-gpg-error-prefix=/opt 
make
sudo make install

pkg-config

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

gettext

curl -O http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz
tar xzf gettext-0.17.tar.gz
cd gettext-0.17
./configure --prefix=/opt/
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.tar.gz
./configure --prefix=/opt/
make
sudo make install

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

cd ../gettext-0.17
make distclean
./configure --prefix=/opt/
make
sudo make install

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.22/glib-2.22.4.tar.bz2
tar xjf glib-2.22.4.tar.bz2
cd glib-2.22.4
./configure --prefix=/opt LDFLAGS="-L/opt/lib" CPPFLAGS="-I/opt/include"
make
sudo make install

libIDL

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

autoconf213

curl -0 http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
tar xzf autoconf-2.13.tar.gz
cd autoconf
./configure --prefix=/opt
make
sudo make install
sudo ln -s /opt/bin/autoconf /opt/bin/autoconf213