summaryrefslogtreecommitdiff
path: root/net-misc/rdate/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /net-misc/rdate/files
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'net-misc/rdate/files')
-rw-r--r--net-misc/rdate/files/rdate-1.10.2-fix-musl-compat-stdint.patch180
-rw-r--r--net-misc/rdate/files/rdate-1.10.2-respect-AR.patch40
2 files changed, 220 insertions, 0 deletions
diff --git a/net-misc/rdate/files/rdate-1.10.2-fix-musl-compat-stdint.patch b/net-misc/rdate/files/rdate-1.10.2-fix-musl-compat-stdint.patch
new file mode 100644
index 000000000000..a6ff70b353d5
--- /dev/null
+++ b/net-misc/rdate/files/rdate-1.10.2-fix-musl-compat-stdint.patch
@@ -0,0 +1,180 @@
+https://github.com/resurrecting-open-source-projects/openrdate/pull/3
+
+From: Sam James <sam@gentoo.org>
+Date: Thu, 3 Feb 2022 09:23:35 +0000
+Subject: [PATCH] Use <stdint.h> to fix musl compatibility
+
+uint32_t and friends are provided by <stdint.h> and the types
+previously being relied on are non-standard, so let's swap.
+
+This fixes building rdate on e.g. musl rather than glibc.
+
+Bug: https://bugs.gentoo.org/832554
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/ntp.c
++++ b/src/ntp.c
+@@ -52,6 +52,7 @@
+ #include <netdb.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <time.h>
+ #include <unistd.h>
+@@ -106,11 +107,11 @@ struct ntp_data {
+ double receive;
+ double transmit;
+ double current;
+- u_int64_t recvck;
++ uint64_t recvck;
+
+ /* Local State */
+ double originate;
+- u_int64_t xmitck;
++ uint64_t xmitck;
+ };
+
+ void ntp_client(const char *, int, struct timeval *, struct timeval *, int, int, int);
+@@ -282,7 +283,7 @@ write_packet(int fd, struct ntp_data *data)
+
+ packet[0] = (NTP_VERSION << 3) | (NTP_MODE_CLIENT);
+
+- data->xmitck = (u_int64_t)arc4random() << 32 | arc4random();
++ data->xmitck = (uint64_t)arc4random() << 32 | arc4random();
+
+ /*
+ * Send out a random 64-bit number as our transmit time. The NTP
+@@ -300,7 +301,7 @@ write_packet(int fd, struct ntp_data *data)
+ * the transmit field intelligible.
+ */
+
+- *(u_int64_t *)(packet + NTP_TRANSMIT) = data->xmitck;
++ *(uint64_t *)(packet + NTP_TRANSMIT) = data->xmitck;
+
+ data->originate = current_time(JAN_1970);
+
+@@ -453,7 +454,7 @@ double
+ current_time(double offset)
+ {
+ struct timeval current;
+- u_int64_t t;
++ uint64_t t;
+
+ if (gettimeofday(&current, NULL))
+ err(1, "Could not get local time of day");
+--- a/src/ntpleaps.c
++++ b/src/ntpleaps.c
+@@ -45,12 +45,13 @@
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <unistd.h>
+
+ #include "ntpleaps.h"
+
+-static u_int64_t *leapsecs;
++static uint64_t *leapsecs;
+ static unsigned int leapsecs_num;
+
+
+@@ -81,10 +82,10 @@ ntpleaps_init(void)
+ }
+
+ int
+-ntpleaps_sub(u_int64_t *t)
++ntpleaps_sub(uint64_t *t)
+ {
+ unsigned int i = 0;
+- u_int64_t u;
++ uint64_t u;
+ int r = 1;
+
+ if (ntpleaps_init() == -1)
+@@ -105,10 +106,10 @@ ntpleaps_sub(u_int64_t *t)
+ return (r);
+ }
+
+-u_int32_t
+-read_be_dword(u_int8_t *ptr)
++uint32_t
++read_be_dword(uint8_t *ptr)
+ {
+- u_int32_t res;
++ uint32_t res;
+
+ memcpy(&res, ptr, 4);
+ return (ntohl(res));
+@@ -120,10 +121,10 @@ ntpleaps_read(void)
+ {
+ int fd;
+ unsigned int r;
+- u_int8_t buf[32];
+- u_int32_t m1, m2, m3;
+- u_int64_t s;
+- u_int64_t *l;
++ uint8_t buf[32];
++ uint32_t m1, m2, m3;
++ uint64_t s;
++ uint64_t *l;
+
+ fd = open("/usr/share/zoneinfo/right/UTC", O_RDONLY | O_NDELAY);
+ if (fd == -1)
+@@ -153,7 +154,7 @@ ntpleaps_read(void)
+ close(fd);
+ return (-1);
+ }
+- if ((l = (u_int64_t *)malloc(r << 3)) == NULL) {
++ if ((l = (uint64_t *)malloc(r << 3)) == NULL) {
+ close(fd);
+ return (-1);
+ }
+--- a/src/ntpleaps.h
++++ b/src/ntpleaps.h
+@@ -46,11 +46,13 @@
+ #ifndef _NTPLEAPS_H
+ #define _NTPLEAPS_H
+
++#include <stdint.h>
++
+ /* Offset between struct timeval.tv_sec and a tai64_t */
+ #define NTPLEAPS_OFFSET (4611686018427387914ULL)
+
+ /* Hide this ugly value from programmes */
+-#define SEC_TO_TAI64(s) (NTPLEAPS_OFFSET + (u_int64_t)(s))
++#define SEC_TO_TAI64(s) (NTPLEAPS_OFFSET + (uint64_t)(s))
+ #define TAI64_TO_SEC(t) ((t) - NTPLEAPS_OFFSET)
+
+ /* Initializes the leap second table. Does not need to be called
+@@ -70,6 +72,6 @@ int ntpleaps_read(void);
+ * to posix clock tick time.
+ * returns 0 on success, -1 on error (time is unchanged), 1 on leap second
+ */
+-int ntpleaps_sub(u_int64_t *);
++int ntpleaps_sub(uint64_t *);
+
+ #endif
+--- a/src/rfc868time.c
++++ b/src/rfc868time.c
+@@ -50,6 +50,7 @@
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <err.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <netdb.h>
+ #include <unistd.h>
+@@ -68,10 +69,10 @@ rfc868time_client (const char *hostname, int family, struct timeval *new,
+ {
+ struct addrinfo hints, *res0, *res;
+ struct timeval old;
+- u_int32_t tim; /* RFC 868 states clearly this is an uint32 */
++ uint32_t tim; /* RFC 868 states clearly this is an uint32 */
+ int s;
+ int error;
+- u_int64_t td;
++ uint64_t td;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = family;
diff --git a/net-misc/rdate/files/rdate-1.10.2-respect-AR.patch b/net-misc/rdate/files/rdate-1.10.2-respect-AR.patch
new file mode 100644
index 000000000000..05289f3453c9
--- /dev/null
+++ b/net-misc/rdate/files/rdate-1.10.2-respect-AR.patch
@@ -0,0 +1,40 @@
+https://github.com/resurrecting-open-source-projects/openrdate/pull/4
+
+From: Sam James <sam@gentoo.org>
+Date: Thu, 3 Feb 2022 09:30:53 +0000
+Subject: [PATCH] Respect AR from environment
+
+Detect `AR` from the environment (first the AR environment variable, but
+failing that, ${CHOST}-ar). This allows using different toolchains (e.g.
+Clang and LLVM's tooling) and also facilitates cross-compilation.
+
+Bug: https://bugs.gentoo.org/729998
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,6 +11,8 @@ AC_CONFIG_SRCDIR([src/rdate.c])
+ AC_CONFIG_HEADERS([config.h])
+ AC_ARG_VAR([kernel_version], [the version of the kernel to build against])
+
++AC_CANONICAL_HOST
++
+ # Checks for programs.
+ AC_PROG_CC
+
+@@ -22,6 +24,8 @@ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AC_PROG_EGREP
+
++AM_PROG_AR
++
+ # Checks for libraries.
+ AC_CHECK_LIB([c], [fork])
+ AC_CHECK_LIB([util], [malloc])
+@@ -52,7 +56,6 @@ AC_CHECK_FUNCS([gettimeofday memset select socket])
+ AC_PATH_PROG([UNAME], [uname],
+ [:])
+
+-AC_CANONICAL_HOST
+ # Determine the particulars of the host
+ case "${host}" in
+ *-*-linux*)