app-misc/screen: Fix building on musl libc, bug #639424

Closes: https://bugs.gentoo.org/639424
Package-Manager: Portage-2.3.14, Repoman-2.3.6
This commit is contained in:
Sven Wegener
2018-01-04 23:15:15 +00:00
parent 9423fe2700
commit 2aacf8d5e4
2 changed files with 64 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
From 74fdc8988b55633cd05f8625390cd3f6a8102003 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@asmblr.net>
Date: Sat, 13 Jun 2015 17:52:46 +0200
Subject: [PATCH] change checks for utmp/utmpx in header
linuxes should've working utmpx, so this check was bit weird
commit 2b1bdf96 mentions some "linux workaround", but nothing specific
fixes build with musl libc
---
os.h | 7 ++++---
utmp.c | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/os.h b/os.h
index 55de249..e827ac9 100644
--- a/os.h
+++ b/os.h
@@ -250,9 +250,11 @@ extern int errno;
#endif
#if defined(UTMPOK) || defined(BUGGYGETLOGIN)
-# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux)
+# if defined(SVR4) && !defined(DGUX) && !defined(__hpux)
# include <utmpx.h>
-# define UTMPFILE UTMPX_FILE
+# ifdef UTMPX_FILE /* GNU extension */
+# define UTMPFILE UTMPX_FILE
+# endif
# define utmp utmpx
# define getutent getutxent
# define getutid getutxid
@@ -260,7 +262,6 @@ extern int errno;
# define pututline pututxline
# define setutent setutxent
# define endutent endutxent
-# define ut_time ut_xtime
# else /* SVR4 */
# include <utmp.h>
# endif /* SVR4 */
diff --git a/utmp.c b/utmp.c
index fa8b87b..f5d7db8 100644
--- a/utmp.c
+++ b/utmp.c
@@ -631,7 +631,7 @@ int pid;
/* must use temp variable because of NetBSD/sparc64, where
* ut_xtime is long(64) but time_t is int(32) */
(void)time(&now);
- u->ut_time = now;
+ u->ut_tv.tv_sec = now;
}
static slot_t
@@ -743,7 +743,7 @@ int pid;
strncpy(u->ut_line, line, sizeof(u->ut_line));
strncpy(u->ut_name, user, sizeof(u->ut_name));
(void)time(&now);
- u->ut_time = now;
+ u->ut_tv.tv_sec = now;
}
static slot_t

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -26,6 +26,7 @@ DEPEND="${CDEPEND}
# - Don't use utempter even if it is found on the system.
PATCHES=(
"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
"${FILESDIR}"/${P}-utmp-musl.patch
)
pkg_setup() {