commit:     bfb687613954e39c24ebb2247f06eda67afbc7b9
Author:     Jan Breuer <honza.breuer <AT> gmail <DOT> com>
AuthorDate: Sat Sep 15 21:47:05 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 19:54:21 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfb68761

net-misc/ptpd: Fix conflicting types for EVP_MD_CTX

Closes: https://bugs.gentoo.org/664500
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/9786

 .../ptpd-2.3.1-fix-libressl-compatibility.patch    | 24 ++++++++
 net-misc/ptpd/files/ptpd-2.3.1-fix-snmp.patch      | 12 ++++
 net-misc/ptpd/ptpd-2.3.1-r2.ebuild                 | 66 ++++++++++++++++++++++
 3 files changed, 102 insertions(+)

diff --git a/net-misc/ptpd/files/ptpd-2.3.1-fix-libressl-compatibility.patch 
b/net-misc/ptpd/files/ptpd-2.3.1-fix-libressl-compatibility.patch
new file mode 100644
index 00000000000..4fa25797ff0
--- /dev/null
+++ b/net-misc/ptpd/files/ptpd-2.3.1-fix-libressl-compatibility.patch
@@ -0,0 +1,24 @@
+diff -urN old/src/dep/ntpengine/ntp_isc_md5.c 
new/src/dep/ntpengine/ntp_isc_md5.c
+--- old/src/dep/ntpengine/ntp_isc_md5.c        2015-06-29 17:13:29.000000000 
+0200
++++ new/src/dep/ntpengine/ntp_isc_md5.c        2018-09-15 22:56:18.469044902 
+0200
+@@ -262,7 +262,7 @@
+ {
+       u_char  digest[64];
+       u_int   len;
+-      EVP_MD_CTX ctx;
++      PTPD_EVP_MD_CTX ctx;
+         pkt[length / 4] = htonl(keyid); 
+       EVP_DigestInit(&ctx);
+       EVP_DigestUpdate(&ctx, (u_char *)key, (u_int)strlen(key));
+diff -urN old/src/dep/ntpengine/ntp_isc_md5.h 
new/src/dep/ntpengine/ntp_isc_md5.h
+--- old/src/dep/ntpengine/ntp_isc_md5.h        2015-06-29 17:13:29.000000000 
+0200
++++ new/src/dep/ntpengine/ntp_isc_md5.h        2018-09-15 22:56:11.852020732 
+0200
+@@ -80,7 +80,7 @@
+ # define MD5Init(c)             isc_md5_init(c)
+ # define MD5Update(c, p, s)     isc_md5_update(c, p, s)
+ # define MD5Final(d, c)         isc_md5_final((c), (d)) /* swapped */
+-  typedef MD5_CTX                       EVP_MD_CTX;
++  typedef MD5_CTX                       PTPD_EVP_MD_CTX;
+ # define EVP_DigestInit(c)              MD5Init(c)
+ # define EVP_DigestUpdate(c, p, s)      MD5Update(c, p, s)
+ # define EVP_DigestFinal(c, d, pdl)     \

diff --git a/net-misc/ptpd/files/ptpd-2.3.1-fix-snmp.patch 
b/net-misc/ptpd/files/ptpd-2.3.1-fix-snmp.patch
new file mode 100644
index 00000000000..31b466d1468
--- /dev/null
+++ b/net-misc/ptpd/files/ptpd-2.3.1-fix-snmp.patch
@@ -0,0 +1,12 @@
+diff -urN old/src/dep/snmp.c new/src/dep/snmp.c
+--- old/src/dep/snmp.c 2015-06-29 17:13:29.000000000 +0200
++++ new/src/dep/snmp.c 2018-09-15 22:54:11.818589001 +0200
+@@ -221,7 +221,7 @@
+ 
+ #define SNMP_LOCAL_VARIABLES                  \
+       static unsigned long long_ret;          \
+-      static U64 counter64_ret;               \
++      static struct counter64 counter64_ret;          \
+       static uint32_t ipaddr;                 \
+       Integer64 bigint;                       \
+       struct snmpHeaderIndex idx;             \

diff --git a/net-misc/ptpd/ptpd-2.3.1-r2.ebuild 
b/net-misc/ptpd/ptpd-2.3.1-r2.ebuild
new file mode 100644
index 00000000000..cfca56347ad
--- /dev/null
+++ b/net-misc/ptpd/ptpd-2.3.1-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic systemd
+
+DESCRIPTION="Precision Time Protocol daemon"
+HOMEPAGE="https://github.com/ptpd/ptpd";
+SRC_URI="https://github.com/ptpd/ptpd/archive/${P}.tar.gz";
+
+KEYWORDS="~amd64 ~arm ~x86"
+LICENSE="BSD"
+SLOT="0"
+IUSE="debug experimental ntp +pcap snmp slave-only +statistics"
+
+RDEPEND="
+       pcap? ( net-libs/libpcap )
+       snmp? ( net-analyzer/net-snmp )"
+DEPEND="${RDEPEND}"
+RDEPEND="${RDEPEND}
+       ntp? ( net-misc/ntp )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.3.1-fix-snmp.patch
+       "${FILESDIR}"/${PN}-2.3.1-fix-libressl-compatibility.patch
+)
+
+S=${WORKDIR}/ptpd-${P}
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       append-flags -fno-strict-aliasing
+       local myconf=(
+               --enable-daemon
+               $(use_enable snmp)
+               $(use_enable experimental experimental-options)
+               $(use_enable statistics)
+               $(use_enable debug runtime-debug)
+               $(use_enable pcap)
+               $(use_enable slave-only)
+       )
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       emake install DESTDIR="${D}"
+
+       insinto /etc
+       newins "src/ptpd2.conf.minimal" ptpd2.conf
+
+       newinitd "${FILESDIR}/ptpd2.rc" ptpd2
+       newconfd "${FILESDIR}/ptpd2.confd" ptpd2
+
+       systemd_dounit "${FILESDIR}/ptpd2.service"
+}
+
+pkg_postinst() {
+       elog "Do not forget to setup correct network interface."
+       elog "Change the config file ${EROOT}etc/ptpd2.conf to suit your needs."
+}

Reply via email to