mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-09 00:07:57 +03:00
Signed-off-by: Alfred Wingate <parona@protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41919 Signed-off-by: Sam James <sam@gentoo.org>
86 lines
2.1 KiB
Bash
86 lines
2.1 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit libtool pam
|
|
|
|
DESCRIPTION="Toolkit for using one-time password authentication with HOTP/TOTP algorithms"
|
|
HOMEPAGE="https://www.nongnu.org/oath-toolkit/"
|
|
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
|
|
|
|
LICENSE="GPL-3 LGPL-2.1"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
|
|
IUSE="pam static-libs test"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
DEPEND="
|
|
dev-libs/libxml2:=
|
|
dev-libs/xmlsec:=
|
|
pam? ( sys-libs/pam )
|
|
"
|
|
RDEPEND="${DEPEND}"
|
|
BDEPEND="
|
|
dev-build/gtk-doc-am
|
|
test? ( dev-libs/libxml2 )
|
|
"
|
|
|
|
# fpurge is from gnulib, and unused as of 2.6.11
|
|
QA_CONFIG_IMPL_DECL_SKIP=(
|
|
MIN # glibc fp
|
|
alignof
|
|
fpurge
|
|
static_assert
|
|
unreachable
|
|
)
|
|
|
|
src_prepare() {
|
|
default
|
|
elibtoolize
|
|
# upstream has a gdoc.mk, which declares that Makefile.am -> Makefile.in has a rebuild rule on:
|
|
# $(top_builddir)/configure
|
|
# which is baffling and also totally breaks elibtoolize. Munge the timestamps into forgetting about this.
|
|
touch */man/Makefile.gdoc */man/Makefile.in || die
|
|
|
|
# After patching, we have to fix the mtime on libpskc/global.c so
|
|
# that it doesn't cause Makefile.gdoc to be rebuilt so that it
|
|
# doesn't cause Makefile.in to be rebuilt so that it doesn't try to
|
|
# run automake-1.16.5 for no reason. Bug 936309.
|
|
touch --reference=libpskc/errors.c libpskc/global.c || die
|
|
}
|
|
|
|
src_configure() {
|
|
local myeconfargs=(
|
|
--cache-file="${S}"/config.cache
|
|
--enable-pskc
|
|
$(use_enable test xmltest)
|
|
$(use_enable pam)
|
|
$(use_with pam pam-dir $(getpam_mod_dir))
|
|
$(use_enable static-libs static)
|
|
)
|
|
|
|
econf "${myeconfargs[@]}"
|
|
}
|
|
|
|
src_test() {
|
|
# Without -k, it will bail out after the first testsuite failure,
|
|
# skipping the other testsuites. as they are mostly independent, this sucks.
|
|
emake -k check
|
|
|
|
# Avoid errant QA notice for no tests run on these
|
|
rm -f libpskc/gtk-doc/test-suite.log liboath/gtk-doc/test-suite.log || die
|
|
}
|
|
|
|
src_install() {
|
|
default
|
|
|
|
find "${ED}" -name '*.la' -type f -delete || die
|
|
|
|
if use pam; then
|
|
newdoc pam_oath/README README.pam
|
|
fi
|
|
|
|
doman pskctool/pskctool.1
|
|
}
|