Re-enable superenv ENV[] hack
This commit is contained in:
parent
ce31c16a14
commit
9699c0764e
@ -17,6 +17,30 @@ module Superenv
|
||||
def self.extended(base)
|
||||
base.keg_only_deps = []
|
||||
base.deps = []
|
||||
|
||||
# Many formula assume that CFLAGS etc. will not be nil. This should be
|
||||
# a safe hack to prevent that exception cropping up. Main consequence of
|
||||
# this is that self['CFLAGS'] is never nil even when it is which can break
|
||||
# if checks, but we don't do such a check in our code. Redefinition must be
|
||||
# done on the singleton class, because in MRI all ENV methods are defined
|
||||
# on its singleton class, precluding the use of extend.
|
||||
class << base
|
||||
def [] key
|
||||
if has_key? key
|
||||
fetch(key)
|
||||
elsif %w{CPPFLAGS CFLAGS LDFLAGS}.include? key
|
||||
class << (a = "")
|
||||
attr_accessor :key
|
||||
def + value
|
||||
ENV[key] = value
|
||||
end
|
||||
alias_method '<<', '+'
|
||||
end
|
||||
a.key = key
|
||||
a
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.bin
|
||||
@ -279,26 +303,6 @@ module Superenv
|
||||
self['MAKEFLAGS'] =~ /-\w*j(\d)+/
|
||||
[$1.to_i, 1].max
|
||||
end
|
||||
|
||||
# Many formula assume that CFLAGS etc. will not be nil.
|
||||
# This should be a safe hack to prevent that exception cropping up.
|
||||
# Main consqeuence of this is that self['CFLAGS'] is never nil even when it
|
||||
# is which can break if checks, but we don't do such a check in our code.
|
||||
def [] key
|
||||
if has_key? key
|
||||
fetch(key)
|
||||
elsif %w{CPPFLAGS CFLAGS LDFLAGS}.include? key
|
||||
class << (a = "")
|
||||
attr_accessor :key
|
||||
def + value
|
||||
ENV[key] = value
|
||||
end
|
||||
alias_method '<<', '+'
|
||||
end
|
||||
a.key = key
|
||||
a
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user