Files

189 lines
9.3 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
PortGroup golang 1.0
PortGroup fuse 1.0
go.setup github.com/rfjakob/gocryptfs 2.6.1 v
revision 0
categories fuse
maintainers {i0ntempest @i0ntempest} openmaintainer
license MIT
description Encrypted overlay filesystem written in Go
long_description {*}${description}
homepage https://nuetzlich.net/gocryptfs/
set gitversionfuse "v2.8.0"
checksums ${distname}${extract.suffix} \
rmd160 a3624d8b272e9f32f94ad7a3f1df9814203b6082 \
sha256 8b293c77703e9a45b629a47ce16aad701a9f2f53af5a8fb6200abe274f08051c \
size 1386993
go.vendors gopkg.in/yaml.v3 \
lock 9f266ea9e77c \
rmd160 06dca2ede07b2f31c515b4711fbebc1d5359b5e4 \
sha256 e70dd42fb30b7b2d0129c5cdf0e079caaf5602cab24081fdac830ec01204fa59 \
size 86890 \
golang.org/x/term \
lock v0.29.0 \
rmd160 8897b8f4c7a32f6801b376eab03bc4d98970bb45 \
sha256 584aae20390fd14d70c64dfa2c4a35ee53b53526fd2175f02177cd391d8733ef \
size 14690 \
golang.org/x/sys \
lock v0.30.0 \
rmd160 4cd711df5da2e159b6efbb7fa42ae0a3a3f6eb53 \
sha256 76cfe40018bfa5418c1d19d47d8353c3375594013e2b2feea49f06018d2a3102 \
size 1523466 \
golang.org/x/net \
lock v0.21.0 \
rmd160 f75340f16f42b617230110603e41bd586cdef8fe \
sha256 8fed668d8604e2b59b5cf00ebc327f710e1af177eab7a73d9ddc68992cd9bea9 \
size 1487222 \
golang.org/x/crypto \
lock v0.33.0 \
rmd160 a9bb37694af13af0618980c934387320bab1234a \
sha256 e8755fe2f1785cb6047c52b28f48b4565f8d6ca32be675cb36b330b6a33d1ba9 \
size 1840770 \
github.com/stretchr/testify \
lock v1.6.1 \
rmd160 7e5b798212a8f15cd58a63985ae0b928eede8e6b \
sha256 44d77d9b5c1dc08fa710eac9bb324898210660458085cdf965b78a39b1010f2a \
size 84248 \
github.com/spf13/pflag \
lock v1.0.5 \
rmd160 2ce81608a38c6f383a35bccd24d64361df5828c9 \
sha256 7f41acdcba65b1fab5b9b633947a139f9915b60f94bdab486cdbe9d90c54f61e \
size 50815 \
github.com/sabhiram/go-gitignore \
lock 525f6e181f06 \
rmd160 dedbb7e6dcd1cf8dd5f625090fa8c6b4af8430d6 \
sha256 1966d81c0496a29d36e15731d3290bbc71be1b8ca3745a58b364d8a18972b153 \
size 8886 \
github.com/rfjakob/eme \
lock v1.1.2 \
rmd160 27b6194560dbcdfdad845bbad4d1ed456486f8e4 \
sha256 beb9d8c20398ee8bf71dfc69cd082fba1e79eac2d1ae7d031909a673ca003a45 \
size 23188 \
github.com/pmezard/go-difflib \
lock v1.0.0 \
rmd160 fc879bfbdef9e3ff50844def58404e2b5a613ab8 \
sha256 7cd492737641847266115f3060489a67f63581e521a8ec51efbc280c33fc991f \
size 11409 \
github.com/pkg/xattr \
lock v0.4.9 \
rmd160 9a3c128c3a1f66f0086c7e0991830cfec5c6407c \
sha256 58d70e46c81345035cbf3df6d6bb4a59c43c9a4c68c248801f701be5a1d79bce \
size 9642 \
github.com/moby/sys \
lock mountinfo/v0.7.2 \
rmd160 11470bb42f47fe6c862a063760a88d10d3221a04 \
sha256 99bb4c2a8a867da0f5b1bd61cd9564893776901cff05ca74b1ff9e47723ed167 \
size 69146 \
github.com/kylelemons/godebug \
lock v1.1.0 \
rmd160 917ada648e70d2e339b8ff36d2f86882d0d2efa1 \
sha256 6151c487936ab72cffbf804626228083c9b3abfc908a2bb41b1160e1e5780aaf \
size 17641 \
github.com/jacobsa/reqtrace \
lock 245c9e0234cb \
rmd160 872beac620d3eebbc1a343d1d2ca65f2dc6778bd \
sha256 e8ca3f8de13ce0f35c1cb2bb9c9be220c82f28a0a1ca80557e2afbbdf396a0c4 \
size 7808 \
github.com/jacobsa/ogletest \
lock 80d50a735a11 \
rmd160 d839d0d084bc62e25d23d65cee882b427b537c00 \
sha256 8e9eef43d47e4fc12b6e614bd6c97d102eabec107eabe72493763d45325501fd \
size 24200 \
github.com/jacobsa/oglemock \
lock e94d794d06ff \
rmd160 cee16f043ba80e59483d3bfadf783077f8239110 \
sha256 5474b9f5228d6eda866293feb9c07729a55195fabd2cd77cd1c30e5291830ad9 \
size 35506 \
github.com/jacobsa/oglematchers \
lock 141901ea67cd \
rmd160 5c5dd8416ee4a236632eaa4fc1a1e5ce737eee45 \
sha256 4a45ac5d5b5c15af45761f15e3e14f4739b1cd79cd9493ddcd4744f65edc4b52 \
size 43827 \
github.com/hanwen/go-fuse \
lock ${gitversionfuse} \
rmd160 ff14b282bca607f345e063adefa63a7db4394553 \
sha256 7113e09dc6b4986f54633506132b0f0d6a4621cc3bcbffd53c7e8e10caf478cf \
size 223717 \
github.com/davecgh/go-spew \
lock v1.1.0 \
rmd160 0303eae19a01f38fe314921fd965e4d09b9ef3ad \
sha256 810a597004388d68bb92d8aa612375419ba1080dd5fc2c66dd41b58f0ba4442c \
size 42348 \
github.com/aperturerobotics/jacobsa-crypto \
lock v1.1.0 \
rmd160 00d1922ba828943d42f05b0f796863d1ddf68e2b \
sha256 35ea86d147e1d3909ee96c8f9997038e714fdf8dfd55b8191c9d623dd747c027 \
size 3655579
# Build date should not be set to a variable value as this would prevent reproducible builds.
# Not setting it results in defaulting to '0000-00-00' when using the --version flag.
set builddate "build_date_not_set"
set ldflags "-X \"main.GitVersion=${version}\" -X \"main.GitVersionFuse=${gitversionfuse}\" -X \"main.BuildDate=${builddate}\""
build.env-append CGO_ENABLED=0
build.args-append -ldflags="${ldflags}" \
-tags without_openssl
post-build {
set envargs [lmap e ${build.env} {shellescape $e}]
system -W ${worksrcpath}/${name}-xray "env [join $envargs] ${build.cmd} [join ${build.args}]"
}
destroot {
xinstall -m 0755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/
xinstall -m 0755 ${worksrcpath}/${name}-xray/${name}-xray ${destroot}${prefix}/bin/
xinstall -m 0644 ${worksrcpath}/Documentation/gocryptfs.1 ${destroot}${prefix}/share/man/man1
xinstall -m 0644 ${worksrcpath}/Documentation/gocryptfs-xray.1 ${destroot}${prefix}/share/man/man1
}
# According to [1] there is no benefit to build gocryptfs with openssl on M1 Macs.
# According to [2] on most modern CPUs openssl provides no speed benefits. I confirmed this by tests on
# my Intel i7 Macbook Pro 2019. Therefore reducing the dependencies and defaulting to build it without openssl.
# [1]: https://github.com/rfjakob/gocryptfs/issues/556#issuecomment-848185514
# [2]: https://github.com/rfjakob/gocryptfs/wiki/CPU-Benchmarks
variant openssl description {Build with openssl support} {
PortGroup openssl 1.0
build.env-append \
PKG_CONFIG_PATH=[openssl::pkgconfig_dir]
build.env-replace \
CGO_ENABLED=0 CGO_ENABLED=1
build.args-delete \
-tags without_openssl
}
variant doc description {Build man pages} {
depends_build-append port:pandoc
post-build {
system -W ${worksrcpath}/Documentation "sh MANPAGE-render.bash"
}
}
variant fs_link description "Link ${name} to a .fs bundle in /Library/Filesystems" {
post-destroot {
set dir /Library/Filesystems/${name}.fs/Contents/Resources
xinstall -d ${destroot}${dir}
ln -s ${prefix}/bin/${name} ${destroot}${dir}/mount_${name}
}
destroot.violate_mtree \
yes
notes-append "
With +fs_link, you may use \'mount -t ${name}\' and use ${name} in /etc/fstab.
"
}
default_variants +doc
# Exclude pre-release versions.
github.livecheck.regex \
{([0-9.]+)}