darkstat: Fix building on Tiger

This commit is contained in:
nia 2024-03-16 22:36:01 +00:00
parent 4ec12377f4
commit c4ee23a096
3 changed files with 62 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.18 2017/08/01 14:59:03 wiz Exp $
# $NetBSD: Makefile,v 1.19 2024/03/16 22:36:01 nia Exp $
DISTNAME= darkstat-3.0.719
CATEGORIES= net
@ -16,6 +16,14 @@ GNU_CONFIGURE= yes
RCD_SCRIPTS= darkstat
.include "../../mk/bsd.prefs.mk"
# Macs lacked clock_gettime way past its implement-by date.
.if ${OPSYS} == "Darwin" && ${OPSYS_VERSION} < 101200
LDFLAGS+= -lMacportsLegacySupport
. include "../../devel/macports-legacy-support/buildlink3.mk"
.endif
.include "../../devel/zlib/buildlink3.mk"
BUILDLINK_API_DEPENDS.libpcap+= libpcap>=0.6.0
.include "../../net/libpcap/buildlink3.mk"

View File

@ -1,5 +1,6 @@
$NetBSD: distinfo,v 1.16 2021/10/26 11:05:29 nia Exp $
$NetBSD: distinfo,v 1.17 2024/03/16 22:36:01 nia Exp $
BLAKE2s (darkstat-3.0.719.tar.bz2) = 46d084ad95c8f2a4ce30d069494c9a2f044ea7c62f4b383b11b31b9084ad2885
SHA512 (darkstat-3.0.719.tar.bz2) = 264f6c5f862745fbfb5d125aae5a319369f028fd7be96cfb12775147f528a36b7f5a42bcd6434f2d376933292364641f2ec9cd9bdb1fe105f5a905e331181f98
Size (darkstat-3.0.719.tar.bz2) = 117695 bytes
SHA1 (patch-now.c) = 3cd0ceeb9d51c48791855c5d4b2a6f9b77a7cb3f

View File

@ -0,0 +1,51 @@
$NetBSD: patch-now.c,v 1.1 2024/03/16 22:36:01 nia Exp $
Remove the internal copy of clock_gettime for OS X and use the version
from macports-legacy-support since libpcap requires it anyway.
--- now.c.orig 2024-03-16 22:31:55.000000000 +0000
+++ now.c
@@ -23,43 +23,6 @@
#include <string.h>
#include <time.h>
-#if defined(__MACH__) && !defined(__gnu_hurd__)
-/* Fake up clock_gettime() on OS X. */
-# include <sys/time.h>
-# include <inttypes.h>
-# include <mach/mach.h>
-# include <mach/mach_time.h>
-
- typedef int clockid_t;
-# define CLOCK_REALTIME 0
-# define CLOCK_MONOTONIC 1
-
- static uint64_t mono_first = 0;
-
- int clock_gettime(clockid_t clk_id, struct timespec *tp) {
- if (clk_id == CLOCK_REALTIME) {
- struct timeval tv;
- gettimeofday(&tv, NULL);
- tp->tv_sec = tv.tv_sec;
- tp->tv_nsec = tv.tv_usec * 1000;
- return 0;
- }
- if (clk_id == CLOCK_MONOTONIC) {
- uint64_t t = mach_absolute_time();
- mach_timebase_info_data_t timebase;
- mach_timebase_info(&timebase);
- if (!mono_first) {
- mono_first = t;
- }
- uint64_t tdiff = (t - mono_first) * timebase.numer / timebase.denom;
- tp->tv_sec = tdiff / 1000000000;
- tp->tv_nsec = tdiff % 1000000000;
- return 0;
- }
- return -1;
- }
-#endif /* __MACH__ */
-
static struct timespec clock_real, clock_mono;
static int now_initialized = 0;