* Updates lang/erlang/25 to latest release 25.3.1
* Includes a patch to support cpu_sup:util/0,1 on OpenBSD
(already accepted upstream for erlang 26)
* Fixes substitution of erl-interface-x.y.z in PLIST
Tests pass, with one skipped test less.
devel/rebar3, lang/elixir, net/rabbitmq and lang/gleam still build, the
results work. As does the proposed port of lang/lfe for what it's
worth.
Tested on amd64.
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/erlang/25/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile 8 Mar 2023 07:54:04 -0000 1.15
+++ Makefile 27 Apr 2023 18:27:45 -0000
@@ -3,7 +3,7 @@ BROKEN-alpha= beam/erl_process.c:6692: i
COMMENT-main= ${COMMENT}
COMMENT-wx= WxWidgets bindings for Erlang
-V= 25.2.3
+V= 25.3.1
PORTROACH= limit:^OTP-25\.
DISTNAME= otp_src_$V
PKGNAME= erlang-$V
@@ -62,43 +62,42 @@ AUTOCONF_VERSION = 2.69
# Use the target 'gen-versions' to update this list
ERL_VERSIONS= \
ASN1_VSN 5.0.21 \
-COMMON_TEST_VSN 1.23.3 \
-COMPILER_VSN 8.2.3 \
-CRYPTO_VSN 5.1.2 \
-DEBUGGER_VSN 5.3 \
-DIALYZER_VSN 5.0.4 \
+COMMON_TEST_VSN 1.24 \
+COMPILER_VSN 8.2.5 \
+CRYPTO_VSN 5.1.4 \
+DEBUGGER_VSN 5.3.1 \
+DIALYZER_VSN 5.0.5 \
DIAMETER_VSN 2.2.7 \
EDOC_VSN 1.2 \
-EI_VSN 5.3 \
-ELDAP_VSN 1.2.10 \
+EI_VSN 5.3.2 \
+ELDAP_VSN 1.2.11 \
EMACS_VSN 2.7.0 \
ERL_DOCGEN_VSN 1.4 \
-ERL_INTERFACE_VSN 5.3 \
ET_VSN 1.6.5 \
-EUNIT_VSN 2.8.1 \
-FTP_VSN 1.1.3 \
-INETS_VSN 8.2.2 \
+EUNIT_VSN 2.8.2 \
+FTP_VSN 1.1.4 \
+INETS_VSN 8.3.1 \
JINTERFACE_VSN 1.13.1 \
-KERNEL_VSN 8.5.3 \
-MEGACO_VSN 4.4.2 \
-MNESIA_VSN 4.21.3 \
+KERNEL_VSN 8.5.4 \
+MEGACO_VSN 4.4.3 \
+MNESIA_VSN 4.21.4 \
OBSERVER_VSN 2.14 \
ODBC_VSN 2.14 \
-OS_MON_VSN 2.8 \
+OS_MON_VSN 2.8.1 \
PARSETOOLS_VSN 2.4.1 \
-PUBLIC_KEY_VSN 1.13.2 \
-RELTOOL_VSN 0.9 \
+PUBLIC_KEY_VSN 1.13.3 \
+RELTOOL_VSN 0.9.1 \
RUNTIME_TOOLS_VSN 1.19 \
SASL_VSN 4.2 \
-SNMP_VSN 5.13.3 \
-SSH_VSN 4.15.2 \
-SSL_VSN 10.8.7 \
-STDLIB_VSN 4.2 \
-SYNTAX_TOOLS_VSN 3.0 \
-TFTP_VSN 1.0.3 \
+SNMP_VSN 5.13.5 \
+SSH_VSN 4.15.3 \
+SSL_VSN 10.9.1 \
+STDLIB_VSN 4.3.1 \
+SYNTAX_TOOLS_VSN 3.0.1 \
+TFTP_VSN 1.0.4 \
TOOLS_VSN 3.5.3 \
-WX_VSN 2.2.1 \
-XMERL_VSN 1.3.30 \
-ERTS_VSN 13.1.5
+WX_VSN 2.2.2 \
+XMERL_VSN 1.3.31 \
+ERTS_VSN 13.2.1
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/erlang/25/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo 8 Mar 2023 07:54:04 -0000 1.8
+++ distinfo 27 Apr 2023 18:27:45 -0000
@@ -1,4 +1,4 @@
-SHA256 (otp_doc_man_25.2.3.tar.gz) = q+jMCtDoDX8UZvhifJwldxXf9J4LVr4wZ1WlyxbsDbk=
-SHA256 (otp_src_25.2.3.tar.gz) = 9NnxHWe6R4oFPXLmNaRHIql1YD/hKEBj/fOCdjZrxhw=
-SIZE (otp_doc_man_25.2.3.tar.gz) = 1714826
-SIZE (otp_src_25.2.3.tar.gz) = 103742539
+SHA256 (otp_doc_man_25.3.1.tar.gz) = USA4+AskEiB9Z4LFD0/XGPMjP5aEwoaXqDFzDO3QcV0=
+SHA256 (otp_src_25.3.1.tar.gz) = HV5Ll6fPoK+oeHrmCmZCaAb1WJcIXd4f1VOsLbOaYII=
+SIZE (otp_doc_man_25.3.1.tar.gz) = 1717621
+SIZE (otp_src_25.3.1.tar.gz) = 103754764
Index: patches/patch-lib_os_mon_c_src_cpu_sup_c
===================================================================
RCS file: patches/patch-lib_os_mon_c_src_cpu_sup_c
diff -N patches/patch-lib_os_mon_c_src_cpu_sup_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_os_mon_c_src_cpu_sup_c 27 Apr 2023 18:27:45 -0000
@@ -0,0 +1,133 @@
+Backport https://github.com/erlang/otp/commit/e7a1067112f47a860b6974882fdbd19e52b7c372
+Index: lib/os_mon/c_src/cpu_sup.c
+--- lib/os_mon/c_src/cpu_sup.c.orig
++++ lib/os_mon/c_src/cpu_sup.c
+@@ -87,6 +87,11 @@ typedef struct {
+ #define CU_BSD_VALUES (6)
+ #endif
+
++#if defined(__OpenBSD__)
++#include <sys/types.h>
++#include <sys/sched.h>
++#define CU_OPENBSD_VALUES (6)
++#endif
+
+ #define FD_IN (0)
+ #define FD_OUT (1)
+@@ -178,12 +183,17 @@ static int processors_online() {
+ void getsysctl(const char *, void *, size_t);
+ #endif
+
++#if defined(__OpenBSD__)
++static int getncpu(void);
++static int getncpuonline(void);
++#endif
++
+ int main(int argc, char** argv) {
+ char cmd;
+ int rc;
+ int sz;
+ unsigned int *rv;
+-#if defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) ||defined(__FreeBSD__)
++#if defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) ||defined(__FreeBSD__) ||defined(__OpenBSD__)
+ unsigned int no_of_cpus = 0;
+ #endif
+
+@@ -207,6 +217,15 @@ int main(int argc, char** argv) {
+ }
+ #endif
+
++#if defined(__OpenBSD__)
++ no_of_cpus = getncpu();
++ if ( no_of_cpus == -1 )
++ error("cpu_sup: sysctl error");
++
++ if ( (rv = (unsigned int*)malloc(sizeof(unsigned int)*(2 + 2*no_of_cpus*CU_OPENBSD_VALUES))) == NULL)
++ error("cpu_sup: malloc error");
++#endif
++
+ #if defined(__FreeBSD__)
+ getsysctl("hw.ncpu", &no_of_cpus, sizeof(int));
+ if ( (rv = (unsigned int*)malloc(sizeof(unsigned int)*(2 + 2*no_of_cpus*CU_BSD_VALUES))) == NULL) {
+@@ -244,7 +263,7 @@ int main(int argc, char** argv) {
+ case AVG5: bsd_loadavg(1); break;
+ case AVG15: bsd_loadavg(2); break;
+ #endif
+-#if defined(__sun__) || defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__)
++#if defined(__sun__) || defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ case UTIL: util_measure(&rv,&sz); sendv(rv, sz); break;
+ #endif
+ case QUIT: free((void*)rv); return 0;
+@@ -709,6 +728,72 @@ static void util_measure(unsigned int **result_vec, in
+ }
+
+ *result_sz = 2 + 2*CU_BSD_VALUES * no_of_cpus;
++}
++#endif
++
++/* ---------------------------- *
++ * OpenBSD stat functions *
++ * ---------------------------- */
++
++#if defined(__OpenBSD__)
++static int getncpu(void) {
++ const int mib[] = { CTL_HW, HW_NCPU };
++ int numcpu;
++ size_t size = sizeof(numcpu);
++
++ if (sysctl(mib, sizeof(mib)/sizeof(mib[0]), &numcpu, &size, NULL, 0) == -1)
++ error("cpu_sup: sysctl error");
++
++ return(numcpu);
++}
++
++static int getncpuonline(void) {
++ const int mib[] = { CTL_HW, HW_NCPUONLINE };
++ int numcpu;
++ size_t size = sizeof(numcpu);
++
++ if (sysctl(mib, sizeof(mib)/sizeof(mib[0]), &numcpu, &size, NULL, 0) == -1)
++ error("cpu_sup: sysctl error");
++
++ return(numcpu);
++}
++
++static void util_measure(unsigned int **result_vec, int *result_sz) {
++ static int mib[] = { CTL_KERN, KERN_CPTIME2, 0 };
++ size_t size_cpu_times;
++ int64_t *cpu_times;
++ unsigned int *rv = NULL;
++ int i;
++ int ncpuonline = getncpuonline();
++
++ rv = *result_vec;
++ rv[0] = ncpuonline;
++ rv[1] = CU_OPENBSD_VALUES;
++ ++rv; /* first value is number of cpus */
++ ++rv; /* second value is number of entries */
++
++ size_cpu_times = sizeof(int64_t) * CPUSTATES;
++ cpu_times = malloc(size_cpu_times);
++ if (!cpu_times)
++ error("cpu_sup: malloc error");
++
++
++ for (i = 0; i < ncpuonline; ++i) {
++ mib[2] = i;
++ if (sysctl(mib, sizeof(mib)/sizeof(mib[0]), cpu_times, &size_cpu_times, NULL, 0) == -1)
++ error("cpu_sup: sysctl error");
++
++ rv[ 0] = CU_CPU_ID; rv[ 1] = i;
++ rv[ 2] = CU_USER; rv[ 3] = (unsigned int)cpu_times[CP_USER];
++ rv[ 4] = CU_NICE_USER; rv[ 5] = (unsigned int)cpu_times[CP_NICE];
++ rv[ 6] = CU_KERNEL; rv[ 7] = (unsigned int)cpu_times[CP_SYS];
++ rv[ 8] = CU_IDLE; rv[ 9] = (unsigned int)cpu_times[CP_IDLE];
++ rv[10] = CU_HARD_IRQ; rv[11] = (unsigned int)cpu_times[CP_INTR];
++ rv += CU_OPENBSD_VALUES*2;
++ }
++ free((void*) cpu_times);
++
++ *result_sz = 2 + 2*CU_OPENBSD_VALUES * ncpuonline;
+ }
+ #endif
+
Index: patches/patch-lib_os_mon_src_cpu_sup_erl
===================================================================
RCS file: patches/patch-lib_os_mon_src_cpu_sup_erl
diff -N patches/patch-lib_os_mon_src_cpu_sup_erl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_os_mon_src_cpu_sup_erl 27 Apr 2023 18:27:45 -0000
@@ -0,0 +1,12 @@
+Backport https://github.com/erlang/otp/commit/e7a1067112f47a860b6974882fdbd19e52b7c372
+Index: lib/os_mon/src/cpu_sup.erl
+--- lib/os_mon/src/cpu_sup.erl.orig
++++ lib/os_mon/src/cpu_sup.erl
+@@ -163,6 +163,7 @@ handle_call({?util, D, PC}, {Client, _Tag},
+ when Flavor == sunos;
+ Flavor == linux;
+ Flavor == freebsd;
++ Flavor == openbsd;
+ Flavor == darwin ->
+ case measurement_server_call(State#state.server, {?util, D, PC, Client}) of
+ {error, Reason} ->
Index: patches/patch-lib_os_mon_test_cpu_sup_SUITE_erl
===================================================================
RCS file: patches/patch-lib_os_mon_test_cpu_sup_SUITE_erl
diff -N patches/patch-lib_os_mon_test_cpu_sup_SUITE_erl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_os_mon_test_cpu_sup_SUITE_erl 27 Apr 2023 18:27:45 -0000
@@ -0,0 +1,13 @@
+Backport https://github.com/erlang/otp/commit/e7a1067112f47a860b6974882fdbd19e52b7c372
+Index: lib/os_mon/test/cpu_sup_SUITE.erl
+--- lib/os_mon/test/cpu_sup_SUITE.erl.orig
++++ lib/os_mon/test/cpu_sup_SUITE.erl
+@@ -61,6 +61,8 @@ all() ->
+ [load_api, util_api, util_values, port, unavailable];
+ {unix, linux} ->
+ [load_api, util_api, util_values, port, unavailable];
++ {unix, openbsd} ->
++ [load_api, util_api, util_values, port, unavailable];
+ {unix, freebsd} ->
+ [load_api, util_api, util_values, port, unavailable];
+ {unix, darwin} ->
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/lang/erlang/25/pkg/PLIST-main,v
retrieving revision 1.8
diff -u -p -r1.8 PLIST-main
--- pkg/PLIST-main 8 Mar 2023 07:54:04 -0000 1.8
+++ pkg/PLIST-main 27 Apr 2023 18:27:45 -0000
@@ -1,6 +1,6 @@
@option no-default-conflict
@option is-branch
-@conflict erlang-wx->=25,<25.2.3
+@conflict erlang-wx->=25,<25.3.1
@pkgpath lang/erlang/21,-main
@newgroup _epmd:888
@newuser _epmd:888:_epmd::Erlang EPMD Account:/var/empty:/sbin/nologin
@@ -1026,130 +1026,130 @@ lib/${ERLANG_V}/lib/${ERL_ERL_DOCGEN}/sr
lib/${ERLANG_V}/lib/${ERL_ERL_DOCGEN}/src/docgen_otp_specs.erl
lib/${ERLANG_V}/lib/${ERL_ERL_DOCGEN}/src/docgen_xmerl_xml_cb.erl
lib/${ERLANG_V}/lib/${ERL_ERL_DOCGEN}/src/docgen_xml_to_chunk.erl
-lib/${ERLANG_V}/lib/erl_interface-5.3/
-lib/${ERLANG_V}/lib/erl_interface-5.3/bin/
-@bin lib/${ERLANG_V}/lib/erl_interface-5.3/bin/erl_call
-lib/${ERLANG_V}/lib/erl_interface-5.3/doc/
-lib/${ERLANG_V}/lib/erl_interface-5.3/ebin/
-lib/${ERLANG_V}/lib/erl_interface-5.3/ebin/erl_interface.app
-lib/${ERLANG_V}/lib/erl_interface-5.3/ebin/erl_interface.appup
-lib/${ERLANG_V}/lib/erl_interface-5.3/include/
-lib/${ERLANG_V}/lib/erl_interface-5.3/include/ei.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/include/ei_connect.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/include/eicode.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/info
-lib/${ERLANG_V}/lib/erl_interface-5.3/lib/
-@static-lib lib/${ERLANG_V}/lib/erl_interface-5.3/lib/libei.a
-@static-lib lib/${ERLANG_V}/lib/erl_interface-5.3/lib/libei_st.a
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/INSTALL
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/Makefile
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/Makefile.in
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/README
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/README.internal
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/auxdir/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/ei_connect.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/ei_connect_int.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/ei_resolve.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/ei_resolve.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/eirecv.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/eirecv.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/eisend.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/send.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/send_exit.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/connect/send_reg.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_atom.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_big.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_bignum.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_binary.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_boolean.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_char.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_double.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_fun.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_intlist.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_iodata.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_list_header.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_long.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_longlong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_pid.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_port.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_ref.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_skip.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_skip.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_string.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_trace.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_tuple_header.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_ulong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_ulonglong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/decode/decode_version.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/eidefs.mk
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/eicode.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_atom.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_big.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_bignum.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_binary.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_boolean.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_char.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_double.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_fun.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_list_header.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_long.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_longlong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_pid.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_port.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_ref.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_string.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_trace.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_tuple_header.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_ulong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_ulonglong.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/encode/encode_version.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/epmd/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/epmd/ei_epmd.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/epmd/epmd_port.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/epmd/epmd_publish.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/epmd/epmd_unpublish.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/global/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/global/global_names.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/global/global_register.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/global/global_unregister.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/global/global_whereis.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_cmp_nc.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_compat.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_decode_term.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_decode_term.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_format.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_format.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_init.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_internal.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_locking.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_locking.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_malloc.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_malloc.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_portio.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_portio.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_printterm.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_printterm.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_pthreads.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_trace.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_trace.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_x_encode.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/ei_x_encode.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/eidef.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/eiext.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/eimd5.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/eimd5.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/get_type.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/putget.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/show_msg.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/misc/show_msg.h
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/prog/
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/prog/ei_fake_prog.c
-lib/${ERLANG_V}/lib/erl_interface-5.3/src/prog/erl_call.c
+lib/${ERLANG_V}/lib/${ERL_EI}/
+lib/${ERLANG_V}/lib/${ERL_EI}/bin/
+@bin lib/${ERLANG_V}/lib/${ERL_EI}/bin/erl_call
+lib/${ERLANG_V}/lib/${ERL_EI}/doc/
+lib/${ERLANG_V}/lib/${ERL_EI}/ebin/
+lib/${ERLANG_V}/lib/${ERL_EI}/ebin/erl_interface.app
+lib/${ERLANG_V}/lib/${ERL_EI}/ebin/erl_interface.appup
+lib/${ERLANG_V}/lib/${ERL_EI}/include/
+lib/${ERLANG_V}/lib/${ERL_EI}/include/ei.h
+lib/${ERLANG_V}/lib/${ERL_EI}/include/ei_connect.h
+lib/${ERLANG_V}/lib/${ERL_EI}/include/eicode.h
+lib/${ERLANG_V}/lib/${ERL_EI}/info
+lib/${ERLANG_V}/lib/${ERL_EI}/lib/
+@static-lib lib/${ERLANG_V}/lib/${ERL_EI}/lib/libei.a
+@static-lib lib/${ERLANG_V}/lib/${ERL_EI}/lib/libei_st.a
+lib/${ERLANG_V}/lib/${ERL_EI}/src/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/INSTALL
+lib/${ERLANG_V}/lib/${ERL_EI}/src/Makefile
+lib/${ERLANG_V}/lib/${ERL_EI}/src/Makefile.in
+lib/${ERLANG_V}/lib/${ERL_EI}/src/README
+lib/${ERLANG_V}/lib/${ERL_EI}/src/README.internal
+lib/${ERLANG_V}/lib/${ERL_EI}/src/auxdir/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/ei_connect.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/ei_connect_int.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/ei_resolve.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/ei_resolve.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/eirecv.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/eirecv.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/eisend.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/send.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/send_exit.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/connect/send_reg.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_atom.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_big.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_bignum.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_binary.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_boolean.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_char.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_double.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_fun.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_intlist.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_iodata.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_list_header.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_long.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_longlong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_pid.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_port.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_ref.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_skip.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_skip.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_string.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_trace.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_tuple_header.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_ulong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_ulonglong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/decode/decode_version.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/eidefs.mk
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/eicode.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_atom.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_big.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_bignum.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_binary.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_boolean.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_char.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_double.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_fun.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_list_header.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_long.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_longlong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_pid.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_port.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_ref.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_string.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_trace.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_tuple_header.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_ulong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_ulonglong.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/encode/encode_version.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/epmd/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/epmd/ei_epmd.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/epmd/epmd_port.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/epmd/epmd_publish.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/epmd/epmd_unpublish.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/global/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/global/global_names.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/global/global_register.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/global/global_unregister.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/global/global_whereis.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_cmp_nc.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_compat.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_decode_term.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_decode_term.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_format.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_format.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_init.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_internal.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_locking.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_locking.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_malloc.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_malloc.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_portio.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_portio.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_printterm.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_printterm.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_pthreads.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_trace.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_trace.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_x_encode.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/ei_x_encode.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/eidef.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/eiext.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/eimd5.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/eimd5.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/get_type.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/putget.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/show_msg.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/misc/show_msg.h
+lib/${ERLANG_V}/lib/${ERL_EI}/src/prog/
+lib/${ERLANG_V}/lib/${ERL_EI}/src/prog/ei_fake_prog.c
+lib/${ERLANG_V}/lib/${ERL_EI}/src/prog/erl_call.c
lib/${ERLANG_V}/lib/${ERL_ERTS}/
lib/${ERLANG_V}/lib/${ERL_ERTS}/doc/
lib/${ERLANG_V}/lib/${ERL_ERTS}/doc/chunks/