Re-enable superenv ENV[] hack
This commit is contained in:
parent
ce31c16a14
commit
9699c0764e
@ -17,6 +17,30 @@ module Superenv
|
|||||||
def self.extended(base)
|
def self.extended(base)
|
||||||
base.keg_only_deps = []
|
base.keg_only_deps = []
|
||||||
base.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
|
end
|
||||||
|
|
||||||
def self.bin
|
def self.bin
|
||||||
@ -279,26 +303,6 @@ module Superenv
|
|||||||
self['MAKEFLAGS'] =~ /-\w*j(\d)+/
|
self['MAKEFLAGS'] =~ /-\w*j(\d)+/
|
||||||
[$1.to_i, 1].max
|
[$1.to_i, 1].max
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user