# Copyright 2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) inherit optfeature perl-functions python-single-r1 systemd verify-sig DESCRIPTION="InterNetNews -- the Internet meets Netnews" HOMEPAGE="https://www.eyrie.org/~eagle/software/inn/" SRC_URI="https://archives.eyrie.org/software/${PN}/${P}.tar.gz verify-sig? ( https://archives.eyrie.org/software/${PN}/${P}.tar.gz.sha256.asc )" LICENSE="BSD BSD-2 BSD-4 GPL-2+ ISC MIT RSA powell public-domain" SLOT="0" KEYWORDS="~amd64" IUSE="berkdb gzip kerberos keywords largefile low-memory +perl +python sasl ssl systemd zlib" REQUIRED_USE=" python? ( ${PYTHON_REQUIRED_USE} ) ?? ( low-memory largefile ) " # ?? ( bzip2 gzip ) DEPEND=" app-crypt/gnupg sys-libs/pam virtual/libcrypt:= !berkdb? ( sys-libs/gdbm:= ) berkdb? ( sys-libs/db:* ) kerberos? ( app-crypt/mit-krb5 ) perl? ( dev-lang/perl:= ) python? ( ${PYTHON_DEPS} ) sasl? ( dev-libs/cyrus-sasl:2 ) ssl? ( dev-libs/openssl:= ) systemd? ( sys-apps/systemd:= ) zlib? ( sys-libs/zlib:= ) " RDEPEND="${DEPEND} virtual/sendmail " BDEPEND=" sys-devel/flex virtual/yacc verify-sig? ( sec-keys/openpgp-keys-russallbery ) " DOCS=( ChangeLog CONTRIBUTORS HACKING INSTALL NEWS README TODO ) VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/russallbery.asc" src_unpack() { if use verify-sig; then pushd "${DISTDIR}" || die verify-sig_verify_signed_checksums \ ${P}.tar.gz.sha256.asc sha256 ${P}.tar.gz popd || die fi unpack ${P}.tar.gz } src_configure() { econf_args=( --prefix="${EPREFIX}"/opt/${PN} --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} --includedir="${EPREFIX}"/usr/include --sysconfdir="${EPREFIX}"/etc/news --with-db-dir="${EPREFIX}"/var/db/news --with-doc-dir="${EPREFIX}"/usr/share/doc/${PF} --with-http-dir="${EPREFIX}"/usr/share/${PN}/http --with-libperl-dir=$(perl_get_vendorlib) --with-log-dir="${EPREFIX}"/var/log/${PN} --with-run-dir="${EPREFIX}"/run/news --with-spool-dir="${EPREFIX}"/var/spool/news --with-tmp-dir="${EPREFIX}"/var/tmp/news $(use_enable keywords) $(use_enable largefile largefiles) $(use_enable low-memory tagged-hash) $(use_with berkdb bdb) $(use_with kerberos krb5) $(use_with perl) $(use_with python) $(use_with sasl) $(use_with ssl openssl) $(use_with zlib) ) if use gzip; then econf_args+=( --with-log-compress=gzip ) # elif use bzip2; then # econf_args+=( --with-log-compress=bzip2 ) else econf_args+=( --with-log-compress=cat ) fi econf "${econf_args[@]}" } src_compile() { emake -j1 } src_test() { emake -j1 check } src_install() { default keepdir /var/log/inn/OLD keepdir /var/tmp/news keepdir /var/spool/news/{archive,articles,incoming/bad,innfeed,outgoing,overview} find "${ED}" -name '*.la' -delete || die rm "${ED}"/usr/share/doc/${PF}/{GPL,LICENSE} || die rm -r "${ED}"/run || die # collision with sys-apps/man-pages mv "${ED}"/usr/share/man/man3/{list,inn-list}.3 || die doenvd "${FILESDIR}"/30inn newinitd "${FILESDIR}"/ovdb.initd ovdb for svc in cnfsstat innd innwatch; do newinitd "${FILESDIR}"/${svc}.initd ${svc} newconfd "${FILESDIR}"/${svc}.confd ${svc} done systemd_dounit "${FILESDIR}"/innd.service } pkg_postinst() { if use perl; then optfeature "controlchan program" dev-perl/MIME-tools optfeature "innreport script" dev-perl/GD optfeature "send-uucp backend" net-misc/taylor-uucp fi }