# Simple makefile to rapidly deploy IPython with all its dependencies. # Configuration section. The version numbers and paths declared here may # change with each release. # IPython version IPYTHON_VER=0.9.1 # Declare here version numbers of all the dependencies PYOPENSSL_VER=0.6 ZOPE_INTERFACE_VER=3.4.1 TWISTED_VER=8.1.0 FOOLSCAP_VER=0.3.1 NOSE_VER=0.10.3 # Repository URLs for all packages. Make sure these are correct for each # release, since projects may change paths! IPYTHON_REPO=http://ipython.scipy.org/dist PYOPENSSL_REPO=http://downloads.sourceforge.net/pyopenssl ZOPE_INTERFACE_REPO=http://pypi.python.org/packages/source/z/zope.interface TWISTED_REPO=http://tmrc.mit.edu/mirror/twisted/Twisted/8.1 FOOLSCAP_REPO=http://foolscap.lothar.com/releases NOSE_REPO=http://somethingaboutorange.com/mrl/projects/nose #----------------------------------------------------------------------------- # Main code begins. There shouldn't be much to change here with each release. # # Hand-written files to ship in self-contained tarball SOURCES=pkginstall pkginstall.cfg Makefile README.txt README.html # Versions of tarballs we ship IPYTHON=ipython-$(IPYTHON_VER).tar.gz IP_ALLDEPS=ipython-alldeps-$(IPYTHON_VER) PYOPENSSL=pyOpenSSL-$(PYOPENSSL_VER).tar.gz ZOPE_INTERFACE=zope.interface-$(ZOPE_INTERFACE_VER).tar.gz NOSE=nose-$(NOSE_VER).tar.gz TWISTED=Twisted-$(TWISTED_VER).tar.bz2 FOOLSCAP=foolscap-$(FOOLSCAP_VER).tar.gz TARBALLS=$(PYOPENSSL) $(ZOPE_INTERFACE) $(TWISTED) $(FOOLSCAP) \ $(NOSE) $(IPYTHON) # URLs for downloads #----------------------------------------------------------------------------- # Target declaration # # Targets to install, in correct dependency order install: pyopenssl zope.interface twisted foolscap nose ipython echo echo "IPython Installation finished." echo "You can now run the ipython test suite by running:" echo "iptest" echo "If all tests pass, you can delete this entire directory." echo # Download targets download: $(TARBALLS) $(IPYTHON): wget $(IPYTHON_REPO)/$(IPYTHON) $(PYOPENSSL): wget $(PYOPENSSL_REPO)/$(PYOPENSSL) $(ZOPE_INTERFACE): wget $(ZOPE_INTERFACE_REPO)/$(ZOPE_INTERFACE) $(TWISTED): wget $(TWISTED_REPO)/$(TWISTED) $(FOOLSCAP): wget $(FOOLSCAP_REPO)/$(FOOLSCAP) $(NOSE): wget $(NOSE_REPO)/$(NOSE) # The calls to pkginstall must use the actual Python package name nose: $(NOSE) ./pkginstall nose zope.interface: $(ZOPE_INTERFACE) ./pkginstall zope.interface zope pyopenssl: $(PYOPENSSL) ./pkginstall pyOpenSSL OpenSSL twisted: $(TWISTED) ./pkginstall Twisted foolscap: $(FOOLSCAP) ./pkginstall foolscap ipython: $(IPYTHON) ./pkginstall ipython IPython # Distribution targets dist: $(IP_ALLDEPS).tar $(IP_ALLDEPS).tar: download readme -mkdir $(IP_ALLDEPS) -ln $(SOURCES) $(TARBALLS) $(IP_ALLDEPS)/ tar cf $(IP_ALLDEPS).tar $(IP_ALLDEPS) rm -rf $(IP_ALLDEPS) readme: README.html README.html: README.txt rst2html README.txt > README.html # Auxiliary targets upload: dist rsync -e ssh -av README.html $(IP_ALLDEPS).tar \ ipython@ipython.scipy.org:www/dist/alldeps clean: ls -p | grep /$ | xargs rm -rf rm -f $(IP_ALLDEPS)* *~ distclean: clean rm -f $(TARBALLS) rm README.html info: echo "TARBALLS" echo $(TARBALLS)