diff --git a/sys-fs/gocryptfs/Manifest b/sys-fs/gocryptfs/Manifest index 1f38b9a..ae8edff 100644 --- a/sys-fs/gocryptfs/Manifest +++ b/sys-fs/gocryptfs/Manifest @@ -28,6 +28,7 @@ DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70 DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.6.1.mod 216 BLAKE2B c597010cf6690e73cd265e800f0f0bbea331fb76217457b6326f5a19481eca044aa5426fa32519870b2f0f4b3bed95768a23d3138dbcc9739b7cf7e044f50668 SHA512 197e6ef15edb27ded67ccfb636c252fe522f0930ff012341a4b593f25b5dd8282e4f658970931cfdeb8f2c5ee0b4ebac6738fe7634bf00896d12270fcbf4b31b DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.6.1.zip 98541 BLAKE2B 369a625a7b05ee56619698e8067ee7b99a9d0508db655aefd23cf42f5ee1abb150a6b262be089fce6951f84fe9f1cc0fa46b75830b851888fd17f123852558e7 SHA512 073f44125d4bbce27d69b914385e05028c4d275585e275ff1ee2ffe299059646394163dde2b6b5c175ac9379d388fe34c1c874deda4138121541e2a639d7635f DIST gocryptfs-2.1.tar.gz 2818200 BLAKE2B 8b6bf6c8620c3d5d1f1428b04d233a50f6886076ad9cac1569c80c2dfd8dd2fca936bb67750946da5d8f3ceb0dd4d2329419c0a36cc8763daaa3b62fe6034a22 SHA512 316aa67891fe457b8b9045efbb6c08b0c5dd771512cc235d635c3aa3115d8d81e585d60c6342ca360cafdebc016b3365e14a9c173178816e7f860b84cdc5e587 +DIST gocryptfs-2.2.0.tar.gz 2829601 BLAKE2B 9e8e21322905aa55f4656feaa6c394dc7b104827ed9e4a1a766d8f31ac013aef3e82e75de19153e1b71f873c400a0162b204b602c80a0ab0fa356c2a522220b6 SHA512 19d7c64119123d563c46c1dc065093bfae464d48160d66ca220aed831293d713984d242fcbfeb7f1740b1e6fd5fdd7a21a9a828b33d892a012fae4df1903f0ff DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210817164053-32db794688a5.mod 247 BLAKE2B 20aabe045c2a6dd88b13c66106c962e31d3da87b33accf5085106d9e9c43fed4d5867909580ad37ea560d791e1a3243ddc2dff81ac6205f7fb949a46b0c3634d SHA512 32f94123c2845965432016800e6f051341f6d5d0af3678e367ac6c55022c68e86e929cc545a576d466f2533c235c29fb72542de75eae7419dfb5640cd80df3ef DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20210817164053-32db794688a5.zip 1876172 BLAKE2B 3b1e29d33ba8af42f20fc885b38014859d3c4d9d688f82354d2165649166a2211ce456afe273d61f302e2c1dab9f2ecbe8afdb0d6fde391e788c4783954bb104 SHA512 bb0e7965c8f5f6910d8d63951b16c23f0a832b2b5ed379b3261207f38dd4e859af47007163f5cea2bf7f8ab618f3e93abd91fcfcb64a942643d5273ea92f38af DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20210226172049-e18ecbb05110.mod 179 BLAKE2B 509f289757a1f923d7b423a77cc3f1ddb08a2ee3eedb8f5f3869c2011a86121e79f02a34fb73076255e6973c8d66ca47b4690c34d7d3a5d33e1dbd04c4ea092c SHA512 f8ad754f922057fe78b5497cc77089a5eedc774800b2728a3ccd74cc82d83ba1ff00cc2d28110d5535623b733af7e34616f2fe127e68a936b9551395487ec146 diff --git a/sys-fs/gocryptfs/gocryptfs-2.2.0.ebuild b/sys-fs/gocryptfs/gocryptfs-2.2.0.ebuild new file mode 100644 index 0000000..31ef3e8 --- /dev/null +++ b/sys-fs/gocryptfs/gocryptfs-2.2.0.ebuild @@ -0,0 +1,108 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Note: For distfiles verification see https://nuetzlich.net/gocryptfs/releases. + +EAPI="8" + +EGO_PN="github.com/rfjakob/${PN}" +inherit go-module + +MY_PV="${PV/_/-}" + +EGO_SUM=( ) +go-module_set_globals + +DESCRIPTION="Encrypted overlay filesystem written in Go" +HOMEPAGE="https://nuetzlich.net/gocryptfs/ https://github.com/rfjakob/gocryptfs/releases" + +if [[ "${PV}" = 9999* ]]; then + EGIT_REPO_URI="https://${EGO_PN}" + inherit git-r3 +else + SRC_URI=" + https://${EGO_PN}/releases/download/v${MY_PV}/${PN}_v${MY_PV}_src-deps.tar.gz -> ${P}.tar.gz + ${EGO_SUM_SRC_URI} + " +fi + +# in detail: +# BSD vendor/golang.org/x/sys/LICENSE +# BSD vendor/golang.org/x/crypto/LICENSE +# BSD vendor/github.com/hanwen/go-fuse/v2/LICENSE +# Apache-2.0 vendor/github.com/jacobsa/crypto/LICENSE +# BSD-2 vendor/github.com/pkg/xattr/LICENSE +# MIT vendor/github.com/rfjakob/eme/LICENSE +# MIT vendor/github.com/sabhiram/go-gitignore/LICENSE +LICENSE="Apache-2.0 BSD BSD-2 MIT" + +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug +man pie +ssl" +# Some tests need and ext4, some need libsandbox.so preloaded. +RESTRICT="test" + +BDEPEND="man? ( dev-go/go-md2man )" +RDEPEND=" + sys-fs/fuse + ssl? ( dev-libs/openssl:0= ) +" + +S="${WORKDIR}/${PN}_v${MY_PV}_src-deps" + +# We omit debug symbols which looks like pre-stripping to portage. +QA_PRESTRIPPED=" + /usr/bin/gocryptfs-atomicrename + /usr/bin/gocryptfs-findholes + /usr/bin/gocryptfs-statfs + /usr/bin/gocryptfs-xray + /usr/bin/gocryptfs +" + +src_compile() { + export GOPATH="${G}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + local myldflags=( + "$(usex !debug '-s -w' '')" + -X "main.GitVersion=v${PV}" + -X "'main.GitVersionFuse=[vendored]'" + -X "main.BuildDate=$(date -u '+%Y-%m-%d')" + ) + local mygoargs=( + -v -work -x + "-buildmode=$(usex pie pie exe)" + "-asmflags=all=-trimpath=${S}" + "-gcflags=all=-trimpath=${S}" + -ldflags "${myldflags[*]}" + -tags "$(usex !ssl 'without_openssl' 'none')" + ) + go build "${mygoargs[@]}" || die + + # loop over all helper tools + for dir in gocryptfs-xray contrib/statfs contrib/findholes contrib/atomicrename; do + cd "${S}/${dir}" || die + go build "${mygoargs[@]}" || die + done + cd "${S}" + + if use man; then + go-md2man -in Documentation/MANPAGE.md -out gocryptfs.1 || die + go-md2man -in Documentation/MANPAGE-STATFS.md -out gocryptfs-statfs.2 || die + go-md2man -in Documentation/MANPAGE-XRAY.md -out gocryptfs-xray.1 || die + fi +} + +src_install() { + dobin gocryptfs + dobin gocryptfs-xray/gocryptfs-xray + newbin contrib/statfs/statfs "${PN}-statfs" + newbin contrib/findholes/findholes "${PN}-findholes" + newbin contrib/atomicrename/atomicrename "${PN}-atomicrename" + + if use man; then + doman gocryptfs.1 + doman gocryptfs-xray.1 + doman gocryptfs-statfs.2 + fi +}