Merge branch 'openwrt:master' into master

This commit is contained in:
Hayzam Sherif 2023-01-13 23:51:42 +05:30 committed by GitHub
commit 57d4b0f6d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
58 changed files with 1396 additions and 298 deletions

View file

@ -23,7 +23,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gcc PKG_NAME:=gcc
GCC_VERSION:=$(call qstrip,$(CONFIG_GCC_VERSION)) GCC_VERSION:=$(call qstrip,$(CONFIG_GCC_VERSION))
PKG_VERSION:=$(firstword $(subst +, ,$(GCC_VERSION))) PKG_VERSION:=$(firstword $(subst +, ,$(GCC_VERSION)))
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=5
GCC_DIR:=$(PKG_NAME)-$(PKG_VERSION) GCC_DIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION) PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION)
@ -46,6 +46,10 @@ ifeq ($(PKG_VERSION),11.3.0)
PKG_HASH:=b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39 PKG_HASH:=b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39
endif endif
ifeq ($(PKG_VERSION),12.2.0)
PKG_HASH:=e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
endif
PATCH_DIR=./patches/$(GCC_VERSION) PATCH_DIR=./patches/$(GCC_VERSION)
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
@ -230,14 +234,18 @@ define Package/gcc/install
chmod +x $(1)/usr/bin/gcc_env.sh chmod +x $(1)/usr/bin/gcc_env.sh
endef endef
ifeq ($(CONFIG_INCLUDE_STATIC_LINK_SPEC),y)
define Package/gcc/postinst define Package/gcc/postinst
#!/bin/sh #!/bin/sh
$(INSTALL_STATIC_SPEC)
$(INSTALL_STATIC_SPEC)
endef endef
define Package/gcc/postrm define Package/gcc/postrm
#!/bin/sh #!/bin/sh
$(REMOVE_STATIC_SPEC)
$(REMOVE_STATIC_SPEC)
endef endef
endif
$(eval $(call BuildPackage,gcc)) $(eval $(call BuildPackage,gcc))

View file

@ -0,0 +1,24 @@
commit 81cc26c706b2bc8c8c1eb1a322e5c5157900836e
Author: Felix Fietkau <nbd@openwrt.org>
Date: Sun Oct 19 21:45:51 2014 +0000
gcc: do not assume that the Mac OS X filesystem is case insensitive
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 42973
--- a/include/filenames.h
+++ b/include/filenames.h
@@ -44,11 +44,6 @@ extern "C" {
# define IS_DIR_SEPARATOR(c) IS_DOS_DIR_SEPARATOR (c)
# define IS_ABSOLUTE_PATH(f) IS_DOS_ABSOLUTE_PATH (f)
#else /* not DOSish */
-# if defined(__APPLE__)
-# ifndef HAVE_CASE_INSENSITIVE_FILE_SYSTEM
-# define HAVE_CASE_INSENSITIVE_FILE_SYSTEM 1
-# endif
-# endif /* __APPLE__ */
# define HAS_DRIVE_SPEC(f) (0)
# define IS_DIR_SEPARATOR(c) IS_UNIX_DIR_SEPARATOR (c)
# define IS_ABSOLUTE_PATH(f) IS_UNIX_ABSOLUTE_PATH (f)

View file

@ -0,0 +1,13 @@
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -77,8 +77,10 @@ struct GTY(()) real_value {
+ (REAL_VALUE_TYPE_SIZE%HOST_BITS_PER_WIDE_INT ? 1 : 0)) /* round up */
/* Verify the guess. */
+#ifndef __LP64__
extern char test_real_width
[sizeof (REAL_VALUE_TYPE) <= REAL_WIDTH * sizeof (HOST_WIDE_INT) ? 1 : -1];
+#endif
/* Calculate the format for CONST_DOUBLE. We need as many slots as
are necessary to overlay a REAL_VALUE_TYPE on them. This could be

View file

@ -0,0 +1,35 @@
commit 098bd91f5eae625c7d2ee621e10930fc4434e5e2
Author: Luka Perkov <luka@openwrt.org>
Date: Tue Feb 26 16:16:33 2013 +0000
gcc: don't build documentation
This closes #13039.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 35807
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -3366,18 +3366,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
doc/gccint.info: $(TEXI_GCCINT_FILES)
doc/cppinternals.info: $(TEXI_CPPINT_FILES)
-doc/%.info: %.texi
- if [ x$(BUILD_INFO) = xinfo ]; then \
- $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
- -I $(gcc_docdir)/include -o $@ $<; \
- fi
+doc/%.info:
# Duplicate entry to handle renaming of gccinstall.info
-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
- if [ x$(BUILD_INFO) = xinfo ]; then \
- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
- -I $(gcc_docdir)/include -o $@ $<; \
- fi
+doc/gccinstall.info:
doc/cpp.dvi: $(TEXI_CPP_FILES)
doc/gcc.dvi: $(TEXI_GCC_FILES)

View file

@ -0,0 +1,20 @@
Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790.
MIPS16 functions have a static assembler prologue which clobbers
registers v0 and v1. Add these register clobbers to function call
instructions.
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -3134,6 +3134,12 @@ mips_emit_call_insn (rtx pattern, rtx or
emit_insn (gen_update_got_version ());
}
+ if (TARGET_MIPS16 && TARGET_USE_GOT)
+ {
+ clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), MIPS16_PIC_TEMP);
+ clobber_reg (&CALL_INSN_FUNCTION_USAGE (insn), MIPS_PROLOGUE_TEMP (word_mode));
+ }
+
if (TARGET_MIPS16
&& TARGET_EXPLICIT_RELOCS
&& TARGET_CALL_CLOBBERED_GP)

View file

@ -0,0 +1,13 @@
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -985,7 +985,9 @@ proper position among the other output f
#endif
#ifndef LINK_SSP_SPEC
-#ifdef TARGET_LIBC_PROVIDES_SSP
+#if DEFAULT_LIBC == LIBC_MUSL
+#define LINK_SSP_SPEC "-lssp_nonshared"
+#elif defined(TARGET_LIBC_PROVIDES_SSP)
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
"|fstack-protector-strong|fstack-protector-explicit:}"
#else

View file

@ -0,0 +1,21 @@
commit ecf7671b769fe96f7b5134be442089f8bdba55d2
Author: Felix Fietkau <nbd@nbd.name>
Date: Thu Aug 4 20:29:45 2016 +0200
gcc: add a patch to generate better code with Os on mips
Also happens to reduce compressed code size a bit
Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/gcc/config/mips/mips.cc
+++ b/gcc/config/mips/mips.cc
@@ -20216,7 +20216,7 @@ mips_option_override (void)
flag_pcc_struct_return = 0;
/* Decide which rtx_costs structure to use. */
- if (optimize_size)
+ if (0 && optimize_size)
mips_cost = &mips_rtx_cost_optimize_size;
else
mips_cost = &mips_rtx_cost_data[mips_tune];

View file

@ -0,0 +1,33 @@
commit 8570c4be394cff7282f332f97da2ff569a927ddb
Author: Imre Kaloz <kaloz@openwrt.org>
Date: Wed Feb 2 20:06:12 2011 +0000
fixup arm soft-float symbols
SVN-Revision: 25325
--- a/libgcc/config/arm/t-linux
+++ b/libgcc/config/arm/t-linux
@@ -1,6 +1,10 @@
LIB1ASMSRC = arm/lib1funcs.S
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
+ _arm_fixsfsi _arm_fixunssfsi
# Just for these, we omit the frame pointer since it makes such a big
# difference.
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -58,8 +58,6 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define LINUX_TARGET_LINK_SPEC "%{h*} \

View file

@ -0,0 +1,44 @@
commit c96312958c0621e72c9b32da5bc224ffe2161384
Author: Felix Fietkau <nbd@openwrt.org>
Date: Mon Oct 19 23:26:09 2009 +0000
gcc: create a proper libgcc_pic.a static library for relinking (4.3.3+ for now, backport will follow)
SVN-Revision: 18086
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -930,11 +930,12 @@ $(libgcov-driver-objects): %$(objext): $
# Static libraries.
libgcc.a: $(libgcc-objects)
+libgcc_pic.a: $(libgcc-s-objects)
libgcov.a: $(libgcov-objects)
libunwind.a: $(libunwind-objects)
libgcc_eh.a: $(libgcc-eh-objects)
-libgcc.a libgcov.a libunwind.a libgcc_eh.a:
+libgcc.a libgcov.a libunwind.a libgcc_eh.a libgcc_pic.a:
-rm -f $@
objects="$(objects)"; \
@@ -958,7 +959,7 @@ all: libunwind.a
endif
ifeq ($(enable_shared),yes)
-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
+all: libgcc_eh.a libgcc_pic.a libgcc_s$(SHLIB_EXT)
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1164,6 +1165,10 @@ install-shared:
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+ $(INSTALL_DATA) libgcc_pic.a $(mapfile) $(DESTDIR)$(inst_libdir)/
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_pic.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_pic.a
+
$(subst @multilib_dir@,$(MULTIDIR),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))

View file

@ -0,0 +1,28 @@
commit 7edc8ca5456d9743dd0075eb3cc5b04f4f24c8cc
Author: Imre Kaloz <kaloz@openwrt.org>
Date: Wed Feb 2 19:34:36 2011 +0000
add armv4 fixup patches
SVN-Revision: 25322
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -91,10 +91,15 @@
#define MUSL_DYNAMIC_LINKER \
"/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC
+#define TARGET_FIX_V4BX_SPEC " %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*"\
+ "|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx}"
+
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
-#define LINK_SPEC EABI_LINK_SPEC \
+#define LINK_SPEC EABI_LINK_SPEC TARGET_FIX_V4BX_SPEC \
LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)

View file

@ -0,0 +1,54 @@
commit dcfc40358b5a3cae7320c17f8d1cebd5ad5540cd
Author: Felix Fietkau <nbd@openwrt.org>
Date: Sun Feb 12 20:25:47 2012 +0000
gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary
SVN-Revision: 30486
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -132,10 +132,6 @@
"%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
-/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
- do not use -lfloat. */
-#undef LIBGCC_SPEC
-
/* Clear the instruction cache from `beg' to `end'. This is
implemented in lib1funcs.S, so ensure an error if this definition
is used. */
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -71,6 +71,10 @@ see the files COPYING3 and COPYING.RUNTI
builtin_version ("CRuntime_Musl"); \
} while (0)
+#ifndef LIBGCC_SPEC
+#define LIBGCC_SPEC "%{static|static-libgcc:-lgcc}%{!static:%{!static-libgcc:-lgcc_s}}"
+#endif
+
/* Determine which dynamic linker to use depending on whether GLIBC or
uClibc or Bionic or musl is the default C library and whether
-muclibc or -mglibc or -mbionic or -mmusl has been passed to change
--- a/libgcc/mkmap-symver.awk
+++ b/libgcc/mkmap-symver.awk
@@ -136,5 +136,5 @@ function output(lib) {
else if (inherit[lib])
printf("} %s;\n", inherit[lib]);
else
- printf ("\n local:\n\t*;\n};\n");
+ printf ("\n\t*;\n};\n");
}
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -67,6 +67,9 @@
#undef CPP_OS_DEFAULT_SPEC
#define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
+#undef LIBGCC_SPEC
+#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc"
+
#undef LINK_SHLIB_SPEC
#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}} \
%{static-pie:-static -pie --no-dynamic-linker -z text}"

View file

@ -0,0 +1,22 @@
commit 64661de100da1ec1061ef3e5e400285dce115e6b
Author: Felix Fietkau <nbd@openwrt.org>
Date: Sun May 10 13:16:35 2015 +0000
gcc: add some size optimization patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45664
--- a/libgcc/config/t-libunwind
+++ b/libgcc/config/t-libunwind
@@ -2,8 +2,7 @@
HOST_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
-LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
- $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
+LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
# Override the default value from t-slibgcc-elf-ver and mention -lunwind

View file

@ -0,0 +1,11 @@
--- a/gcc/config/rs6000/rs6000-logue.cc
+++ b/gcc/config/rs6000/rs6000-logue.cc
@@ -348,7 +348,7 @@ rs6000_savres_strategy (rs6000_stack_t *
/* Define cutoff for using out-of-line functions to save registers. */
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
{
- if (!optimize_size)
+ if (1)
{
strategy |= SAVE_INLINE_FPRS | REST_INLINE_FPRS;
strategy |= SAVE_INLINE_GPRS | REST_INLINE_GPRS;

View file

@ -0,0 +1,11 @@
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -152,7 +152,7 @@ call_ ## FUNC (void) \
#endif
#if !defined(USE_TM_CLONE_REGISTRY) && defined(OBJECT_FORMAT_ELF)
-# define USE_TM_CLONE_REGISTRY 1
+# define USE_TM_CLONE_REGISTRY 0
#elif !defined(USE_TM_CLONE_REGISTRY)
# define USE_TM_CLONE_REGISTRY 0
#endif

View file

@ -0,0 +1,9 @@
--- a/libgcc/config/mips/t-mips16
+++ b/libgcc/config/mips/t-mips16
@@ -43,3 +43,6 @@ SYNC_CFLAGS = -mno-mips16
# Version these symbols if building libgcc.so.
SHLIB_MAPFILES += $(srcdir)/config/mips/libgcc-mips16.ver
+
+CRTSTUFF_T_CFLAGS += -mno-mips16
+CRTSTUFF_T_CFLAGS_S += -mno-mips16

View file

@ -0,0 +1,146 @@
commit 99368862e44740ff4fd33760893f04e14f9dbdf1
Author: Felix Fietkau <nbd@openwrt.org>
Date: Tue Jul 31 00:52:27 2007 +0000
Port the mbsd_multi patch from freewrt, which adds -fhonour-copts. This will emit warnings in packages that don't use our target cflags properly
SVN-Revision: 8256
This patch brings over a feature from MirBSD:
* -fhonour-copts
If this option is not given, it's warned (depending
on environment variables). This is to catch errors
of misbuilt packages which override CFLAGS themselves.
This patch was authored by Thorsten Glaser <tg at mirbsd.de>
with copyright assignment to the FSF in effect.
--- a/gcc/c-family/c-opts.cc
+++ b/gcc/c-family/c-opts.cc
@@ -107,6 +107,9 @@ static dump_flags_t original_dump_flags;
/* Whether any standard preincluded header has been preincluded. */
static bool done_preinclude;
+/* Check if a port honours COPTS. */
+static int honour_copts = 0;
+
static void handle_OPT_d (const char *);
static void set_std_cxx98 (int);
static void set_std_cxx11 (int);
@@ -478,6 +481,12 @@ c_common_handle_option (size_t scode, co
flag_no_builtin = !value;
break;
+ case OPT_fhonour_copts:
+ if (c_language == clk_c) {
+ honour_copts++;
+ }
+ break;
+
case OPT_fconstant_string_class_:
constant_string_class_name = arg;
break;
@@ -1218,6 +1227,47 @@ c_common_init (void)
return false;
}
+ if (c_language == clk_c) {
+ char *ev = getenv ("GCC_HONOUR_COPTS");
+ int evv;
+ if (ev == NULL)
+ evv = -1;
+ else if ((*ev == '0') || (*ev == '\0'))
+ evv = 0;
+ else if (*ev == '1')
+ evv = 1;
+ else if (*ev == '2')
+ evv = 2;
+ else if (*ev == 's')
+ evv = -1;
+ else {
+ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1");
+ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */
+ }
+ if (evv == 1) {
+ if (honour_copts == 0) {
+ error ("someone does not honour COPTS at all in lenient mode");
+ return false;
+ } else if (honour_copts != 1) {
+ warning (0, "someone does not honour COPTS correctly, passed %d times",
+ honour_copts);
+ }
+ } else if (evv == 2) {
+ if (honour_copts == 0) {
+ error ("someone does not honour COPTS at all in strict mode");
+ return false;
+ } else if (honour_copts != 1) {
+ error ("someone does not honour COPTS correctly, passed %d times",
+ honour_copts);
+ return false;
+ }
+ } else if (evv == 0) {
+ if (honour_copts != 1)
+ inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times",
+ honour_copts);
+ }
+ }
+
return true;
}
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -1755,6 +1755,9 @@ C++ ObjC++ Optimization Alias(fexception
fhonor-std
C++ ObjC++ WarnRemoved
+fhonour-copts
+C ObjC C++ ObjC++ RejectNegative
+
fhosted
C ObjC
Assume normal C execution environment.
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1770,6 +1770,9 @@ fharden-conditional-branches
Common Var(flag_harden_conditional_branches) Optimization
Harden conditional branches by checking reversed conditions.
+fhonour-copts
+Common RejectNegative
+
; Nonzero means ignore `#ident' directives. 0 means handle them.
; Generate position-independent code for executables if possible
; On SVR4 targets, it also controls whether or not to emit a
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -9596,6 +9596,17 @@ This option is only supported for C and
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with
@option{-Wno-pointer-sign}.
+@item -fhonour-copts
+@opindex fhonour-copts
+If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not
+given at least once, and warn if it is given more than once.
+If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not
+given exactly once.
+If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option
+is not given exactly once.
+The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
+This flag and environment variable only affect the C language.
+
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
--- a/gcc/opts.cc
+++ b/gcc/opts.cc
@@ -2692,6 +2692,9 @@ common_handle_option (struct gcc_options
add_comma_separated_to_vector (&opts->x_flag_ignored_attributes, arg);
break;
+ case OPT_fhonour_copts:
+ break;
+
case OPT_Werror:
dc->warning_as_error_requested = value;
break;

View file

@ -0,0 +1,22 @@
Author: Jo-Philipp Wich <jow@openwrt.org>
Date: Sat Apr 21 03:02:39 2012 +0000
gcc: add patch to make the getenv() spec function nonfatal if requested environment variable is unset
SVN-Revision: 31390
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -10213,8 +10213,10 @@ getenv_spec_function (int argc, const ch
}
if (!value)
- fatal_error (input_location,
- "environment variable %qs not defined", varname);
+ {
+ warning (input_location, "environment variable %qs not defined", varname);
+ value = "";
+ }
/* We have to escape every character of the environment variable so
they are not interpreted as active spec characters. A

View file

@ -0,0 +1,67 @@
From dda6b050cd74a352670787a294596a9c56c21327 Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
Date: Fri, 4 May 2018 18:20:53 +0800
Subject: [PATCH] gotools: fix compilation when making cross compiler
libgo is "the runtime support library for the Go programming language.
This library is intended for use with the Go frontend."
gccgo will link target files with libgo.so which depends on libgcc_s.so.1, but
the linker will complain that it cannot find it. That's because shared libgcc
is not present in the install directory yet. libgo.so was made without problem
because gcc will emit -lgcc_s when compiled with -shared option. When gotools
were being made, it was supplied with -static-libgcc thus no link option was
provided. Check LIBGO in gcc/go/gcc-spec.c for how gccgo make a builtin spec
for linking with libgo.so
- GccgoCrossCompilation, https://github.com/golang/go/wiki/GccgoCrossCompilation
- Cross-building instructions, http://www.eglibc.org/archives/patches/msg00078.html
When 3-pass GCC compilation is used, shared libgcc runtime libraries will be
available after gcc pass2 completed and will meet the gotools link requirement
at gcc pass3
---
gotools/Makefile.am | 4 +++-
gotools/Makefile.in | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
--- a/gotools/Makefile.am
+++ b/gotools/Makefile.am
@@ -26,6 +26,7 @@ PWD_COMMAND = $${PWDCMD-pwd}
STAMP = echo timestamp >
libgodir = ../$(target_noncanonical)/libgo
+libgccdir = ../$(target_noncanonical)/libgcc
LIBGODEP = $(libgodir)/libgo.la
LIBGOTOOL = $(libgodir)/libgotool.a
@@ -41,7 +42,8 @@ GOCFLAGS = $(CFLAGS_FOR_TARGET)
GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
AM_GOCFLAGS = -I $(libgodir)
-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
+AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs \
+ -L $(libgccdir) -L $(libgccdir)/.libs -lgcc_s
GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
libgosrcdir = $(srcdir)/../libgo/go
--- a/gotools/Makefile.in
+++ b/gotools/Makefile.in
@@ -337,6 +337,7 @@ mkinstalldirs = $(SHELL) $(toplevel_srcd
PWD_COMMAND = $${PWDCMD-pwd}
STAMP = echo timestamp >
libgodir = ../$(target_noncanonical)/libgo
+libgccdir = ../$(target_noncanonical)/libgcc
LIBGODEP = $(libgodir)/libgo.la
LIBGOTOOL = $(libgodir)/libgotool.a
@NATIVE_FALSE@GOCOMPILER = $(GOC)
@@ -346,7 +347,8 @@ LIBGOTOOL = $(libgodir)/libgotool.a
GOCFLAGS = $(CFLAGS_FOR_TARGET)
GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
AM_GOCFLAGS = -I $(libgodir)
-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
+AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs \
+ -L $(libgccdir) -L $(libgccdir)/.libs -lgcc_s
GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
libgosrcdir = $(srcdir)/../libgo/go
cmdsrcdir = $(libgosrcdir)/cmd

View file

@ -0,0 +1,45 @@
commit 9c6e71079b46ad5433165feaa2001450f2017b56
Author: Przemysław Buczkowski <prem@prem.moe>
Date: Mon Aug 16 13:16:21 2021 +0100
GCC: Patch for Apple Silicon compatibility
This patch fixes a linker error occuring when compiling
the cross-compiler on macOS and ARM64 architecture.
Adapted from:
https://github.com/richfelker/musl-cross-make/issues/116#issuecomment-823612404
Change-Id: Ia3ee98a163bbb62689f42e2da83a5ef36beb0913
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/4329
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1290,7 +1290,7 @@ extern const char *aarch64_rewrite_mcpu
#define MCPU_TO_MARCH_SPEC_FUNCTIONS \
{ "rewrite_mcpu", aarch64_rewrite_mcpu },
-#if defined(__aarch64__)
+#if defined(__aarch64__) && ! defined(__APPLE__)
extern const char *host_detect_local_cpu (int argc, const char **argv);
#define HAVE_LOCAL_CPU_DETECT
# define EXTRA_SPEC_FUNCTIONS \
--- a/gcc/config/host-darwin.cc
+++ b/gcc/config/host-darwin.cc
@@ -23,6 +23,8 @@
#include "options.h"
#include "diagnostic-core.h"
#include "config/host-darwin.h"
+#include "hosthooks.h"
+#include "hosthooks-def.h"
#include <errno.h>
/* For Darwin (macOS only) platforms, without ASLR (PIE) enabled on the
@@ -181,3 +183,5 @@ darwin_gt_pch_use_address (void *&addr,
return 1;
}
+
+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;

View file

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=php PKG_NAME:=php
PKG_VERSION:=8.2.0 PKG_VERSION:=8.2.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de> PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:php:php
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.php.net/distributions/ PKG_SOURCE_URL:=http://www.php.net/distributions/
PKG_HASH:=6ea4c2dfb532950fd712aa2a08c1412a6a81cd1334dd0b0bf88a8e44c2b3a943 PKG_HASH:=650d3bd7a056cabf07f6a0f6f1dd8ba45cd369574bbeaa36de7d1ece212c17af
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0 PKG_USE_MIPS16:=0

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=django PKG_NAME:=django
PKG_VERSION:=4.1.3 PKG_VERSION:=4.1.5
PKG_RELEASE:=1 PKG_RELEASE:=1
PYPI_NAME:=Django PYPI_NAME:=Django
PKG_HASH:=678bbfc8604eb246ed54e2063f0765f13b321a50526bdc8cb1f943eda7fa31f1 PKG_HASH:=ff56ebd7ead0fd5dbe06fe157b0024a7aaea2e0593bb3785fb594cf94dad58ef
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Peter Stadler <peter.stadler@student.uibk.ac.at> PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Peter Stadler <peter.stadler@student.uibk.ac.at>
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=python-lxml PKG_NAME:=python-lxml
PKG_VERSION:=4.9.1 PKG_VERSION:=4.9.2
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PYPI_NAME:=lxml PYPI_NAME:=lxml
PKG_HASH:=fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f PKG_HASH:=2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSES.txt PKG_LICENSE_FILES:=LICENSES.txt

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=python-pytz PKG_NAME:=python-pytz
PKG_VERSION:=2022.6 PKG_VERSION:=2022.7
PKG_RELEASE:=1 PKG_RELEASE:=1
PYPI_NAME:=pytz PYPI_NAME:=pytz
PKG_HASH:=e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2 PKG_HASH:=7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com> PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT PKG_LICENSE:=MIT

View file

@ -28,7 +28,7 @@ define Package/python3-requests
SECTION:=lang SECTION:=lang
CATEGORY:=Languages CATEGORY:=Languages
TITLE:=HTTP library for Python TITLE:=HTTP library for Python
URL:=https://2.python-requests.org/ URL:=https://requests.readthedocs.io
DEPENDS:= \ DEPENDS:= \
+python3-light \ +python3-light \
+python3-chardet \ +python3-chardet \

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=vala PKG_NAME:=vala
PKG_VERSION:=0.56.0 PKG_VERSION:=0.56.3
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/vala/0.56 PKG_SOURCE_URL:=@GNOME/vala/$(basename $(PKG_VERSION))
PKG_HASH:=d92bd13c5630905eeb6a983dcb702204da9731460c2a6e4e39f867996f371040 PKG_HASH:=e1066221bf7b89cb1fa7327a3888645cb33b604de3bf45aa81132fd040b699bf
PKG_MAINTAINER:= PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later PKG_LICENSE:=LGPL-2.1-or-later

View file

@ -1,121 +0,0 @@
--- a/src/plugins/filecheck/CMakeLists.txt
+++ b/src/plugins/filecheck/CMakeLists.txt
@@ -1,20 +1,46 @@
include (LibAddMacros)
-if (DEPENDENCY_PHASE)
- find_package (Iconv QUIET)
-
- if (NOT Iconv_FOUND)
- remove_plugin (filecheck "Cannot find iconv library")
- endif ()
+find_package (Iconv QUIET)
+if (DEPENDENCY_PHASE)
if (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
# See also: https://cirrus-ci.com/task/5751822404288512?command=tests#L237-L239
remove_plugin (filecheck "the unit test of the plugin fails on FreeBSD if ASan is active")
endif (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
endif ()
-add_plugin (
- filecheck
- SOURCES filecheck.h filecheck.c
- INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
- LINK_LIBRARIES ${Iconv_LIBRARIES}
- ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
+if(Iconv_FOUND)
+ add_plugin (
+ filecheck
+ SOURCES filecheck.h filecheck.c
+ INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
+ LINK_LIBRARIES ${Iconv_LIBRARIES}
+ ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
+else()
+ # Sometime the build environment is not setup
+ # in a way CMake can find Iconv on its own by default.
+ # But if we simply link against iconv (-liconv), the build may succeed
+ # due to other compiler/link flags.
+ set(CMAKE_REQUIRED_LIBRARIES "iconv")
+ check_c_source_compiles("
+ #include <stddef.h>
+ #include <iconv.h>
+ int main() {
+ char *a, *b;
+ size_t i, j;
+ iconv_t ic;
+ ic = iconv_open(\"to\", \"from\");
+ iconv(ic, &a, &i, &b, &j);
+ iconv_close(ic);
+ }
+ "
+ Iconv_EXPLICITLY_AT_ENV)
+ if(Iconv_EXPLICITLY_AT_ENV)
+ add_plugin (
+ filecheck
+ SOURCES filecheck.h filecheck.c
+ LINK_LIBRARIES iconv
+ ADD_TEST INSTALL_TEST_DATA COMPONENT libelektra${SO_VERSION}-extra)
+ else()
+ message(FATAL_ERROR "Cannot find iconv library")
+ endif()
+endif()
--- a/src/plugins/iconv/CMakeLists.txt
+++ b/src/plugins/iconv/CMakeLists.txt
@@ -1,19 +1,45 @@
-if (DEPENDENCY_PHASE)
- find_package (Iconv QUIET)
+find_package (Iconv QUIET)
+if (DEPENDENCY_PHASE)
if (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
# See also: https://cirrus-ci.com/task/5751822404288512?command=tests#L253-L255
remove_plugin (iconv "the unit test of the plugin fails on FreeBSD if ASan is active")
endif (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
-
- if (NOT Iconv_FOUND)
- remove_plugin (iconv "Cannot find iconv library")
- endif ()
endif ()
-add_plugin (
- iconv
- SOURCES conv.h iconv.c
- INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
- LINK_LIBRARIES ${Iconv_LIBRARIES}
- ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
+if(Iconv_FOUND)
+ add_plugin (
+ iconv
+ SOURCES conv.h iconv.c
+ INCLUDE_DIRECTORIES ${Iconv_INCLUDE_DIRS}
+ LINK_LIBRARIES ${Iconv_LIBRARIES}
+ ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
+else()
+ # Sometime the build environment is not setup
+ # in a way CMake can find Iconv on its own by default.
+ # But if we simply link against iconv (-liconv), the build may succeed
+ # due to other compiler/link flags.
+ set(CMAKE_REQUIRED_LIBRARIES "iconv")
+ check_c_source_compiles("
+ #include <stddef.h>
+ #include <iconv.h>
+ int main() {
+ char *a, *b;
+ size_t i, j;
+ iconv_t ic;
+ ic = iconv_open(\"to\", \"from\");
+ iconv(ic, &a, &i, &b, &j);
+ iconv_close(ic);
+ }
+ "
+ Iconv_EXPLICITLY_AT_ENV)
+ if(Iconv_EXPLICITLY_AT_ENV)
+ add_plugin (
+ iconv
+ SOURCES conv.h iconv.c
+ LINK_LIBRARIES iconv
+ ADD_TEST TEST_README COMPONENT libelektra${SO_VERSION}-extra)
+ else()
+ message(FATAL_ERROR "Cannot find iconv library")
+ endif()
+endif()

View file

@ -6,13 +6,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=faad2 PKG_NAME:=faad2
PKG_VERSION:=2.10.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://codeload.github.com/knik0/faad2/tar.gz/2_10_0? PKG_SOURCE_VERSION:=2.10.1
PKG_HASH:=0c6d9636c96f95c7d736f097d418829ced8ec6dbd899cc6cc82b728480a84bfb PKG_SOURCE_URL:=https://github.com/knik0/faad2
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-2_10_0 PKG_MIRROR_HASH:=8a42cbc5833bd3c076f92363f0cbbcf6f848231c59b2f17dbe5d151cb8684fe1
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net> PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE:=GPL-2.0-or-later

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libxcrypt PKG_NAME:=libxcrypt
PKG_VERSION:=4.4.28 PKG_VERSION:=4.4.33
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/besser82/libxcrypt/releases/download/v$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/besser82/libxcrypt/releases/download/v$(PKG_VERSION)
PKG_HASH:=9e936811f9fad11dbca33ca19bd97c55c52eb3ca15901f27ade046cc79e69e87 PKG_HASH:=e87acf9c652c573a4713d5582159f98f305d56ed5f754ce64f57d4194d6b3a6f
PKG_MAINTAINER:= PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later PKG_LICENSE:=LGPL-2.1-or-later

View file

@ -0,0 +1,66 @@
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = gphoto-m4 contrib doc gphoto2 packaging po tests
+SUBDIRS = gphoto-m4 contrib doc gphoto2 packaging tests
ACLOCAL_AMFLAGS = -I auto-m4 -I gphoto-m4
EXTRA_DIST = README.md
--- a/configure.ac
+++ b/configure.ac
@@ -46,11 +46,8 @@ dnl i18n support
dnl ---------------------------------------------------------------------------
GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
-AM_PO_SUBDIRS()
AM_GNU_GETTEXT_VERSION([0.14.1])
-AM_GNU_GETTEXT([external])
AM_ICONV()
-GP_GETTEXT_FLAGS()
dnl We cannot use AC_DEFINE_UNQUOTED() for these definitions, as
dnl we require make to do insert the proper $(datadir) value
@@ -80,7 +77,7 @@ AC_CHECK_LIB(m,floor)
dnl ---------------------------------------------------------------------------
-dnl pthread: The gphoto2 shell (--shell) keeps up a connection to the
+dnl pthread: The gphoto2 shell (--shell) keeps up a connection to the
dnl camera. Some cameras need to be sent keep-alive-messages
dnl in order to prevent a shut-down. This is what we need
dnl pthread for.
@@ -97,7 +94,7 @@ if $try_pthread; then
AC_DEFINE(HAVE_PTHREAD,1,[Define if we use pthread.h.])
pthread_msg="yes (-lpthread)"
PTHREAD_LIBS="-lpthread"],[
- AC_CHECK_LIB(c_r, pthread_create, [
+ AC_CHECK_LIB(c_r, pthread_create, [
AC_DEFINE(HAVE_PTHREAD,1,[Define if we use pthread.h.])
pthread_msg="yes (-pthread)"
PTHREAD_LIBS="-pthread"
@@ -267,7 +264,7 @@ GP_CONFIG_MSG([JPEG support],[$jpeg_msg]
dnl ---------------------------------------------------------------------------
dnl libexif: The CameraFilesystem can use libexif for extracting thumbnails
dnl out of EXIF data. Similarly, it can extract the mtime of
-dnl a file.
+dnl a file.
dnl libexif is available from
dnl http://www.sourceforge.net/projects/libexif
dnl ---------------------------------------------------------------------------
@@ -327,7 +324,7 @@ AC_MSG_ERROR([pkg-config could not find
dnl ---------------------------------------------------------------------------
dnl readline: Readline is pretty cool - it allows you to use <tab> to complete
-dnl commands in the gphoto2 shell or to use <up> or <down> to
+dnl commands in the gphoto2 shell or to use <up> or <down> to
dnl navigate through the history.
dnl ---------------------------------------------------------------------------
rl_msg="no (http://cnswww.cns.cwru.edu/~chet/readline/rltop.html)"
@@ -396,7 +393,6 @@ AC_SUBST([AM_LDFLAGS])
# Create output files
# ---------------------------------------------------------------------------
AC_CONFIG_FILES([
-po/Makefile.in
Makefile
gphoto2/Makefile
gphoto-m4/Makefile

View file

@ -1,11 +1,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=yt-dlp PKG_NAME:=yt-dlp
PKG_VERSION:=2022.11.11 PKG_VERSION:=2023.1.6
PKG_RELEASE:=1 PKG_RELEASE:=1
PYPI_NAME:=yt-dlp PYPI_NAME:=yt-dlp
PKG_HASH:=f6b962023c17a77151476f0f6ed71be87d017629ba5d9994528bc548521191b6 PKG_HASH:=3a783a36751ced16368f40b3ba865ab39b30689ed8056f1ee2346aa3839a0b0f
PKG_MAINTAINER:=Michal Vasilek <michal.vasilek@nic.cz> PKG_MAINTAINER:=Michal Vasilek <michal.vasilek@nic.cz>
PKG_LICENSE:=Unlicense PKG_LICENSE:=Unlicense

View file

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=bind PKG_NAME:=bind
PKG_VERSION:=9.18.10 PKG_VERSION:=9.18.10
PKG_RELEASE:=2 PKG_RELEASE:=3
USERID:=bind=57:bind=57 USERID:=bind=57:bind=57
PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net> PKG_MAINTAINER:=Noah Meyerhans <frodo@morgul.net>
@ -143,6 +143,7 @@ export BUILD_CC="$(TARGET_CC)"
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
CONFIGURE_ARGS += \ CONFIGURE_ARGS += \
--disable-geoip \
--with-openssl="$(STAGING_DIR)/usr" \ --with-openssl="$(STAGING_DIR)/usr" \
--without-lmdb \ --without-lmdb \
--enable-epoll \ --enable-epoll \

View file

@ -0,0 +1,70 @@
# SPDX-Identifier-License: GPL-3.0-or-later
#
# Copyright (C) 2023 by Vitalii Koshura <lestat.de.lionkur@gmail.com>
#
include $(TOPDIR)/rules.mk
PKG_NAME:=boinc-wrapper
PKG_VERSION:=26018
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/BOINC/boinc/tar.gz/refs/tags/wrapper/$(PKG_VERSION)?
PKG_HASH:=a93ae0a9e640a893e78f523c6d93f31b1d5812092f85af4e9ce964846373f55d
PKG_MAINTAINER:=Vitalii Koshura <lestat.de.lionkur@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:boinc-wrapper:boinc-wrapper
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=0
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/target.mk
define Package/boinc-wrapper
SECTION:=net
CATEGORY:=Network
TITLE:=BOINC wrapper
DEPENDS:=+libstdcpp
URL:=https://github.com/BOINC/boinc/
endef
define Package/boinc-wrapper/description
The Berkeley Open Infrastructure for Network Computing (BOINC) is a
software platform for distributed computing: several initiatives of
various scientific disciplines all compete for the idle time of
desktop computers. The developers' web site at the University of
Berkeley serves as a common portal to the otherwise independently run
projects.
This package provides the BOINC wrapper that runs the Project applications as
subprocesses, and handles all communication with the BOINC client
(e.g., to report CPU time and fraction done).
endef
CONFIGURE_ARGS += \
--disable-server --disable-manager --disable-client --enable-libraries \
--enable-boinczip \
--with-boinc-platform=$(REAL_GNU_TARGET_NAME) \
--with-boinc-alt-platform=$(ARCH)-$(BOARD)-$(DEVICE_TYPE)-openwrt-$(TARGET_SUFFIX)
TARGET_CFLAGS += -Wno-format -Wno-format-security
TARGET_CPPFLAGS += -Wno-format -Wno-format-security
define Build/Compile
$(call Build/Compile/Default)
$(MAKE_VARS) $(MAKE) \
-C $(PKG_BUILD_DIR)/samples/wrapper \
$(MAKE_FLAGS)
endef
define Package/boinc-wrapper/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/samples/wrapper/wrapper $(1)/usr/bin/boinc-wrapper
endef
$(eval $(call BuildPackage,boinc-wrapper))

View file

@ -0,0 +1,5 @@
#!/bin/sh
boinc-wrapper
# Non-zero exit status is expected so always return 0 to avoid false failure.
exit 0

View file

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ddns-scripts PKG_NAME:=ddns-scripts
PKG_VERSION:=2.8.2 PKG_VERSION:=2.8.2
PKG_RELEASE:=30 PKG_RELEASE:=33
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
@ -58,6 +58,16 @@ define Package/ddns-scripts-services/description
endef endef
define Package/ddns-scripts-luadns
$(call Package/ddns-scripts/Default)
TITLE:=Extension for LuaDNS API v1
DEPENDS:=ddns-scripts +curl
endef
define Package/ddns-scripts-luadns/description
Dynamic DNS Client scripts extension for LuaDNS API v1 (require curl)
endef
define Package/ddns-scripts-cloudflare define Package/ddns-scripts-cloudflare
$(call Package/ddns-scripts/Default) $(call Package/ddns-scripts/Default)
TITLE:=Extension for cloudflare.com API v4 TITLE:=Extension for cloudflare.com API v4
@ -333,6 +343,7 @@ define Package/ddns-scripts-services/install
$(1)/usr/share/ddns/default $(1)/usr/share/ddns/default
# Remove special services # Remove special services
rm $(1)/usr/share/ddns/default/luadns.com-v1.json
rm $(1)/usr/share/ddns/default/cloudflare.com-v4.json rm $(1)/usr/share/ddns/default/cloudflare.com-v4.json
rm $(1)/usr/share/ddns/default/cloud.google.com-v1.json rm $(1)/usr/share/ddns/default/cloud.google.com-v1.json
rm $(1)/usr/share/ddns/default/freedns.42.pl.json rm $(1)/usr/share/ddns/default/freedns.42.pl.json
@ -351,6 +362,25 @@ define Package/ddns-scripts-services/install
endef endef
define Package/ddns-scripts-luadns/install
$(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) ./files/usr/lib/ddns/update_luadns_v1.sh \
$(1)/usr/lib/ddns
$(INSTALL_DIR) $(1)/usr/share/ddns/default
$(INSTALL_DATA) ./files/usr/share/ddns/default/luadns.com-v1.json \
$(1)/usr/share/ddns/default/
endef
define Package/ddns-scripts-luadns/prerm
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
/etc/init.d/ddns stop
fi
exit 0
endef
define Package/ddns-scripts-cloudflare/install define Package/ddns-scripts-cloudflare/install
$(INSTALL_DIR) $(1)/usr/lib/ddns $(INSTALL_DIR) $(1)/usr/lib/ddns
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \ $(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
@ -638,6 +668,7 @@ endef
$(eval $(call BuildPackage,ddns-scripts)) $(eval $(call BuildPackage,ddns-scripts))
$(eval $(call BuildPackage,ddns-scripts-services)) $(eval $(call BuildPackage,ddns-scripts-services))
$(eval $(call BuildPackage,ddns-scripts-luadns))
$(eval $(call BuildPackage,ddns-scripts-cloudflare)) $(eval $(call BuildPackage,ddns-scripts-cloudflare))
$(eval $(call BuildPackage,ddns-scripts-gcp)) $(eval $(call BuildPackage,ddns-scripts-gcp))
$(eval $(call BuildPackage,ddns-scripts-freedns)) $(eval $(call BuildPackage,ddns-scripts-freedns))

View file

@ -0,0 +1,191 @@
#!/bin/sh
#
#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
#.2023 Jihoon Han <rapid_renard@renard.ga>
#
#.based on Christian Schoenebeck's update_cloudflare_com_v4.sh
#.and on Neilpang's acme.sh found at https://github.com/acmesh-official/acme.sh
#
# Script for sending DDNS updates using the LuaDNS API
# See: https://luadns.com/api
#
# using following options from /etc/config/ddns
# option username - "Emaii" as registered on LuaDNS
# option password - "API Key" as generated at https://api.luadns.com/api_keys
# option domain - The domain to update (e.g. my.example.com)
#
# check parameters
[ -z "$CURL" ] && [ -z "$CURL_SSL" ] && write_log 14 "LuaDNS API require cURL with SSL support. Please install"
[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing e-mail as 'Username'"
[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing personal API key as 'Password'"
[ $use_https -eq 0 ] && use_https=1 # force HTTPS
# used variables
local __HOST __DOMAIN __TYPE __URLBASE __PRGBASE __RUNPROG __DATA __IPV6 __ZONEID __RECID
local __URLBASE="https://api.luadns.com/v1"
local __TTL=300
# set record type
[ $use_ipv6 -eq 0 ] && __TYPE="A" || __TYPE="AAAA"
# transfer function to use for LuaDNS
# all needed variables are set global here
# so we can use them directly
luadns_transfer() {
local __CNT=0
local __STATUS __ERR
while : ; do
write_log 7 "#> $__RUNPROG"
__STATUS=$(eval "$__RUNPROG")
__ERR=$? # save communication error
[ $__ERR -eq 0 ] && break # no error break while
write_log 3 "cURL Error: '$__ERR'"
write_log 7 "$(cat $ERRFILE)" # report error
[ $VERBOSE_MODE -gt 1 ] && {
# VERBOSE_MODE > 1 then NO retry
write_log 4 "Transfer failed - Verbose Mode: $VERBOSE_MODE - NO retry on error"
break
}
__CNT=$(( $__CNT + 1 )) # increment error counter
# if error count > retry_count leave here
[ $retry_count -gt 0 -a $__CNT -gt $retry_count ] && \
write_log 14 "Transfer failed after $retry_count retries"
write_log 4 "Transfer failed - retry $__CNT/$retry_count in $RETRY_SECONDS seconds"
sleep $RETRY_SECONDS &
PID_SLEEP=$!
wait $PID_SLEEP # enable trap-handler
PID_SLEEP=0
done
# handle HTTP error
[ $__STATUS -ne 200 ] && {
write_log 4 "LuaDNS reported an error:"
write_log 7 "$(cat $DATFILE)"
return 1
}
return 0
}
# Build base command to use
__PRGBASE="$CURL -RsS -w '%{http_code}' -o $DATFILE --stderr $ERRFILE"
# force network/interface-device to use for communication
if [ -n "$bind_network" ]; then
local __DEVICE
network_get_physdev __DEVICE $bind_network || \
write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
write_log 7 "Force communication via device '$__DEVICE'"
__PRGBASE="$__PRGBASE --interface $__DEVICE"
fi
# force ip version to use
if [ $force_ipversion -eq 1 ]; then
[ $use_ipv6 -eq 0 ] && __PRGBASE="$__PRGBASE -4" || __PRGBASE="$__PRGBASE -6" # force IPv4/IPv6
fi
# set certificate parameters
if [ "$cacert" = "IGNORE" ]; then # idea from Ticket #15327 to ignore server cert
__PRGBASE="$__PRGBASE --insecure" # but not empty better to use "IGNORE"
elif [ -f "$cacert" ]; then
__PRGBASE="$__PRGBASE --cacert $cacert"
elif [ -d "$cacert" ]; then
__PRGBASE="$__PRGBASE --capath $cacert"
elif [ -n "$cacert" ]; then # it's not a file and not a directory but given
write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
fi
# disable proxy if not set (there might be .wgetrc or .curlrc or wrong environment set)
# or check if libcurl compiled with proxy support
if [ -z "$proxy" ]; then
__PRGBASE="$__PRGBASE --noproxy '*'"
elif [ -z "$CURL_PROXY" ]; then
# if libcurl has no proxy support and proxy should be used then force ERROR
write_log 13 "cURL: libcurl compiled without Proxy support"
fi
# set headers
__PRGBASE="$__PRGBASE --user '$username:$password' "
__PRGBASE="$__PRGBASE --header 'Accept: application/json' "
if [ -n "$zone_id" ]; then
__ZONEID="$zone_id"
else
# read zone id for registered domain.TLD
__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones'"
luadns_transfer || return 1
# extract zone id
i=1
while : ; do
h=$(printf "%s" "$domain" | cut -d . -f $i-100 -s)
[ -z "$h" ] && {
write_log 4 "Could not detect 'Zone ID' for the domain provided: '$domain'"
return 127
}
__ZONEID=$(grep -o -e "\"id\":[^,]*,\"name\":\"$h\"" $DATFILE | cut -d : -f 2 | cut -d , -f 1)
[ -n "$__ZONEID" ] && {
# LuaDNS API needs:
# __DOMAIN = the base domain i.e. example.com
# __HOST = the FQDN of record to modify
# i.e. example.com for the "domain record" or host.sub.example.com for "host record"
__HOST="$domain"
__DOMAIN="$h"
write_log 7 "Domain : '$__DOMAIN'"
write_log 7 "Zone ID : '$__ZONEID'"
write_log 7 "Host : '$__HOST'"
break
}
i=$(expr "$i" + 1)
done
fi
# read record id for A or AAAA record of host.domain.TLD
__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones/$__ZONEID/records'"
luadns_transfer || return 1
# extract record id
__RECID=$(grep -o -e "\"id\":[^,]*,\"name\":\"$__HOST.\",\"type\":\"$__TYPE\"" $DATFILE | head -n 1 | cut -d : -f 2 | cut -d , -f 1)
[ -z "$__RECID" ] && {
write_log 4 "Could not detect 'Record ID' for the domain provided: '$__HOST'"
return 127
}
write_log 7 "Record ID : '$__RECID'"
# extract current stored IP
__DATA=$(grep -o -e "\"id\":$__RECID,\"name\":\"$__HOST.\",\"type\":\"$__TYPE\",\"content\":[^,]*" $DATFILE | grep -o '[^"]*' | tail -n 1)
# check data
[ $use_ipv6 -eq 0 ] \
&& __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV4_REGEX") \
|| __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV6_REGEX")
# we got data so verify
[ -n "$__DATA" ] && {
# expand IPv6 for compare
if [ $use_ipv6 -eq 1 ]; then
expand_ipv6 $__IP __IPV6
expand_ipv6 $__DATA __DATA
[ "$__DATA" = "$__IPV6" ] && { # IPv6 no update needed
write_log 7 "IPv6 at LuaDNS already up to date"
return 0
}
else
[ "$__DATA" = "$__IP" ] && { # IPv4 no update needed
write_log 7 "IPv4 at LuaDNS already up to date"
return 0
}
fi
}
# update is needed
# let's build data to send
# use file to work around " needed for json
cat > $DATFILE << EOF
{"name":"$__HOST.","type":"$__TYPE","content":"$__IP","ttl":$__TTL}
EOF
# let's complete transfer command
__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE '$__URLBASE/zones/$__ZONEID/records/$__RECID'"
luadns_transfer || return 1
return 0

View file

@ -5,6 +5,7 @@
local __TTL=600 local __TTL=600
local __RRTYPE local __RRTYPE
local __STATUS local __STATUS
local __RNAME
[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing subdomain as 'username'" [ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing subdomain as 'username'"
[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing API Key as 'password'" [ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing API Key as 'password'"
@ -16,11 +17,21 @@ local __ENDPOINT="$param_opt/api/v1/servers/localhost/zones"
[ $use_ipv6 -ne 0 ] && __RRTYPE="AAAA" || __RRTYPE="A" [ $use_ipv6 -ne 0 ] && __RRTYPE="AAAA" || __RRTYPE="A"
# Make sure domain is period terminated
if [ ${domain: -1} != '.' ]; then
domain="${domain}."
fi
if [ $username == '@' ]; then
__RNAME="$domain"
else
__RNAME="$username.$domain"
fi
# Build JSON payload # Build JSON payload
json_init json_init
json_add_array rrsets json_add_array rrsets
json_add_object json_add_object
json_add_string name "$username.$domain" json_add_string name "$__RNAME"
json_add_string type "$__RRTYPE" json_add_string type "$__RRTYPE"
json_add_int ttl $__TTL json_add_int ttl $__TTL
json_add_string changetype "REPLACE" json_add_string changetype "REPLACE"

View file

@ -0,0 +1,9 @@
{
"name": "luadns.com-v1",
"ipv4": {
"url": "update_luadns_v1.sh"
},
"ipv6": {
"url": "update_luadns_v1.sh"
}
}

View file

@ -3,5 +3,9 @@
"ipv4": { "ipv4": {
"url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]", "url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg" "answer": "good|nochg"
},
"ipv6": {
"url": "http://[USERNAME]:[PASSWORD]@dyndns.strato.com/nic/update?hostname=[DOMAIN]&myip=[IP]",
"answer": "good|nochg"
} }
} }

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=frp PKG_NAME:=frp
PKG_VERSION:=0.45.0 PKG_VERSION:=0.46.1
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}? PKG_SOURCE_URL:=https://codeload.github.com/fatedier/frp/tar.gz/v${PKG_VERSION}?
PKG_HASH:=829cf9f14861ab1b074de6995282f30292f53513824372cfec4084a2e8de7123 PKG_HASH:=af3e8d9d4144cf520cee2609cd45fb575afe711c03cc7441dc89d0402628a869
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com> PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
@ -23,10 +23,8 @@ include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk include ../../lang/golang/golang-package.mk
define Package/frp/install define Package/frp/install
$(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
$(INSTALL_DIR) $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $(1)/usr/bin/ $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/$(2) $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/frp/$(2).d/ $(INSTALL_DIR) $(1)/etc/frp/$(2).d/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/conf/$(2)_full.ini $(1)/etc/frp/$(2).d/ $(INSTALL_DATA) $(PKG_BUILD_DIR)/conf/$(2)_full.ini $(1)/etc/frp/$(2).d/
$(INSTALL_DIR) $(1)/etc/config/ $(INSTALL_DIR) $(1)/etc/config/

3
net/frp/test.sh Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
$1 -v 2>&1 | grep -F "$PKG_VERSION"

View file

@ -10,13 +10,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=i2pd PKG_NAME:=i2pd
PKG_VERSION:=2.43.0 PKG_VERSION:=2.45.0
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/PurpleI2P/i2pd/tar.gz/$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/PurpleI2P/i2pd/tar.gz/$(PKG_VERSION)?
PKG_HASH:=db1679653491a411dd16fa329488d840296c8f680e0691f9fe0d0e796e5d7bca PKG_HASH:=4050c0a38fda06a76defbd2721f468f5b09889ed7b6b5a7e207e4659d300738f
PKG_MAINTAINER:=David Yang <mmyangfl@gmail.com> PKG_MAINTAINER:=David Yang <mmyangfl@gmail.com>
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause

View file

@ -29,7 +29,7 @@
## Write full CLF-formatted date and time to log (default: write only time) ## Write full CLF-formatted date and time to log (default: write only time)
# logclftime = true # logclftime = true
@@ -115,9 +115,9 @@ published = true @@ -115,9 +115,9 @@ ssu = false
[http] [http]
## Web Console settings ## Web Console settings
## Uncomment and set to 'false' to disable Web Console ## Uncomment and set to 'false' to disable Web Console
@ -83,11 +83,11 @@
## Name i2pd appears in UPnP forwardings list (default = I2Pd) ## Name i2pd appears in UPnP forwardings list (default = I2Pd)
# name = I2Pd # name = I2Pd
@@ -238,7 +238,7 @@ verify = true @@ -239,7 +239,7 @@ verify = true
[limits] [limits]
## Maximum active transit sessions (default:2500) ## Maximum active transit sessions (default: 5000)
-# transittunnels = 2500 ## This value is doubled if floodfill mode is enabled!
-# transittunnels = 5000
+transittunnels = 500 +transittunnels = 500
## Limit number of open file descriptors (0 - use system limit) ## Limit number of open file descriptors (0 - use system limit)
# openfiles = 0 # openfiles = 0

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=knot PKG_NAME:=knot
PKG_VERSION:=3.2.4 PKG_VERSION:=3.2.4
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/ PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
@ -151,6 +151,7 @@ CONFIGURE_ARGS += \
--enable-recvmmsg=no \ --enable-recvmmsg=no \
--enable-cap-ng=no \ --enable-cap-ng=no \
--enable-xdp=no \ --enable-xdp=no \
--enable-maxminddb=no \
--disable-fastparser \ --disable-fastparser \
--without-libidn \ --without-libidn \
--with-libnghttp2=no \ --with-libnghttp2=no \

View file

@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libreswan PKG_NAME:=libreswan
PKG_VERSION:=4.9 PKG_VERSION:=4.9
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://download.libreswan.org/ PKG_SOURCE_URL:=https://download.libreswan.org/
@ -84,9 +84,11 @@ MAKE_FLAGS+= \
PREFIX="/usr" \ PREFIX="/usr" \
FINALRUNDIR="/var/run/pluto" \ FINALRUNDIR="/var/run/pluto" \
FINALNSSDIR="/etc/ipsec.d" \ FINALNSSDIR="/etc/ipsec.d" \
DEFAULT_DNSSEC_ROOTKEY_FILE=/etc/unbound/root.key \
MODPROBEARGS="-q" \ MODPROBEARGS="-q" \
OSDEP=linux \ OSDEP=linux \
BUILDENV=linux \ BUILDENV=linux \
LINUX_VARIANT="openwrt" \
ARCH="$(LINUX_KARCH)" \ ARCH="$(LINUX_KARCH)" \
define Build/Prepare define Build/Prepare

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ocserv PKG_NAME:=ocserv
PKG_VERSION:=1.1.6 PKG_VERSION:=1.1.6
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_USE_MIPS16:=0 PKG_USE_MIPS16:=0
PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@ -63,6 +63,7 @@ CONFIGURE_ARGS+= \
--with-libreadline-prefix="$(STAGING_DIR)/" \ --with-libreadline-prefix="$(STAGING_DIR)/" \
--without-libnl \ --without-libnl \
--without-gssapi \ --without-gssapi \
--without-maxmind \
--with-libcrypt-prefix="$(STAGING_DIR)/" \ --with-libcrypt-prefix="$(STAGING_DIR)/" \
--with-libev-prefix="$(STAGING_DIR)/" \ --with-libev-prefix="$(STAGING_DIR)/" \
--without-lz4 \ --without-lz4 \

View file

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=speedtestpp PKG_NAME:=speedtestpp
PKG_VERSION:=1.14 PKG_VERSION:=1.14
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/taganaka/SpeedTest.git PKG_SOURCE_URL:=https://github.com/taganaka/SpeedTest.git
@ -25,7 +25,7 @@ define Package/speedtestpp
SECTION:=net SECTION:=net
CATEGORY:=Network CATEGORY:=Network
TITLE:=speedtest++ TITLE:=speedtest++
DEPENDS:=+libcurl +libxml2 +libopenssl +libstdcpp $(ICONV_DEPENDS) DEPENDS:=+libcurl +libopenssl +libstdcpp $(ICONV_DEPENDS)
CONFLICTS:=python3-speedtest-cli CONFLICTS:=python3-speedtest-cli
URL:=https://github.com/taganaka/SpeedTest URL:=https://github.com/taganaka/SpeedTest
endef endef

View file

@ -0,0 +1,239 @@
From b7db370449cfe2b453c22b74a660701f78bd7ce3 Mon Sep 17 00:00:00 2001
From: Anatolii Lapytskyi <ala@allunite.com>
Date: Tue, 6 Sep 2022 15:59:27 +0200
Subject: [PATCH] Remove dependency on libxml2
---
CMakeLists.txt | 5 +-
README.md | 5 +-
SpeedTest.cpp | 136 ++++++++++++++-----------------------------------
SpeedTest.h | 2 -
4 files changed, 41 insertions(+), 107 deletions(-)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,7 +44,6 @@ add_executable(SpeedTest ${SOURCE_FILES}
INCLUDE (CheckIncludeFiles)
find_package(CURL REQUIRED)
-find_package(LibXml2 REQUIRED)
if (NOT (APPLE))
find_package(OpenSSL REQUIRED)
@@ -52,7 +51,7 @@ else()
CHECK_INCLUDE_FILES("CommonCrypto/CommonDigest.h" HAVE_COMMON_DIGEST_H)
endif()
-include_directories(${CURL_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR})
-target_link_libraries(SpeedTest ${CURL_LIBRARIES} ${LIBXML2_LIBRARIES} -lpthread ${OPENSSL_LIBRARIES})
+include_directories(${CURL_INCLUDE_DIRS})
+target_link_libraries(SpeedTest ${CURL_LIBRARIES} -lpthread ${OPENSSL_LIBRARIES})
install(TARGETS SpeedTest RUNTIME DESTINATION bin)
--- a/README.md
+++ b/README.md
@@ -26,7 +26,6 @@ It supports the new (undocumented) raw T
2. cmake
3. libcurl
4. libssl
-5. libxml2
### On Mac OS X
@@ -40,7 +39,7 @@ $ make install
### On Ubuntu/Debian
```
-$ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev libssl-dev cmake
+$ sudo apt-get install build-essential libcurl4-openssl-dev libssl-dev cmake
$ git clone https://github.com/taganaka/SpeedTest
$ cd SpeedTest
$ cmake -DCMAKE_BUILD_TYPE=Release .
@@ -50,7 +49,7 @@ $ sudo make install
### On OpenSuse
```
-$ sudo zypper install cmake gcc-c++ libcurl-devel libxml2-devel libopenssl-devel git
+$ sudo zypper install cmake gcc-c++ libcurl-devel libopenssl-devel git
$ git clone https://github.com/taganaka/SpeedTest
$ cd SpeedTest
$ cmake -DCMAKE_BUILD_TYPE=Release .
--- a/SpeedTest.cpp
+++ b/SpeedTest.cpp
@@ -353,67 +353,16 @@ std::vector<std::string> SpeedTest::spli
}
-ServerInfo SpeedTest::processServerXMLNode(xmlTextReaderPtr reader) {
-
- auto name = xmlTextReaderConstName(reader);
- auto nodeName = std::string((char*)name);
-
- if (!name || nodeName != "server"){
- return ServerInfo();
- }
-
- if (xmlTextReaderAttributeCount(reader) > 0){
- auto info = ServerInfo();
- auto server_url = xmlTextReaderGetAttribute(reader, BAD_CAST "url");
- auto server_lat = xmlTextReaderGetAttribute(reader, BAD_CAST "lat");
- auto server_lon = xmlTextReaderGetAttribute(reader, BAD_CAST "lon");
- auto server_name = xmlTextReaderGetAttribute(reader, BAD_CAST "name");
- auto server_county = xmlTextReaderGetAttribute(reader, BAD_CAST "country");
- auto server_cc = xmlTextReaderGetAttribute(reader, BAD_CAST "cc");
- auto server_host = xmlTextReaderGetAttribute(reader, BAD_CAST "host");
- auto server_id = xmlTextReaderGetAttribute(reader, BAD_CAST "id");
- auto server_sponsor = xmlTextReaderGetAttribute(reader, BAD_CAST "sponsor");
-
- if (server_name)
- info.name.append((char*)server_name);
-
- if (server_url)
- info.url.append((char*)server_url);
-
- if (server_county)
- info.country.append((char*)server_county);
-
- if (server_cc)
- info.country_code.append((char*)server_cc);
-
- if (server_host)
- info.host.append((char*)server_host);
-
- if (server_sponsor)
- info.sponsor.append((char*)server_sponsor);
-
- if (server_id)
- info.id = std::atoi((char*)server_id);
-
- if (server_lat)
- info.lat = std::stof((char*)server_lat);
-
- if (server_lon)
- info.lon = std::stof((char*)server_lon);
-
- xmlFree(server_url);
- xmlFree(server_lat);
- xmlFree(server_lon);
- xmlFree(server_name);
- xmlFree(server_county);
- xmlFree(server_cc);
- xmlFree(server_host);
- xmlFree(server_id);
- xmlFree(server_sponsor);
- return info;
- }
-
- return ServerInfo();
+std::string getAttributeValue(const std::string& data, const size_t offset, const size_t max_pos, const std::string& attribute_name) {
+ size_t pos = data.find(attribute_name + "=\"", offset);
+ if (pos == std::string::npos)
+ return "";
+ if (pos >= max_pos)
+ return "";
+ size_t value_pos = pos + attribute_name.length() + 2;
+ size_t end = data.find("\"", value_pos);
+ std::string s = data.substr(pos + attribute_name.length() + 2, end - value_pos);
+ return s;
}
bool SpeedTest::fetchServers(const std::string& url, std::vector<ServerInfo>& target, int &http_code) {
@@ -441,53 +390,42 @@ bool SpeedTest::fetchServers(const std::
http_code = 200;
}
- size_t len = oss.str().length();
- auto *xmlbuff = (char*)calloc(len + 1, sizeof(char));
- if (!xmlbuff){
- std::cerr << "Unable to calloc" << std::endl;
+ IPInfo ipInfo;
+ if (!SpeedTest::ipInfo(ipInfo)){
curl_easy_cleanup(curl);
+ std::cerr << "OOPS!" <<std::endl;
return false;
}
- memcpy(xmlbuff, oss.str().c_str(), len);
- oss.str("");
- xmlTextReaderPtr reader = xmlReaderForMemory(xmlbuff, static_cast<int>(len), nullptr, nullptr, 0);
+ std::string data = oss.str();
- if (reader != nullptr) {
- IPInfo ipInfo;
- if (!SpeedTest::ipInfo(ipInfo)){
- curl_easy_cleanup(curl);
- free(xmlbuff);
- xmlFreeTextReader(reader);
- std::cerr << "OOPS!" <<std::endl;
- return false;
- }
- auto ret = xmlTextReaderRead(reader);
- while (ret == 1) {
- ServerInfo info = processServerXMLNode(reader);
- if (!info.url.empty()){
- info.distance = harversine(std::make_pair(ipInfo.lat, ipInfo.lon), std::make_pair(info.lat, info.lon));
- target.push_back(info);
- }
- ret = xmlTextReaderRead(reader);
- }
- xmlFreeTextReader(reader);
- if (ret != 0) {
- curl_easy_cleanup(curl);
- free(xmlbuff);
- std::cerr << "Failed to parse" << std::endl;
- return false;
+ const std::string server_tag_start = "<server ";
+
+ size_t server_tag_begin = data.find(server_tag_start);
+ while (server_tag_begin != std::string::npos) {
+ size_t server_tag_end = data.find("/>", server_tag_begin);
+
+ auto info = ServerInfo();
+ info.name = getAttributeValue(data, server_tag_begin, server_tag_end, "name");
+ info.url = getAttributeValue(data, server_tag_begin, server_tag_end, "url");
+ info.country = getAttributeValue(data, server_tag_begin, server_tag_end, "country");
+ info.country_code = getAttributeValue(data, server_tag_begin, server_tag_end, "cc");
+ info.host = getAttributeValue(data, server_tag_begin, server_tag_end, "host");
+ info.sponsor = getAttributeValue(data, server_tag_begin, server_tag_end, "sponsor");
+ info.id = atoi(getAttributeValue(data, server_tag_begin, server_tag_end, "id").c_str());
+ info.lat = std::stof(getAttributeValue(data, server_tag_begin, server_tag_end, "lat"));
+ info.lon = std::stof(getAttributeValue(data, server_tag_begin, server_tag_end, "lon"));
+
+ if (!info.url.empty()){
+ info.distance = harversine(std::make_pair(ipInfo.lat, ipInfo.lon), std::make_pair(info.lat, info.lon));
+ target.push_back(info);
}
- } else {
- std::cerr << "Unable to initialize xml parser" << std::endl;
- curl_easy_cleanup(curl);
- free(xmlbuff);
- return false;
+
+ server_tag_begin = data.find(server_tag_start, server_tag_begin + 1);
}
+
curl_easy_cleanup(curl);
- free(xmlbuff);
- xmlCleanupParser();
std::sort(target.begin(), target.end(), [](const ServerInfo &a, const ServerInfo &b) -> bool {
return a.distance < b.distance;
});
--- a/SpeedTest.h
+++ b/SpeedTest.h
@@ -7,7 +7,6 @@
#include "SpeedTestConfig.h"
#include "SpeedTestClient.h"
-#include <libxml/xmlreader.h>
#include <functional>
#include <cmath>
#include <curl/curl.h>
@@ -50,7 +49,6 @@ private:
const ServerInfo findBestServerWithin(const std::vector<ServerInfo>& serverList, long& latency, int sample_size = 5, std::function<void(bool)> cb = nullptr);
static CURL* curl_setup(CURL* curl = nullptr);
static size_t writeFunc(void* buf, size_t size, size_t nmemb, void* userp);
- static ServerInfo processServerXMLNode(xmlTextReaderPtr reader);
double execute(const ServerInfo &server, const TestConfig &config, const opFn &fnc, std::function<void(bool)> cb = nullptr);
template <typename T>
static T deg2rad(T n);

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=xinetd PKG_NAME:=xinetd
PKG_VERSION:=2.3.15 PKG_VERSION:=2.3.15
PKG_RELEASE:=13 PKG_RELEASE:=14
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/xinetd-org/xinetd/archive PKG_SOURCE_URL:=https://github.com/xinetd-org/xinetd/archive

View file

@ -62,7 +62,22 @@ config_cb() {
local option="$1" local option="$1"
local value="$2" local value="$2"
[ -n "$value" ] && [ "$option" != "name" ] && echo -e "\t$option = $value" >> $GENERATED_CONF_FILE # for the redirect option we have to convert the '[ip address]:port' notation
# in config file to 'ip_address port' in the xinetd config file
if [ "$option" = "redirect" ] && [ -n "$value" ]; then
local redirect_ip=""
local redirect_port=""
redirect_ip="$(echo ${value%:*})"
redirect_ip="$(echo ${redirect_ip//\[/})"
redirect_ip="$(echo ${redirect_ip//\]/})"
redirect_port="$(echo ${value##*:})"
echo -e "\t$option = $redirect_ip $redirect_port" >> $GENERATED_CONF_FILE
else
[ -n "$value" ] && [ "$option" != "name" ] && echo -e "\t$option = $value" >> $GENERATED_CONF_FILE
fi
} }
# redefined callback for lists when calling config_load # redefined callback for lists when calling config_load

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=xray-core PKG_NAME:=xray-core
PKG_VERSION:=1.7.0 PKG_VERSION:=1.7.2
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=6dbf3d9103e62f9e72b7ac231e1d5a65e2a5c40810500a7e757a4ef71dcc32fd PKG_HASH:=e35824e19e8acc06296ce6bfa78a14a6f3ee8f42a965f7762b7056b506457a29
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org> PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MPL-2.0 PKG_LICENSE:=MPL-2.0

40
net/ztdns/Makefile Normal file
View file

@ -0,0 +1,40 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ztdns
PKG_VERSION:=0.0.2
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/palonsoro/ztdns.git
PKG_SOURCE_DATE:=2023-01-08
PKG_SOURCE_VERSION:=1510cb47083989549ce2ed53d01b56a79df69ad0
PKG_MIRROR_HASH:=5054c934e030e337edb43659beb23f6cac1401c0ba63453be5b446c885c50041
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
GO_PKG:=github.com/uxbh/ztdns
include $(INCLUDE_DIR)/package.mk
include ../../lang/golang/golang-package.mk
define Package/ztdns
SECTION:=net
CATEGORY:=Network
TITLE:=ZerotierDNS
URL:=https://github.com/uxbh/ztdns
DEPENDS:=$(GO_ARCH_DEPENDS)
endef
define Package/ztdns/description
ztDNS is a dedicated DNS server for a ZeroTier virtual network.
It is alternative to Zerotier's own zeronsd.
endef
$(eval $(call GoBinPackage,ztdns))
$(eval $(call BuildPackage,ztdns))

View file

@ -6,13 +6,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=squeezelite PKG_NAME:=squeezelite
PKG_VERSION:=1.9.9-1403 PKG_VERSION:=1.9.9-1415
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite
PKG_SOURCE_VERSION:=bc72c0de3fff771540a2a45aaafafed539387b3c PKG_SOURCE_VERSION:=5361789c8df37d87a22cc2253ff746557044931a
PKG_MIRROR_HASH:=25f6c320e52b53c0340a337429b91d59783c87f1af3454dc0434c24b90ed3b94 PKG_MIRROR_HASH:=c6cabb4041c1197881d9f5e9ea8293ece2d409356ccf56d4a8948743b49b13ca
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net> PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE:=GPL-3.0-or-later
@ -116,6 +116,8 @@ define Package/squeezelite-mini/description
This package will dynamically load installed codecs. This package will dynamically load installed codecs.
endef endef
opts+= -DNO_MAD
ifeq ($(CONFIG_SQUEEZELITE_WMA),y) ifeq ($(CONFIG_SQUEEZELITE_WMA),y)
opts+= -DFFMPEG opts+= -DFFMPEG
endif endif

View file

@ -1,6 +1,6 @@
--- a/main.c --- a/main.c
+++ b/main.c +++ b/main.c
@@ -93,6 +93,7 @@ static void usage(const char *argv0) { @@ -99,6 +99,7 @@ static void usage(const char *argv0) {
#if IR #if IR
" -i [<filename>]\tEnable lirc remote control support (lirc config file ~/.lircrc used if filename not specified)\n" " -i [<filename>]\tEnable lirc remote control support (lirc config file ~/.lircrc used if filename not specified)\n"
#endif #endif
@ -8,7 +8,7 @@
" -m <mac addr>\t\tSet mac address, format: ab:cd:ef:12:34:56\n" " -m <mac addr>\t\tSet mac address, format: ab:cd:ef:12:34:56\n"
" -M <modelname>\tSet the squeezelite player model name sent to the server (default: " MODEL_NAME_STRING ")\n" " -M <modelname>\tSet the squeezelite player model name sent to the server (default: " MODEL_NAME_STRING ")\n"
" -n <name>\t\tSet the player name\n" " -n <name>\t\tSet the player name\n"
@@ -292,6 +293,8 @@ int main(int argc, char **argv) { @@ -304,6 +305,8 @@ int main(int argc, char **argv) {
extern bool user_rates; extern bool user_rates;
char *logfile = NULL; char *logfile = NULL;
u8_t mac[6]; u8_t mac[6];
@ -17,7 +17,7 @@
unsigned stream_buf_size = STREAMBUF_SIZE; unsigned stream_buf_size = STREAMBUF_SIZE;
unsigned output_buf_size = 0; // set later unsigned output_buf_size = 0; // set later
unsigned rates[MAX_SUPPORTED_SAMPLERATES] = { 0 }; unsigned rates[MAX_SUPPORTED_SAMPLERATES] = { 0 };
@@ -332,6 +335,7 @@ int main(int argc, char **argv) { @@ -344,6 +347,7 @@ int main(int argc, char **argv) {
int maxSampleRate = 0; int maxSampleRate = 0;
@ -25,7 +25,7 @@
char *optarg = NULL; char *optarg = NULL;
int optind = 1; int optind = 1;
int i; int i;
@@ -339,8 +343,6 @@ int main(int argc, char **argv) { @@ -351,8 +355,6 @@ int main(int argc, char **argv) {
#define MAXCMDLINE 512 #define MAXCMDLINE 512
char cmdline[MAXCMDLINE] = ""; char cmdline[MAXCMDLINE] = "";
@ -34,7 +34,7 @@
for (i = 0; i < argc && (strlen(argv[i]) + strlen(cmdline) + 2 < MAXCMDLINE); i++) { for (i = 0; i < argc && (strlen(argv[i]) + strlen(cmdline) + 2 < MAXCMDLINE); i++) {
strcat(cmdline, argv[i]); strcat(cmdline, argv[i]);
strcat(cmdline, " "); strcat(cmdline, " ");
@@ -348,7 +350,7 @@ int main(int argc, char **argv) { @@ -360,7 +362,7 @@ int main(int argc, char **argv) {
while (optind < argc && strlen(argv[optind]) >= 2 && argv[optind][0] == '-') { while (optind < argc && strlen(argv[optind]) >= 2 && argv[optind][0] == '-') {
char *opt = argv[optind] + 1; char *opt = argv[optind] + 1;
@ -43,7 +43,7 @@
#if ALSA #if ALSA
"UVO" "UVO"
#endif #endif
@@ -442,6 +444,9 @@ int main(int argc, char **argv) { @@ -454,6 +456,9 @@ int main(int argc, char **argv) {
case 'f': case 'f':
logfile = optarg; logfile = optarg;
break; break;
@ -53,7 +53,7 @@
case 'm': case 'm':
{ {
int byte = 0; int byte = 0;
@@ -755,6 +760,11 @@ int main(int argc, char **argv) { @@ -767,6 +772,11 @@ int main(int argc, char **argv) {
winsock_init(); winsock_init();
#endif #endif
@ -65,7 +65,7 @@
stream_init(log_stream, stream_buf_size); stream_init(log_stream, stream_buf_size);
if (!strcmp(output_device, "-")) { if (!strcmp(output_device, "-")) {
@@ -801,7 +811,7 @@ int main(int argc, char **argv) { @@ -813,7 +823,7 @@ int main(int argc, char **argv) {
exit(1); exit(1);
} }
@ -132,7 +132,7 @@
} else { } else {
--- a/squeezelite.h --- a/squeezelite.h
+++ b/squeezelite.h +++ b/squeezelite.h
@@ -456,7 +456,7 @@ char* strcasestr(const char *haystack, c @@ -458,7 +458,7 @@ char* strcasestr(const char *haystack, c
char *next_param(char *src, char c); char *next_param(char *src, char c);
u32_t gettime_ms(void); u32_t gettime_ms(void);
@ -141,7 +141,7 @@
void set_nonblock(sockfd s); void set_nonblock(sockfd s);
int connect_timeout(sockfd sock, const struct sockaddr *addr, socklen_t addrlen, int timeout); int connect_timeout(sockfd sock, const struct sockaddr *addr, socklen_t addrlen, int timeout);
void server_addr(char *server, in_addr_t *ip_ptr, unsigned *port_ptr); void server_addr(char *server, in_addr_t *ip_ptr, unsigned *port_ptr);
@@ -513,7 +513,7 @@ void buf_init(struct buffer *buf, size_t @@ -515,7 +515,7 @@ void buf_init(struct buffer *buf, size_t
void buf_destroy(struct buffer *buf); void buf_destroy(struct buffer *buf);
// slimproto.c // slimproto.c

View file

@ -1,80 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ OPT_PULSEAUDIO = -DPULSEAUDIO
SOURCES = \
main.c slimproto.c buffer.c stream.c utils.c \
output.c output_alsa.c output_pa.c output_stdout.c output_pack.c output_pulse.c decode.c \
- flac.c pcm.c mad.c vorbis.c mpg.c
+ flac.c pcm.c vorbis.c mpg.c
SOURCES_DSD = dsd.c dop.c dsd2pcm/dsd2pcm.c
SOURCES_FF = ffmpeg.c
@@ -45,7 +45,7 @@ LINK_PULSEAUDIO = -lpulse
LINK_SSL = -lssl -lcrypto
LINK_ALAC = -lalac
-LINKALL = -lmad -lmpg123 -lFLAC -lvorbisfile -lvorbis -logg
+LINKALL = -lmpg123 -lFLAC -lvorbisfile -lvorbis -logg
LINKALL_FF = -lavformat -lavcodec -lavutil
LINKALL_RESAMPLE = -lsoxr
LINKALL_IR = -llirc_client
--- a/decode.c
+++ b/decode.c
@@ -183,11 +183,7 @@ void decode_init(log_level level, const
if (!strstr(exclude_codecs, "pcm") && (!include_codecs || (order_codecs = strstr(include_codecs, "pcm"))))
sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_pcm());
- // try mad then mpg for mp3 unless command line option passed
- if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mad")) &&
- (!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mad"))))
- sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mad());
- else if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) &&
+ if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mpg")) &&
(!include_codecs || (order_codecs = strstr(include_codecs, "mp3")) || (order_codecs = strstr(include_codecs, "mpg"))))
sort_codecs((include_codecs ? order_codecs - include_codecs : i), register_mpg());
--- a/main.c
+++ b/main.c
@@ -51,7 +51,7 @@
#else
#define CODECS_DSD ""
#endif
-#define CODECS_MP3 " (mad,mpg for specific mp3 codec)"
+#define CODECS_MP3 ""
#define CODECS CODECS_BASE CODECS_AAC CODECS_FF CODECS_OPUS CODECS_DSD CODECS_MP3
--- a/squeezelite.h
+++ b/squeezelite.h
@@ -191,7 +191,6 @@
#if LINUX
#define LIBFLAC "libFLAC.so.8"
-#define LIBMAD "libmad.so.0"
#define LIBMPG "libmpg123.so.0"
#define LIBVORBIS "libvorbisfile.so.3"
#define LIBOPUS "libopusfile.so.0"
@@ -206,7 +205,6 @@
#if OSX
#define LIBFLAC "libFLAC.8.dylib"
-#define LIBMAD "libmad.0.dylib"
#define LIBMPG "libmpg123.0.dylib"
#define LIBVORBIS "libvorbisfile.3.dylib"
#define LIBTREMOR "libvorbisidec.1.dylib"
@@ -220,7 +218,6 @@
#if WIN
#define LIBFLAC "libFLAC.dll"
-#define LIBMAD "libmad-0.dll"
#define LIBMPG "libmpg123-0.dll"
#define LIBVORBIS "libvorbisfile.dll"
#define LIBOPUS "libopusfile-0.dll"
@@ -234,7 +231,6 @@
#if FREEBSD
#define LIBFLAC "libFLAC.so.8"
-#define LIBMAD "libmad.so.0"
#define LIBMPG "libmpg123.so.0"
#define LIBVORBIS "libvorbisfile.so.3"
#define LIBTREMOR "libvorbisidec.so.1"

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=conmon PKG_NAME:=conmon
PKG_VERSION:=2.1.0 PKG_VERSION:=2.1.5
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
PKG_HASH:=874909d831feac75e452562087f6ea0eb39848ef144397bdd8f0daf579c5ee85 PKG_HASH:=ee3179ee2b9a9107acec00eb546062cf7deb847f135a3b81503d22b0d226b3ed
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com> PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0

View file

@ -1,26 +1,11 @@
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -35,14 +35,6 @@ add_project_arguments('-Os', '-Wall', '- @@ -90,7 +90,7 @@ executable('conmon',
glib = dependency('glib-2.0')
-cc = meson.get_compiler('c')
-null_dep = dependency('', required : false)
-if cc.has_function('dlopen')
- libdl = null_dep
-else
- libdl = cc.find_library('dl')
-endif
-
executable('conmon',
['src/conmon.c',
'src/config.h',
@@ -78,7 +70,7 @@ executable('conmon',
'src/utils.h', 'src/utils.h',
'src/seccomp_notify.c', 'src/seccomp_notify.c',
'src/seccomp_notify.h'], 'src/seccomp_notify.h'],
- dependencies : [glib, libdl], - dependencies : [glib, libdl, sd_journal, seccomp],
+ dependencies : [glib], + dependencies : [glib, sd_journal, seccomp],
install : true, install : true,
install_dir : join_paths(get_option('libexecdir'), 'podman'), install_dir : join_paths(get_option('libexecdir'), 'podman'),
) )

View file

@ -1,14 +1,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=crun PKG_NAME:=crun
PKG_VERSION:=1.6 PKG_VERSION:=1.7.2
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/containers/crun.git PKG_SOURCE_URL:=https://github.com/containers/crun.git
PKG_SOURCE_DATE:=2022-09-07 PKG_SOURCE_DATE:=2023-01-11
PKG_SOURCE_VERSION:=18cf2efbb8feb2b2f20e316520e0fd0b6c41ef4d PKG_SOURCE_VERSION:=4e5bd755c12a86f2e36962964f3eab7b3516d3ac
PKG_MIRROR_HASH:=cd7d6fb4c58f73eff6060268d08a77404731f1cc913635add4a2e340d3c455af PKG_MIRROR_HASH:=8e6b0f3e9dde982601f562683f5c744b03e630681afaf9aaacaa4c89ccec23dc
PKG_BUILD_DEPENDS:=argp-standalone PKG_BUILD_DEPENDS:=argp-standalone
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1

View file

@ -1,14 +1,14 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=compose PKG_NAME:=compose
PKG_VERSION:=2.15.0 PKG_VERSION:=2.15.1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=v$(PKG_VERSION).tar.gz PKG_SOURCE:=v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}? PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}?
PKG_HASH:=da1e2b9760596dad690d5c6bc1a1c3868c67994836c2bb7e3ffbe9c811a9c580 PKG_HASH:=8ace5441826c6f07f5aa12c1864f73d30a362703492d9ed4b2e2314d3b353b1b
PKG_MAINTAINER:=Javier Marcet <javier@marcet.info> PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>