gnu: Add byobu.
* gnu/packages/screen.scm (byobu): New variable. * gnu/packages/patches/byobu-writable-status.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
		
							parent
							
								
									e5930e5a13
								
							
						
					
					
						commit
						b95bcb8ae0
					
				
					 3 changed files with 67 additions and 0 deletions
				
			
		|  | @ -411,6 +411,7 @@ dist_patch_DATA =						\ | |||
|   gnu/packages/patches/bitlbee-configure-doc-fix.patch		\ | ||||
|   gnu/packages/patches/bluez-tests.patch			\ | ||||
|   gnu/packages/patches/boost-mips-avoid-m32.patch		\ | ||||
|   gnu/packages/patches/byobu-writable-status.patch		\ | ||||
|   gnu/packages/patches/calibre-drop-unrar.patch			\ | ||||
|   gnu/packages/patches/calibre-no-updates-dialog.patch		\ | ||||
|   gnu/packages/patches/cdparanoia-fpic.patch			\ | ||||
|  |  | |||
							
								
								
									
										13
									
								
								gnu/packages/patches/byobu-writable-status.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/byobu-writable-status.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| Skeleton status files are installed read-only.  When copying to the config dir | ||||
| upon initialization, make sure they end up writable. | ||||
| 
 | ||||
| --- byobu-5.98/usr/bin/byobu-janitor.in
 | ||||
| +++ byobu-5.98/usr/bin/byobu-janitor.in
 | ||||
| @@ -82,6 +82,7 @@
 | ||||
|  	if [ ! -r "$BYOBU_CONFIG_DIR/$f" ]; then | ||||
|  		# Copy from skeleton, if possible | ||||
|  		cp -f "$BYOBU_PREFIX/share/$PKG/status/$f" "$BYOBU_CONFIG_DIR/$f" | ||||
| +		chmod +w "$BYOBU_CONFIG_DIR/$f"
 | ||||
|  		# Enable ec2_cost, if we're in ec2 and seeding a new setup | ||||
|  		if metadata_available; then | ||||
|  			$BYOBU_SED_INLINE -e "s/#ec2_cost/ec2_cost/g" "$($BYOBU_READLINK -f $BYOBU_CONFIG_DIR/$f)" | ||||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> | ||||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -25,6 +26,8 @@ | |||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages slang) | ||||
|   #:use-module (gnu packages texinfo)) | ||||
| 
 | ||||
| (define-public screen | ||||
|  | @ -90,3 +93,53 @@ view to show two terminals at once.") | |||
| allowing you to run a program in an environment that is protected from the | ||||
| controlling terminal and attach to it later.") | ||||
|     (license gpl2+))) | ||||
| 
 | ||||
| (define-public byobu | ||||
|   (package | ||||
|     (name "byobu") | ||||
|     (version "5.98") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://launchpad.net/byobu/trunk/" | ||||
|                            version "/+download/byobu_" | ||||
|                            version ".orig.tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1s8nh4wbds1nh52i0d1hy1b308jjf4siwpq92lna1zh9ll4x71j5")) | ||||
|        (patches (list (search-patch "byobu-writable-status.patch"))))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("python" ,python-wrapper)       ;for config and session GUIs | ||||
|        ("python-newt" ,newt "python"))) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before | ||||
|           'configure 'provide-locale | ||||
|           (lambda* (#:key inputs #:allow-other-keys) | ||||
|             (let ((libc   (assoc-ref inputs "libc"))) ;implicit input | ||||
|               (substitute* "usr/bin/byobu.in" | ||||
|                 (("locale") (string-append libc "/bin/locale")))))) | ||||
|          (add-after | ||||
|           'install 'wrap-python-scripts | ||||
|           (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|             (let* ((python (string-append (assoc-ref inputs "python") | ||||
|                                           "/bin/python")) | ||||
|                    (out    (assoc-ref outputs "out")) | ||||
|                    (config (string-append out "/bin/byobu-config")) | ||||
|                    (select (string-append out "/bin/byobu-select-session"))) | ||||
|               (wrap-program config | ||||
|                 `("BYOBU_PYTHON" = (,python)) | ||||
|                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) | ||||
|               (wrap-program select | ||||
|                 `("BYOBU_PYTHON" = (,python))) | ||||
|               #t)))))) | ||||
|     (home-page "http://byobu.co/index.html") | ||||
|     (synopsis "Text-based window manager and terminal multiplexer") | ||||
|     (description | ||||
|      "Byobu is a Japanese term for decorative, multi-panel screens that serve | ||||
| 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+))) | ||||
|  |  | |||
		Reference in a new issue