View Raw Ebuild
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit vdr-plugin-2 ssl-cert
VERSION="1971" # every bump, new version
DESCRIPTION="VDR Plugin: remote programming VDR using VDR-Manager running on Android devices"
HOMEPAGE="https://github.com/vdr-projects/vdr-plugin-vdrmanager/"
SRC_URI="https://github.com/vdr-projects/vdr-plugin-vdrmanager/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/vdr-plugin-vdrmanager-${PV}/vdr-vdrmanager"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gzip +ssl stream zlib"
DEPEND="media-video/vdr:=
ssl? ( dev-libs/openssl )"
RDEPEND="${DEPEND}
stream? ( media-plugins/vdr-streamdev[server] )
zlib? ( virtual/zlib:= )"
VDRMANAGER_SSL_KEY_DIR="/etc/vdr/plugins/vdrmanager"
VDRMANAGER_SSL_KEY_FILE="${VDRMANAGER_SSL_KEY_DIR}/vdrmanager"
make_vdrmanager_cert() {
SSL_COUNTRY="${SSL_COUNTRY:-}"
SSL_STATE="${SSL_STATE:-Unknown}"
SSL_LOCALITY="${VDRMANAGER_SSL_LOCALITY:-Unkown}"
SSL_ORGANIZATION="${VDRMNAGER_SSL_ORGANIZATION:-VDR-Manager Plugin}"
SSL_UNIT="${VDRMANAGER_SSL_UNIT:-VDR Server}"
SSL_COMMONNAME="${VDRMANAGER_SSL_COMMONNAME:-`hostname -f`}"
SSL_EMAIL="${VDRMANAGER_SSL_EMAIL:-Unknown}"
SSL_BITS="${VDRMANAGER_SSL_BITS:-1024}"
SSL_DAYS="${VDRMANAGER_SSL_DAYS:-720}"
rm -f "${ROOT}"${VDRMANAGER_SSL_KEY_FILE}.*
install_cert ${VDRMANAGER_SSL_KEY_FILE}
rm -f "${ROOT}"${VDRMANAGER_SSL_KEY_FILE}.{crt,csr,key}
chown vdr:vdr "${ROOT}"${VDRMANAGER_SSL_KEY_FILE}.pem
chmod 0400 "${ROOT}"${VDRMANAGER_SSL_KEY_FILE}.pem
}
src_prepare() {
vdr-plugin-2_src_prepare
BUILD_PARAMS+=" VDRMANAGER_USE_GZIP=$(usex gzip 1 0)"
BUILD_PARAMS+=" VDRMANAGER_USE_SSL=$(usex ssl 1 0)"
BUILD_PARAMS+=" VDRMANAGER_USE_ZLIB=$(usex zlib 1 0)"
}
pkg_postinst() {
vdr-plugin-2_pkg_postinst
einfo "Add a password to /etc/conf.d/vdr.vdrmanager"
if use ssl ; then
if [[ -f ${ROOT}${VDRMANAGER_SSL_KEY_FILE}.pem ]]; then
einfo "found an existing SSL cert, to create a new SSL cert, run:\n"
einfo "emerge --config ${PN}"
else
einfo "No SSL cert found, creating a default one now"
make_vdrmanager_cert
fi
fi
}
pkg_config() {
make_vdrmanager_cert
}