sequoia_port/security/sequoia/Makefile

359 lines
8.6 KiB
Makefile

# $FreeBSD$
PORTNAME= sequoia
PORTVERSION= 1.3.0
DISTVERSIONPREFIX= v
CATEGORIES= security
MAINTAINER= phryk-ports@wzff.de
COMMENT= Modern PGP implementation, written in rust
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
LIB_DEPENDS+= libcapnp.so:devel/capnproto
LIB_DEPENDS+= libgmp.so:math/gmp
LIB_DEPENDS+= libnettle.so:security/nettle
RUN_DEPENDS+= nettle>=3.7.3:security/nettle # define a minimum version for nettle
TEST_DEPENDS+= gmake>0:devel/gmake
USES= cargo ssl
USE_LDCONFIG= yes
USE_GITLAB= yes
GL_ACCOUNT= sequoia-pgp
GL_PROJECT= sequoia
GL_COMMIT= f44d645fe665b031a1286e70075b69f92e5bb919
CARGO_BUILD_ARGS+= --all
#SOVERSION= 0.22.0 # ffi and openpgp-ffi version, not automatically readable right now.
SOVERSION= ${PORTVERSION} # test suite fails when actual ffi lib versions are used, probably an upstream issue
SUB_LIST= VERSION=${PORTVERSION} SOVERSION=${SOVERSION}
SUB_FILES= sequoia-openpgp.pc
SUB_FILES+= sequoia.pc
PLIST_SUB+= ${SUB_LIST} # %%FOO%% style substitutions for pkg-plist
# autogenerated by make cargo-crates
CARGO_CRATES= addr2line-0.14.1 \
adler-1.0.2 \
aead-0.3.2 \
ahash-0.4.7 \
aho-corasick-0.7.15 \
ansi_term-0.11.0 \
anyhow-1.0.40 \
arrayref-0.3.6 \
arrayvec-0.5.2 \
ascii-canvas-2.0.0 \
assert_cli-0.6.3 \
atty-0.2.14 \
autocfg-0.1.7 \
autocfg-1.0.1 \
backtrace-0.3.56 \
base64-0.13.0 \
bindgen-0.57.0 \
bit-set-0.5.2 \
bit-vec-0.6.3 \
bitflags-1.2.1 \
blake2b_simd-0.5.11 \
block-buffer-0.7.3 \
block-buffer-0.9.0 \
block-padding-0.1.5 \
bstr-0.2.15 \
bumpalo-3.6.1 \
byte-tools-0.3.1 \
byteorder-1.4.3 \
bytes-0.5.6 \
bytes-1.0.1 \
bzip2-0.4.2 \
bzip2-sys-0.1.10+1.0.8 \
capnp-0.13.6 \
capnp-futures-0.13.2 \
capnp-rpc-0.13.1 \
capnpc-0.13.1 \
cast-0.2.3 \
cc-1.0.67 \
cexpr-0.4.0 \
cfg-if-0.1.10 \
cfg-if-1.0.0 \
chrono-0.4.19 \
cipher-0.2.5 \
clang-sys-1.1.1 \
clap-2.33.3 \
cmac-0.5.1 \
colored-1.9.3 \
constant_time_eq-0.1.5 \
core-foundation-0.9.1 \
core-foundation-sys-0.8.2 \
cpuid-bool-0.1.2 \
crc32fast-1.2.1 \
criterion-0.3.4 \
criterion-plot-0.4.3 \
crossbeam-channel-0.5.0 \
crossbeam-deque-0.8.0 \
crossbeam-epoch-0.9.3 \
crossbeam-utils-0.8.3 \
crunchy-0.2.2 \
crypto-mac-0.10.0 \
csv-1.1.6 \
csv-core-0.1.10 \
ctor-0.1.20 \
ctr-0.6.0 \
curve25519-dalek-3.0.2 \
dbl-0.3.1 \
diff-0.1.12 \
difference-2.0.0 \
digest-0.8.1 \
digest-0.9.0 \
dirs-1.0.5 \
dirs-2.0.2 \
dirs-sys-0.3.5 \
doc-comment-0.3.3 \
dyn-clone-1.0.4 \
eax-0.3.0 \
ed25519-1.0.3 \
ed25519-dalek-1.0.1 \
either-1.6.1 \
ena-0.14.0 \
environment-0.1.1 \
failure-0.1.8 \
failure_derive-0.1.8 \
fake-simd-0.1.2 \
fallible-iterator-0.2.0 \
fallible-streaming-iterator-0.1.9 \
filetime-0.2.14 \
fixedbitset-0.2.0 \
flate2-1.0.20 \
fnv-1.0.7 \
foreign-types-0.3.2 \
foreign-types-shared-0.1.1 \
form_urlencoded-1.0.1 \
fs2-0.4.3 \
fuchsia-zircon-0.3.3 \
fuchsia-zircon-sys-0.3.3 \
futures-0.3.13 \
futures-channel-0.3.13 \
futures-core-0.3.13 \
futures-executor-0.3.13 \
futures-io-0.3.13 \
futures-macro-0.3.13 \
futures-sink-0.3.13 \
futures-task-0.3.13 \
futures-util-0.3.13 \
generic-array-0.12.4 \
generic-array-0.14.4 \
getrandom-0.1.16 \
getrandom-0.2.2 \
gimli-0.23.0 \
glob-0.3.0 \
h2-0.2.7 \
half-1.7.1 \
hashbrown-0.9.1 \
hashlink-0.6.0 \
hermit-abi-0.1.18 \
http-0.2.3 \
http-body-0.3.1 \
httparse-1.3.5 \
httpdate-0.3.2 \
hyper-0.13.10 \
hyper-tls-0.4.3 \
idna-0.2.2 \
indexmap-1.6.2 \
iovec-0.1.4 \
itertools-0.9.0 \
itertools-0.10.0 \
itoa-0.4.7 \
js-sys-0.3.50 \
kernel32-sys-0.2.2 \
lalrpop-0.19.5 \
lalrpop-util-0.19.5 \
lazy_static-1.4.0 \
lazycell-1.3.0 \
libc-0.2.92 \
libm-0.2.1 \
libsqlite3-sys-0.20.1 \
log-0.4.14 \
matches-0.1.8 \
memchr-2.3.4 \
memoffset-0.6.3 \
memsec-0.6.0 \
miniz_oxide-0.4.4 \
mio-0.6.23 \
mio-named-pipes-0.1.7 \
mio-uds-0.6.8 \
miow-0.2.2 \
miow-0.3.7 \
native-tls-0.2.7 \
net2-0.2.37 \
nettle-7.0.2 \
nettle-sys-2.0.6 \
new_debug_unreachable-1.0.4 \
nom-5.1.2 \
num-bigint-dig-0.6.1 \
num-integer-0.1.44 \
num-iter-0.1.42 \
num-traits-0.2.14 \
num_cpus-1.13.0 \
object-0.23.0 \
once_cell-1.7.2 \
oorandom-11.1.3 \
opaque-debug-0.2.3 \
opaque-debug-0.3.0 \
openssl-0.10.33 \
openssl-probe-0.1.2 \
openssl-sys-0.9.61 \
peeking_take_while-0.1.2 \
percent-encoding-2.1.0 \
petgraph-0.5.1 \
phf_shared-0.8.0 \
pico-args-0.4.0 \
pin-project-1.0.6 \
pin-project-internal-1.0.6 \
pin-project-lite-0.1.12 \
pin-project-lite-0.2.6 \
pin-utils-0.1.0 \
pkg-config-0.3.19 \
plotters-0.3.0 \
plotters-backend-0.3.0 \
plotters-svg-0.3.0 \
ppv-lite86-0.2.10 \
precomputed-hash-0.1.1 \
proc-macro-hack-0.5.19 \
proc-macro-nested-0.1.7 \
proc-macro2-1.0.26 \
quickcheck-0.9.2 \
quote-1.0.9 \
rand-0.7.3 \
rand-0.8.3 \
rand_chacha-0.2.2 \
rand_chacha-0.3.0 \
rand_core-0.5.1 \
rand_core-0.6.2 \
rand_hc-0.2.0 \
rand_hc-0.3.0 \
rayon-1.5.0 \
rayon-core-1.9.0 \
redox_syscall-0.1.57 \
redox_syscall-0.2.5 \
redox_users-0.3.5 \
regex-1.4.5 \
regex-automata-0.1.9 \
regex-syntax-0.6.23 \
remove_dir_all-0.5.3 \
rpassword-5.0.1 \
rusqlite-0.24.2 \
rust-argon2-0.8.3 \
rustc-demangle-0.1.18 \
rustc-hash-1.1.0 \
rustc_version-0.2.3 \
ryu-1.0.5 \
same-file-1.0.6 \
schannel-0.1.19 \
scopeguard-1.1.0 \
security-framework-2.2.0 \
security-framework-sys-2.2.0 \
semver-0.9.0 \
semver-parser-0.7.0 \
serde-1.0.125 \
serde_cbor-0.11.1 \
serde_derive-1.0.125 \
serde_json-1.0.64 \
sha1collisiondetection-0.2.3 \
sha2-0.8.2 \
sha2-0.9.3 \
shlex-0.1.1 \
signal-hook-registry-1.3.0 \
signature-1.3.0 \
siphasher-0.3.5 \
slab-0.4.2 \
smallvec-1.6.1 \
socket2-0.3.19 \
spin-0.5.2 \
string_cache-0.8.1 \
strsim-0.8.0 \
subtle-2.4.0 \
syn-1.0.68 \
synstructure-0.12.4 \
tempfile-3.2.0 \
term-0.5.2 \
term_size-0.3.2 \
textwrap-0.11.0 \
thiserror-1.0.24 \
thiserror-impl-1.0.24 \
time-0.1.43 \
tiny-keccak-2.0.2 \
tinytemplate-1.2.1 \
tinyvec-1.1.1 \
tinyvec_macros-0.1.0 \
tokio-0.2.25 \
tokio-macros-0.2.6 \
tokio-tls-0.3.1 \
tokio-util-0.3.1 \
tower-service-0.3.1 \
tracing-0.1.25 \
tracing-core-0.1.17 \
tracing-futures-0.2.5 \
try-lock-0.2.3 \
typenum-1.13.0 \
unicode-bidi-0.3.4 \
unicode-normalization-0.1.17 \
unicode-width-0.1.8 \
unicode-xid-0.2.1 \
url-2.2.1 \
vcpkg-0.2.11 \
vec_map-0.8.2 \
version_check-0.9.3 \
walkdir-2.3.2 \
want-0.3.0 \
wasi-0.9.0+wasi-snapshot-preview1 \
wasi-0.10.2+wasi-snapshot-preview1 \
wasm-bindgen-0.2.73 \
wasm-bindgen-backend-0.2.73 \
wasm-bindgen-macro-0.2.73 \
wasm-bindgen-macro-support-0.2.73 \
wasm-bindgen-shared-0.2.73 \
web-sys-0.3.50 \
win-crypto-ng-0.4.0 \
winapi-0.2.8 \
winapi-0.3.9 \
winapi-build-0.1.1 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
ws2_32-sys-0.2.1 \
zbase32-0.1.2 \
zeroize-1.2.0 \
zeroize_derive-1.0.1
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
${STAGEDIR}${PREFIX}/share/fish/completions \
${STAGEDIR}${PREFIX}/share/zsh/site-functions
.for f in ffi ffi_macros openpgp_ffi
${STRIP_CMD} ${CARGO_TARGET_DIR}/release/libsequoia_${f}.so
${INSTALL_LIB} ${CARGO_TARGET_DIR}/release/libsequoia_${f}.so ${STAGEDIR}${PREFIX}/lib/libsequoia_${f}.so.${SOVERSION}
${LN} -sf libsequoia_${f}.so.${SOVERSION} ${STAGEDIR}${PREFIX}/lib/libsequoia_${f}.so
.endfor
.for f in sq sqv sequoia-public-key-store
${STRIP_CMD} ${CARGO_TARGET_DIR}/release/${f}
${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/release/${f} ${STAGEDIR}${PREFIX}/bin
.endfor
(cd ${WRKSRC}/ffi/include && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include)
(cd ${WRKSRC}/openpgp-ffi/include/sequoia && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/sequoia)
${INSTALL_DATA} ${CARGO_TARGET_DIR}/sq.bash ${STAGEDIR}${PREFIX}/etc/bash_completion.d/sq
${INSTALL_DATA} ${CARGO_TARGET_DIR}/sqv.bash ${STAGEDIR}${PREFIX}/etc/bash_completion.d/sqv
${INSTALL_DATA} ${CARGO_TARGET_DIR}/sq.fish ${STAGEDIR}${PREFIX}/share/fish/completions
${INSTALL_DATA} ${CARGO_TARGET_DIR}/sqv.fish ${STAGEDIR}${PREFIX}/share/fish/completions
${INSTALL_DATA} ${CARGO_TARGET_DIR}/_sq ${STAGEDIR}${PREFIX}/share/zsh/site-functions
${INSTALL_DATA} ${CARGO_TARGET_DIR}/_sqv ${STAGEDIR}${PREFIX}/share/zsh/site-functions
${INSTALL_DATA} ${WRKDIR}/sequoia.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
${INSTALL_DATA} ${WRKDIR}/sequoia-openpgp.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
.include <bsd.port.mk>