diff --git a/dev-lang/erlang/erlang-16.03.recipe b/dev-lang/erlang/erlang-16.03.recipe deleted file mode 100644 index 777b1dd0c..000000000 --- a/dev-lang/erlang/erlang-16.03.recipe +++ /dev/null @@ -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 -} diff --git a/dev-lang/erlang/erlang-19.3.recipe b/dev-lang/erlang/erlang-19.3.recipe new file mode 100644 index 000000000..b8b7afd72 --- /dev/null +++ b/dev-lang/erlang/erlang-19.3.recipe @@ -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 +} diff --git a/dev-lang/erlang/patches/erlang-19.3.patchset b/dev-lang/erlang/patches/erlang-19.3.patchset new file mode 100644 index 000000000..44e070083 --- /dev/null +++ b/dev-lang/erlang/patches/erlang-19.3.patchset @@ -0,0 +1,159 @@ +From c547fa95eaca6428dbd26630c92584834240da82 Mon Sep 17 00:00:00 2001 +From: Calvin Hill +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 + #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 + diff --git a/dev-lang/erlang/patches/erlang_R16B03_haiku.patch b/dev-lang/erlang/patches/erlang_R16B03_haiku.patch deleted file mode 100644 index 9e59e87ac..000000000 --- a/dev-lang/erlang/patches/erlang_R16B03_haiku.patch +++ /dev/null @@ -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 - #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 {