From 2088513214cc6d03bcb303a951d2df14ec6b57b5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 12 May 2017 18:40:45 +0200 Subject: gnu: reptry: Fix build. * gnu/packages/patches/reptyr-fix-gcc-7.patch: New file. * gnu/local.mk (dist_patch_DATA): Add new patch. * gnu/packages/screen.scm (reptyr): Use patch. --- gnu/local.mk | 1 + gnu/packages/patches/reptyr-fix-gcc-7.patch | 38 +++++++++++++++++++++++++++++ gnu/packages/screen.scm | 3 +++ 3 files changed, 42 insertions(+) create mode 100644 gnu/packages/patches/reptyr-fix-gcc-7.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8599e6d3a0..28a283ab70 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -946,6 +946,7 @@ dist_patch_DATA = \ %D%/packages/patches/readline-link-ncurses.patch \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/readline-7.0-mingw.patch \ + %D%/packages/patches/reptyr-fix-gcc-7.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpm-CVE-2014-8118.patch \ diff --git a/gnu/packages/patches/reptyr-fix-gcc-7.patch b/gnu/packages/patches/reptyr-fix-gcc-7.patch new file mode 100644 index 0000000000..5e0e581218 --- /dev/null +++ b/gnu/packages/patches/reptyr-fix-gcc-7.patch @@ -0,0 +1,38 @@ +This patch allows reptyr to build with gcc 7. It is taken from reptyr mainline patches +fa0d63f and b45fd92. + +https://github.com/nelhage/reptyr/commit/fa0d63ff8c488be15976e5353580b565e85586a1 +https://github.com/nelhage/reptyr/commit/b45fd9238958fcf2d8f3d6fc23e6d491febea2ac + +Patch by Nelson Elhage . + +diff --git a/attach.c b/attach.c +index bd8ef8c..8d9cbf8 100644 +--- a/attach.c ++++ b/attach.c +@@ -389,8 +389,11 @@ int setup_steal_socket(struct steal_pty_state *steal) { + return errno; + + steal->addr_un.sun_family = AF_UNIX; +- snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), +- "%s/reptyr.sock", steal->tmpdir); ++ if (snprintf(steal->addr_un.sun_path, sizeof(steal->addr_un.sun_path), ++ "%s/reptyr.sock", steal->tmpdir) >= sizeof(steal->addr_un.sun_path)) { ++ error("tmpdir path too long!"); ++ return ENAMETOOLONG; ++ } + + if ((steal->sockfd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) + return errno; +diff --git a/platform/linux/linux.h b/platform/linux/linux.h +index 9e6b78a..3ec5a99 100644 +--- a/platform/linux/linux.h ++++ b/platform/linux/linux.h +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 1bdfcd0110..49584662b1 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Eric Bavier ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -155,6 +156,8 @@ window manager as well as the Tmux terminal multiplexer.") (method url-fetch) (uri (string-append "https://github.com/nelhage/reptyr/archive" "/reptyr-" version ".tar.gz")) + ;; XXX: To be removed on next reptyr release. + (patches (search-patches "reptyr-fix-gcc-7.patch")) (sha256 (base32 "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7")))) -- cgit v1.2.3