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