noddos: Noddos v0.5.0 with mDNS / DNS-SD support
[feed/packages.git] / net / radicale / Makefile
1 #
2 # Copyright (C) 2008-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=radicale
10 PKG_VERSION:=1.1.3
11 PKG_RELEASE:=1
12 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
13
14 PKG_LICENSE:=GPL-3.0
15 PKG_LICENSE_FILES:=COPYING
16
17 PKG_SOURCE_PROTO:=git
18 PKG_SOURCE_URL=https://github.com/Kozea/Radicale
19 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
20 PKG_SOURCE_VERSION:=d5171958ffe41e495ccaf2c02702d9acb0c6e6ad
21 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
22
23 include $(INCLUDE_DIR)/package.mk
24 $(call include_mk, python-package.mk)
25 $(call include_mk, python3-package.mk)
26
27 # no default dependencies
28 PKG_DEFAULT_DEPENDS:=
29
30 define Package/radicale/Default
31 SECTION:=net
32 CATEGORY:=Network
33 SUBMENU:=Web Servers/Proxies
34 URL:=http://radicale.org/
35 TITLE:=Radicale CalDAV/CardDAV server
36 PKGARCH:=all
37 USERID:=radicale=5232:radicale=5232
38 endef
39 define Package/radicale-py2
40 $(call Package/radicale/Default)
41 TITLE+= (Python 2)
42 VARIANT:=2
43 DEPENDS:=+python-logging +python-openssl +python-xml +python-codecs
44 endef
45 define Package/radicale-py3
46 $(call Package/radicale/Default)
47 TITLE+= (Python 3)
48 VARIANT:=3
49 DEPENDS:=+python3-logging +python3-openssl +python3-xml +python3-codecs +python3-email
50 endef
51
52 # shown in LuCI package description
53 define Package/radicale-py2/description
54 Radicale CalDAV/CardDAV server (Python 2) - Homepage: http://radicale.org/
55 endef
56 define Package/radicale-py3/description
57 Radicale CalDAV/CardDAV server (Python 3) - Homepage: http://radicale.org/
58 endef
59
60 # shown in make menuconfig <Help>
61 define Package/radicale-py2/config
62 help
63 The Radicale Project is a CalDAV (calendar) and CardDAV (contact) server.
64 It aims to be a light solution, easy to use, easy to install, easy to configure.
65 As a consequence, it requires few software dependances and is pre-configured to work out-of-the-box.
66 !!! Will install and use Python $(VARIANT) !!!
67 .
68 Version : $(PKG_VERSION)
69 Homepage: http://radicale.org/
70 endef
71 Package/radicale-py3/config = $(Package/radicale-py2/config)
72
73 define Package/radicale-py2/conffiles
74 /etc/config/radicale
75 /etc/radicale/users
76 /etc/radicale/rights
77 endef
78 Package/radicale-py3/conffiles = $(Package/radicale-py2/conffiles)
79
80 define Build/Configure
81 # nothing to configure
82 endef
83 define Build/Compile
84 # nothing to compile
85 endef
86
87 define Package/radicale-py2/preinst
88 #!/bin/sh
89 [ -n "$${IPKG_INSTROOT}" ] && exit 0 # if run within buildroot exit
90
91 # stop service if PKG_UPGRADE
92 [ "$${PKG_UPGRADE}" = "1" ] && /etc/init.d/radicale stop >/dev/null 2>&1
93
94 exit 0 # suppress errors from stop command
95 endef
96 define Package/radicale-py3/preinst
97 $(call Package/radicale-py2/preinst)
98 endef
99
100 define Package/radicale/inst_all
101 $(INSTALL_DIR) $(1)/etc/init.d
102 $(INSTALL_BIN) ./files/radicale.init $(1)/etc/init.d/radicale
103
104 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
105 $(INSTALL_BIN) ./files/radicale.hotplug $(1)/etc/hotplug.d/iface/80-radicale
106
107 $(INSTALL_DIR) $(1)/etc/config
108 $(INSTALL_CONF) ./files/radicale.config $(1)/etc/config/radicale
109
110 $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
111 $(INSTALL_DATA) ./files/radicale.upgrade $(1)/lib/upgrade/keep.d/radicale
112
113 $(INSTALL_DIR) $(1)/etc/radicale/ssl
114 $(INSTALL_DATA) ./files/config.template $(1)/etc/radicale/config.template
115 $(INSTALL_DATA) ./files/logging.template $(1)/etc/radicale/logging.template
116 $(INSTALL_DATA) ./files/radicale.users $(1)/etc/radicale/users
117 $(INSTALL_DATA) ./files/radicale.rights $(1)/etc/radicale/rights
118
119 $(INSTALL_DIR) $(1)/usr/bin
120 $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/radicale $(1)/usr/bin/
121 endef
122 define Package/radicale-py2/install
123 $(call Package/radicale/inst_all, $(1))
124 $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/radicale
125 $(CP) $(PKG_BUILD_DIR)/radicale/* $(1)$(PYTHON_PKG_DIR)/radicale
126 endef
127 define Package/radicale-py3/install
128 $(call Package/radicale/inst_all, $(1))
129 $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)/radicale
130 $(CP) $(PKG_BUILD_DIR)/radicale/* $(1)$(PYTHON3_PKG_DIR)/radicale
131 endef
132
133 define Package/radicale-py2/postinst
134 #!/bin/sh
135 # patch /usr/bin/radicale force run using python2
136 /bin/sed -i 's/python/python2/' $${IPKG_INSTROOT}/usr/bin/radicale
137 endef
138 define Package/radicale-py3/postinst
139 #!/bin/sh
140 # patch /usr/bin/radicale force run using python3
141 /bin/sed -i 's/python/python3/' $${IPKG_INSTROOT}/usr/bin/radicale
142 endef
143
144 $(eval $(call BuildPackage,radicale-py2))
145 $(eval $(call BuildPackage,radicale-py3))