Ruby is not natively threaded; there is absolutely no reason to build against
pthread unless you intend to link against libraries themselves built with
pthread (tcl/tk). More information: http://blogs.sun.com/prashant/entry/ruby_and_enable_pthreads
As far as I can deduce, the source of that flag is in Dan Benjamin’s article,
here: http://hivelogic.com/articles/ruby-rails-leopard
However, he provides no explanation for its use, and did not respond to
commentors’ requests for said explanation; on top of that, I can find no useful
references anywhere else. Hence, removing it.
Unfortunately, dealing with them requires quite a bit of shell configuration.
I offered the best documentation of this configuration that I could, but it’s
fairly verbose and a bit repulsive… unfortunately, the other option (attempting
to preform the setup automatically) turns out to be even messier, and prone to
mistakes to boot.
Shorten reduces the size of waveform files (such as audio) using Huffman
coding of prediction residuals and optional additional quantisation. In
lossless mode the amount of compression obtained depends on the nature
of the waveform. Those composing of low frequencies and low amplitudes
give the best compression, which may be 2:1 or better. Lossy compression
operates by specifying a minimum acceptable segmental signal to noise
ratio or a maximum bit rate. Lossy compression operates by zeroing the
lower order bits of the waveform, so retaining waveform shape.
Old formulas are valid, but should be maintained in a separate branch if
that's what is needed.
The exact way we are going to do this is not yet agreed on.
Eg gettext gets added into LDFLAGS, INCLUDE and that. I hope I got everything
that is typical. Prolly not. But we'll find out.
Made readline keg_only because the BSD version is provided by OS X, and I
don't want bug reports that are tricky to solve due to unexpected differences
between the two.
Is it a DSL? No. But people call it that apparently.
To add a dependency:
class Doe <Formula
depends_on 'ray'
depends_on 'mee' => :optional
depends_on 'far' => :recommended
depends_on Sew.new
end
Sew would be a formula you have defined in this Formula file. This is useful,
eg. see Python's formula. Formula specified in this fashion cannot be linked
into the HOMEBREW_PREFIX, they are considered private libraries. This allows
you to create custom installations that are very specific to your formula.
More features to come, like specifying versions
I removed the gnu prefix from libidn and libunistring and I apologise because
I know I made it look like you should add this prefix on previous commits.
We add it when:
1. OS X has a non gnu equivalent pre-installed
2. The package is commonly called GNU foo, eg. GNU Go is not referred to as
just 'Go'
I removed the core suffix from clucene as if anyone ever wants more than just
clucene teh additions should be added as variants to the clucene formula.
Otherwise first class formula, 0xffea noticed all the extra things I usually
do in cherry-picks.
Soprano (formerly known as QRDF) is a library which provides a highly usable
object-oriented C++/Qt4 framework for RDF data. It uses different RDF storage
solutions as backends through a simple plugin system. Soprano is targetted at
desktop applications that need a RDF data storage solution. It has been optimized
for easy usage and simplicity.
GNU Libidn is a fully documented implementation of the Stringprep, Punycode and
IDNA specifications. Libidn's purpose is to encode and decode internationalized
domain names.
Strigi is a daemon which uses a very fast and efficient crawler that can
index data on your harddrive. Indexing operations are performed without
hammering your system, this makes Strigi the fastest and smallest desktop
searching program.
Security, speed, compliance, and flexibility -- all of these describe lighttpd
(pron. lighty) which is rapidly redefining efficiency of a webserver; as it is
designed and optimized for high performance environments. With a small memory
footprint compared to other web-servers, effective management of the cpu-load,
and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting
and many more) lighttpd is the perfect solution for every server that is suffering
load problems. And best of all it's Open Source licensed under the revised BSD
license.
CLucene is a C++ port of Lucene: the high-performance, full-featured text
search engine written in Java. CLucene is faster than lucene as it is written
in C++.
Xerces-C++ is a validating XML parser written in a portable subset of C++.
Xerces-C++ makes it easy to give your application the ability to read and
write XML data.
Vala is a new programming language that aims to bring modern programming
language features to GNOME developers without imposing any additional runtime
requirements and without using a different ABI compared to applications and
libraries written in C.
Apache Maven is a software project management and comprehension tool. Based on
the concept of a project object model (POM), Maven can manage a project's
build, reporting and documentation from a central piece of information.
Some day I hope to make it utilize the ffmpeg-mt and speed patches, as well as
providing optimization info in the notes, but I can’t currently get that to
work on Snow Leopard. Maybe later.
GNU GetText breaks eg. Ruby 1.9 builds, and some other formula I have been building too. But it is required by eg. glib. So to solve this we are going to by default not symlink gettext into the Homebrew prefix.
Formula that depend on GetText will have the gettext paths added to the brewing environment automatically. Neat.
It compiles, but I am not sure this is safe frankly. The problem is that the OS X iconv is bugged and doesn't have a 64 bit symbol for libiconv_open.
Now we must build 64 bit as otherwise everything that links to iconv must be 32 bit too. So we build a static libiconv and link glib to that. This fills in the missing symbol.
However glib still dynamically links to /usr/lib/libiconv.dylib, this is the bit I'm not happy with. It can be fixed but I'm guessing it's ok. At least at this stage of Homebrew.
All Gettext binaries fail at runtime with linking problems related to the
environ variable. According to <http://www.mail-archive.com/bug-gnulib@gnu.org/msg09272.html>
the environ variable is missing from some platforms (between them MacOS X),
and autoconf test for it, and sets HAVE_ENVIRON_DECL accordingly. A common
workaround was declaring "extern char** environ" in the code if the OS didn't
provide the environ variable, but that doesn't work since 10.5. Since then you
have to use _NSGetEnviron() function declared in crt_externs.h. This
workaround works at least since 10.3. t
Signed-off-by: Max Howell <max@methylblue.com>
ClosesHomebrew/homebrew#11
LFTP is sophisticated ftp/http client, file transfer program supporting a
number of network protocols. Like BASH, it has job control and uses readline
library for input. It has bookmarks, built-in mirror, can transfer several
files in parallel. It was designed with reliability in mind.
Signed-off-by: Max Howell <max@methylblue.com>
Added MD5 and modified tweaks to the ENV slightly.
CHICKEN is a compiler for the Scheme programming language. CHICKEN produces
portable, efficient C, supports almost all of the R5RS Scheme language
standard, and includes many enhancements and extensions. CHICKEN runs on
Linux, MacOS X, Windows, and many Unix flavours.
libffi - FFI stands for Foreign Function Interface. A foreign function
interface is the popular name for the interface that allows code written
in one language to call code written in another language.
This is the web page for a C++ unit test framework. Its design goals are to be
simple, to be idiomatic C++, and to follow the basic xUnit style to the extent
that doing so is compatible with the earlier goals. Its main differences from
other xUnit frameworks are that it uses constructors and destructors for
setup/teardown and that it requires you to represent tests as classes, instead
of methods.
The logrotate utility is designed to simplify the administration of log files
on a system which generates a lot of log files. Logrotate allows for the
automatic rotation compression, removal and mailing of log files. Logrotate
can be set to handle a log file daily, weekly, monthly or when the log file
gets to a certain size. Normally, logrotate runs as a daily cron job.
The package is not buildable on Darwin without including an additional
header, nor is it installable without teaching the Makefile what INSTALL
is on Darwin.
Signed-off-by: Max Howell <max@methylblue.com>
I made a number of modifications, including comma separating the make call so
that the prefix doesn't need to be escaped if it has spaces in it.
Also setting LDFLAGS to /usr/local/lib is done in brewkit.rb already. The
POPT_DIR var shouldn't be necessary either, but I haven't tested that yet.
Rasqal is a free software / Open Source C library that handles Resource Description
Framework (RDF) query syntaxes, query construction and query execution returning result
bindings. The supported query languages are SPARQL and RDQL.
Raptor is a free software / Open Source C library that provides a set of parsers
and serializers that generate Resource Description Framework (RDF) triples by parsing
syntaxes or serialize the triples into a syntax. The supported parsing syntaxes are
RDF/XML, N-Triples, TRiG, Turtle, RSS tag soup including all versions of RSS, Atom 1.0
and 0.3, GRDDL and microformats for HTML, XHTML and XML and RDFa. The serializing
syntaxes are RDF/XML (regular, and abbreviated), Atom 1.0, GraphViz, JSON, N-Triples,
RSS 1.0 and XMP.
GNU Go is a free program that plays the game of Go. GNU Go has played thousands
of games on the NNGS Go server. GNU Go is now also playing regularly on the Legend
Go Server in Taiwan, on the WING server in Japan, and many volunteers run GNU Go
clients on KGS. GNU Go has established itself as the leading non-commercial go program
in the recent tournaments that it has taken part in.
GNU GLOBAL is a source code tagging system that works the same way across
diverse environments (emacs, vi, less, bash, web browser, etc). You can locate
specified objects in source files and move there easily. It is useful for
hacking a large project containing many subdirectories, many #ifdef and many
main() functions. It is similar to ctags or etags but is different from them
at the point of independence of any editor. It runs on a UNIX(POSIX)
compatible operating system like GNU and BSD.
aria2 is a multi-protocol & multi-source, cross platform download utility. The
supported protocols are HTTP(S), FTP, BitTorrent (DHT, PEX, MSE/PE and
WEB-Seeding), and Metalink.
Zsh is a shell designed for interactive use, although it is also a powerful
scripting language. More information can be found on the "Zsh Web Pages"
sites.
Signed-off-by: Max Howell <max@methylblue.com>
I de-versioned the install directories aas this is typically what we do.
MOST is a powerful paging program for Unix, VMS, MSDOS, and win32 systems.
Unlike other well-known paging programs most supports multiple windows and
can scroll left and right. Why settle for less?
Updated erlang with changes to brewkit
Added deps.
Crypto still broke.
Signed-off-by: Max Howell <max@methylblue.com>
I removed the flag to make manpages optional as the Homebrew default is to
install manapges.
Signed-off-by: Max Howell <max@methylblue.com>
I squashed a number of commits here, and also replaced the use of nspr.prefix with HOMEBREW_PREFIX as in theory we are flexible with our requirement for dependencies, although with the limited build system that SpiderMonkey possesses this is difficult for us to achieve anyway…
With most options enabled (why not?).
Could use cleanup perhaps, but it works...
Note that this does not work due to some library loading issues… when I run
initdb I get a big fail which I have yet to track down.
Signed-off-by: Max Howell <max@methylblue.com>
Patch mysql_safe so it will run non-privileged.
Write out plist for managing mysqld with launchctl.
Add instructions on setting up db and launchctl script.
Signed-off-by: Max Howell <max@methylblue.com>
Signed-off-by: Max Howell <max@methylblue.com>
I renamed it objective-caml.rb as this is the naming policy of homebrew. However I acknowledge everyone will look for it under ocaml.
But we do have a feature planned where formula can specify common aliases, and we'll try to get this in quickly.
pv - Pipe Viewer - is a terminal-based tool for monitoring the
progress of data through a pipeline. It can be inserted into any
normal pipeline between two processes to give a visual indication of
how quickly data is passing through, how long it has taken, how near
to completion it is, and an estimate of how long it will be until
completion.
Signed-off-by: Max Howell <max@methylblue.com>
How do you implement full-text search for that 10+ million row table, keep up
with the load, and stay relevant? Sphinx is good at those kinds of riddles.
Signed-off-by: Max Howell <max@methylblue.com>
I added the mysql dependency.
Yasm is a complete rewrite of the NASM assembler under the "new" BSD License.
Yasm currently supports the x86 and AMD64 instruction sets, accepts NASM and
GAS assembler syntaxes, outputs binary, ELF32, ELF64, 32 and 64-bit Mach-O,
RDOFF2, COFF, Win32, and Win64 object formats, and generates source debugging
information in STABS, DWARF 2, and CodeView 8 formats.
The formula is 10.6 only because it compiles 64 bit, if you are a Leopard user
please patch! The MACOS_VERSION constant may be useful.
FFmpeg is a complete, cross-platform solution to record, convert and stream
audio and video. It includes libavcodec - the leading audio/video codec
library.
Ctags comes with OS X but Exuberant is better.
Ctags generates an index (or tag) file of language objects found in source
files that allows these items to be quickly and easily located by a text
editor or other utility. A tag signifies a language object for which an index
entry is available (or, alternatively, the index entry created for that
object).
Signed-off-by: Max Howell <max@methylblue.com>
indirect beat defunkt to the redis formula slightly, but defunkt improved it, so everyone gets credit :)
Specify dependencies in your formula's deps function. You can return an Array,
String or Hash, eg:
def deps
{ :optional => 'libogg', :required => %w[flac sdl], :recommended => 'cmake' }
end
Note currently the Hash is flattened and qualifications are ignored. If you
only return an Array or String, the qualification is assumed to be :required.
Other packaging systems have problems when it comes to packages requiring a
specific version of a package, or some patches that may not work well with
other software. With Homebrew we have some options:
1. If the formula is vanilla but an older version we can cherry-pick the old
version and install it in the Cellar in parallel, but just not symlink it
into /usr/local while forcing the formula that depends on it to link to
that one and not any other versions of it.
2. If the dependency requires patches then we shouldn't install this for use
by any other tools, (I guess this needs to be decided on a per-situation
basis). It can be installed into the parent formula's prefix, and not
symlinked into /usr/local. In this case the dependency's Formula
derivation should be saved in the parent formula's file (check git or
flac for an example of this).
Both the above can be done currently with hacks, so I'll flesh out a proper
way sometime this week.
This regards Issue Homebrew/homebrew#30.
Turns out -march=native isn't supported by Apple's GCC, but while investigating it I found they'd back ported the -march=core2 option, so we win anyway.
Logic reverted to how it was yesterday.
I moved the gcc options stuff back to brewkit.rb as we manipulate the cflags more later and it seemed bad form to split the logic for this area over two files.
Additionally the brew command exits immediately on powerpc now. Brewkit doesn't throw as theoretically it is a useful library file for other projects.
Thrift is a software framework for scalable cross-language services
development. It combines a powerful software stack with a code generation
engine to build services that work efficiently and seamlessly between C++,
Java, Python, PHP, and Ruby. Thrift was developed at Facebook and released as
open source.
Oniguruma is a regular expressions library. The characteristics of this
library is that different character encoding for every regular expression
object can be specified.
I removed the rename and mv functions as when I wrote the tests I realised the function implied the pathname object would be updated to reflect the moved or renamed file. However that cannot be done. Also frankly I think writing it out in full makes clearer code.
GNU ddrescue is a data recovery tool. It copies data from one file or block
device (hard disc, cdrom, etc) to another, trying hard to rescue data in case
of read errors.
Added Formula::etc()
Added Pathname::write() convenience function which can write a string out to
the file it points too, raising if it would have to overwrite.
> The fri executable will run much faster if you install FastRI from a
> tarball, since RubyGems introduces a noticeable overhead.
Source: http://eigenclass.org/hiki/fastri
The GNU Core Utilities are the basic file, shell and text manipulation
utilities of the GNU operating system. These are the core utilities which are
expected to exist on every operating system.
Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like systems,
written with security primarily in mind. Dovecot is an excellent choice for
both small and large installations. It's fast, simple to set up, requires no
special administration and it uses very little memory.
The Low Level Virtual Machine, generally known as LLVM, is a compiler
infrastructure, written in C++, which is designed for compile-time, link-time,
run-time, and "idle-time" optimization of programs written in arbitrary
programming languages.
The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5. PCRE has its
own native API, as well as a set of wrapper functions that correspond to the
POSIX regular expression API. The PCRE library is free, even for building
commercial software.
unp is a small perl script which makes extraction of any archive files a bit
easier. It support several compressors and archiver programs, chooses the
right one(s) automatically and extracts one or more files in one go.
Signed Off By: Max Howell <max@methylblue.com>
I amended the formula slightly to use Homebrew's install functions, and
Homebrew's automatic installation for README, etc. files.
Tree is a recursive directory listing program that produces a depth indented
listing of files, which is colorized ala dircolors if the LS_COLORS
environment variable is set and output is to tty.
I used the imagemagick-installer script that made the rounds on Twitter lately as a basis.
But a number of improvements, eg. lets not mess around with the OS X installation of cups.
Signed-off-by: Max Howell <max@methylblue.com>
I made everything compile, however I haven't tested it yet as I have a mix of
MacFUSE installations and am thus not a good test case!
SSHFS is a MacFuse based filesystem that lets you mount remote machines
(via ssh) so they are visible to Finder (and on the command line, of course.)
To use this formula, you must first install the binary of MacFuse,
because it is (not yet) avaiable via brew.
Adds a new DownloadStrategy that checks files out from Subversion to the
cache, then exports over to the temp folder for the build.
To use checkout with the svn:// protocol or reimplement download_strategy and
return SubversionDownloadStrategy.
No longer strips the main Python executable, as that was breaking the ability
of dlopen() and thus import .so based modules.
This change depends on changes to keg & formula that allow files to not be
cleaned.
Also, replaced a duplicate libpython2.6.a with a link (saves 6MB.)
Large refactor to Formula, mostly improving reliability and error handling but
also layout and readability.
General improvements so testing can be more complete.
Patches are automatically downloaded and applied for Formula that return a
list of urls from Formula::patches.
Split out the brew command logic to facilitate testing.
Facility from Adam Vandenberg to allow selective cleaning of files, added
because Python doesn't work when stripped.
Also removed xmlrpc-c dep, by coercing cmake into using its own xmlrpc
copy. It statically linked xmlrpc before anyway, so it's better for our
users not to have this crappy dependency.
Still completely in the dark about how cmake can possibly need an
xmlrpc library!
strip unlinks the file first, breaking hard links, so we detect instances where we are about to strip a file with many linkages and prevent it.
This fixes the libexec non executable bug in the git package.
Took me a long time to figure out what was wrong! :P
Moved Forumla and Cellar/homebrew into Library.
This way the homebrew core files are more sensibly placed, Cellar is
more internally consistent and only generated. And Homebrew is ready for
use straight out of the tarball.