unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add reptyr.
@ 2016-07-08 19:38 Alex Griffin
  2016-07-09 18:20 ` Leo Famulari
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Griffin @ 2016-07-08 19:38 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 290 bytes --]

This patch adds reptyr, a tool for reparenting a running program to a
new terminal. I put it in screen.scm because it is usually used to move
a process into a screen or tmux session.

Also somewhat related, I think the file tmux.scm should merge with
screen.scm.

Thanks,
 -- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-reptyr.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-reptyr.patch", Size: 2095 bytes --]

From 8e48e2a27b16215a23ecc224661808b58a6a7c40 Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Fri, 8 Jul 2016 14:27:32 -0500
Subject: [PATCH] gnu: Add reptyr.

* gnu/packages/screen.scm (reptyr): New variable.
---
 gnu/packages/screen.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index a4eefd8..74f3f44 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,3 +145,30 @@ as folding room dividers.  The Byobu software includes an enhanced profile,
 configuration utilities, and system status notifications for the GNU Screen
 window manager as well as the Tmux terminal multiplexer.")
     (license gpl3+)))
+
+(define-public reptyr
+  (package
+    (name "reptyr")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/nelhage/reptyr/archive"
+                           "/reptyr-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX=" %output))
+       #:phases (alist-delete 'configure %standard-phases)))
+    (home-page "https://github.com/nelhage/reptyr")
+    (synopsis "Tool for reparenting a running program to a new terminal")
+    (description
+     "reptyr is a utility for taking an existing running program and attaching
+it to a new terminal.  Started a long-running process over ssh, but have to
+leave and don't want to interrupt it?  Just start a screen, use reptyr to grab
+it, and then kill the ssh session and head on home.")
+    (license expat)))
-- 
2.9.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add reptyr.
  2016-07-08 19:38 [PATCH] gnu: Add reptyr Alex Griffin
@ 2016-07-09 18:20 ` Leo Famulari
  2016-07-12 20:17   ` Alex Griffin
  0 siblings, 1 reply; 4+ messages in thread
From: Leo Famulari @ 2016-07-09 18:20 UTC (permalink / raw)
  To: Alex Griffin; +Cc: guix-devel

On Fri, Jul 08, 2016 at 02:38:36PM -0500, Alex Griffin wrote:
> This patch adds reptyr, a tool for reparenting a running program to a
> new terminal. I put it in screen.scm because it is usually used to move
> a process into a screen or tmux session.

Thank you, I will use this :)

> Also somewhat related, I think the file tmux.scm should merge with
> screen.scm.

If we are considering moving these packages around, I think that
screen.scm and tmux.scm should go into terminals.scm. But, I also think
that this patch should not be held up by that discussion.

> +    (arguments
> +     '(#:tests? #f

Why skip the tests? We prefer to run tests whenever possible. Otherwise,
please add a comment explaining why. For example "No test suite."

> +       #:phases (alist-delete 'configure %standard-phases)))

This is short and sweet, but we like to use modify-phases for
consistency.

> +    (description
> +     "reptyr is a utility for taking an existing running program and attaching
> +it to a new terminal.  Started a long-running process over ssh, but have to
> +leave and don't want to interrupt it?  Just start a screen, use reptyr to grab
> +it, and then kill the ssh session and head on home.")

We should capitalize the beginning of the description, and I would also
wrap 'ssh' and 'screen' in texinfo:

@code{ssh}
@code{screen}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add reptyr.
  2016-07-09 18:20 ` Leo Famulari
@ 2016-07-12 20:17   ` Alex Griffin
  2016-07-17  0:02     ` Leo Famulari
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Griffin @ 2016-07-12 20:17 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1263 bytes --]

On Sat, Jul 9, 2016, at 01:20 PM, Leo Famulari wrote:
> If we are considering moving these packages around, I think that
> screen.scm and tmux.scm should go into terminals.scm. But, I also think
> that this patch should not be held up by that discussion.

Yes, I didn't necessarily mean just moving tmux into screen.scm. I just
meant that they clearly belong next to each other, wherever that is.

> Why skip the tests? We prefer to run tests whenever possible. Otherwise,
> please add a comment explaining why. For example "No test suite."

There's no tests to run. I added a comment on it.

> This is short and sweet, but we like to use modify-phases for
> consistency.

Okay, done. (btw a bunch of packages in suckless.scm do it that way,
which is where I copied the arguments field from)

> We should capitalize the beginning of the description, and I would also
> wrap 'ssh' and 'screen' in texinfo:
> 
> @code{ssh}
> @code{screen}

I wrapped those commands in texinfo, but I don't think that reptyr
should be capitalized even at the beginning of a sentence. Upstream
always seems to keep it lower case, and other package descriptions do it
this way too (like dtach).

I included the updated patch as an attachment. Thanks for the feedback,
-- 
Alex Griffin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-reptyr.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-reptyr.patch", Size: 2134 bytes --]

From 29b9aec04bb3d750922661bf0360762e39f04694 Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Fri, 8 Jul 2016 14:27:32 -0500
Subject: [PATCH 1/2] gnu: Add reptyr.

* gnu/packages/screen.scm (reptyr): New variable.
---
 gnu/packages/screen.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm
index a4eefd8..c031e1a 100644
--- a/gnu/packages/screen.scm
+++ b/gnu/packages/screen.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,3 +145,30 @@ as folding room dividers.  The Byobu software includes an enhanced profile,
 configuration utilities, and system status notifications for the GNU Screen
 window manager as well as the Tmux terminal multiplexer.")
     (license gpl3+)))
+
+(define-public reptyr
+  (package
+    (name "reptyr")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/nelhage/reptyr/archive"
+                           "/reptyr-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07pfl0rkgm8m3f3jy8r9l2yvnhf8lgllpsk3mh57mhzdxq8fagf7"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; no tests
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX=" %output))
+       #:phases (modify-phases %standard-phases (delete 'configure))))
+    (home-page "https://github.com/nelhage/reptyr")
+    (synopsis "Tool for reparenting a running program to a new terminal")
+    (description
+     "reptyr is a utility for taking an existing running program and attaching
+it to a new terminal.  Started a long-running process over @code{ssh}, but have
+to leave and don't want to interrupt it?  Just start a @code{screen}, use
+reptyr to grab it, and then kill the ssh session and head on home.")
+    (license expat)))
-- 
2.9.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add reptyr.
  2016-07-12 20:17   ` Alex Griffin
@ 2016-07-17  0:02     ` Leo Famulari
  0 siblings, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2016-07-17  0:02 UTC (permalink / raw)
  To: Alex Griffin; +Cc: guix-devel

On Tue, Jul 12, 2016 at 03:17:29PM -0500, Alex Griffin wrote:
> Okay, done. (btw a bunch of packages in suckless.scm do it that way,
> which is where I copied the arguments field from)

Most likely, the packages in suckless.scm pre-date the creation
modify-phases syntax.

> I wrapped those commands in texinfo, but I don't think that reptyr
> should be capitalized even at the beginning of a sentence. Upstream
> always seems to keep it lower case, and other package descriptions do it
> this way too (like dtach).

Okay, fair enough :)

I wrapped another 'ssh' in texinfo, and pushed. Thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-07-17  0:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-08 19:38 [PATCH] gnu: Add reptyr Alex Griffin
2016-07-09 18:20 ` Leo Famulari
2016-07-12 20:17   ` Alex Griffin
2016-07-17  0:02     ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).