Commit Graph
97 Commits
Author SHA1 Message Date
Mike McQuaid 27ecf588c7 Rename bottle's revision to rebuild. 2016-08-18 17:32:35 +01:00
Xu ChengandGitHub a8566c9848 various: eliminate the usage of any? (#638)
`any?` is not the opposite of `empty?`. Besides the case that
`[false, nil].any?` will return false, `any?`(O(n)) has much worse
performance than `empty?`(O(1)).
2016-08-05 22:01:32 +08:00
Uladzislau ShablinskiandXu Cheng 242508fca4 software_spec: use version dups for resources (#534)
Also prevent the commit of formula's HeadVersion from passing to the resource. 

This is a fix of #531
2016-07-17 04:49:32 +08:00
Vlad ShablinskyandXu Cheng 3fb5d70a72 Unify Version.create usage
Substitue each Version.new and HeadVersion.new with Version.create
to unify Version and HeadVersion instantiation among core code.

Note that this does not relate to Mac::OS::Version class.
2016-07-16 20:39:13 +08:00
Vlad ShablinskyandXu Cheng 2e916110e4 Use HeadVersion for install/reinstall 2016-07-16 20:39:13 +08:00
Mike McQuaid 931e292bf1 Make bottle code cross-platform. 2016-05-08 16:51:22 +01:00
Andrew Janke 094f6f47dd Formula: include bad value in invalid-option error message
Makes identifying which line in a formula has the bad use of 'option' easier.

Closes #120.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
2016-04-21 15:21:44 -04:00
Xu Cheng 478f18a8f5 software_spec: add ExternalPatch to dependency_collector
Since we support `apply` DSL in the `patch` block, external
patch files could be any compressed archive. As result, it
could introduce dependencies like xz, 7z etc.

Add the resource of ExternalPatch to dependency_collector, so
we could track these resource dependencies.

Closes Homebrew/homebrew#50318.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-03-22 19:44:16 +08:00
Mike McQuaid 26ec9f9ea0 formula: add new pour_bottle DSL with reason.
This allows there to be a user-visible description of why a bottle is
not being installed.
2016-02-18 10:21:20 +00:00
Mike McQuaid 74858b28c5 software_spec: add new bottle check class. 2016-02-18 10:21:20 +00:00
Xu Cheng 6c8c56a689 build: store source modified time in tabfile 2016-01-15 16:26:04 +08:00
Mike McQuaid e5ba31fcdc Allow multiple option_names in dep/reqs.
This means that dependencies can be merged but still maintain all
their option names.

Closes Homebrew/homebrew#46916.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-15 08:37:16 +00:00
Xu ChengandMike McQuaid ff9fdc078f add Formula#bottle_defined? 2015-11-01 08:22:18 -08:00
Xu Cheng b5032ad2cb Formula: add bottle disable DSL 2015-10-19 21:41:36 +08:00
William WoodruffandMisty De Meo 8793a68ee4 Add no-Xcode documentation for all classes, methods 2015-08-21 11:02:33 -07:00
William WoodruffandMisty De Meo 1face808f5 Add guards to calls that would trigger Xcode install requests
add guard in Formula#file_modified? to prevent git popup

add guard in Superenv.bin before calling MacOS::Xcode.version

add guard against missing Xcode/CLT in Xcode.uncached_version

return nil instread of 0 in uncached_version when Xcode/CLT are not present, to distinguish from linuxbrew behavior

checks against pour_bottle? and needs_relocation?, add guard around keg.relocate_install_names to check pour_bottle?/needs_relocation? as well

needs_relocation? becomes skip_relocation?, use cellar attr to indicate relocation instead of does_not_need_relocation

MacOS.can_build? becomes MacOS.has_apple_developer_tools?
2015-08-21 11:02:33 -07:00
William WoodruffandMisty De Meo ab10ab42fa BottleSpecification: add does_not_need_relocation field
Toggled with does_not_need_relocation method in bottle block.
Also declare needs_relocation? accessors in software/bottle specs.
2015-08-21 10:56:23 -07:00
BrewTestBotandMike McQuaid 13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Xu Cheng ab9a62370f support downloading bottles through 3rd-party mirror
Closes Homebrew/homebrew#41328.

Closes Homebrew/homebrew#41332.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-07-06 18:05:00 +08:00
Xu Cheng 024c2d508b auto resolve bottle root_url based on tap 2015-07-06 18:04:59 +08:00
Xu Cheng 10bc99ff7b SoftwareSpec: add full_name field 2015-05-29 17:01:53 +08:00
Tim D. Smith 5a0ec0c491 add SoftwareSpec#go_resource
by analogy to similar code in formula.rb.

Permits Homebrew/homebrew#37877. Closes Homebrew/homebrew#38330.
2015-04-06 20:26:52 -07:00
Xu Cheng c46e2dc196 software_spec: ignore bottles compatibility if --force-bottle is passed
Closes Homebrew/homebrew#38123.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-03-28 13:06:15 +08:00
Mike McQuaid 3933b84dea software_spec: check if bottles are compatible.
The `bottled?` method makes more sense when it also checks for
compatibility.

This is particularly useful for the case in `brew info` so it prints out
`(bottled)` correctly depending on the `Cellar`.

Closes Homebrew/homebrew#37636.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-03-17 09:16:57 +00:00
Mike McQuaid 17bfb0f804 Remove SourceForge references.
It was fun but we just love Bintray more than you.

Closes Homebrew/homebrew#37211.

Closes Homebrew/homebrew#37213.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-02-26 11:32:42 +00:00
Mike McQuaid 77d47de3b4 Switch bottle provider over to Bintray. 2015-02-19 16:57:30 +00:00
Mike McQuaid 635681401e software_spec: use homebrew Bintray subdomain.
Also: split into two variables so they can be used for taps.
2015-02-19 12:58:53 +00:00
Mike McQuaid 38f9a78c29 Add initial Bintray upload support. 2015-02-17 18:57:59 +00:00
Jack Nagel 0f01e9ff43 Remove the direct url writer from Resource 2015-01-08 14:18:41 -05:00
Mike McQuaid d0240e7cd4 formula: add spec deprecated_option DSL. 2014-10-19 13:58:52 +01:00
Mike McQuaid 02e10beb7c Add deprecated_option to software_spec.
Allows remapping one option name to another and updates build options
and flags accordingly.
2014-10-19 13:58:52 +01:00
Jack Nagel ae88549797 Remove fails_with? from the formula instance 2014-09-18 15:50:54 -05:00
Misty De Meo 4743fc1662 Add Go language module, resources
This introduces a new GoResource category of resource. GoResources
have a specialized stage method which allows a resource to stage
itself into a gopath.

The new Go language module provides a one-liner to stage all
GoResources present in the formula.
2014-09-01 19:56:43 -07:00
Jack Nagel b14851903c Add a method for retrieving only flags from ARGV 2014-08-29 19:38:32 -05:00
Jack Nagel 7adbb1ccb9 Single character options should not be used in a formula 2014-08-28 23:54:00 -05:00
Jack Nagel 023f02b90a Make fails_with available in spec blocks
Closes Homebrew/homebrew#31706.
2014-08-19 17:14:02 -05:00
Jack Nagel 268cd143be Replace Options.coerce with an alternate constructor 2014-08-13 11:09:57 -05:00
Jack Nagel c5a888fb3a Always pass an Options instance to the BuildOptions constructor 2014-08-13 11:09:57 -05:00
Mike McQuaid 9f14262d92 Revert "Always pass an Options instance to the BuildOptions constructor"
This reverts commit e143bcef259ca76b2124e6e73bd9bdf872418723.

Closes Homebrew/homebrew#31557.
Closes Homebrew/homebrew#31559.
Closes Homebrew/homebrew#31561.
Closes Homebrew/homebrew#31562.
2014-08-13 08:46:17 +01: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 ecaf1592a0 Always pass an Options instance to the BuildOptions constructor 2014-08-12 20:09:35 -05:00
Jack Nagel d122ae8eea Handle legacy options in the method_added hook
We only need to process the legacy options at load time, not each time
the class is instantiated, and only when there is an options method
defined.
2014-08-10 21:45:23 -05:00
Jack Nagel 0c51cf1245 Use predefined options for universal, cxx11, and 32-bit options
:universal and :cxx11 are now handled directly, so we don't need to
always convert symbols to strings in this method. Symbols should be
reserved for future use.
2014-08-07 10:45:32 -05:00
Jack Nagel efd63447d8 Move management of options collection to the spec object 2014-08-07 10:45:32 -05:00
Jack Nagel acc1c35f35 Raise ArgumentError for argument errors 2014-08-07 00:48:13 -05:00
Jack Nagel f4ae1c9e1b Hide the options data structure better 2014-07-31 19:59:09 -05:00
Jack Nagel abdff27cd7 Make options available on the spec objects 2014-07-31 19:37:39 -05:00
Jack Nagel bc937f56e7 Rename resource? to resource_defined? 2014-07-30 18:56:37 -05:00
Jack Nagel a55e196f5f Simplify internal representation of patches
- remove support for IO objects, since we no longer access ::DATA
   directly
 - since we don't need to support IO objects, use a separate class for
   string patches and stop wrapping strings in StringIO ojects
2014-07-29 16:22:06 -05:00