Jack Nagel
7690a00d04
Stdlib check should use the compiler used to build the bottle
2015-06-27 20:04:45 -04:00
Dominyk Tiller
a289d7d2ca
tab: tweak options info output
...
Closes Homebrew/homebrew#41101 .
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-06-27 05:03:45 +01:00
Xu Cheng
ffd92a87c5
tab: allow load from file content
2015-06-02 16:45:43 +08:00
Mike McQuaid
f55257306e
tab: add method to set tap.
2015-05-27 10:21:45 +01:00
Jack Nagel
abb0cb3aa0
Switch to a more useful serialization of tap info
...
Closes Homebrew/homebrew#37383 .
2015-03-14 21:14:37 -04:00
Tim D. Smith
4057a68e6e
add bottle? method to Tab
...
Closes Homebrew/homebrew#37621 .
2015-03-11 21:08:54 -07:00
Jack Nagel
eadf7de61b
Decouple the install receipt from ARGV
2015-03-07 23:53:33 -05:00
Jack Nagel
35860ac60f
Switch to string keys
...
The OpenStruct initializer accepts both symbols and strings, but any
nested hashes will only allow access via string keys, so let's always
construct the object with strings for consistency.
2015-02-21 18:44:04 -05:00
Jack Nagel
a6b16dfa18
Eliminate conditional
2015-02-21 12:26:14 -05:00
Jack Nagel
22cf99094f
Set the path on "fake" install receipts
2015-02-21 12:26:14 -05:00
Jack Nagel
ac3c5592d8
Compiler is always a string
2015-02-20 21:50:22 -05:00
Jack Nagel
e92a87179a
Use ternary instead of inline rescue
2015-02-18 21:36:48 -05:00
Jack Nagel
4b1028c9e5
Start recording the formula path in the install receipt
...
Later we can use this information to try and load the formula from the
correct source.
2015-02-18 21:29:17 -05:00
Jack Nagel
1ab384a313
Revert "Start recording the formula path in the install receipt"
...
This reverts commit f98d1d660c38afe3caf1450b2443a6d5fab8a14b.
2015-02-18 21:08:24 -05:00
Jack Nagel
3158c398af
Start recording the formula path in the install receipt
...
Later we can use this information to try and load the formula from the
correct source.
2015-02-18 20:35:47 -05:00
Jack Nagel
dd90030213
Fix "possible reference to past scope" warnings on 2.2
2014-12-26 11:58:09 -05:00
Mike McQuaid
33b3449621
tab: remap deprecated options in tabs.
...
If a deprecated option is found in a tab, rename it to the new option.
2014-10-19 13:58:52 +01:00
Jack Nagel
7266ecd4e3
Hide install receipt key names
2014-10-15 01:30:56 -05:00
Jack Nagel
285f8f77e6
Tab#with? accepts the same types as BuildOptions#with?
2014-10-09 00:20:15 -05:00
Jack Nagel
c7444d34f7
Use the as_flags method instead of map
2014-08-14 01:00:23 -05:00
Jack Nagel
268cd143be
Replace Options.coerce with an alternate constructor
2014-08-13 11:09:57 -05:00
Jack Nagel
5c1c9e6550
Only store strings in the tab object
2014-08-13 11:09:57 -05:00
Mike McQuaid
a61c3615d2
Revert "Replace Options.coerce with an alternate constructor"
...
This reverts commit 8d2ef974a3a87bf4207f71ccb8a7b4776e16a016.
2014-08-13 08:45:06 +01:00
Jack Nagel
25395c6de6
Replace Options.coerce with an alternate constructor
2014-08-12 23:55:28 -05:00
Jack Nagel
2f1d40a764
Disconnect defined options from the build object
2014-08-10 21:45:24 -05:00
Jack Nagel
ca3c727267
Stop exposing combined options from the tab
2014-08-09 16:27:57 -05:00
Jack Nagel
f1cf62a4b5
Add predicate methods to Tab to match BuildOptions
2014-08-03 18:17:49 -05:00
Jack Nagel
142beddd7a
Use polymorphism to simplify stdlib compatibility check
2014-08-02 19:29:59 -05:00
Jack Nagel
331737ab25
Add without? to Tab
2014-07-30 21:04:17 -05:00
Jack Nagel
393e10849b
Pass the build object into the Tab
...
Since the Tab is written in the build process, the formula's build
object will have the correct args attached to it already, so we don't
need to reconstruct it.
2014-07-30 20:27:46 -05:00
Jack Nagel
4c05d411f3
Add a method for getting the repo HEAD
2014-06-30 19:18:28 -05:00
Jack Nagel
d083efdbda
Don't mutate the tab object
2014-06-29 23:18:09 -05:00
Jack Nagel
ac687d3b5f
Remove explicit self
2014-06-29 22:26:15 -05:00
Jack Nagel
391bc4c981
Normalize paths before calling Tab.from_file
2014-06-29 21:50:08 -05:00
Jack Nagel
b0cffe4a7c
explicitly initialize stdlib
2014-06-29 00:56:29 -05:00
Jack Nagel
4d9d01893e
Move deprecated Formula class methods to compat
...
These have all been moved to Formulary.
2014-06-22 15:03:17 -05:00
Jack Nagel
543f2a68e9
Don't send, just call the method directly
2014-03-22 13:16:16 -05:00
Jack Nagel
26c93c9544
Drop inaccurate comment
...
require "time"
Time.parse(Time.now.to_s)
2014-03-22 13:16:16 -05:00
Jack Nagel
f0966cf6b6
Use canonicalized path for loaded install receipts
2014-03-22 11:48:49 -05:00
Jack Nagel
b4e5401e66
Try to find install receipt when keg is unlinked
...
This roughly matches the logic we use to determine the active keg in
ARGV.kegs.
2014-03-22 11:47:07 -05:00
Jack Nagel
a8eb84812a
Write install receipts atomically
2014-03-22 11:13:33 -05:00
Jack Nagel
d9be3eee8c
Stop mutating build options in Tab.create
2014-03-02 20:35:41 -06:00
Misty De Meo
3657393017
Move stdlib tracking postinstall
...
This moves stdlib tracking after the install completes, which allows
the tracking to have access to the actual stdlib in use.
This unfortunately means that builds can error out *after* a build,
resulting in wasted time; however, it reduces false positives, and the
overall user experience is still likely to be better this way.
2013-10-26 21:54:29 -07:00
Jack Nagel
a8fe03f72b
Tab: ensure file is closed after reading
2013-10-23 23:24:42 -05:00
Misty De Meo
15963322fd
Tab#cxxstdlib: don't try to convert nil to_sym
2013-10-07 00:25:26 -07:00
Misty De Meo
d5ac2deefb
Tab#cxxstdlib: remove default stdlib
...
Fixes Homebrew/homebrew#23089 .
2013-10-07 00:15:03 -07:00
Misty De Meo
61ca8721fb
Tab.dummy_tab: don't provide default stdlib value
2013-10-07 00:00:43 -07:00
Misty De Meo
74ab023422
Only track C++ stdlibs for C++ code
...
After a formula is built, scan all mach-o files for dynamic links
to see if any of them point to a C++ stdlib (libc++ or libstdc++).
If one of them is linked, record that information in the formula's tab.
This replaces the old behaviour where all files were assumed to be C++
code, and stdlibs were always tracked regardless of whether they were
actually linked against.
This also modifies the way that tabs are written - now tabs are written
with the stdlib field null, and values are only written if an stdlib
is detected.
2013-10-06 19:26:06 -07:00
Misty De Meo
b71682bdc7
Tab: track C++ stdlib in use
...
There are subtle incompatibilities between Apple's libstdc++ and the
libstdc++ used by the various GNU GCC formulae. In addition, we'll
likely also be supporting libc++ in the future, and that's also
incompatible with the other stdlibs.
Tracking it in the tab lets us make sure that dependencies are all
built against the same stdlib to avoid subtle breakage.
2013-09-01 13:19:13 -07:00
Adam Vandenberg
1cd3149677
Be explicit about passing formulae names or instances to Tab
2013-06-26 19:58:08 -07:00