2023-02-11 02:57:35 +03:00
|
|
|
distributable:
|
|
|
|
url: https://github.com/erlang/otp/releases/download/OTP-{{ version.raw }}/otp_src_{{ version.raw }}.tar.gz
|
|
|
|
strip-components: 1
|
|
|
|
|
|
|
|
provides:
|
|
|
|
- bin/ct_run
|
|
|
|
- bin/dialyzer
|
|
|
|
- bin/epmd
|
|
|
|
- bin/erl
|
|
|
|
- bin/erlc
|
|
|
|
- bin/escript
|
|
|
|
- bin/run_erl
|
|
|
|
- bin/to_erl
|
|
|
|
- bin/typer
|
|
|
|
|
|
|
|
interprets:
|
|
|
|
extensions: erl
|
|
|
|
args: escript
|
|
|
|
|
|
|
|
versions:
|
2023-04-16 11:43:35 +03:00
|
|
|
github: erlang/otp/releases
|
2023-02-11 02:57:35 +03:00
|
|
|
strip: /^OTP /
|
|
|
|
|
|
|
|
dependencies:
|
|
|
|
openssl.org: '*'
|
|
|
|
invisible-island.net/ncurses: '*'
|
|
|
|
|
|
|
|
runtime:
|
|
|
|
env:
|
|
|
|
ERL_ROOTDIR: ${{prefix}}/lib/erlang
|
|
|
|
|
|
|
|
build:
|
|
|
|
dependencies:
|
|
|
|
tea.xyz/gx/cc: c99
|
|
|
|
tea.xyz/gx/make: '*'
|
|
|
|
perl.org: '>=5'
|
|
|
|
script: |
|
|
|
|
export ERL_TOP=$(pwd)
|
|
|
|
./configure $ARGS
|
|
|
|
make -j {{hw.concurrency}}
|
|
|
|
make install
|
|
|
|
env:
|
|
|
|
CC: cc
|
|
|
|
CXX: c++
|
|
|
|
LD: ld
|
2023-04-16 20:50:56 +03:00
|
|
|
CFLAGS: -O2 -g $CFLAGS
|
2023-02-11 02:57:35 +03:00
|
|
|
ARGS:
|
|
|
|
- --disable-debug
|
|
|
|
- --disable-silent-rules
|
|
|
|
- --prefix={{prefix}}
|
|
|
|
- --enable-dynamic-ssl-lib
|
|
|
|
- --enable-hipe
|
|
|
|
- --enable-smp-support
|
|
|
|
- --enable-threads
|
|
|
|
- --enable-pie
|
|
|
|
- --with-ssl={{deps.openssl.org.prefix}}
|
|
|
|
- --without-javac
|
|
|
|
darwin:
|
|
|
|
ARGS:
|
|
|
|
- --enable-darwin-64bit
|
|
|
|
- --enable-kernel-poll
|
|
|
|
- --with-dynamic-trace=dtrace
|
|
|
|
|
|
|
|
test:
|
|
|
|
script: |
|
|
|
|
epmd -kill || true
|
|
|
|
epmd -daemon -address 127.0.0.1 -relaxed_command_check
|
|
|
|
test "$(escript $FIXTURE 10)" = "factorial 10 = 3628800"
|
|
|
|
epmd -kill || true
|
|
|
|
|
|
|
|
env:
|
|
|
|
ERL_DIST_PORT: 8001
|
|
|
|
fixture: |
|
|
|
|
#!/usr/bin/env escript
|
|
|
|
%% -*- erlang -*-
|
|
|
|
%%! -smp enable -sname factorial -mnesia debug verbose
|
|
|
|
main([String]) ->
|
|
|
|
try
|
|
|
|
N = list_to_integer(String),
|
|
|
|
F = fac(N),
|
|
|
|
io:format("factorial ~w = ~w\n", [N,F])
|
|
|
|
catch
|
|
|
|
_:_ ->
|
|
|
|
usage()
|
|
|
|
end;
|
|
|
|
main(_) ->
|
|
|
|
usage().
|
|
|
|
|
|
|
|
usage() ->
|
|
|
|
io:format("usage: factorial integer\n").
|
|
|
|
|
|
|
|
fac(0) -> 1;
|
|
|
|
fac(N) -> N * fac(N-1).
|