summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-11-02 00:11:28 +0000
committerSam James <sam@gentoo.org>2022-11-02 00:47:34 +0000
commit457fcc8079b30e1be8fe0d4cead4218e3884072c (patch)
treebfc529f569f0615c36a20b5be6a55323006361c5 /net-misc/ntpsec
parentx11-misc/xscreensaver: get install dirs from GTK3 instead of GTK2 in configur... (diff)
downloadgentoo-457fcc8079b30e1be8fe0d4cead4218e3884072c.tar.gz
gentoo-457fcc8079b30e1be8fe0d4cead4218e3884072c.tar.bz2
gentoo-457fcc8079b30e1be8fe0d4cead4218e3884072c.zip
net-misc/ntpsec: drop 1.2.1-r2, 1.2.1-r3, 1.2.1-r4, 1.2.1-r5
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc/ntpsec')
-rw-r--r--net-misc/ntpsec/files/ntpd.rc-r222
-rw-r--r--net-misc/ntpsec/metadata.xml3
-rw-r--r--net-misc/ntpsec/ntpsec-1.2.1-r2.ebuild168
-rw-r--r--net-misc/ntpsec/ntpsec-1.2.1-r3.ebuild177
-rw-r--r--net-misc/ntpsec/ntpsec-1.2.1-r4.ebuild177
-rw-r--r--net-misc/ntpsec/ntpsec-1.2.1-r5.ebuild178
6 files changed, 1 insertions, 724 deletions
diff --git a/net-misc/ntpsec/files/ntpd.rc-r2 b/net-misc/ntpsec/files/ntpd.rc-r2
deleted file mode 100644
index 82a950ef5dac..000000000000
--- a/net-misc/ntpsec/files/ntpd.rc-r2
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="ntpd - the network time protocol daemon"
-pidfile="/run/ntpd.pid"
-command="/usr/sbin/ntpd"
-command_args="-p ${pidfile} ${NTPD_OPTS}"
-start_stop_daemon_args="--pidfile ${pidfile}"
-
-depend() {
- use net dns logger
- after ntp-client
-}
-
-start_pre() {
- if [ ! -f /etc/ntp.conf ] ; then
- eerror "Please create /etc/ntp.conf"
- return 1
- fi
- return 0
-}
diff --git a/net-misc/ntpsec/metadata.xml b/net-misc/ntpsec/metadata.xml
index 69f78f92c02d..7e10e7cbb842 100644
--- a/net-misc/ntpsec/metadata.xml
+++ b/net-misc/ntpsec/metadata.xml
@@ -6,7 +6,7 @@
<name>Anthony G. Basile</name>
</maintainer>
<longdescription lang="en">
-NTPsec project - a secure, hardened, and improved implementation of Network Time Protocol derived from NTP Classic, Dave Mills’s original.
+ NTPsec project - a secure, hardened, and improved implementation of Network Time Protocol derived from NTP Classic, Dave Mills’s original.
</longdescription>
<use>
<flag name="early">Drop root privileges early</flag>
@@ -31,6 +31,5 @@ NTPsec project - a secure, hardened, and improved implementation of Network Time
<flag name="rclock_modem">NIST/USNO/PTB Modem Time Services</flag>
<flag name="rclock_local">Support for undisciplined local clock (not recommended)</flag>
<flag name="smear">Specify the interval over which a leap second is applied (experimental)</flag>
- <flag name="tests">Enable tests</flag>
</use>
</pkgmetadata>
diff --git a/net-misc/ntpsec/ntpsec-1.2.1-r2.ebuild b/net-misc/ntpsec/ntpsec-1.2.1-r2.ebuild
deleted file mode 100644
index 80e17ecb6cb5..000000000000
--- a/net-misc/ntpsec/ntpsec-1.2.1-r2.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='threads(+)'
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1 flag-o-matic waf-utils systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git"
-else
- SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${PN}-${PV}.tar.gz"
- RESTRICT="mirror"
- KEYWORDS="amd64 arm arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="The NTP reference implementation, refactored"
-HOMEPAGE="https://www.ntpsec.org/"
-
-NTPSEC_REFCLOCK=(
- oncore trimble truetime gpsd jjy generic spectracom
- shm pps hpgps zyfer arbiter nmea modem local
- )
-
-IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_}
-
-LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0"
-SLOT="0"
-IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear tests" #ionice
-REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )"
-
-# net-misc/pps-tools oncore,pps
-CDEPEND="${PYTHON_DEPS}
- sys-libs/libcap
- dev-python/psutil[${PYTHON_USEDEP}]
- libbsd? ( dev-libs/libbsd:0= )
- dev-libs/openssl:0=
- seccomp? ( sys-libs/libseccomp )
-"
-RDEPEND="${CDEPEND}
- ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )
- !net-misc/ntp
- !net-misc/openntpd
- acct-group/ntp
- acct-user/ntp
-"
-DEPEND="${CDEPEND}
- >=app-text/asciidoc-8.6.8
- dev-libs/libxslt
- app-text/docbook-xsl-stylesheets
- sys-devel/bison
- rclock_oncore? ( net-misc/pps-tools )
- rclock_pps? ( net-misc/pps-tools )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rollup.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rseq-glibc-2.35.patch"
-)
-
-WAF_BINARY="${S}/waf"
-
-src_prepare() {
- default
-
- # Remove autostripping of binaries
- sed -i -e '/Strip binaries/d' wscript || die
- if ! use libbsd ; then
- eapply "${FILESDIR}/${PN}-no-bsd.patch"
- fi
- # remove extra default pool servers
- sed -i '/use-pool/s/^/#/' "${S}"/etc/ntp.d/default.conf || die
-
- python_copy_sources
-}
-
-src_configure() {
- is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin
-
- local string_127=""
- local rclocks="";
- local CLOCKSTRING=""
-
- for refclock in ${NTPSEC_REFCLOCK[@]} ; do
- if use rclock_${refclock} ; then
- string_127+="$refclock,"
- fi
- done
- CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`"
-
- local myconf=(
- --nopyc
- --nopyo
- --enable-pylib ext
- --refclock="${CLOCKSTRING}"
- #--build-epoch="$(date +%s)"
- $(use doc || echo "--disable-doc")
- $(use early && echo "--enable-early-droproot")
- $(use gdb && echo "--enable-debug-gdb")
- $(use samba && echo "--enable-mssntp")
- $(use seccomp && echo "--enable-seccomp")
- $(use smear && echo "--enable-leap-smear")
- $(use tests && echo "--alltests")
- $(use debug && echo "--enable-debug")
- )
-
- python_configure() {
- waf-utils_src_configure "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
-}
-
-src_compile() {
- unset MAKEOPTS
- python_compile() {
- waf-utils_src_compile
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-src_install() {
- python_install() {
- waf-utils_src_install
- python_fix_shebang "${ED}"
- }
- python_foreach_impl run_in_build_dir python_install
- python_foreach_impl python_optimize
-
- # Install heat generating scripts
- use heat && dosbin "${S}"/contrib/ntpheat{,usb}
-
- # Install the openrc files
- newinitd "${FILESDIR}"/ntpd.rc-r2 ntp
- newconfd "${FILESDIR}"/ntpd.confd ntp
-
- # Install the systemd unit file
- systemd_newunit "${FILESDIR}"/ntpd-r1.service ntpd.service
-
- # Prepare a directory for the ntp.drift file
- mkdir -pv "${ED}"/var/lib/ntp
- chown ntp:ntp "${ED}"/var/lib/ntp
- chmod 770 "${ED}"/var/lib/ntp
- keepdir /var/lib/ntp
-
- # Install a log rotate script
- mkdir -pv "${ED}"/etc/logrotate.d
- cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd
-
- # Install the configuration file and sample configuration
- cp -v "${FILESDIR}"/ntp.conf "${ED}"/etc/ntp.conf
- cp -Rv "${S}"/etc/ntp.d/ "${ED}"/etc/
-
- # move doc files to /usr/share/doc/"${P}"
- use doc && mv -v "${ED}"/usr/share/doc/"${PN}" "${ED}"/usr/share/doc/"${P}"/html
-}
-
-pkg_postinst() {
- einfo "If you want to serve time on your local network, then"
- einfo "you should disable all the ref_clocks unless you have"
- einfo "one and can get stable time from it. Feel free to try"
- einfo "it but PPS probably won't work unless you have a UART"
- einfo "GPS that actually provides PPS messages."
-}
diff --git a/net-misc/ntpsec/ntpsec-1.2.1-r3.ebuild b/net-misc/ntpsec/ntpsec-1.2.1-r3.ebuild
deleted file mode 100644
index 93bcb0332fab..000000000000
--- a/net-misc/ntpsec/ntpsec-1.2.1-r3.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1 flag-o-matic waf-utils systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git"
-else
- SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="The NTP reference implementation, refactored"
-HOMEPAGE="https://www.ntpsec.org/"
-
-NTPSEC_REFCLOCK=(
- oncore trimble truetime gpsd jjy generic spectracom
- shm pps hpgps zyfer arbiter nmea modem local
-)
-
-IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_}
-
-LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0"
-SLOT="0"
-IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear" #ionice
-REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )"
-
-# net-misc/pps-tools oncore,pps
-DEPEND="${PYTHON_DEPS}
- dev-libs/openssl:=
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-libs/libcap
- libbsd? ( dev-libs/libbsd:0= )
- seccomp? ( sys-libs/libseccomp )
- rclock_oncore? ( net-misc/pps-tools )
- rclock_pps? ( net-misc/pps-tools )"
-RDEPEND="${DEPEND}
- !net-misc/ntp
- !net-misc/openntpd
- acct-group/ntp
- acct-user/ntp
- ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )"
-BDEPEND=">=app-text/asciidoc-8.6.8
- dev-libs/libxslt
- app-text/docbook-xsl-stylesheets
- sys-devel/bison"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rollup.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rseq-glibc-2.35.patch"
- "${FILESDIR}/${PN}-1.2.1-build-notests.patch"
- "${FILESDIR}/${PN}-py3-test-clarify.patch"
-)
-
-WAF_BINARY="${S}/waf"
-
-src_prepare() {
- default
-
- # Remove autostripping of binaries
- sed -i -e '/Strip binaries/d' wscript || die
- if ! use libbsd ; then
- eapply "${FILESDIR}/${PN}-no-bsd.patch"
- fi
- # remove extra default pool servers
- sed -i '/use-pool/s/^/#/' "${S}"/etc/ntp.d/default.conf || die
-
- python_copy_sources
-}
-
-src_configure() {
- is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin
-
- local string_127=""
- local rclocks="";
- local CLOCKSTRING=""
-
- for refclock in ${NTPSEC_REFCLOCK[@]} ; do
- if use rclock_${refclock} ; then
- string_127+="$refclock,"
- fi
- done
- CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`"
-
- local myconf=(
- --notests
- --nopyc
- --nopyo
- --enable-pylib ext
- --refclock="${CLOCKSTRING}"
- #--build-epoch="$(date +%s)"
- $(use doc || echo "--disable-doc")
- $(use early && echo "--enable-early-droproot")
- $(use gdb && echo "--enable-debug-gdb")
- $(use samba && echo "--enable-mssntp")
- $(use seccomp && echo "--enable-seccomp")
- $(use smear && echo "--enable-leap-smear")
- $(use debug && echo "--enable-debug")
- )
-
- python_configure() {
- waf-utils_src_configure "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
-}
-
-src_compile() {
- unset MAKEOPTS
- python_compile() {
- waf-utils_src_compile --notests
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-src_test() {
- python_compile() {
- waf-utils_src_compile check
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-python_test() {
- # Silence QA warning as we're running tests via src_test anyway.
- :;
-}
-
-src_install() {
- python_install() {
- waf-utils_src_install --notests
- python_fix_shebang "${ED}"
- }
- python_foreach_impl run_in_build_dir python_install
- python_foreach_impl python_optimize
-
- # Install heat generating scripts
- use heat && dosbin "${S}"/contrib/ntpheat{,usb}
-
- # Install the openrc files
- newinitd "${FILESDIR}"/ntpd.rc-r2 ntp
- newconfd "${FILESDIR}"/ntpd.confd ntp
-
- # Install the systemd unit file
- systemd_newunit "${FILESDIR}"/ntpd-r1.service ntpd.service
-
- # Prepare a directory for the ntp.drift file
- mkdir -pv "${ED}"/var/lib/ntp
- chown ntp:ntp "${ED}"/var/lib/ntp
- chmod 770 "${ED}"/var/lib/ntp
- keepdir /var/lib/ntp
-
- # Install a log rotate script
- mkdir -pv "${ED}"/etc/logrotate.d
- cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd
-
- # Install the configuration file and sample configuration
- cp -v "${FILESDIR}"/ntp.conf "${ED}"/etc/ntp.conf
- cp -Rv "${S}"/etc/ntp.d/ "${ED}"/etc/
-
- # move doc files to /usr/share/doc/"${P}"
- use doc && mv -v "${ED}"/usr/share/doc/"${PN}" "${ED}"/usr/share/doc/"${P}"/html
-}
-
-pkg_postinst() {
- einfo "If you want to serve time on your local network, then"
- einfo "you should disable all the ref_clocks unless you have"
- einfo "one and can get stable time from it. Feel free to try"
- einfo "it but PPS probably won't work unless you have a UART"
- einfo "GPS that actually provides PPS messages."
-}
diff --git a/net-misc/ntpsec/ntpsec-1.2.1-r4.ebuild b/net-misc/ntpsec/ntpsec-1.2.1-r4.ebuild
deleted file mode 100644
index c6da1c0300fc..000000000000
--- a/net-misc/ntpsec/ntpsec-1.2.1-r4.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1 flag-o-matic waf-utils systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git"
-else
- SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="The NTP reference implementation, refactored"
-HOMEPAGE="https://www.ntpsec.org/"
-
-NTPSEC_REFCLOCK=(
- oncore trimble truetime gpsd jjy generic spectracom
- shm pps hpgps zyfer arbiter nmea modem local
-)
-
-IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_}
-
-LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0"
-SLOT="0"
-IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear" #ionice
-REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )"
-
-# net-misc/pps-tools oncore,pps
-DEPEND="${PYTHON_DEPS}
- dev-libs/openssl:=
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-libs/libcap
- libbsd? ( dev-libs/libbsd:0= )
- seccomp? ( sys-libs/libseccomp )
- rclock_oncore? ( net-misc/pps-tools )
- rclock_pps? ( net-misc/pps-tools )"
-RDEPEND="${DEPEND}
- !net-misc/ntp
- !net-misc/openntpd
- acct-group/ntp
- acct-user/ntp
- ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )"
-BDEPEND=">=app-text/asciidoc-8.6.8
- dev-libs/libxslt
- app-text/docbook-xsl-stylesheets
- sys-devel/bison"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rollup.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rseq-glibc-2.35.patch"
- "${FILESDIR}/${PN}-1.2.1-build-notests.patch"
- "${FILESDIR}/${PN}-py3-test-clarify.patch"
-)
-
-WAF_BINARY="${S}/waf"
-
-src_prepare() {
- default
-
- # Remove autostripping of binaries
- sed -i -e '/Strip binaries/d' wscript || die
- if ! use libbsd ; then
- eapply "${FILESDIR}/${PN}-no-bsd.patch"
- fi
- # remove extra default pool servers
- sed -i '/use-pool/s/^/#/' "${S}"/etc/ntp.d/default.conf || die
-
- python_copy_sources
-}
-
-src_configure() {
- is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin
-
- local string_127=""
- local rclocks="";
- local CLOCKSTRING=""
-
- for refclock in ${NTPSEC_REFCLOCK[@]} ; do
- if use rclock_${refclock} ; then
- string_127+="$refclock,"
- fi
- done
- CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`"
-
- local myconf=(
- --notests
- --nopyc
- --nopyo
- --enable-pylib ext
- --refclock="${CLOCKSTRING}"
- #--build-epoch="$(date +%s)"
- $(use doc || echo "--disable-doc")
- $(use early && echo "--enable-early-droproot")
- $(use gdb && echo "--enable-debug-gdb")
- $(use samba && echo "--enable-mssntp")
- $(use seccomp && echo "--enable-seccomp")
- $(use smear && echo "--enable-leap-smear")
- $(use debug && echo "--enable-debug")
- )
-
- python_configure() {
- waf-utils_src_configure "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
-}
-
-src_compile() {
- unset MAKEOPTS
- python_compile() {
- waf-utils_src_compile --notests
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-src_test() {
- python_compile() {
- waf-utils_src_compile check
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-python_test() {
- # Silence QA warning as we're running tests via src_test anyway.
- :;
-}
-
-src_install() {
- python_install() {
- waf-utils_src_install --notests
- python_fix_shebang "${ED}"
- }
- python_foreach_impl run_in_build_dir python_install
- python_foreach_impl python_optimize
-
- # Install heat generating scripts
- use heat && dosbin "${S}"/contrib/ntpheat{,usb}
-
- # Install the openrc files
- newinitd "${FILESDIR}"/ntpd.rc-r3 ntp
- newconfd "${FILESDIR}"/ntpd.confd ntp
-
- # Install the systemd unit file
- systemd_newunit "${FILESDIR}"/ntpd-r1.service ntpd.service
-
- # Prepare a directory for the ntp.drift file
- mkdir -pv "${ED}"/var/lib/ntp
- chown ntp:ntp "${ED}"/var/lib/ntp
- chmod 770 "${ED}"/var/lib/ntp
- keepdir /var/lib/ntp
-
- # Install a log rotate script
- mkdir -pv "${ED}"/etc/logrotate.d
- cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd
-
- # Install the configuration file and sample configuration
- cp -v "${FILESDIR}"/ntp.conf "${ED}"/etc/ntp.conf
- cp -Rv "${S}"/etc/ntp.d/ "${ED}"/etc/
-
- # move doc files to /usr/share/doc/"${P}"
- use doc && mv -v "${ED}"/usr/share/doc/"${PN}" "${ED}"/usr/share/doc/"${P}"/html
-}
-
-pkg_postinst() {
- einfo "If you want to serve time on your local network, then"
- einfo "you should disable all the ref_clocks unless you have"
- einfo "one and can get stable time from it. Feel free to try"
- einfo "it but PPS probably won't work unless you have a UART"
- einfo "GPS that actually provides PPS messages."
-}
diff --git a/net-misc/ntpsec/ntpsec-1.2.1-r5.ebuild b/net-misc/ntpsec/ntpsec-1.2.1-r5.ebuild
deleted file mode 100644
index faba59c221e6..000000000000
--- a/net-misc/ntpsec/ntpsec-1.2.1-r5.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1 flag-o-matic waf-utils systemd
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git"
-else
- SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="The NTP reference implementation, refactored"
-HOMEPAGE="https://www.ntpsec.org/"
-
-NTPSEC_REFCLOCK=(
- oncore trimble truetime gpsd jjy generic spectracom
- shm pps hpgps zyfer arbiter nmea modem local
-)
-
-IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_}
-
-LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0"
-SLOT="0"
-IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb heat libbsd nist ntpviz samba seccomp smear" #ionice
-REQUIRED_USE="${PYTHON_REQUIRED_USE} nist? ( rclock_local )"
-
-# net-misc/pps-tools oncore,pps
-DEPEND="${PYTHON_DEPS}
- dev-libs/openssl:=
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-libs/libcap
- libbsd? ( dev-libs/libbsd:0= )
- seccomp? ( sys-libs/libseccomp )
- rclock_oncore? ( net-misc/pps-tools )
- rclock_pps? ( net-misc/pps-tools )"
-RDEPEND="${DEPEND}
- !net-misc/ntp
- !net-misc/openntpd
- acct-group/ntp
- acct-user/ntp
- ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )"
-BDEPEND=">=app-text/asciidoc-8.6.8
- dev-libs/libxslt
- app-text/docbook-xsl-stylesheets
- sys-devel/bison"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.9-remove-asciidoctor-from-config.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rollup.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-rseq-glibc-2.35.patch"
- "${FILESDIR}/${PN}-1.2.1-build-notests.patch"
- "${FILESDIR}/${PN}-py3-test-clarify.patch"
- "${FILESDIR}/${PN}-1.2.1-seccomp-nsd.patch"
-)
-
-WAF_BINARY="${S}/waf"
-
-src_prepare() {
- default
-
- # Remove autostripping of binaries
- sed -i -e '/Strip binaries/d' wscript || die
- if ! use libbsd ; then
- eapply "${FILESDIR}/${PN}-no-bsd.patch"
- fi
- # remove extra default pool servers
- sed -i '/use-pool/s/^/#/' "${S}"/etc/ntp.d/default.conf || die
-
- python_copy_sources
-}
-
-src_configure() {
- is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin
-
- local string_127=""
- local rclocks="";
- local CLOCKSTRING=""
-
- for refclock in ${NTPSEC_REFCLOCK[@]} ; do
- if use rclock_${refclock} ; then
- string_127+="$refclock,"
- fi
- done
- CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`"
-
- local myconf=(
- --notests
- --nopyc
- --nopyo
- --enable-pylib ext
- --refclock="${CLOCKSTRING}"
- #--build-epoch="$(date +%s)"
- $(use doc || echo "--disable-doc")
- $(use early && echo "--enable-early-droproot")
- $(use gdb && echo "--enable-debug-gdb")
- $(use samba && echo "--enable-mssntp")
- $(use seccomp && echo "--enable-seccomp")
- $(use smear && echo "--enable-leap-smear")
- $(use debug && echo "--enable-debug")
- )
-
- python_configure() {
- waf-utils_src_configure "${myconf[@]}"
- }
- python_foreach_impl run_in_build_dir python_configure
-}
-
-src_compile() {
- unset MAKEOPTS
- python_compile() {
- waf-utils_src_compile --notests
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-src_test() {
- python_compile() {
- waf-utils_src_compile check
- }
- python_foreach_impl run_in_build_dir python_compile
-}
-
-python_test() {
- # Silence QA warning as we're running tests via src_test anyway.
- :;
-}
-
-src_install() {
- python_install() {
- waf-utils_src_install --notests
- python_fix_shebang "${ED}"
- }
- python_foreach_impl run_in_build_dir python_install
- python_foreach_impl python_optimize
-
- # Install heat generating scripts
- use heat && dosbin "${S}"/contrib/ntpheat{,usb}
-
- # Install the openrc files
- newinitd "${FILESDIR}"/ntpd.rc-r3 ntp
- newconfd "${FILESDIR}"/ntpd.confd ntp
-
- # Install the systemd unit file
- systemd_newunit "${FILESDIR}"/ntpd-r1.service ntpd.service
-
- # Prepare a directory for the ntp.drift file
- mkdir -pv "${ED}"/var/lib/ntp
- chown ntp:ntp "${ED}"/var/lib/ntp
- chmod 770 "${ED}"/var/lib/ntp
- keepdir /var/lib/ntp
-
- # Install a log rotate script
- mkdir -pv "${ED}"/etc/logrotate.d
- cp -v "${S}"/etc/logrotate-config.ntpd "${ED}"/etc/logrotate.d/ntpd
-
- # Install the configuration file and sample configuration
- cp -v "${FILESDIR}"/ntp.conf "${ED}"/etc/ntp.conf
- cp -Rv "${S}"/etc/ntp.d/ "${ED}"/etc/
-
- # move doc files to /usr/share/doc/"${P}"
- use doc && mv -v "${ED}"/usr/share/doc/"${PN}" "${ED}"/usr/share/doc/"${P}"/html
-}
-
-pkg_postinst() {
- einfo "If you want to serve time on your local network, then"
- einfo "you should disable all the ref_clocks unless you have"
- einfo "one and can get stable time from it. Feel free to try"
- einfo "it but PPS probably won't work unless you have a UART"
- einfo "GPS that actually provides PPS messages."
-}