New formula: reattach-to-user-namespace

A small utility that can be used to fix broken OSX clipboard integration
in a variety of tools, most notably tmux and screen.

Closes Homebrew/homebrew#8016.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
phinze 2011-05-26 13:01:21 -05:00 committed by Jack Nagel
parent ef79503e8f
commit 285cc6ef29

View file

@ -0,0 +1,38 @@
require 'formula'
class ReattachToUserNamespace < Formula
head 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git'
homepage 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard'
url 'https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git', :tag => 'dadea0aa48259c704d0b412b9588de2f5623e323'
version 'dadea0'
def options
[
['--wrap-pbcopy-and-pbpaste', 'Include wrappers for pbcopy/pbpaste that shim in this fix'],
['--wrap-launchctl', 'Include wrapper for launchctl with this fix']
]
end
def install
system "make"
bin.install "reattach-to-user-namespace"
wrap_pbpasteboard_commands if ARGV.include? '--wrap-pbcopy-and-pbpaste'
wrap_launchctl if ARGV.include? '--wrap-launchctl'
end
def wrap_pbpasteboard_commands
make_executable_with_content('pbcopy', 'cat - | reattach-to-user-namespace /usr/bin/pbcopy')
make_executable_with_content('pbpaste', 'reattach-to-user-namespace /usr/bin/pbpaste')
end
def wrap_launchctl
make_executable_with_content('launchctl', 'reattach-to-user-namespace /bin/launchctl "$@"')
end
def make_executable_with_content(executable_name, content_lines)
executable = bin.join(executable_name)
content = [*content_lines].unshift("#!/bin/sh").join("\n")
executable.write(content)
executable.chmod(0755)
end
end