summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2018-01-04 23:15:15 +0000
committerSven Wegener <swegener@gentoo.org>2018-01-04 23:18:40 +0000
commit2aacf8d5e4052441f9bb791051a30146bf65793e (patch)
tree109b0e47f8341d135d2fda17200227dcc31f4dd6
parentnet-fs/smbnetfs: bump up to 0.6.1 (diff)
downloadgentoo-2aacf8d5e4052441f9bb791051a30146bf65793e.tar.gz
gentoo-2aacf8d5e4052441f9bb791051a30146bf65793e.tar.bz2
gentoo-2aacf8d5e4052441f9bb791051a30146bf65793e.zip
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
-rw-r--r--app-misc/screen/files/screen-4.4.0-utmp-musl.patch62
-rw-r--r--app-misc/screen/screen-4.4.0.ebuild3
2 files changed, 64 insertions, 1 deletions
diff --git a/app-misc/screen/files/screen-4.4.0-utmp-musl.patch b/app-misc/screen/files/screen-4.4.0-utmp-musl.patch
new file mode 100644
index 000000000000..990c73042cd0
--- /dev/null
+++ b/app-misc/screen/files/screen-4.4.0-utmp-musl.patch
@@ -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
diff --git a/app-misc/screen/screen-4.4.0.ebuild b/app-misc/screen/screen-4.4.0.ebuild
index 0ee4276016c3..0dfbfbc066c0 100644
--- a/app-misc/screen/screen-4.4.0.ebuild
+++ b/app-misc/screen/screen-4.4.0.ebuild
@@ -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() {