Merge pull request #4478 from valdi74/add_package_python-curl
[feed/packages.git] / sound / shairport-sync / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 # updated to work with latest source from abrasive
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=shairport-sync
10 PKG_VERSION:=2.8.6
11 PKG_RELEASE:=2
12
13 PKG_SOURCE_PROTO:=git
14 PKG_SOURCE_URL:=git://github.com/mikebrady/shairport-sync.git
15 PKG_SOURCE_VERSION:=$(PKG_VERSION)
16 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE:=$(PKG_VERSION).tar.gz
18 PKG_MIRROR_HASH:=892a8c8c5302026501c07f2e75c0d51963167143c96875f12578f7e7c9dadc96
19 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
20 Mike Brady <mikebrady@eircom.net>
21
22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
23
24 PKG_LICENSE:=MIT
25 PKG_LICENSE_FILES:=COPYING LICENSES shairport.c
26
27 PKG_BUILD_PARALLEL:=1
28 PKG_FIXUP:=autoreconf
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Package/shairport-sync/default
33 SECTION:=sound
34 CATEGORY:=Sound
35 TITLE:=AirPlay compatible audio player
36 DEPENDS:=@AUDIO_SUPPORT +libpthread +alsa-lib +libconfig +libdaemon +libpopt
37 PROVIDES:=shairport-sync
38 URL:=http://github.com/mikebrady/shairport-sync
39 endef
40
41 define Package/shairport-sync-openssl
42 $(Package/shairport-sync/default)
43 TITLE+= (openssl)
44 DEPENDS+= +libopenssl +libavahi-client +libsoxr
45 VARIANT:=openssl
46 endef
47
48 define Package/shairport-sync-mbedtls
49 $(Package/shairport-sync/default)
50 TITLE+= (mbed TLS)
51 DEPENDS+= +libmbedtls +libavahi-client +libsoxr
52 VARIANT:=mbedtls
53 DEFAULT_VARIANT:=1
54 endef
55
56 define Package/shairport-sync-mini
57 $(Package/shairport-sync/default)
58 TITLE+= (minimal)
59 DEPENDS+= +libmbedtls
60 VARIANT:=mini
61 endef
62
63 define Package/shairport-sync/default/description
64 Shairport Sync plays audio from iTunes and AirPlay sources, including
65 iOS devices, Quicktime Player and third party sources such as forkedDaapd.
66 Audio played by a Shairport Sync-powered device stays synchronised with the source
67 and hence with similar devices playing the same source.
68
69 Shairport Sync does not support AirPlay video or photo streaming.
70 Ensure Kernel Modules > Sound Support > kmod-sound-core is selected.
71 Also select kmod-usb-audio if you want to use USB-connected sound cards.
72 endef
73 Package/shairport-sync-openssl/description = $(Package/shairport-sync/default/description)
74 Package/shairport-sync-mbedtls/description = $(Package/shairport-sync/default/description)
75
76 define Package/shairport-sync-mini/description
77 $(Package/shairport-sync/default/description)
78
79 Minimal version uses mbed TLS and does not include libsoxr and avahi support.
80 endef
81
82 CONFIGURE_ARGS+= \
83 --with-alsa \
84 --with-metadata
85
86 ifeq ($(BUILD_VARIANT),openssl)
87 CONFIGURE_ARGS+= --with-ssl=openssl
88 endif
89
90 ifeq ($(BUILD_VARIANT),mbedtls)
91 CONFIGURE_ARGS+= --with-ssl=mbedtls
92 endif
93
94 ifeq ($(BUILD_VARIANT),mini)
95 CONFIGURE_ARGS+= --with-ssl=mbedtls --with-tinysvcmdns
96 else
97 CONFIGURE_ARGS+= --with-avahi --with-soxr
98 endif
99
100 define Package/shairport-sync/default/conffiles
101 /etc/shairport-sync.conf
102 endef
103
104 Package/shairport-sync-openssl/conffiles = $(Package/shairport-sync/default/conffiles)
105 Package/shairport-sync-mbedtls/conffiles = $(Package/shairport-sync/default/conffiles)
106 Package/shairport-sync-mini/conffiles = $(Package/shairport-sync/default/conffiles)
107
108 define Package/shairport-sync/default/install
109 $(INSTALL_DIR) $(1)/usr/bin
110 $(INSTALL_BIN) $(PKG_BUILD_DIR)/shairport-sync $(1)/usr/bin/
111 $(INSTALL_DIR) $(1)/etc
112 $(INSTALL_DATA) $(PKG_BUILD_DIR)/scripts/shairport-sync.conf $(1)/etc/shairport-sync.conf
113 $(INSTALL_DIR) $(1)/etc/init.d
114 $(INSTALL_BIN) ./files/shairport-sync.init $(1)/etc/init.d/shairport-sync
115 $(INSTALL_DIR) $(1)/etc/config
116 $(INSTALL_DATA) ./files/shairport-sync.config $(1)/etc/config/shairport-sync
117 endef
118
119 Package/shairport-sync-openssl/install = $(Package/shairport-sync/default/install)
120 Package/shairport-sync-mbedtls/install = $(Package/shairport-sync/default/install)
121 Package/shairport-sync-mini/install = $(Package/shairport-sync/default/install)
122
123 $(eval $(call BuildPackage,shairport-sync-openssl))
124 $(eval $(call BuildPackage,shairport-sync-mbedtls))
125 $(eval $(call BuildPackage,shairport-sync-mini))