hzeller / gmrender-resurrect

Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.
GNU General Public License v2.0
832 stars 202 forks source link

makefile for openwrt #109

Open tristan-k opened 8 years ago

tristan-k commented 8 years ago

I would appreciate if your could add a Makefile for openwrt. There is a old approach which seems to be broken. I tried pointing the Makefile to HEAD but the patches wont work anymore.

#
# Copyright (C) 2013 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:=gmediarender
PKG_VERSION:=HEAD
PKG_RELEASE=$(PKG_SOURCE_VERSION)

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/hzeller/gmrender-resurrect.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=HEAD
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/gmediarender-$(PKG_VERSION)

PKG_FIXUP:=autoreconf
PKG_INSTALL=1
PKG_REMOVE_FILES:=autogen.sh aclocal.m4

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk

define Package/gmediarender
  SECTION:=multimedia
  CATEGORY:=Multimedia
  DEPENDS:= +gstreamer1 +glib2 +libupnp
  TITLE:=A Headless UPnP Renderer
endef

define Package/gmediarender/description
  gmediarender implements the server component that provides UPnP
  controllers a means to render media content (audio, video and images)
  from a UPnP media server.
endef

CONFIGURE_ARGS+= \
    --with-build-cc="$(HOSTCC)" \
    --prefix="\usr"

define Package/gmediarender/install
    $(INSTALL_DIR) $(1)/usr/sbin
    $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/sbin/
    $(INSTALL_DIR) $(1)/etc/init.d
    $(CP)          $(PKG_BUILD_DIR)/scripts/init.d/$(PKG_NAME)er $(1)/etc/init.d/$(PKG_NAME)
endef

$(eval $(call BuildPackage,gmediarender))
$ make package/gmediarender/{clean,compile} V=s

make[1]: Entering directory `/Volumes/OpenWrt/chaos_calmer'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gmediarender'
rm -f /Volumes/OpenWrt/chaos_calmer/bin/ar71xx/packages/packages/gmediarender_*
rm -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.gmediarender_installed
rm -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/packages/gmediarender.list /Volumes/OpenWrt/chaos_calmer/staging_dir/host/packages/gmediarender.list
rm -rf /Volumes/OpenWrt/chaos_calmer/build_dir/target-mips_34kc_uClibc-0.9.33.2/gmediarender-HEAD
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gmediarender'
make[1]: Leaving directory `/Volumes/OpenWrt/chaos_calmer'
make[1]: Entering directory `/Volumes/OpenWrt/chaos_calmer'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/toolchain'
if [ -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libc" >> /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
if [ -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean ]; then rm -f /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install.clean; fi; echo "libgcc" >> /Volumes/OpenWrt/chaos_calmer/staging_dir/target-mips_34kc_uClibc-0.9.33.2/pkginfo/toolchain.default.install
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/toolchain'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/utils/attr'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/utils/attr'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libffi'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libffi'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/gettext'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/gettext'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/libiconv'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/libiconv'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/glib2'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/glib2'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libffi'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libffi'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/gettext'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/gettext'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/zlib'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/zlib'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/package/libs/libiconv'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/package/libs/libiconv'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/glib2'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/glib2'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libxml2'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libxml2'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gstreamer1'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gstreamer1'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libupnp'
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/libs/libupnp'
make[2]: Entering directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gmediarender'
. /Volumes/OpenWrt/chaos_calmer/include/shell.sh; gzip -dc /Volumes/OpenWrt/chaos_calmer/dl/gmediarender-HEAD-HEAD.tar.gz | trapret 2 tar -C /Volumes/OpenWrt/chaos_calmer/build_dir/target-mips_34kc_uClibc-0.9.33.2/gmediarender-HEAD/.. -xf -

Applying ./patches/000-add-std-c99-option.patch using plaintext:
patching file configure.ac
Hunk #1 FAILED at 20.
1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej
Patch failed!  Please fix ./patches/000-add-std-c99-option.patch!
make[2]: *** [/Volumes/OpenWrt/chaos_calmer/build_dir/target-mips_34kc_uClibc-0.9.33.2/gmediarender-HEAD/.prepared_4ef6d07564f351f7872e7f45111eb09b] Error 1
make[2]: Leaving directory `/Volumes/OpenWrt/chaos_calmer/feeds/packages/multimedia/gmediarender'
make[1]: *** [package/feeds/packages/gmediarender/compile] Error 2
make[1]: Leaving directory `/Volumes/OpenWrt/chaos_calmer'
make: *** [package/gmediarender/compile] Error 2
hzeller commented 8 years ago

Well, I don't have an OpenWRT installation to test this, so if you are working on it, just provide a patch, possibly upstream to the place where you got the Makefile from.

tristan-k commented 8 years ago

Would love to do that, but I dont know how. You dont need to have a openwrt installation. There are instructions available on how to set up a buildroot or even a virtual machine.

hzeller commented 8 years ago

It is a little off-topic to this project. Maybe ask on the project that provided the Makefile, because that seemed to be more OpenWRT focused. This project here is focused on generic Unix which has a working build environment.

tristan-k commented 8 years ago

Just did so, but @alibenpeng doesnt seem to be much active these days.

xtzh commented 8 years ago

Try this: remove all the patch files,and insert CFLAGS="-std=c99" \ to Makefile.

CONFIGURE_ARGS+= \ CFLAGS="-std=c99" \ --with-build-cc="$(HOSTCC)" \ --prefix="\usr"

prowong commented 7 years ago

Thank you,compile successfully by adding CFLAGS="-std=c99" \ .