aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
AgeCommit message (Collapse)Author
2014-03-13Teach fetch to download patchesJack Nagel
2014-03-13Enable new patch implementation with compatibility layerJack Nagel
2014-03-13New patch implementation and DSLJack Nagel
This commit introduces a new patch implementation that supports checksums and caching. Patches are declared in blocks: patch do url ... sha1 ... end A strip level of -p1 is assumed. It can be overridden using a symbol argument: patch :p0 do url ... sha1 ... end Patches can be declared in stable, devel, and head blocks. This form is preferred over using conditionals. stable do # ... patch do url ... sha1 ... end end Embedded (__END__) patches are declared like so: patch :DATA patch :p0, :DATA Patches can also be embedded by passing a string. This makes it possible to provide multiple embedded patches while making only some of them conditional. patch :p0, "..."
2014-03-10Remove used options check from install_bottle?Jack Nagel
This is now handled by requiring that options are always passed to the installer explicitly.
2014-03-10Make bottle implementation more genericJack Nagel
2014-03-10Make build_bottle an explicit installer modeJack Nagel
2014-03-07add opt shortcuts to formulaAdam Vandenberg
2014-03-07document formula path helpersAdam Vandenberg
2014-03-05OopsJack Nagel
2014-03-05Prepare bottle tooling for formula revisionsJack Nagel
2014-03-05Encode formula revision in installation prefixJack Nagel
In order to allow kegs built with the same version but differing formula revisions to coexist, we must encode the revision as part of the keg's name. This is necessary to actually perform an upgrade, as we cannot upgrade a keg in-place, and temporarily moving it pending the result of the upgrade is error-prone and potentially slow. To accomplish this, we introduce a new Formula#pkg_version method that concatenates the active_spec version with the formula revision. An exception is made for a formula that has no revision: the tag is omitted. This preserves compatibility with existing installations.
2014-03-05Enable tracking of formula revisionsJack Nagel
It is useful to be able to prompt upgrades in response to events other than a version update; for example, when a dependency is updated and its library version changes, dependents need to be rebuilt to link against the new library. Currently we cannot do this automatically, which means a flood of tickets whenever the library version of a popular library changes. To address this, we need to track an additional piece of metadata, the "revision" of the formula, which can be incremented when appropriate to prompt an upgrade. It can then be reset to zero when the next version change occurs.
2014-03-01Compare pathnames directlyJack Nagel
2014-03-01Make conditional more obviousJack Nagel
2014-02-28Use Formula.pathJack Nagel
2014-02-28Remove deprecation notice from system "xcodebuild"Jack Nagel
The new xcodebuild method calls system "xcodebuild" underneath, so this notice would always be printed. Instead we will just rely on the audit check. Fixes Homebrew/homebrew#27092.
2014-02-27Add an xcodebuild helper and deprecate system "xcodebuild"Jack Nagel
In the future we can remove the ENV munging branch from Formula#system. Closes Homebrew/homebrew#27081.
2014-02-27add Formula[]Adam Vandenberg
Closes Homebrew/homebrew#26930
2014-02-24Add nil check to partially address Homebrew/homebrew#26563Jack Nagel
2014-02-23update docAdam Vandenberg
2014-02-23ignore skip_clean :allAdam Vandenberg
2014-02-22Hoist assignment to simplify a conditionalJack Nagel
2014-02-22Use reader methodJack Nagel
2014-02-22Use standard assignment since #initialize is only called onceJack Nagel
2014-02-21Eliminate nil check on path parameterJack Nagel
2014-02-21Move Formula.class_s to FormularyJack Nagel
2014-02-21Remove downloader from FormulaJack Nagel
2014-02-21Move methods to a more logical placeJack Nagel
2014-02-20Delegate downloader to active_spec instead of storing it in an ivarJack Nagel
2014-02-19Push expand_path call down into FromPathLoaderJack Nagel
2014-02-15Formula#system: simplify xcodebuild special caseJack Nagel
2014-02-15Formula#system: remove unnecessary string castsJack Nagel
2014-01-29don't trigger VCS when patchingAdam Vandenberg
When patching read-only files, patch can try to check-out from a VCS system when other conditions are met, such as environmental variables being set. Homebrew never wants to trigger this behavior, so pass --get=0. Closes Homebrew/homebrew#26277.
2014-01-20PythonDependency: massive refactoring.Mike McQuaid
Closes Homebrew/homebrew#24842.
2014-01-04formula: fix whitespace.Mike McQuaid
2013-12-22Drop unnecessary string conversion in skip_cleanJack Nagel
2013-12-14tap: change core formula tap naming.Mike McQuaid
2013-12-14Update docs, comment mxcl/homebrew refs.Mike McQuaid
2013-12-11Set bottle version rather than re-parse it from the URLJack Nagel
2013-12-09keg_only_reason and cc_failures are not DSL methodsJack Nagel
2013-12-09Use accessors to silence uninitalized ivar warningsJack Nagel
2013-12-08formula: don't print verify message, use resource.Mike McQuaid
See discussion: https://github.com/mxcl/homebrew/commit/81d420492c4be9278fcf26d5bef21625d0abf32a#commitcomment-4804596
2013-12-08formula, resource: output when verifying checksum.Mike McQuaid
References Homebrew/homebrew#24566.
2013-12-05Use BottleCollector in Bottle SoftwareSpecMisty De Meo
2013-12-03Adjust fails_with syntax for non-Apple compilersMisty De Meo
The old version worked like this: fails_with :gcc => '4.8.1' That wasn't really flexible enough, and made it harder to distinguish different releases in the same GCC series. Since no one was really using it yet, this adjusts the syntax to be more similar to the Apple compilers: fails_with :gcc => '4.8' do release '4.8.1' end Like with Apple compilers, omitting `release` blacklists the entire series. This also unifies the `build` and `version` attributes and accessors, and exposes them under both names.
2013-11-29Flush stdout before leaving Formula#systemJack Nagel
2013-11-17Replace error-prone superenv debug ouput with a separate log fileJack Nagel
2013-11-02Remove intermediate exception in Formula#systemJack Nagel
Now that ErrorDuringExecution is only raised in one place, we can just raise the BuildError directly instead.
2013-11-02Add cxxstdlib_check method to request changing C++ stdlib checking.Xiyue Deng
* In certain cases, a C++ software may result in linking to a different and incompatible C++ standard library than its dependencies and still works fine because it is by design. Examples include GCC, which will bootstrap itself and self-host after finish. * Add a cxxstdlib_check method to formula to request changing the C++ standard library checking. Currently using "cxxstdlib_check :skip" will let a formula skip such checking. This should only be used on rare occasions and be very careful. Closes Homebrew/homebrew#23687.
2013-10-31fetch: clear partial downloads when --force is givenJack Nagel
Fixes Homebrew/homebrew#23764.