357 kx
357 kx COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
357 kx COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
357 kx COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
357 kx COMPONENT_TARGETS += $(HARDWARE_CB1X)
357 kx COMPONENT_TARGETS += $(HARDWARE_CB2X)
357 kx COMPONENT_TARGETS += $(HARDWARE_CB3X)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
357 kx COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
357 kx COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
357 kx COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
357 kx COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
357 kx COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
357 kx COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
357 kx COMPONENT_TARGETS += $(HARDWARE_POIN2)
357 kx COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
357 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
357 kx COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
357 kx COMPONENT_TARGETS += $(HARDWARE_M201)
357 kx COMPONENT_TARGETS += $(HARDWARE_MXV)
357 kx COMPONENT_TARGETS += $(HARDWARE_P201)
357 kx COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
357 kx COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
357 kx COMPONENT_TARGETS += $(HARDWARE_P212)
357 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
357 kx COMPONENT_TARGETS += $(HARDWARE_Q201)
357 kx COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
357 kx COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
357 kx COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
357 kx COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
357 kx COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
357 kx COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
357 kx COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
357 kx COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
357 kx COMPONENT_TARGETS += $(HARDWARE_CI20)
357 kx COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
357 kx COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
357 kx COMPONENT_TARGETS += $(HARDWARE_S824L)
357 kx COMPONENT_TARGETS += $(HARDWARE_VESNIN)
357 kx COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
357 kx COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
357 kx COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
357 kx COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
357 kx COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
357 kx COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
357 kx COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
357 kx COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
357 kx
357 kx
357 kx NEED_ABS_PATH = true
357 kx COMPONENT_IS_3PP = true
357 kx
357 kx
357 kx include ../../../../build-system/constants.mk
357 kx
357 kx
357 kx SOURCE_REQUIRES = sources/packages/m/minidlna
357 kx
357 kx REQUIRES = libs/libexif/0.6.24
357 kx REQUIRES += libs/libjpeg-turbo/2.1.2
357 kx REQUIRES += media/libid3tag/0.15.1b
357 kx REQUIRES += media/flac/1.4.2
357 kx REQUIRES += media/libvorbis/1.3.7
357 kx REQUIRES += media/libogg/1.3.5
357 kx REQUIRES += X11/app/ffmpeg/4.4.4
357 kx REQUIRES += X11/net/avahi/0.8
357 kx REQUIRES += app/sqlite/3.39.4.0
357 kx
357 kx # ======= __END_OF_REQUIRES__ =======
357 kx
357 kx
357 kx version = 1.3.3
357 kx tar_gz_archive = $(SRC_PACKAGE_PATH)/packages/m/minidlna/minidlna-$(version).tar.gz
357 kx SRC_ARCHIVE = $(tar_gz_archive)
357 kx SRC_DIR = $(TARGET_BUILD_DIR)/minidlna-$(version)
357 kx src_dir_name = minidlna-$(version)
357 kx src_done = $(TARGET_BUILD_DIR)/.source_done
357 kx
357 kx PATCHES = PATCHES
357 kx
357 kx build_dir = $(TARGET_BUILD_DIR)/build
357 kx build_target = $(TARGET_BUILD_DIR)/.build_done
357 kx install_target = $(TARGET_BUILD_DIR)/.install_done
357 kx
357 kx
357 kx ####### Targets
357 kx
357 kx PKG_GROUP = xmedia
357 kx
357 kx #
357 kx # *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
357 kx #
357 kx MINIDLNA_PKG_NAME = minidlna
357 kx MINIDLNA_PKG_VERSION = 1.3.3
357 kx MINIDLNA_PKG_ARCH = $(PKGARCH)
357 kx MINIDLNA_PKG_DISTRO_NAME = $(DISTRO_NAME)
357 kx MINIDLNA_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
357 kx MINIDLNA_PKG_GROUP = $(PKG_GROUP)
357 kx ### |---handy-ruler-------------------------------|
357 kx MINIDLNA_PKG_SHORT_DESCRIPTION = mini DLNA server
357 kx MINIDLNA_PKG_URL = $(BUG_URL)
357 kx MINIDLNA_PKG_LICENSE = GPLv2
357 kx MINIDLNA_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(MINIDLNA_PKG_NAME)-pkg-description
357 kx MINIDLNA_PKG_DESCRIPTION_FILE_IN = $(MINIDLNA_PKG_NAME)-pkg-description.in
357 kx MINIDLNA_PKG_INSTALL_SCRIPT = $(MINIDLNA_PKG_NAME)-pkg-install.sh
357 kx
357 kx MINIDLNA_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(MINIDLNA_PKG_NAME)-package
357 kx
357 kx pkg_basename = $(MINIDLNA_PKG_NAME)-$(MINIDLNA_PKG_VERSION)-$(MINIDLNA_PKG_ARCH)-$(MINIDLNA_PKG_DISTRO_NAME)-$(MINIDLNA_PKG_DISTRO_VERSION)
357 kx
357 kx pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
357 kx pkg_signature = $(call sign-name,$(pkg_archive))
357 kx pkg_description = $(call desc-name,$(pkg_archive))
357 kx products = $(call pkg-files,$(pkg_archive))
357 kx
357 kx BUILD_TARGETS = $(build_target)
357 kx BUILD_TARGETS += $(install_target)
357 kx
357 kx PRODUCT_TARGETS = $(products)
357 kx
357 kx ROOTFS_TARGETS = $(pkg_archive)
357 kx
357 kx
357 kx include ../../../../build-system/core.mk
357 kx
357 kx
357 kx env_sysroot = DESTDIR=$(MINIDLNA_PKG)
357 kx
357 kx
357 kx extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
357 kx extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
357 kx extra_configure_switches += --mandir=/usr/share/man
357 kx
357 kx extra_configure_switches += --disable-rpath
357 kx
357 kx extra_configure_switches += --sysconfdir=/etc
357 kx extra_configure_switches += --localstatedir=/var
357 kx
357 kx extra_configure_switches += --enable-tivo
357 kx extra_configure_switches += --enable-netgear
357 kx extra_configure_switches += --enable-readynas
357 kx extra_configure_switches += --with-db-path=/var/lib/minidlna
357 kx extra_configure_switches += --with-os-name='$(DISTRO_CAPTION)'
357 kx extra_configure_switches += --with-os-version='$(DISTRO_VERSION)'
357 kx extra_configure_switches += --with-os-url='$(BUG_URL)'
357 kx
357 kx
357 kx ifeq ($(__ENABLE_STATIC__),yes)
357 kx extra_configure_switches += --enable-static=yes
357 kx endif
357 kx
357 kx
357 kx CFLAGS += -fcommon -Wno-stringop-truncation
357 kx
357 kx TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
357 kx
357 kx LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
357 kx
357 kx
357 kx ####### Dependencies
357 kx
357 kx $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
357 kx $(UNPACK_SRC_ARCHIVE)
357 kx $(APPLY_PATCHES)
357 kx @touch $@
357 kx
357 kx $(build_target): $(src_done)
357 kx @mkdir -p $(build_dir)/linux
357 kx @cd $(build_dir) && \
357 kx $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
357 kx --prefix=/usr \
357 kx --build=$(BUILD) \
357 kx --host=$(TARGET) \
357 kx $(extra_configure_switches)
357 kx @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
357 kx @touch $@
357 kx
357 kx $(install_target): $(build_target)
357 kx @mkdir -p $(MINIDLNA_PKG)
357 kx @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
357 kx @mkdir -p $(MINIDLNA_PKG)/etc/rc.d
357 kx @mkdir -p $(MINIDLNA_PKG)/srv/media/{photo,video}
357 kx @mkdir -p $(MINIDLNA_PKG)/var/lib/minidlna
357 kx @cp -a $(CURDIR)/conf/minidlna.conf $(MINIDLNA_PKG)/etc/minidlna.conf.new
357 kx @cp -a $(CURDIR)/rc.d/rc.minidlna $(MINIDLNA_PKG)/etc/rc.d/rc.minidlna.new
357 kx @chmod 0644 $(MINIDLNA_PKG)/etc/rc.d/rc.minidlna.new
357 kx # ======= Include the manual pages =======
357 kx @mkdir -p $(MINIDLNA_PKG)/usr/share/man/man{5,8}
357 kx @cat $(SRC_DIR)/minidlna.conf.5 > $(MINIDLNA_PKG)/usr/share/man/man5/minidlna.conf.5
357 kx @cat $(SRC_DIR)/minidlnad.8 > $(MINIDLNA_PKG)/usr/share/man/man8/minidlnad.8
357 kx # ======= Install Documentation =======
357 kx @if [ -d $(MINIDLNA_PKG)/usr/share/man ]; then \
357 kx ( cd $(MINIDLNA_PKG)/usr/share/man ; \
357 kx for manpagedir in `find . -type d -name "man*"` ; do \
357 kx ( cd $$manpagedir ; \
357 kx for eachpage in `find . -type l -maxdepth 1` ; do \
357 kx ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
357 kx rm $$eachpage ; \
357 kx done ; \
357 kx gzip -9 *.? ; \
357 kx ) \
357 kx done \
357 kx ) \
357 kx fi
357 kx @mkdir -p $(MINIDLNA_PKG)/usr/doc/$(src_dir_name)
357 kx @cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING \
357 kx $(MINIDLNA_PKG)/usr/doc/$(src_dir_name)
357 kx @mkdir -p $(MINIDLNA_PKG)/usr/share/doc/$(src_dir_name)
357 kx @( cd $(SRC_DIR) ; \
357 kx cp -a AUTHORS COPYING INSTALL README TODO \
357 kx $(MINIDLNA_PKG)/usr/share/doc/$(src_dir_name) \
357 kx )
357 kx @( cd $(SRC_DIR) ; \
357 kx if [ -r ChangeLog -a -s ChangeLog ]; then \
357 kx DOCSDIR=`echo $(MINIDLNA_PKG)/usr/share/doc/$(src_dir_name)` ; \
357 kx cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
357 kx touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
357 kx fi \
357 kx )
357 kx @( cd $(SRC_DIR) ; \
357 kx if [ -r NEWS ]; then \
357 kx DOCSDIR=`echo $(MINIDLNA_PKG)/usr/share/doc/$(src_dir_name)` ; \
357 kx cat NEWS | head -n 1000 > $$DOCSDIR/NEWS ; \
357 kx touch -r NEWS $$DOCSDIR/NEWS ; \
357 kx fi \
357 kx )
357 kx # ======= Install the same to $(TARGET_DEST_DIR) =======
357 kx $(call install-into-devenv, $(MINIDLNA_PKG))
357 kx # ======= Strip binaries =======
357 kx @( cd $(MINIDLNA_PKG) ; \
357 kx find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
357 kx )
357 kx ifneq ($(PATCHELF),)
357 kx # ======= Set RPATH/RUNPATH for target binaries =======
357 kx @( cd $(MINIDLNA_PKG)/usr ; \
357 kx for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
357 kx rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
357 kx if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
357 kx $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
357 kx fi ; \
357 kx done ; \
357 kx )
357 kx endif
357 kx @touch $@
357 kx
357 kx $(MINIDLNA_PKG_DESCRIPTION_FILE): $(MINIDLNA_PKG_DESCRIPTION_FILE_IN)
357 kx @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
357 kx
357 kx $(pkg_certificate) : $(pkg_archive) ;
357 kx $(pkg_signature) : $(pkg_archive) ;
357 kx $(pkg_description) : $(pkg_archive) ;
357 kx
357 kx $(pkg_archive): $(install_target) $(MINIDLNA_PKG_DESCRIPTION_FILE) $(MINIDLNA_PKG_INSTALL_SCRIPT)
357 kx @cp $(MINIDLNA_PKG_DESCRIPTION_FILE) $(MINIDLNA_PKG)/.DESCRIPTION
357 kx @cp $(MINIDLNA_PKG_INSTALL_SCRIPT) $(MINIDLNA_PKG)/.INSTALL
357 kx @$(BUILD_PKG_REQUIRES) $(MINIDLNA_PKG)/.REQUIRES
357 kx @echo "pkgname=$(MINIDLNA_PKG_NAME)" > $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "pkgver=$(MINIDLNA_PKG_VERSION)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "arch=$(MINIDLNA_PKG_ARCH)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "distroname=$(MINIDLNA_PKG_DISTRO_NAME)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "distrover=$(MINIDLNA_PKG_DISTRO_VERSION)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "group=$(MINIDLNA_PKG_GROUP)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "short_description=\"$(MINIDLNA_PKG_SHORT_DESCRIPTION)\"" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "url=$(MINIDLNA_PKG_URL)" >> $(MINIDLNA_PKG)/.PKGINFO ; \
357 kx echo "license=$(MINIDLNA_PKG_LICENSE)" >> $(MINIDLNA_PKG)/.PKGINFO
357 kx @$(PSEUDO) sh -c "cd $(MINIDLNA_PKG) && \
357 kx chown -R root:root . && \
357 kx chown -R 241:241 srv/media && \
364 kx chmod u+rwx,g+rws,o+rx-w srv/media/photo && \
364 kx chmod u+rwx,g+rws,o+rx-w srv/media/video && \
357 kx chown -R 241:241 var/lib/minidlna && \
357 kx $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."