diff --git a/include/prereq-build.mk b/include/prereq-build.mk index a711ae33f..156b3f372 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -28,8 +28,8 @@ $(eval $(call TestHostCommand,proper-umask, \ $(eval $(call SetupHostCommand,gcc, \ Please install the GNU C Compiler (gcc) 4.8 or later, \ - $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ - gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ + $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \ + gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \ gcc48 --version | grep gcc, \ gcc49 --version | grep gcc, \ gcc5 --version | grep gcc, \ @@ -37,6 +37,7 @@ $(eval $(call SetupHostCommand,gcc, \ gcc7 --version | grep gcc, \ gcc8 --version | grep gcc, \ gcc9 --version | grep gcc, \ + gcc10 --version | grep gcc, \ gcc --version | grep -E 'Apple.(LLVM|clang)' )) $(eval $(call TestHostCommand,working-gcc, \ @@ -47,8 +48,8 @@ $(eval $(call TestHostCommand,working-gcc, \ $(eval $(call SetupHostCommand,g++, \ Please install the GNU C++ Compiler (g++) 4.8 or later, \ - $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ - g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ + $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \ + g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?|10\.?)', \ g++48 --version | grep g++, \ g++49 --version | grep g++, \ g++5 --version | grep g++, \ @@ -56,6 +57,7 @@ $(eval $(call SetupHostCommand,g++, \ g++7 --version | grep g++, \ g++8 --version | grep g++, \ g++9 --version | grep g++, \ + g++10 --version | grep g++, \ g++ --version | grep -E 'Apple.(LLVM|clang)' )) $(eval $(call TestHostCommand,working-g++, \ @@ -93,6 +95,11 @@ $(eval $(call SetupHostCommand,find,Please install GNU 'find', \ $(eval $(call SetupHostCommand,bash,Please install GNU 'bash', \ bash --version 2>&1 | grep GNU)) +$(eval $(call SetupHostCommand,xargs, \ + Please install 'xargs' that supports '-r/--no-run-if-empty', \ + gxargs -r --version, \ + xargs -r --version)) + $(eval $(call SetupHostCommand,patch,Please install GNU 'patch', \ gpatch --version 2>&1 | grep 'Free Software Foundation', \ patch --version 2>&1 | grep 'Free Software Foundation')) @@ -120,7 +127,6 @@ $(eval $(call SetupHostCommand,grep,Please install GNU 'grep', \ $(eval $(call SetupHostCommand,getopt, \ Please install an extended getopt version that supports --long, \ gnugetopt -o t --long test -- --test | grep '^ *--test *--', \ - /usr/local/bin/getopt -o t --long test -- --test | grep '^ *--test *--', \ getopt -o t --long test -- --test | grep '^ *--test *--')) $(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \ diff --git a/package/gmediarender/Makefile b/package/gmediarender/Makefile new file mode 100644 index 000000000..f80287595 --- /dev/null +++ b/package/gmediarender/Makefile @@ -0,0 +1,50 @@ +# +# Copyright (C) 2020 coolsnowwolf@gmail.com +# +# 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:=2020-01-10 +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:=26d8f7edf5336bc30f7334c6ad459bf7f4f90ff2 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz + +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 +libgstreamer1 +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+= \ + CFLAGS="$(TARGET_CFLAGS) -std=gnu99" --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/ +endef + +$(eval $(call BuildPackage,gmediarender)) + diff --git a/package/lean/luci-app-frps/root/usr/share/rpcd/acl.d/luci-app-frps.json b/package/lean/luci-app-frps/root/usr/share/rpcd/acl.d/luci-app-frps.json new file mode 100644 index 000000000..26b3a24d5 --- /dev/null +++ b/package/lean/luci-app-frps/root/usr/share/rpcd/acl.d/luci-app-frps.json @@ -0,0 +1,11 @@ +{ + "luci-app-frps": { + "description": "Grant UCI access for luci-app-frps", + "read": { + "uci": ["frps"] + }, + "write": { + "uci": ["frps"] + } + } +} diff --git a/package/lean/npc/Makefile b/package/lean/npc/Makefile index c73f01dc4..7ae1e1723 100644 --- a/package/lean/npc/Makefile +++ b/package/lean/npc/Makefile @@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=npc -PKG_VERSION:=0.26.7 -PKG_RELEASE:=2 +PKG_VERSION:=0.26.8 +PKG_RELEASE:=1 ifeq ($(ARCH),mipsel) NPC_ARCH:=mipsle diff --git a/package/lean/r8168/Makefile b/package/lean/r8168/Makefile index 509386180..02cf885c9 100644 --- a/package/lean/r8168/Makefile +++ b/package/lean/r8168/Makefile @@ -24,7 +24,6 @@ define KernelPackage/r8168 VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE) FILES:= $(PKG_BUILD_DIR)/r8168.ko AUTOLOAD:=$(call AutoProbe,r8168) - DEFAULT:=y endef define Package/r8168/description diff --git a/package/lean/v2ray/Makefile b/package/lean/v2ray/Makefile index 89a58cc22..0189fbcb5 100644 --- a/package/lean/v2ray/Makefile +++ b/package/lean/v2ray/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2ray -PKG_VERSION:=4.24.2 +PKG_VERSION:=4.25.0 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/v2ray-core-$(PKG_VERSION) PKG_SOURCE:=v2ray-core-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2fly/v2ray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=b58b4477020034b67a7649341fae65ea7bdc81851cad47ae7e4a591c0663e4c9 +PKG_HASH:=473936a19c63aaa2a51047230fc955c6236c4c9002e25307dd2f7a2673c40161 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 5599d02f4..ece742a83 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -25,7 +25,7 @@ htop lm-sensors autocore automount autosamba luci-app-ipsec-vpnd luci-proto-bond luci-app-airplay2 luci-app-music-remote-center luci-app-qbittorrent luci-app-amule luci-app-openvpn-server \ ath10k-firmware-qca988x ath10k-firmware-qca9888 ath10k-firmware-qca9984 brcmfmac-firmware-43602a1-pcie \ kmod-sound-hda-core kmod-sound-hda-codec-realtek kmod-sound-hda-codec-via kmod-sound-via82xx kmod-sound-hda-intel kmod-sound-hda-codec-hdmi kmod-sound-i8x0 kmod-usb-audio \ -kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152 +kmod-usb-net kmod-usb-net-asix kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8150 kmod-usb-net-rtl8152 kmod-r8168 $(eval $(call BuildTarget)) diff --git a/tools/squashfs/patches/140-gcc-10-fix.patch b/tools/squashfs/patches/140-gcc-10-fix.patch new file mode 100644 index 000000000..a02641f30 --- /dev/null +++ b/tools/squashfs/patches/140-gcc-10-fix.patch @@ -0,0 +1,25 @@ +Fixes the following build error with GCC 10: + /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `swap'; mksquashfs.o:(.bss+0x1b2a88): first defined here +And a compile warning. + +--- a/squashfs-tools/read_fs.c ++++ b/squashfs-tools/read_fs.c +@@ -61,7 +61,7 @@ extern int add_file(long long, long long + fprintf(stderr, s, ## args); \ + } while(0) + +-int swap; ++static int swap; + + int read_block(int fd, long long start, long long *next, unsigned char *block, squashfs_super_block *sBlk) + { +--- a/squashfs-tools/mksquashfs.c ++++ b/squashfs-tools/mksquashfs.c +@@ -258,6 +258,7 @@ int read_sort_file(char *filename, int s + void sort_files_and_write(struct dir_info *dir); + struct file_info *duplicate(char *(get_next_file_block)(struct duplicate_buffer_handle *, unsigned int), struct duplicate_buffer_handle *file_start, long long bytes, unsigned int **block_list, long long *start, int blocks, struct fragment **fragment, char *frag_data, int frag_bytes); + struct dir_info *dir_scan1(char *, int (_readdir)(char *, char *, struct dir_info *)); ++int dir_scan2(squashfs_inode *inode, struct dir_info *dir_info); + + #define MKINODE(A) ((squashfs_inode)(((squashfs_inode) inode_bytes << 16) + (((char *)A) - data_cache))) + diff --git a/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch b/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch new file mode 100644 index 000000000..46c6a5ea0 --- /dev/null +++ b/tools/squashfskit4/patches/0002-fix-build-failure-against-gcc-10.patch @@ -0,0 +1,43 @@ +From fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sun, 26 Jan 2020 18:35:13 +0000 +Subject: [PATCH] squashfs-tools: fix build failure against gcc-10 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +cc ... -o mksquashfs +ld: read_fs.o:(.bss+0x0): + multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here +ld: read_fs.o:(.bss+0x8): + multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here +``` + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Reported-by: Toralf Förster +Bug: https://bugs.gentoo.org/706456 +Signed-off-by: Sergei Trofimovich +--- + squashfs-tools/mksquashfs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h +index 1beefef7..b6503063 100644 +--- a/squashfs-tools/mksquashfs.h ++++ b/squashfs-tools/mksquashfs.h +@@ -143,7 +143,7 @@ struct append_file { + #endif + + extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache; +-struct cache *bwriter_buffer, *fwriter_buffer; ++extern struct cache *bwriter_buffer, *fwriter_buffer; + extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer, + *to_frag, *locked_fragment, *to_process_frag; + extern struct append_file **file_mapping;