diff --git a/lang/erlang/Makefile b/lang/erlang/Makefile index 2423f374dd..47c8b1198b 100644 --- a/lang/erlang/Makefile +++ b/lang/erlang/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=erlang PKG_VERSION:=17.5 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= http://www.erlang.org/download/ \ @@ -232,6 +232,8 @@ HOST_CONFIGURE_ARGS += \ --disable-smp-support \ --without-javac +HOST_CFLAGS += -D_GNU_SOURCE + define Host/Compile $(MAKE) -C $(HOST_BUILD_DIR) all endef @@ -257,6 +259,7 @@ CONFIGURE_VARS += \ erl_xcomp_getaddrinfo=no \ erl_xcomp_sysroot="$(STAGING_DIR)" +EXTRA_CFLAGS+=-D_GNU_SOURCE EXTRA_LDFLAGS+=-lz define Build/Compile diff --git a/lang/erlang/patches/102-musl_compat.patch b/lang/erlang/patches/102-musl_compat.patch new file mode 100644 index 0000000000..d23900ed2f --- /dev/null +++ b/lang/erlang/patches/102-musl_compat.patch @@ -0,0 +1,11 @@ +--- a/lib/erl_interface/src/connect/ei_resolve.c ++++ b/lib/erl_interface/src/connect/ei_resolve.c +@@ -642,7 +642,7 @@ struct hostent *ei_gethostbyname_r(const + #ifndef HAVE_GETHOSTBYNAME_R + return my_gethostbyname_r(name,hostp,buffer,buflen,h_errnop); + #else +-#if (defined(__GLIBC__) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__)) ++#if (defined(_GNU_SOURCE) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__)) + struct hostent *result; + + gethostbyname_r(name, hostp, buffer, buflen, &result, h_errnop);