packages/libs/twisted/Makefile
pavlov 6eb0560b39 make zope-interface auto-select when you select twisted
git-svn-id: svn://svn.openwrt.org/openwrt/packages@7526 3c298f89-4303-0410-b956-a3cf2f4a3e73
2007-06-07 18:07:30 +00:00

212 lines
6.2 KiB
Makefile

#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=twisted
PKG_VERSION:=2.5.0
PKG_RELEASE:=1
PKG_SOURCE:=Twisted-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://tmrc.mit.edu/mirror/twisted/Twisted/2.5
PKG_MD5SUM:=56df2ae66db57932515a491c03bf514f
PKG_CAT:=bzcat
PKG_BUILD_DIR:=$(BUILD_DIR)/Twisted-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
TWISTED_SUPPROJECTS:=core
ZOPE_IF_VER=3.3.0
define Package/twisted/default
SECTION:=libs
CATEGORY:=Libraries
URL:=http://twistedmatrix.com
TITLE:=A networking engine written in Python
DESCRIPTION:=\
Twisted is a networking engine written in Python, supporting \\\
numerous protocols. It contains a web server, numerous chat \\\
clients, chat servers, mail servers, and more.
endef
define Package/twisted
$(call Package/twisted/default)
DEPENDS:=+python +zope-interface
TITLE:=A networking engine written in Python
DESCRIPTION:=\
Twisted is a networking engine written in Python, supporting \\\
numerous protocols. It contains a web server, numerous chat \\\
clients, chat servers, mail servers, and more.
URL:=http://twistedmatrix.com
MENU:=1
endef
define Package/zope-interface
$(call Package/twisted/default)
TITLE:=zope-interface
DESCRIPTION:=zope-interface
endef
define Package/twisted-conch
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedConch
endef
define Package/twisted-lore
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedLore
endef
define Package/twisted-mail
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedMail
endef
define Package/twisted-names
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedNames
endef
define Package/twisted-news
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedNews
endef
define Package/twisted-runner
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedRunner
endef
define Package/twisted-web
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedWeb
endef
define Package/twisted-words
$(call Package/twisted/default)
DEPENDS:=twisted
TITLE:=TwistedWords
endef
ifneq ($(CONFIG_PACKAGE_twisted-words),)
TWISTED_SUBPROJECTS+=words
endif
ifneq ($(CONFIG_PACKAGE_twisted-conch),)
TWISTED_SUBPROJECTS+=conch
endif
ifneq ($(CONFIG_PACKAGE_twisted-lore),)
TWISTED_SUBPROJECTS+=lore
endif
ifneq ($(CONFIG_PACKAGE_twisted-mail),)
TWISTED_SUBPROJECTS+=mail
endif
ifneq ($(CONFIG_PACKAGE_twisted-names),)
TWISTED_SUBPROJECTS+=names
endif
ifneq ($(CONFIG_PACKAGE_twisted-news),)
TWISTED_SUBPROJECTS+=news
endif
ifneq ($(CONFIG_PACKAGE_twisted-runner),)
TWISTED_SUBPROJECTS+=runner
endif
ifneq ($(CONFIG_PACKAGE_twisted-web),)
TWISTED_SUBPROJECTS+=web
endif
define Build/Configure
endef
define Build/Compile
cd $(PKG_BUILD_DIR)/zope.interface-$(ZOPE_IF_VER); \
$(STAGING_DIR)/usr/bin/hostpython ./setup.py \
install --prefix=$(PKG_INSTALL_DIR)/usr --no-compile;
cd $(PKG_BUILD_DIR)/; \
TWISTED_SUBPROJECTS="$(TWISTED_SUBPROJECTS)" \
PYTHONPATH="$(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages" \
$(STAGING_DIR)/usr/bin/hostpython \
./setup.py install --prefix=$(PKG_INSTALL_DIR)/usr --no-compile;
endef
define Package/zope-interface/install
$(INSTALL_DIR) $(1)/usr/lib/python2.5/site-packages
$(CP) -a $(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/zope \
$(1)/usr/lib/python2.5/site-packages/
endef
TWISTED_DIR=/usr/lib/python2.5/site-packages/twisted
define Package/twisted/install
$(INSTALL_DIR) $(1)/usr/bin
$(SED) 's@#!$(STAGING_DIR)/usr/bin/hostpython@#!/usr/bin/python@' $(PKG_INSTALL_DIR)/usr/bin/mktap
$(SED) 's@#!$(STAGING_DIR)/usr/bin/hostpython@#!/usr/bin/python@' $(PKG_INSTALL_DIR)/usr/bin/twistd
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/mktap \
$(PKG_INSTALL_DIR)/usr/bin/twistd \
$(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/lib/python2.5/site-packages/twisted/plugins
cd $(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/twisted; \
$(CP) -a application copyright.py cred enterprise im.py __init__.py \
internet manhole persisted plugin.py protocols \
python scripts spread tap test trial _version.py \
$(1)/usr/lib/python2.5/site-packages/twisted
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/dropin.cache \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/__init__.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/notestplugin.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/testplugin.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_ftp.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_inet.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_manhole.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_portforward.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_reactors.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_socks.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_telnet.py \
$(PKG_INSTALL_DIR)/$(TWISTED_DIR)/plugins/twisted_trial.py \
$(1)/$(TWISTED_DIR)/plugins/
endef
define BuildSubmodule
define Package/$(1)/install
$(INSTALL_DIR) $$(1)/usr/lib/python2.5/site-packages/twisted/plugins
$(CP) -a \
$(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/twisted/$(2) \
$$(1)/usr/lib/python2.5/site-packages/twisted/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/twisted/plugins/twisted_$(2).py $$(1)/usr/lib/python2.5/site-packages/twisted/plugins/
endef
$$(eval $$(call BuildPackage,$(1)))
endef
define Package/twisted-runner/install
$(INSTALL_DIR) $(1)/usr/lib/python2.5/site-packages/twisted
$(CP) -a \
$(PKG_INSTALL_DIR)/usr/lib/python2.5/site-packages/twisted/runner $(1)/usr/lib/python2.5/site-packages/twisted/
endef
$(eval $(call BuildPackage,zope-interface))
$(eval $(call BuildPackage,twisted))
$(eval $(call BuildSubmodule,twisted-words,words))
$(eval $(call BuildSubmodule,twisted-conch,conch))
$(eval $(call BuildSubmodule,twisted-lore,lore))
$(eval $(call BuildSubmodule,twisted-mail,mail))
$(eval $(call BuildSubmodule,twisted-names,names))
$(eval $(call BuildSubmodule,twisted-news,news))
$(eval $(call BuildPackage,twisted-runner))
$(eval $(call BuildSubmodule,twisted-web,web))