aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-09-17 21:25:43 -0500
committerJack Nagel2013-09-17 21:29:54 -0500
commit2178b33dde5b32b4c04afd4cef1863820f3ca3be (patch)
tree4d5c44c1b6f5b91c9409bc3c57b8089ddd136d22 /Library
parent8edeef83b7784ca68ebb3fd369d643f9efa25145 (diff)
downloadhomebrew-2178b33dde5b32b4c04afd4cef1863820f3ca3be.tar.bz2
Allow partial installation of resources
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/erlang.rb2
-rw-r--r--Library/Homebrew/extend/pathname.rb3
-rw-r--r--Library/Homebrew/resource.rb6
3 files changed, 10 insertions, 1 deletions
diff --git a/Library/Formula/erlang.rb b/Library/Formula/erlang.rb
index 1259d3982..9c0ece8b9 100644
--- a/Library/Formula/erlang.rb
+++ b/Library/Formula/erlang.rb
@@ -83,7 +83,7 @@ class Erlang < Formula
system "make install"
unless build.include? 'no-docs'
- resource('man').stage { (lib/'erlang').install 'man' }
+ (lib/'erlang').install resource('man').files('man')
doc.install resource('html')
end
end
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index d39b692ad..8ca86d39a 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -1,5 +1,6 @@
require 'pathname'
require 'mach'
+require 'resource'
# we enhance pathname to make our code more readable
class Pathname
@@ -12,6 +13,8 @@ class Pathname
case src
when Resource
src.stage(self)
+ when Resource::Partial
+ src.resource.stage { install(*src.files) }
when Array
if src.empty?
opoo "tried to install empty array to #{self}"
diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb
index 238d55ddf..5221f2769 100644
--- a/Library/Homebrew/resource.rb
+++ b/Library/Homebrew/resource.rb
@@ -62,6 +62,12 @@ class Resource
end
end
+ Partial = Struct.new(:resource, :files)
+
+ def files(*files)
+ Partial.new(self, files)
+ end
+
# For brew-fetch and others.
def fetch
# Ensure the cache exists