Skip to content

Commit 4205ef6

Browse files
author
Timothy M. Redaelli
committed
Add net/electrs
- electrs is an efficient re-implementation of Electrum Server in Rust https://github.com/romanz/electrs/ - create initial port for version 0.10.7 Signed-off-by: Timothy M. Redaelli <timothy@fsfe.org>
1 parent b91733b commit 4205ef6

File tree

6 files changed

+579
-0
lines changed

6 files changed

+579
-0
lines changed

net/electrs/Makefile

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
COMMENT = An efficient re-implementation of Electrum Server in Rust
2+
3+
# electrs uses rocksdb, which is 64-bit only
4+
ONLY_FOR_ARCHS = ${LP64_ARCHS}
5+
6+
GH_ACCOUNT = romanz
7+
GH_PROJECT = electrs
8+
GH_TAGNAME = v0.10.7
9+
10+
CATEGORIES = net
11+
12+
HOMEPAGE = https://github.com/romanz/electrs
13+
14+
MAINTAINER = Timothy M. Redaelli <timothy@fsfe.org>
15+
16+
# MIT
17+
PERMIT_PACKAGE = Yes
18+
19+
MODULES = devel/cargo lang/clang
20+
MODCARGO_RUSTFLAGS = -L${PREFIX}/lib
21+
22+
CONFIGURE_STYLE = cargo
23+
24+
SEPARATE_BUILD = Yes
25+
26+
.include "crates.inc"
27+
28+
# for rocksdb bindings
29+
MODCARGO_ENV= LIBCLANG_PATH=${LOCALBASE}/llvm${MODCLANG_VERSION}/lib
30+
MAKE_ENV += DEP_ZSTD_INCLUDE=${LOCALBASE}/include
31+
32+
# librocksdb-sys looks for libclang.so
33+
BUILD_DEPENDS= devel/llvm/16
34+
LIB_DEPENDS += archivers/zstd
35+
36+
WANTLIB += ${COMPILER_LIBCXX} c m zstd
37+
38+
do-install:
39+
${INSTALL_PROGRAM} ${MODCARGO_TARGET_DIR}/release/electrs ${PREFIX}/bin/
40+
41+
.include <bsd.port.mk>

net/electrs/crates.inc

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
MODCARGO_CRATES += aho-corasick 1.1.2 # Unlicense OR MIT
2+
MODCARGO_CRATES += anyhow 1.0.80 # MIT OR Apache-2.0
3+
MODCARGO_CRATES += arrayvec 0.7.4 # MIT OR Apache-2.0
4+
MODCARGO_CRATES += ascii 1.1.0 # Apache-2.0 OR MIT
5+
MODCARGO_CRATES += autocfg 1.1.0 # Apache-2.0 OR MIT
6+
MODCARGO_CRATES += base58ck 0.1.0 # CC0-1.0
7+
MODCARGO_CRATES += base64 0.13.1 # MIT/Apache-2.0
8+
MODCARGO_CRATES += bech32 0.11.0 # MIT
9+
MODCARGO_CRATES += bindgen 0.63.0 # BSD-3-Clause
10+
MODCARGO_CRATES += bitcoin 0.32.4 # CC0-1.0
11+
MODCARGO_CRATES += bitcoin-internals 0.3.0 # CC0-1.0
12+
MODCARGO_CRATES += bitcoin-io 0.1.2 # CC0-1.0
13+
MODCARGO_CRATES += bitcoin-test-data 0.2.0 # MIT
14+
MODCARGO_CRATES += bitcoin-units 0.1.1 # CC0-1.0
15+
MODCARGO_CRATES += bitcoin_hashes 0.14.0 # CC0-1.0
16+
MODCARGO_CRATES += bitcoin_slices 0.9.0 # MIT
17+
MODCARGO_CRATES += bitcoincore-rpc 0.19.0 # CC0-1.0
18+
MODCARGO_CRATES += bitcoincore-rpc-json 0.19.0 # CC0-1.0
19+
MODCARGO_CRATES += bitflags 1.3.2 # MIT/Apache-2.0
20+
MODCARGO_CRATES += bitflags 2.4.1 # MIT OR Apache-2.0
21+
MODCARGO_CRATES += block-buffer 0.10.4 # MIT OR Apache-2.0
22+
MODCARGO_CRATES += byteorder 1.5.0 # Unlicense OR MIT
23+
MODCARGO_CRATES += bzip2-sys 0.1.11+1.0.8 # MIT/Apache-2.0
24+
MODCARGO_CRATES += cargo_toml 0.15.0 # Apache-2.0 OR MIT
25+
MODCARGO_CRATES += cc 1.0.83 # MIT OR Apache-2.0
26+
MODCARGO_CRATES += cexpr 0.6.0 # Apache-2.0/MIT
27+
MODCARGO_CRATES += cfg-if 1.0.0 # MIT/Apache-2.0
28+
MODCARGO_CRATES += chunked_transfer 1.5.0 # MIT OR Apache-2.0
29+
MODCARGO_CRATES += clang-sys 1.6.1 # Apache-2.0
30+
MODCARGO_CRATES += configure_me 0.4.0 # MITNFA
31+
MODCARGO_CRATES += configure_me_codegen 0.4.8 # MITNFA
32+
MODCARGO_CRATES += cpufeatures 0.2.11 # MIT OR Apache-2.0
33+
MODCARGO_CRATES += crossbeam-channel 0.5.13 # MIT OR Apache-2.0
34+
MODCARGO_CRATES += crossbeam-deque 0.8.4 # MIT OR Apache-2.0
35+
MODCARGO_CRATES += crossbeam-epoch 0.9.16 # MIT OR Apache-2.0
36+
MODCARGO_CRATES += crossbeam-utils 0.8.18 # MIT OR Apache-2.0
37+
MODCARGO_CRATES += crypto-common 0.1.6 # MIT OR Apache-2.0
38+
MODCARGO_CRATES += digest 0.10.7 # MIT OR Apache-2.0
39+
MODCARGO_CRATES += dirs-next 2.0.0 # MIT OR Apache-2.0
40+
MODCARGO_CRATES += dirs-sys-next 0.1.2 # MIT OR Apache-2.0
41+
MODCARGO_CRATES += either 1.9.0 # MIT OR Apache-2.0
42+
MODCARGO_CRATES += electrs-librocksdb-sys 0.9.0-e3+7.8.3 # MIT/Apache-2.0/BSD-3-Clause
43+
MODCARGO_CRATES += electrs-rocksdb 0.19.0-e3 # Apache-2.0
44+
MODCARGO_CRATES += env_logger 0.10.2 # MIT OR Apache-2.0
45+
MODCARGO_CRATES += errno 0.3.8 # MIT OR Apache-2.0
46+
MODCARGO_CRATES += fastrand 2.1.1 # Apache-2.0 OR MIT
47+
MODCARGO_CRATES += fmt2io 1.0.0 # MITNFA
48+
MODCARGO_CRATES += fnv 1.0.7 # Apache-2.0 / MIT
49+
MODCARGO_CRATES += generic-array 0.14.7 # MIT
50+
MODCARGO_CRATES += getrandom 0.2.11 # MIT OR Apache-2.0
51+
MODCARGO_CRATES += glob 0.3.1 # MIT OR Apache-2.0
52+
MODCARGO_CRATES += hashbrown 0.12.3 # MIT OR Apache-2.0
53+
MODCARGO_CRATES += hermit-abi 0.3.3 # MIT OR Apache-2.0
54+
MODCARGO_CRATES += hex 0.4.3 # MIT OR Apache-2.0
55+
MODCARGO_CRATES += hex-conservative 0.2.0 # CC0-1.0
56+
MODCARGO_CRATES += hex_lit 0.1.1 # MITNFA
57+
MODCARGO_CRATES += httpdate 1.0.3 # MIT OR Apache-2.0
58+
MODCARGO_CRATES += humantime 2.1.0 # MIT/Apache-2.0
59+
MODCARGO_CRATES += indexmap 1.9.3 # Apache-2.0 OR MIT
60+
MODCARGO_CRATES += io-lifetimes 1.0.11 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
61+
MODCARGO_CRATES += is-terminal 0.4.9 # MIT
62+
MODCARGO_CRATES += itoa 1.0.10 # MIT OR Apache-2.0
63+
MODCARGO_CRATES += jobserver 0.1.26 # MIT/Apache-2.0
64+
MODCARGO_CRATES += jsonrpc 0.18.0 # CC0-1.0
65+
MODCARGO_CRATES += lazy_static 1.4.0 # MIT/Apache-2.0
66+
MODCARGO_CRATES += lazycell 1.3.0 # MIT/Apache-2.0
67+
MODCARGO_CRATES += libc 0.2.159 # MIT OR Apache-2.0
68+
MODCARGO_CRATES += libloading 0.7.4 # ISC
69+
MODCARGO_CRATES += libredox 0.0.1 # MIT
70+
MODCARGO_CRATES += libz-sys 1.1.12 # MIT OR Apache-2.0
71+
MODCARGO_CRATES += linux-raw-sys 0.1.4 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
72+
MODCARGO_CRATES += linux-raw-sys 0.4.14 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
73+
MODCARGO_CRATES += lock_api 0.4.11 # MIT OR Apache-2.0
74+
MODCARGO_CRATES += log 0.4.22 # MIT OR Apache-2.0
75+
MODCARGO_CRATES += memchr 2.6.4 # Unlicense OR MIT
76+
MODCARGO_CRATES += memoffset 0.9.0 # MIT
77+
MODCARGO_CRATES += minimal-lexical 0.2.1 # MIT/Apache-2.0
78+
MODCARGO_CRATES += minreq 2.11.2 # ISC
79+
MODCARGO_CRATES += nom 7.1.3 # MIT
80+
MODCARGO_CRATES += nom8 0.2.0 # MIT
81+
MODCARGO_CRATES += once_cell 1.19.0 # MIT OR Apache-2.0
82+
MODCARGO_CRATES += parking_lot 0.12.1 # MIT OR Apache-2.0
83+
MODCARGO_CRATES += parking_lot_core 0.9.9 # MIT OR Apache-2.0
84+
MODCARGO_CRATES += parse_arg 0.1.4 # MITNFA
85+
MODCARGO_CRATES += peeking_take_while 0.1.2 # Apache-2.0/MIT
86+
MODCARGO_CRATES += pkg-config 0.3.28 # MIT OR Apache-2.0
87+
MODCARGO_CRATES += ppv-lite86 0.2.17 # MIT/Apache-2.0
88+
MODCARGO_CRATES += proc-macro2 1.0.71 # MIT OR Apache-2.0
89+
MODCARGO_CRATES += procfs 0.14.2 # MIT OR Apache-2.0
90+
MODCARGO_CRATES += prometheus 0.13.3 # Apache-2.0
91+
MODCARGO_CRATES += protobuf 2.28.0 # MIT
92+
MODCARGO_CRATES += quote 1.0.33 # MIT OR Apache-2.0
93+
MODCARGO_CRATES += rand 0.8.5 # MIT OR Apache-2.0
94+
MODCARGO_CRATES += rand_chacha 0.3.1 # MIT OR Apache-2.0
95+
MODCARGO_CRATES += rand_core 0.6.4 # MIT OR Apache-2.0
96+
MODCARGO_CRATES += rayon 1.10.0 # MIT OR Apache-2.0
97+
MODCARGO_CRATES += rayon-core 1.12.1 # MIT OR Apache-2.0
98+
MODCARGO_CRATES += redox_syscall 0.4.1 # MIT
99+
MODCARGO_CRATES += redox_users 0.4.4 # MIT
100+
MODCARGO_CRATES += regex 1.9.6 # MIT OR Apache-2.0
101+
MODCARGO_CRATES += regex-automata 0.3.9 # MIT OR Apache-2.0
102+
MODCARGO_CRATES += regex-syntax 0.7.5 # MIT OR Apache-2.0
103+
MODCARGO_CRATES += rustc-hash 1.1.0 # Apache-2.0/MIT
104+
MODCARGO_CRATES += rustix 0.36.17 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
105+
MODCARGO_CRATES += rustix 0.38.37 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
106+
MODCARGO_CRATES += ryu 1.0.16 # Apache-2.0 OR BSL-1.0
107+
MODCARGO_CRATES += scopeguard 1.2.0 # MIT OR Apache-2.0
108+
MODCARGO_CRATES += secp256k1 0.29.0 # CC0-1.0
109+
MODCARGO_CRATES += secp256k1-sys 0.10.0 # CC0-1.0
110+
MODCARGO_CRATES += serde 1.0.171 # MIT OR Apache-2.0
111+
MODCARGO_CRATES += serde_derive 1.0.171 # MIT OR Apache-2.0
112+
MODCARGO_CRATES += serde_json 1.0.109 # MIT OR Apache-2.0
113+
MODCARGO_CRATES += serde_spanned 0.6.1 # MIT OR Apache-2.0
114+
MODCARGO_CRATES += sha2 0.10.8 # MIT OR Apache-2.0
115+
MODCARGO_CRATES += shlex 1.3.0 # MIT OR Apache-2.0
116+
MODCARGO_CRATES += signal-hook 0.3.17 # Apache-2.0/MIT
117+
MODCARGO_CRATES += signal-hook-registry 1.4.1 # Apache-2.0/MIT
118+
MODCARGO_CRATES += smallvec 1.13.1 # MIT OR Apache-2.0
119+
MODCARGO_CRATES += syn 1.0.109 # MIT OR Apache-2.0
120+
MODCARGO_CRATES += syn 2.0.42 # MIT OR Apache-2.0
121+
MODCARGO_CRATES += tempfile 3.13.0 # MIT OR Apache-2.0
122+
MODCARGO_CRATES += termcolor 1.4.1 # Unlicense OR MIT
123+
MODCARGO_CRATES += thiserror 1.0.55 # MIT OR Apache-2.0
124+
MODCARGO_CRATES += thiserror-impl 1.0.55 # MIT OR Apache-2.0
125+
MODCARGO_CRATES += tiny_http 0.12.0 # MIT OR Apache-2.0
126+
MODCARGO_CRATES += toml 0.5.11 # MIT/Apache-2.0
127+
MODCARGO_CRATES += toml 0.7.1 # MIT OR Apache-2.0
128+
MODCARGO_CRATES += toml_datetime 0.6.1 # MIT OR Apache-2.0
129+
MODCARGO_CRATES += toml_edit 0.19.1 # MIT OR Apache-2.0
130+
MODCARGO_CRATES += typenum 1.17.0 # MIT OR Apache-2.0
131+
MODCARGO_CRATES += unicode-ident 1.0.12 # (MIT OR Apache-2.0) AND Unicode-DFS-2016
132+
MODCARGO_CRATES += unicode-segmentation 1.10.1 # MIT/Apache-2.0
133+
MODCARGO_CRATES += vcpkg 0.2.15 # MIT/Apache-2.0
134+
MODCARGO_CRATES += version_check 0.9.4 # MIT/Apache-2.0
135+
MODCARGO_CRATES += void 1.0.2 # MIT
136+
MODCARGO_CRATES += wasi 0.11.0+wasi-snapshot-preview1 # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
137+
MODCARGO_CRATES += winapi 0.3.9 # MIT/Apache-2.0
138+
MODCARGO_CRATES += winapi-i686-pc-windows-gnu 0.4.0 # MIT/Apache-2.0
139+
MODCARGO_CRATES += winapi-util 0.1.6 # Unlicense/MIT
140+
MODCARGO_CRATES += winapi-x86_64-pc-windows-gnu 0.4.0 # MIT/Apache-2.0
141+
MODCARGO_CRATES += windows-sys 0.45.0 # MIT OR Apache-2.0
142+
MODCARGO_CRATES += windows-sys 0.48.0 # MIT OR Apache-2.0
143+
MODCARGO_CRATES += windows-sys 0.52.0 # MIT OR Apache-2.0
144+
MODCARGO_CRATES += windows-sys 0.59.0 # MIT OR Apache-2.0
145+
MODCARGO_CRATES += windows-targets 0.42.2 # MIT OR Apache-2.0
146+
MODCARGO_CRATES += windows-targets 0.48.5 # MIT OR Apache-2.0
147+
MODCARGO_CRATES += windows-targets 0.52.6 # MIT OR Apache-2.0
148+
MODCARGO_CRATES += windows_aarch64_gnullvm 0.42.2 # MIT OR Apache-2.0
149+
MODCARGO_CRATES += windows_aarch64_gnullvm 0.48.5 # MIT OR Apache-2.0
150+
MODCARGO_CRATES += windows_aarch64_gnullvm 0.52.6 # MIT OR Apache-2.0
151+
MODCARGO_CRATES += windows_aarch64_msvc 0.42.2 # MIT OR Apache-2.0
152+
MODCARGO_CRATES += windows_aarch64_msvc 0.48.5 # MIT OR Apache-2.0
153+
MODCARGO_CRATES += windows_aarch64_msvc 0.52.6 # MIT OR Apache-2.0
154+
MODCARGO_CRATES += windows_i686_gnu 0.42.2 # MIT OR Apache-2.0
155+
MODCARGO_CRATES += windows_i686_gnu 0.48.5 # MIT OR Apache-2.0
156+
MODCARGO_CRATES += windows_i686_gnu 0.52.6 # MIT OR Apache-2.0
157+
MODCARGO_CRATES += windows_i686_gnullvm 0.52.6 # MIT OR Apache-2.0
158+
MODCARGO_CRATES += windows_i686_msvc 0.42.2 # MIT OR Apache-2.0
159+
MODCARGO_CRATES += windows_i686_msvc 0.48.5 # MIT OR Apache-2.0
160+
MODCARGO_CRATES += windows_i686_msvc 0.52.6 # MIT OR Apache-2.0
161+
MODCARGO_CRATES += windows_x86_64_gnu 0.42.2 # MIT OR Apache-2.0
162+
MODCARGO_CRATES += windows_x86_64_gnu 0.48.5 # MIT OR Apache-2.0
163+
MODCARGO_CRATES += windows_x86_64_gnu 0.52.6 # MIT OR Apache-2.0
164+
MODCARGO_CRATES += windows_x86_64_gnullvm 0.42.2 # MIT OR Apache-2.0
165+
MODCARGO_CRATES += windows_x86_64_gnullvm 0.48.5 # MIT OR Apache-2.0
166+
MODCARGO_CRATES += windows_x86_64_gnullvm 0.52.6 # MIT OR Apache-2.0
167+
MODCARGO_CRATES += windows_x86_64_msvc 0.42.2 # MIT OR Apache-2.0
168+
MODCARGO_CRATES += windows_x86_64_msvc 0.48.5 # MIT OR Apache-2.0
169+
MODCARGO_CRATES += windows_x86_64_msvc 0.52.6 # MIT OR Apache-2.0
170+
MODCARGO_CRATES += zstd-sys 2.0.8+zstd.1.5.5 # MIT/Apache-2.0

0 commit comments

Comments
 (0)