Erlang: bump version, recipe cleanup (#1225)

This commit is contained in:
miqlas
2017-03-20 18:59:04 +01:00
committed by Jérôme Duval
parent 83058c9c8d
commit b636f386aa
4 changed files with 278 additions and 215 deletions

View File

@@ -1,69 +0,0 @@
SUMMARY="The programming language Erlang/OTP"
DESCRIPTION="Erlang is a programming language used to build massively \
scalable soft real-time systems with requirements on high availability. \
Some of its uses are in telecoms, banking, e-commerce, computer telephony \
and instant messaging. Erlang's runtime system has built-in support for \
concurrency, distribution and fault tolerance."
HOMEPAGE="http://www.erlang.org"
COPYRIGHT="1997-2013 Ericsson AB"
LICENSE="EPL"
REVISION="1"
SOURCE_URI="http://www.erlang.org/download/otp_src_R16B03.tar.gz"
CHECKSUM_SHA256="6133b3410681a5c934e54c76eee1825f96dead8d6a12c31a64f6e160daf0bb06"
SOURCE_DIR="otp_src_R16B03"
PATCHES="erlang_R16B03_haiku.patch"
ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
erl = $portVersion
cmd:erl = $portVersion
cmd:ct_run = $portVersion
cmd:dialyzer = $portVersion
cmd:epmd = $portVersion
cmd:erlc = $portVersion
cmd:escript = $portVersion
cmd:run_erl = $portVersion
cmd:to_erl = $portVersion
cmd:typer = $portVersion
"
REQUIRES="
haiku
cmd:libtool
cmd:perl
cmd:gcc
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:perl
cmd:make
cmd:gcc
cmd:tar
cmd:uname
devel:libncurses
devel:libssl
devel:libcrypto
"
ERLANG_CFLAGS="-DETHR_X86_OUT_OF_ORDER -DHAVE_NET_IF_DL_H -DETHR_HAVE_ETHREAD_DEFINES -DETHR_PTHREADS -DETHR_SIZEOF_PTR=4 -DHAVE_CONFIG_H -D_BSD_SOURCE=1 -I../i586-pc-haiku -I../../i586-pc-haiku -I../include/internal -I../../include/internal -I../../emulator/sys/unix -I../../include/i586-pc-haiku -I../../emulator/beam -I../../../erts/include/internal/i586-pc-haiku -I../../../erts/i586-pc-haiku -Imisc -I../include -Iepmd -Iconnect -I../../../erts/emulator/beam -I../../../erts/include/i586-pc-haiku -I../../../../erts/emulator/beam -I../../../../erts/include/i586-pc-haiku -I../../../../erts/i586-pc-haiku"
BUILD()
{
rm -rf `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network
mkdir -p `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network
touch `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network/hostname
runConfigure --omit-dirs "docDir dataRootDir" configure --prefix="$prefix" --disable-ipv6 --disable-hipe LDFLAGS="-lnetwork"
echo "#undef ERTS_SMP" >> erts/i586-pc-haiku/config.h
echo "#undef USE_THREADS" >> erts/i586-pc-haiku/config.h
echo "Skip" > lib/megaco/SKIP
HOME=/boot/home make CFLAGS="$ERLANG_CFLAGS"
}
INSTALL()
{
HOME=/boot/home make CFLAGS="$ERLANG_CFLAGS" install
}

View File

@@ -0,0 +1,119 @@
SUMMARY="The programming language Erlang/OTP"
DESCRIPTION="Erlang is a programming language used to build massively \
scalable soft real-time systems with requirements on high availability. \
Some of its uses are in telecoms, banking, e-commerce, computer telephony \
and instant messaging. Erlang's runtime system has built-in support for \
concurrency, distribution and fault tolerance."
HOMEPAGE="http://www.erlang.org/"
COPYRIGHT="1997-2017 Ericsson AB"
LICENSE="EPL"
REVISION="1"
SOURCE_URI="http://www.erlang.org/download/otp_src_$portVersion.tar.gz"
CHECKSUM_SHA256="fe4a00651db39b8542b04530a48d24b2f2e7e0b77cbe93d728c9f05325bdfe83"
SOURCE_DIR="otp_src_$portVersion"
PATCHES="erlang-19.3.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
PROVIDES="
erlang = $portVersion
cmd:ct_run = $portVersion
cmd:dialyzer = $portVersion
cmd:epmd = $portVersion
cmd:erl = $portVersion
cmd:erlc = $portVersion
cmd:escript = $portVersion
cmd:run_erl = $portVersion
cmd:to_erl = $portVersion
cmd:typer = $portVersion
"
REQUIRES="
haiku
cmd:libtool
cmd:gcc
cmd:perl
#cmd:wx_config
lib:libcrypto
lib:libgl
lib:libglu
lib:libncurses
lib:libssl
lib:libz
"
BUILD_REQUIRES="
haiku_devel
devel:libcrypto
devel:libgl
devel:libglu
devel:libncurses
devel:libssl
devel:libz
"
BUILD_PREREQUIRES="
cmd:bison
cmd:flex
cmd:gcc
cmd:make
cmd:perl
cmd:pkg_config
cmd:tar
cmd:uname
#cmd:wx_config
cmd:yacc
"
ERLANG_CFLAGS="-DETHR_X86_OUT_OF_ORDER \
-DHAVE_NET_IF_DL_H \
-DETHR_HAVE_ETHREAD_DEFINES \
-DETHR_PTHREADS \
-DETHR_SIZEOF_PTR=4 \
-DHAVE_CONFIG_H \
-D_BSD_SOURCE=1 \
-I../${effectiveTargetMachineTriple} \
-I../../${effectiveTargetMachineTriple} \
-I../include/internal \
-I../../include/internal \
-I../../emulator/sys/unix \
-I../../include/${effectiveTargetMachineTriple} \
-I../../emulator/beam \
-I../../../erts/include/internal/${effectiveTargetMachineTriple} \
-I../../../erts/${effectiveTargetMachineTriple} \
-Imisc \
-I../include \
-Iepmd \
-Iconnect \
-I../../../erts/emulator/beam \
-I../../../erts/include/${effectiveTargetMachineTriple} \
-I../../../../erts/emulator/beam \
-I../../../../erts/include/${effectiveTargetMachineTriple} \
-I../../../../erts/${effectiveTargetMachineTriple}"
BUILD()
{
rm -rf `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network
mkdir -p `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network
touch `finddir B_SYSTEM_SETTINGS_DIRECTORY`/network/hostname
runConfigure --omit-dirs "docDir dataRootDir" configure \
--prefix="$prefix" \
--disable-ipv6 \
--enable-dynamic-ssl-lib \
--with-ssl="`finddir B_SYSTEM_DEVELOP_DIRECTORY`" \
--disable-hipe \
--enable-threads \
CFLAGS="-I`finddir B_SYSTEM_HEADERS_DIRECTORY`" \
LDFLAGS="-lnetwork"
echo "#undef ERTS_SMP" >> erts/${effectiveTargetMachineTriple}/config.h
echo "#undef USE_THREADS" >> erts/${effectiveTargetMachineTriple}/config.h
echo "Skip" > lib/megaco/SKIP
HOME=$HOME make CFLAGS="$ERLANG_CFLAGS"
}
INSTALL()
{
HOME=$HOME make CFLAGS="$ERLANG_CFLAGS" install
}

View File

@@ -0,0 +1,159 @@
From c547fa95eaca6428dbd26630c92584834240da82 Mon Sep 17 00:00:00 2001
From: Calvin Hill <calvin@hakobaito.co.uk>
Date: Mon, 27 Feb 2017 14:21:40 +0000
Subject: [PATCH] Haiku fixes
---
erts/configure | 8 +++++---
erts/emulator/sys/unix/sys.c | 2 +-
erts/epmd/src/Makefile.in | 2 +-
erts/etc/common/Makefile.in | 2 +-
erts/etc/common/erlexec.c | 2 +-
erts/include/internal/ethread.h | 4 +---
erts/include/internal/i386/ethr_dw_atomic.h | 2 ++
lib/asn1/c_src/Makefile | 2 +-
lib/erl_interface/src/connect/ei_connect.c | 2 ++
9 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/erts/configure b/erts/configure
index 88643b7..2d083d3 100755
--- a/erts/configure
+++ b/erts/configure
@@ -6868,7 +6868,7 @@ if test "${ac_cv_lib_m_sin+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
+LIBS=" $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -6931,7 +6931,7 @@ if test $ac_cv_lib_m_sin = yes; then
#define HAVE_LIBM 1
_ACEOF
- LIBS="-lm $LIBS"
+ LIBS=" $LIBS"
fi
@@ -21553,7 +21553,9 @@ _ACEOF
if test "$gcc_dw_cmpxchg_asm" = "yes"; then
cat >>confdefs.h <<\_ACEOF
-#define ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT 1
+#undef ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT
+#undef ERTS_SMP
+#undef USE_THREADS
_ACEOF
fi;;
diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c
index 4b2edac..07b1582 100644
--- a/erts/emulator/sys/unix/sys.c
+++ b/erts/emulator/sys/unix/sys.c
@@ -611,7 +611,7 @@ prepare_crash_dump(int secs)
if (nice_val > 39) {
nice_val = 39;
}
- erts_silence_warn_unused_result(nice(nice_val));
+ erts_silence_warn_unused_result(nice_val);
}
UnUseTmpHeapNoproc(NUFBUF);
diff --git a/erts/epmd/src/Makefile.in b/erts/epmd/src/Makefile.in
index da4370d..d72a002 100644
--- a/erts/epmd/src/Makefile.in
+++ b/erts/epmd/src/Makefile.in
@@ -56,7 +56,7 @@ else
ifeq ($(findstring vxworks,$(TARGET)),vxworks)
ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
else
-ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ -lm
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
endif
endif
diff --git a/erts/etc/common/Makefile.in b/erts/etc/common/Makefile.in
index cb053a1..a018799 100644
--- a/erts/etc/common/Makefile.in
+++ b/erts/etc/common/Makefile.in
@@ -99,7 +99,7 @@ endif
ifeq ($(TARGET),win32)
ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal_r$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
else
-ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ -lm
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
endif
ERTS_LIB = $(ERL_TOP)/erts/lib_src/obj/$(TARGET)/$(TYPE)/MADE
diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c
index 2b2e0e4..b27fba4 100644
--- a/erts/etc/common/erlexec.c
+++ b/erts/etc/common/erlexec.c
@@ -2049,7 +2049,7 @@ initial_argv_massage(int *argc, char ***argv)
vix = 0;
- av = build_args_from_env("ERL_OTP" OTP_SYSTEM_VERSION "_FLAGS");
+ av = build_args_from_env("ERL_HAIKU_FLAGS");
if (av)
avv[vix++].argv = av;
diff --git a/erts/include/internal/ethread.h b/erts/include/internal/ethread.h
index b23644d..343b9ef 100644
--- a/erts/include/internal/ethread.h
+++ b/erts/include/internal/ethread.h
@@ -27,9 +27,7 @@
#ifndef ETHREAD_H__
#define ETHREAD_H__
-#ifndef ETHR_HAVE_ETHREAD_DEFINES
-# include "ethread_header_config.h"
-#endif
+#include "ethread_header_config.h"
#include <stdlib.h>
#include "ethread_inline.h"
diff --git a/erts/include/internal/i386/ethr_dw_atomic.h b/erts/include/internal/i386/ethr_dw_atomic.h
index 91acdb0..83bfb2a 100644
--- a/erts/include/internal/i386/ethr_dw_atomic.h
+++ b/erts/include/internal/i386/ethr_dw_atomic.h
@@ -26,6 +26,8 @@
#ifndef ETHR_X86_DW_ATOMIC_H__
#define ETHR_X86_DW_ATOMIC_H__
+#include "ethread_header_config.h"
+
#ifdef ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT
#define ETHR_HAVE_NATIVE_DW_ATOMIC
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
index 1f714df..cb606fd 100644
--- a/lib/asn1/c_src/Makefile
+++ b/lib/asn1/c_src/Makefile
@@ -71,7 +71,7 @@ LN=cp
else
NIF_SHARED_OBJ_FILE = $(LIBDIR)/asn1rt_nif.so
NIF_LIB_FILE = $(LIBDIR)/asn1rt_nif.a
-CLIB_FLAGS = -lc
+CLIB_FLAGS =
LN= ln -s
endif
diff --git a/lib/erl_interface/src/connect/ei_connect.c b/lib/erl_interface/src/connect/ei_connect.c
index c193fd8..8c7218b 100644
--- a/lib/erl_interface/src/connect/ei_connect.c
+++ b/lib/erl_interface/src/connect/ei_connect.c
@@ -1150,6 +1150,8 @@ static unsigned int gen_challenge(void)
#else /* some unix */
+int gethostid() { return 108; }
+
static unsigned int gen_challenge(void)
{
struct {
--
2.2.2

View File

@@ -1,146 +0,0 @@
diff --git otp_src_R16B03/erts/configure otp_src_R16B03-haiku/erts/configure
--- otp_src_R16B03/erts/configure
+++ otp_src_R16B03-haiku/erts/configure
@@ -6648,7 +6648,7 @@ if test "${ac_cv_lib_m_sin+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
+LIBS=" $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
@@ -6711,7 +6711,7 @@ if test $ac_cv_lib_m_sin = yes; then
#define HAVE_LIBM 1
_ACEOF
- LIBS="-lm $LIBS"
+ LIBS=" $LIBS"
fi
@@ -17872,7 +17872,9 @@ echo "${ECHO_T}$gcc_dw_cmpxchg_asm" >&6
if test "$gcc_dw_cmpxchg_asm" = "yes"; then
cat >>confdefs.h <<\_ACEOF
-#define ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT 1
+#undef ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT
+#undef ERTS_SMP
+#undef USE_THREADS
_ACEOF
fi;;
diff --git otp_src_R16B03/erts/emulator/sys/unix/sys.c otp_src_R16B03-haiku/erts/emulator/sys/unix/sys.c
--- otp_src_R16B03/erts/emulator/sys/unix/sys.c
+++ otp_src_R16B03-haiku/erts/emulator/sys/unix/sys.c
@@ -767,7 +767,7 @@ prepare_crash_dump(int secs)
if (nice_val > 39) {
nice_val = 39;
}
- erts_silence_warn_unused_result(nice(nice_val));
+ erts_silence_warn_unused_result(nice_val);
}
UnUseTmpHeapNoproc(NUFBUF);
diff --git otp_src_R16B03/erts/epmd/src/Makefile.in otp_src_R16B03-haiku/erts/epmd/src/Makefile.in
--- otp_src_R16B03/erts/epmd/src/Makefile.in
+++ otp_src_R16B03-haiku/erts/epmd/src/Makefile.in
@@ -64,7 +64,7 @@ else
ifeq ($(findstring vxworks,$(TARGET)),vxworks)
ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
else
-ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ -lm
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
endif
endif
diff --git otp_src_R16B03/erts/etc/common/Makefile.in otp_src_R16B03-haiku/erts/etc/common/Makefile.in
--- otp_src_R16B03/erts/etc/common/Makefile.in
+++ otp_src_R16B03-haiku/erts/etc/common/Makefile.in
@@ -91,7 +91,7 @@ endif
ifeq ($(TARGET),win32)
ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal_r$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
else
-ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@ -lm
+ERTS_INTERNAL_LIBS=-L../../lib/internal/$(TARGET) -lerts_internal$(ERTS_LIB_TYPEMARKER) @ERTS_INTERNAL_X_LIBS@
endif
ERTS_LIB = $(ERL_TOP)/erts/lib_src/obj/$(TARGET)/$(TYPE)/MADE
diff --git otp_src_R16B03/erts/etc/common/erlexec.c otp_src_R16B03-haiku/erts/etc/common/erlexec.c
--- otp_src_R16B03/erts/etc/common/erlexec.c
+++ otp_src_R16B03-haiku/erts/etc/common/erlexec.c
@@ -1989,7 +1989,7 @@ initial_argv_massage(int *argc, char ***argv)
vix = 0;
- av = build_args_from_env("ERL_" OTP_SYSTEM_VERSION "_FLAGS");
+ av = build_args_from_env("ERL_HAIKU_FLAGS");
if (av)
avv[vix++].argv = av;
diff --git otp_src_R16B03/erts/include/internal/ethread.h otp_src_R16B03-haiku/erts/include/internal/ethread.h
--- otp_src_R16B03/erts/include/internal/ethread.h
+++ otp_src_R16B03-haiku/erts/include/internal/ethread.h
@@ -26,9 +26,7 @@
#ifndef ETHREAD_H__
#define ETHREAD_H__
-#ifndef ETHR_HAVE_ETHREAD_DEFINES
-# include "ethread_header_config.h"
-#endif
+#include "ethread_header_config.h"
#include <stdlib.h>
#include "erl_errno.h"
diff --git otp_src_R16B03/erts/include/internal/i386/ethr_dw_atomic.h otp_src_R16B03-haiku/erts/include/internal/i386/ethr_dw_atomic.h
--- otp_src_R16B03/erts/include/internal/i386/ethr_dw_atomic.h
+++ otp_src_R16B03-haiku/erts/include/internal/i386/ethr_dw_atomic.h
@@ -25,6 +25,8 @@
#ifndef ETHR_X86_DW_ATOMIC_H__
#define ETHR_X86_DW_ATOMIC_H__
+#include "ethread_header_config.h"
+
#ifdef ETHR_GCC_HAVE_DW_CMPXCHG_ASM_SUPPORT
#define ETHR_HAVE_NATIVE_DW_ATOMIC
diff --git otp_src_R16B03/lib/asn1/c_src/Makefile otp_src_R16B03-haiku/lib/asn1/c_src/Makefile
--- otp_src_R16B03/lib/asn1/c_src/Makefile
+++ otp_src_R16B03-haiku/lib/asn1/c_src/Makefile
@@ -67,7 +67,7 @@ CLIB_FLAGS =
LN=cp
else
NIF_SHARED_OBJ_FILE = $(LIBDIR)/asn1_erl_nif.so
-CLIB_FLAGS = -lc
+CLIB_FLAGS =
LN= ln -s
endif
diff --git otp_src_R16B03/lib/runtime_tools/c_src/Makefile.in otp_src_R16B03-haiku/lib/runtime_tools/c_src/Makefile.in
--- otp_src_R16B03/lib/runtime_tools/c_src/Makefile.in
+++ otp_src_R16B03-haiku/lib/runtime_tools/c_src/Makefile.in
@@ -149,10 +149,10 @@ $(OBJDIR)/%.o: %.c
$(V_CC) -c -o $@ $(ALL_CFLAGS) $<
$(LIBDIR)/trace_ip_drv.so: $(TRACE_IP_DRV_OBJS)
- $(V_LD) $(LDFLAGS) -o $@ $^ -lc $(LIBS)
+ $(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS)
$(LIBDIR)/trace_file_drv.so: $(TRACE_FILE_DRV_OBJS)
- $(V_LD) $(LDFLAGS) -o $@ $^ -lc $(LIBS)
+ $(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS)
$(LIBDIR)/trace_ip_drv.dll: $(TRACE_IP_DRV_OBJS)
$(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS)
diff --git otp_src_R16B03/lib/erl_interface/src/connect/ei_connect.c otp_src_R16B03-haiku/lib/erl_interface/src/connect/ei_connect.c
--- otp_src_R16B03/lib/erl_interface/src/connect/ei_connect.c
+++ otp_src_R16B03-haiku/lib/erl_interface/src/connect/ei_connect.c
@@ -1149,6 +1149,8 @@ static unsigned int gen_challenge(void)
#else /* some unix */
+int gethostid() { return 108; }
+
static unsigned int gen_challenge(void)
{
struct {