# Template file for '1password'
pkgname=1password
version=8.4.1
revision=1
archs="x86_64"
hostmakedepends="w3m gnupg"
short_desc="Password manager"
maintainer="b-l-a-i-n-e <blaine.gilbreth@gmail.com>"
license="custom:Proprietary"
homepage="https://www.1password.com"
distfiles="https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz
 https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz.sig"
checksum="f5c2468127c363b3a3d2fa5857b6ff0979eeaf1485c1afb114b3929c1fc4a7df
 0739424395377f56c9528c1169ef72d6a941e21f1bc9d728481bf5de8563bf01"
_filename="1password-${version}.x64.tar.gz"
_1passworddir="${_filename%.tar.*}"
_license_checksum=b8f6ff9297488416f3d8063a151109ed5e8a2df6fa546856a4beaa715cbc0fda
_gpg_key=3FEF9748469ADBE15DA7CA80AC2D62742012EA22
system_groups="_onepassword"
repository=nonfree
restricted=yes
nostrip=yes
noshlibprovides=yes
skip_extraction="$_filename.sig"

post_extract() {
	# verify gpg key
	if ! gpg --recv-keys "${_gpg_key}"; then
		msg_error "Incorrect gpg key: ${_gpg_key}\n"
	fi
	if ! gpg --verify "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_filename}.sig" \
		"${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_filename}"
	then
		msg_error "gpg verify failed\n"
	fi

	# verify EULA
	$XBPS_FETCH_CMD -o eula https://1password.com/legal/terms-of-service/
	cat eula |
		w3m -dump -I utf-8 -T text/html |
		sed -n '/Service Agreement for 1Password/,/We clarified what happens if we part ways./p' > EULA
	filesum="$($XBPS_DIGEST_CMD EULA)"
	if [ "$filesum" != "$_license_checksum" ]; then
		msg_error "SHA256 mismatch for EULA:\n$filesum\n"
	fi
}

do_install() {
	vmkdir opt/1Password
	vlicense EULA
	rm -f EULA eula
	vcopy "*" opt/1Password
	vinstall com.1password.1Password.policy 644 usr/share/polkit-1/actions/
	vinstall resources/custom_allowed_browsers 644 usr/share/doc/1password/examples/
	vbin "${FILESDIR}/1password"
}
