forked-daapd and required librarieslilik-openwrt-22.03
@ -0,0 +1,55 @@ | |||||
# | |||||
# Copyright (C) 2006-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=libantlr3c | |||||
PKG_VERSION:=3.2 | |||||
PKG_RELEASE:=1 | |||||
PKG_MD5SUM:=674646e1d1bf5c6015435480cead725a | |||||
PKG_SOURCE_URL:=http://www.antlr3.org/download/C | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_INSTALL:=1 | |||||
PKG_MAINTAINER:=Espen Jürgensen <espenjurgensen+openwrt@gmail.com> | |||||
PKG_LICENSE:=BSD-2-Clause | |||||
PKG_LICENSE_FILES:=COPYING | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/libantlr3c | |||||
SECTION:=libs | |||||
CATEGORY:=Libraries | |||||
TITLE:=libantlr3c | |||||
URL:=http://www.antlr3.org/ | |||||
endef | |||||
define Package/libantlr3c/description | |||||
ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, | |||||
interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. | |||||
endef | |||||
TARGET_CFLAGS += $(FPIC) | |||||
CONFIGURE_ARGS += \ | |||||
--enable-shared \ | |||||
--enable-static | |||||
define Build/InstallDev | |||||
$(INSTALL_DIR) $(1)/usr/include | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libantlr3c.{a,so} $(1)/usr/lib/ | |||||
endef | |||||
define Package/libantlr3c/install | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libantlr3c.so $(1)/usr/lib/ | |||||
endef | |||||
$(eval $(call BuildPackage,libantlr3c)) |
@ -0,0 +1,55 @@ | |||||
# | |||||
# Copyright (C) 2006-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=libavl | |||||
PKG_VERSION:=0.3.5 | |||||
PKG_RELEASE:=1 | |||||
PKG_MD5SUM:=882c68ea7f71876ca110f3b84d7ab12d | |||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz | |||||
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/liba/libavl | |||||
PKG_BUILD_DIR:=$(BUILD_DIR)/avl-$(PKG_VERSION) | |||||
PKG_INSTALL:=1 | |||||
PKG_MAINTAINER:=Espen Jürgensen <espenjurgensen+openwrt@gmail.com> | |||||
PKG_LICENSE:=LGPL-2.0+ | |||||
PKG_LICENSE_FILES:=COPYING | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/libavl | |||||
SECTION:=libs | |||||
CATEGORY:=Libraries | |||||
TITLE:=AVLTree (this is not GNU libavl) | |||||
URL:=https://packages.debian.org/wheezy/libavl1 | |||||
endef | |||||
define Package/libavl/description | |||||
AVLTree is a small implementation of AVL trees for the C programming language. | |||||
endef | |||||
TARGET_CFLAGS += $(FPIC) | |||||
CONFIGURE_ARGS += \ | |||||
--enable-shared \ | |||||
--enable-static | |||||
define Build/InstallDev | |||||
$(INSTALL_DIR) $(1)/usr/include | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/avl.h $(1)/usr/include/ | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavl.so* $(1)/usr/lib/ | |||||
endef | |||||
define Package/libavl/install | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavl.so.* $(1)/usr/lib/ | |||||
endef | |||||
$(eval $(call BuildPackage,libavl)) |
@ -0,0 +1,45 @@ | |||||
--- a/GNUmakefile 2002-11-15 19:57:48.000000000 +0100 | |||||
+++ a/GNUmakefile 2014-10-02 16:03:02.864803002 +0200 | |||||
@@ -6,7 +6,7 @@ | |||||
LDCONFIG ?= /sbin/ldconfig | |||||
# Some suggestions: (-mcpu= generates i386 compatible code) | |||||
-CFLAGS ?= -O2 -fomit-frame-pointer -pipe -mcpu=i686 -w | |||||
+CFLAGS ?= -O2 -pipe -Wall -Werror | |||||
#CFLAGS = -O2 -fomit-frame-pointer -pipe -march=i586 -Wall -g | |||||
#CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i586 -Wall -ansi -pedantic | |||||
#CFLAGS = -O6 -fomit-frame-pointer -pipe -march=i686 -Wall -ansi -pedantic | |||||
@@ -15,10 +15,9 @@ | |||||
#CFLAGS = -g -pg -a -pipe -march=i686 -Wall | |||||
#LDFLAGS = -s | |||||
-prefix ?= /usr/local | |||||
+prefix ?= /usr | |||||
libdir ?= $(prefix)/lib | |||||
includedir ?= $(prefix)/include | |||||
-includedir ?= /usr/include | |||||
PROGRAMS = avlsort setdiff | |||||
LIBRARY = libavl.so.1.5 | |||||
@@ -34,16 +33,17 @@ | |||||
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS) | |||||
$(LIBRARY): avl.o | |||||
- $(CC) -nostdlib -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc | |||||
+ $(CC) -shared -Wl,-soname,libavl.so.1 $^ -o $@ -lc | |||||
clean: | |||||
$(RM) *.o $(PROGRAMS) libavl.* | |||||
install: all | |||||
$(INSTALL) -d $(DESTDIR)$(libdir) | |||||
- $(INSTALL) avl.h $(DESTDIR)$(includedir) | |||||
- $(INSTALL) $(LIBRARIES) $(DESTDIR)$(libdir) | |||||
- for i in $(LIBRARIES); do\ | |||||
+ $(INSTALL) -d $(DESTDIR)$(includedir) | |||||
+ $(INSTALL) -m 644 avl.h $(DESTDIR)$(includedir) | |||||
+ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(libdir) | |||||
+ for i in $(LIBRARY); do\ | |||||
$(LN) -sf $$i $(DESTDIR)$(libdir)/$${i%.*};\ | |||||
$(LN) -sf $${i%.*} $(DESTDIR)$(libdir)/$${i%.*.*};\ | |||||
done |
@ -0,0 +1,59 @@ | |||||
# | |||||
# Copyright (C) 2006-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=libunistring | |||||
PKG_VERSION:=0.9.4 | |||||
PKG_RELEASE:=1 | |||||
PKG_MD5SUM:=c24a6a3838d9ad4a41a62549312c4226 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/libunistring | |||||
PKG_BUILD_PARALLEL:=1 | |||||
PKG_INSTALL:=1 | |||||
PKG_MAINTAINER:=Espen Jürgensen <espenjurgensen+openwrt@gmail.com> | |||||
PKG_LICENSE:=GPL-3.0 | |||||
PKG_LICENSE_FILES:=COPYING | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/libunistring | |||||
SECTION:=libs | |||||
CATEGORY:=Libraries | |||||
TITLE:=libunistring | |||||
URL:=http://www.gnu.org/software/libunistring/ | |||||
endef | |||||
define Package/libunistring/description | |||||
This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard. | |||||
endef | |||||
TARGET_CFLAGS += $(FPIC) | |||||
CONFIGURE_ARGS += \ | |||||
--enable-shared \ | |||||
--enable-static \ | |||||
--without-libiconv-prefix \ | |||||
--without-libpth-prefix | |||||
define Build/InstallDev | |||||
$(INSTALL_DIR) $(1)/usr/include | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ | |||||
$(INSTALL_DIR) $(1)/usr/include/unistring | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/unistring/*.h $(1)/usr/include/unistring/ | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libunistring.{a,so*} $(1)/usr/lib/ | |||||
endef | |||||
define Package/libunistring/install | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libunistring.so.* $(1)/usr/lib/ | |||||
endef | |||||
$(eval $(call BuildPackage,libunistring)) |
@ -0,0 +1,56 @@ | |||||
# | |||||
# Copyright (C) 2006-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=mxml | |||||
PKG_VERSION:=2.8 | |||||
PKG_RELEASE:=1 | |||||
PKG_MD5SUM:=d85ee6d30de053581242c4a86e79a5d2 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=http://www.msweet.org/files/project3/ | |||||
PKG_FIXUP:=autoreconf | |||||
PKG_MAINTAINER:=Espen Jürgensen <espenjurgensen+openwrt@gmail.com> | |||||
PKG_LICENSE:=GPL-2.0 | |||||
PKG_LICENSE_FILES:=COPYING | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/mxml | |||||
SECTION:=libs | |||||
CATEGORY:=Libraries | |||||
TITLE:=Mini-XML | |||||
URL:=http://www.minixml.org/ | |||||
endef | |||||
define Package/mxml/description | |||||
A small xml library. | |||||
endef | |||||
TARGET_CFLAGS += $(FPIC) | |||||
CONFIGURE_ARGS += \ | |||||
--enable-shared \ | |||||
--enable-static | |||||
define Build/InstallDev | |||||
mkdir -p $(1)/usr/include | |||||
$(CP) $(PKG_BUILD_DIR)/mxml.h $(1)/usr/include/ | |||||
mkdir -p $(1)/usr/lib | |||||
$(CP) $(PKG_BUILD_DIR)/libmxml.so* $(1)/usr/lib/ | |||||
mkdir -p $(1)/usr/lib/pkgconfig | |||||
$(CP) $(PKG_BUILD_DIR)/mxml.pc $(1)/usr/lib/pkgconfig/ | |||||
endef | |||||
define Package/mxml/install | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_BUILD_DIR)/libmxml.so.* $(1)/usr/lib/ | |||||
endef | |||||
$(eval $(call BuildPackage,mxml)) |
@ -0,0 +1,11 @@ | |||||
--- a/Makefile.in | |||||
+++ b/Makefile.in | |||||
@@ -88,7 +88,7 @@ PUBLIBOBJS = mxml-attr.o mxml-entity.o m | |||||
mxml-index.o mxml-node.o mxml-search.o mxml-set.o | |||||
LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o | |||||
OBJS = mxmldoc.o testmxml.o $(LIBOBJS) | |||||
-TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man | |||||
+TARGETS = $(LIBMXML) | |||||
# |
@ -0,0 +1,66 @@ | |||||
# | |||||
# Copyright (C) 2006-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=forked-daapd | |||||
PKG_VERSION:=22.0 | |||||
PKG_RELEASE:=20141016 | |||||
PKG_REV:=61a4da215c05b621951aa3903d7d390fd1839537 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | |||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) | |||||
PKG_SOURCE_PROTO:=git | |||||
PKG_SOURCE_URL:=git://github.com/ejurgensen/forked-daapd.git | |||||
PKG_SOURCE_VERSION:=$(PKG_REV) | |||||
PKG_FIXUP:=autoreconf | |||||
PKG_USE_MIPS16:=0 | |||||
PKG_INSTALL:=1 | |||||
PKG_MAINTAINER:=Espen Jürgensen <espenjurgensen+openwrt@gmail.com> | |||||
PKG_LICENSE:=GPL-2.0 | |||||
PKG_LICENSE_FILES:=COPYING | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/forked-daapd | |||||
SECTION:=sound | |||||
CATEGORY:=Sound | |||||
TITLE:=Improved iTunes (DAAP) server. Support for Apple Remote and AirPlay. | |||||
URL:=https://github.com/ejurgensen/forked-daapd | |||||
DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \ | |||||
+libevent +libdaemon +libantlr3c +confuse +glib2 +alsa-lib +libffmpeg-full \ | |||||
+mxml +libavl +avahi-daemon +libavahi-client +sqlite3-cli +libplist | |||||
endef | |||||
define Package/forked-daapd/conffiles | |||||
/etc/forked-daapd.conf | |||||
endef | |||||
CONFIGURE_ARGS += \ | |||||
--enable-itunes | |||||
# Fix for libevent | |||||
TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libevent | |||||
TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib/libevent | |||||
TARGET_CFLAGS += $(FPIC) | |||||
TARGET_LDFLAGS += -Wl,-rpath-link,$(STAGING_DIR)/usr/lib | |||||
define Package/forked-daapd/install | |||||
$(INSTALL_DIR) $(1)/etc | |||||
$(INSTALL_DATA) ./files/forked-daapd.conf $(1)/etc/ | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(INSTALL_DIR) $(1)/usr/lib/forked-daapd | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/forked-daapd/* $(1)/usr/lib/forked-daapd/ | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/forked-daapd $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/etc/init.d | |||||
$(INSTALL_BIN) ./files/forked-daapd.init $(1)/etc/init.d/forked-daapd | |||||
endef | |||||
$(eval $(call BuildPackage,forked-daapd)) |
@ -0,0 +1,139 @@ | |||||
# A quick guide to configuring forked-daapd: | |||||
# | |||||
# For regular use, the most important setting to configure is "directories", | |||||
# which should be the location of your media. Whatever user you have set as | |||||
# "uid" must have read access to this location. Also make sure to add the user. | |||||
# If the location is a network mount, please see the README. | |||||
# | |||||
# In all likelihood, that's all you need to do! | |||||
general { | |||||
# Username | |||||
uid = "daapd" | |||||
logfile = "/var/log/forked-daapd.log" | |||||
# Database location | |||||
db_path = "/var/run/forked-daapd.db" | |||||
# Available levels: fatal, log, warning, info, debug, spam | |||||
loglevel = log | |||||
# Admin password for the non-existent web interface | |||||
admin_password = "unused" | |||||
# Enable/disable IPv6 | |||||
ipv6 = no | |||||
# Location of DAAP cache | |||||
daapcache_path = "/var/run/daapcache.db" | |||||
# DAAP requests that take longer than this threshold (in msec) get their | |||||
# replies cached for next time. Set to 0 to disable caching. | |||||
# daapcache_threshold = 1000 | |||||
} | |||||
# Library configuration | |||||
library { | |||||
# Name of the library as displayed by the clients | |||||
# %h: hostname, %v: version | |||||
name = "My Music on %h" | |||||
# TCP port to listen on. Default port is 3689 (daap) | |||||
port = 3689 | |||||
# Password for the library. Optional. | |||||
# password = "" | |||||
# Directories to index | |||||
directories = { "/srv/music" } | |||||
# Directories containing podcasts | |||||
# For each directory that is indexed the path is matched against these | |||||
# names. If there is a match all items in the directory are marked as | |||||
# podcasts. Eg. if you index /srv/music, and your podcasts are in | |||||
# /srv/music/Podcasts, you can set this to "/Podcasts". | |||||
# (changing this setting only takes effect after rescan, see the README) | |||||
podcasts = { "/Podcasts" } | |||||
# Directories containing audiobooks | |||||
# For each directory that is indexed the path is matched against these | |||||
# names. If there is a match all items in the directory are marked as | |||||
# audiobooks. | |||||
# (changing this setting only takes effect after rescan, see the README) | |||||
audiobooks = { "/Audiobooks" } | |||||
# Directories containing compilations (eg soundtracks) | |||||
# For each directory that is indexed the path is matched against these | |||||
# names. If there is a match all items in the directory are marked as | |||||
# compilations. | |||||
# (changing this setting only takes effect after rescan, see the README) | |||||
compilations = { "/Compilations" } | |||||
# Compilations usually have many artists, and if you don't want every | |||||
# artist to be listed when artist browsing in Remote, you can set | |||||
# a single name which will be used for all music in the compilation dir | |||||
# (changing this setting only takes effect after rescan, see the README) | |||||
compilation_artist = "Various artists" | |||||
# There are 5 default playlists: "Library", "Music", "Movies", "TV Shows" | |||||
# and "Podcasts". Here you can change the names of these playlists. | |||||
# name_library = "Library" | |||||
# name_music = "Music" | |||||
# name_movies = "Movies" | |||||
# name_tvshows = "TV Shows" | |||||
# name_podcasts = "Podcasts" | |||||
# name_audiobooks = "Audiobooks" | |||||
# Artwork file names (without file type extension) | |||||
# forked-daapd will look for jpg and png files with these base names | |||||
# artwork_basenames = { "artwork", "cover", "Folder" } | |||||
# File types the scanner should ignore | |||||
# Non-audio files will never be added to the database, but here you | |||||
# can prevent the scanner from even probing them. This might improve | |||||
# scan time. By default .db and .ini are ignored. | |||||
# filetypes_ignore = { ".db", ".ini" } | |||||
# Disable startup file scanning | |||||
# When forked-daapd starts it will do an initial file scan of your | |||||
# library (and then watch it for changes). If you are sure your library | |||||
# never changes while forked-daapd is not running, you can disable the | |||||
# initial file scan and save some system ressources. Disabling this scan | |||||
# may lead to forked-daapd's database coming out of sync with the | |||||
# library. If that happens read the instructions in the README on how | |||||
# to trigger a full rescan. | |||||
# filescan_disable = false | |||||
# Should iTunes metadata override ours? | |||||
# itunes_overrides = false | |||||
# Formats: mp4a, mp4v, mpeg, alac, flac, mpc, ogg, wma, wmal, wmav, aif, wav | |||||
# Formats that should never be transcoded | |||||
# no_transcode = { "alac", "mp4a" } | |||||
# Formats that should always be transcoded | |||||
# force_transcode = { "ogg", "flac" } | |||||
} | |||||
# Local audio output | |||||
audio { | |||||
# Name - used in the speaker list in Remote | |||||
nickname = "OpenWrt" | |||||
# Audio device name for local audio output | |||||
# card = "default" | |||||
# Mixer channel to use for volume control - ALSA/Linux only | |||||
# If not set, PCM will be used if available, otherwise Master. | |||||
# mixer = "" | |||||
} | |||||
# AirPlay/Airport Express device settings | |||||
# (make sure you get the capitalization of the device name right) | |||||
#airplay "My AirPlay device" { | |||||
# forked-daapd's volume goes to 11! If that's more than you can handle | |||||
# you can set a lower value here | |||||
# max_volume = 11 | |||||
# AirPlay password | |||||
# password = "s1kr3t" | |||||
#} | |||||
# Spotify settings (only have effect if Spotify enabled - see README/INSTALL) | |||||
spotify { | |||||
# Directory where user settings should be stored (credentials) | |||||
# settings_dir = "/var/cache/forked-daapd/libspotify" | |||||
# Cache directory | |||||
# cache_dir = "/tmp" | |||||
# Set preferred bitrate for music streaming | |||||
# 0: No preference (default), 1: 96kbps, 2: 160kbps, 3: 320kbps | |||||
# bitrate = 0 | |||||
} |
@ -0,0 +1,15 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2014 OpenWrt.org | |||||
START=99 | |||||
BIN=/usr/sbin/forked-daapd | |||||
PID=/var/run/forked-daapd.pid | |||||
SSD=start-stop-daemon | |||||
start() { | |||||
$SSD -p $PID -S -x $BIN -- -P $PID | |||||
} | |||||
stop() { | |||||
$SSD -p $PID -K -s SIGINT | |||||
} |