# $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