The "fixes" to this formula for 10.6 completely broke it on 10.5.
The formula now has separate setup / deps handling for 10.5 and
10.6, which should work until Subversion 1.7 comes out some day
and the Snow Leopard system deps break again.
So many tools expect all SDL modules to be installed in the same place. So we have to change the prefix path to HOMEBREW_PREFIX. This is probably the correct thing to do in general in fact.
pdflib-lite is required to enable Gnuplot's PDF terminal.
While not free (as in speach) software, pdflib-lite is available for
non-commercial (i.e., academic and personal) use free of charge. A license
reminder is printed at the end of the build.
pdflib is also provided by MacPorts; a workaround from their portfile was
adapted to this formula to get the build to go through.
shell-fm is a lightweight, console-based player for last.fm radio streams.
Signed-off-by: Max Howell <max@methylblue.com>
The h1 on the page is Shell.fm, everywhere else he calls it shell-fm. Thanks developer-guy. I switched the formula to .fm as that is more consitent with how you would write it if you heard it mentioned in a podcast etc.
Signed-off-by: Max Howell <max@methylblue.com>
Scons is now an example of a system that we do duplicated even though easy_install supports it. This is because:
1) Easy Install installs a version that is not current;
2) We may need to directly depend on this formula to build other formula.
Jython is an implementation of the high-level, dynamic,
object-oriented language Python written in 100% Pure
Java, and seamlessly integrated with the Java platform.
It thus allows you to run Python on any Java platform.
bmon is a portable bandwidth monitor and rate estimator. It supports
various input methods for different architectures. Various output
modes exist, including an interactive curses interface, lightweight
HTML output, and simple ASCII output. Statistics may be distributed
over a network using multicast or unicast and collected at some
point to generate a summary of statistics for a set of nodes.
Htop is an ncursed-based process viewer similar
to top, but it allows to scroll the list
vertically and horizontally to see all processes
and their full command lines.
The rscreen command annoyingly overrides the
escape key to ^z, which is fixed in a patch. The
rest of the default settings should be fine for
most people
$CLOJURE was passed to java -classpath, which
caused the $CLASSPATH ENV var to be ingored.
This is needed for the clojure-contrib formula,
and for using third-party classes, which is kind
of useful..
Developer's Image Library (DevIL) is a cross-platform image library utilizing
a simple syntax to load, save, convert, manipulate, filter and display a
variety of images with ease.
brewkit.rb changes ENV destructively, so lets not do that everytime a formula
is required. Now it's possible for other tools to require a formula
description without worrying about side-effects.
The GNU Compact Disc Input and Control library (libcdio) contains a
library for CD-ROM and CD image access. Applications wishing to be
oblivious of the OS- and device-dependent properties of a CD-ROM or
of the specific details of various CD-image formats may benefit from
using this library.
FAAC is an Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC). The goal of
FAAC is to explore the possibilities of AAC and exceed the quality
of the currently best MP3 encoders.
GNU lightning is a library that generates assembly language code
at run-time; it is very fast, making it ideal for Just-In-Time
compilers, and it abstracts over the target CPU, as it exposes to
the clients a standardized RISC instruction set inspired by the
MIPS and SPARC chips.
We depend on newer libpng than OS X provides because the libpng version has
bugs that exhibit themselves for some uses of the SDL.
See issue Homebrew/homebrew#89 for more information.
No offense but the use of --with-framework-name option is totally wrong in the
Formula.
As noted in the Mac build [notes][1] --with-framework-name is *not* to pass
the SDK path, but to rename it (e.g. "AwesomePython.framework" instead of just
"Python.framework"). To build it as a Mac OS X framework you need to use the
--enable-framework flag instead.
The same with the other option -- to build Python universally. The flag
--enable-universalsdk is missing.
[1]: http://svn.python.org/projects/python/branches/release26-maint/Mac/README
Beanstalk is a simple, fast workqueue service. Its interface is generic,
but was originally designed for reducing the latency of page
views in high-volume web applications by running
time-consuming tasks asynchronously.
Signed-off-by: Max Howell <max@methylblue.com>
I changed it to beanstalk.rb as that's how they refer to it in general.
Merged the clj_repl and clj commands into one clj command, which either
invokes the REPL, or runs a script (similar to how the python command works).
Moved the script to DATA, instead of inline
Also fixes etc config.
The call to inreplace had an incorrect path. I tried correcting it
and leaving it as a post-make-install step, but it still did not work.
Moving the inreplace call did the trick.
Signed-off-by: Max Howell <max@methylblue.com>
The formula was committed as liboggz.rb, but the homepage is consistent in
calling it Oggz so I renamed the formula.
ClosesHomebrew/homebrew#85. ClosesHomebrew/homebrew#86.
Removing .la files is proving problematic in places. But oh well. Homebrew is
all about optimizing init?
Also only set ARCHFLAGS on non-Core Duo machines... though it seemed to build
fine even with it, it doenst make much sense to me... these changes are kind
of up for debate but it "works for me" this way...
ClosesHomebrew/homebrew#75
It's a lost cause trying to get 1.0beta3 compiling under Snow Leopard,
and the trunk already compiles 64-bit clean, so we might as well
use that.
Note that the DATA patch makes a few changes that are then rewritten
by inreplace. Why not patch clean and not run inreplace later? Because
I'm going to submit the patch back upstream, which should hopefully
allow us to drop it from the formula and only use inreplace to select
our build environment (native arch and framework for either 10.5 or 10.6)
I had to remove the THREADSAFE flag to make it work.
Couchdb seems the reason to use Spidermonkey at this point. Without these
changes Couchdb would crash hard when loading the Spidermonkey dylib.
If the threadsafety is required then we should look into making a keg-only
Spidermonkey for Couchdb's personal use.
The nspr dependency isn't documented as required, and doesn't seem to make a
difference if it is removed. So I removed it.
Parrot is a virtual machine designed to efficiently compile
and execute bytecode for dynamic languages. Parrot currently
hosts a variety of language implementations in various stages
of completion, including Tcl, Javascript, Ruby, Lua, Scheme,
PHP, Python, Perl 6, APL, and a .NET bytecode translator.
The parrot binary needs patching to find its library.
We don't want beta libs and Erlang doesn't need it.
Also disabled installation of erlang docs as we just delete them, we need to make the delete step optional.
The JasPer Project is an open-source initiative to provide a free software-based
reference implementation of the codec specified in the JPEG-2000 Part-1 standard
(i.e., ISO/IEC 15444-1).
The WeeChat devs don't know about CMAKE_INSTALL_PREFIX apparently, someone
should tell them. I won't. I plan on just sitting back and shacking my head
side-to-side instead.
ccache is a compiler cache. It acts as a caching pre-processor to C/C++
compilers, using the -E compiler switch and a hash to detect when a
compilation can be satisfied from cache. This often results in a 5 to 10 times
speedup in common compilations.
GNU Emacs is an extensible, customizable text editor—and more. At
its core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.
A C library for encoding data in a QR Code symbol, a kind of 2D symbology
that can be scanned by handy terminals such as a mobile phone with CCD. The
capacity of QR Code is up to 7000 digits or 4000 characters, and is highly
robust.
* Switch to the tar.gz for download, it's a few MB smaller than the zip
* Remove duplicate --with-plugins line
* Switch statedir to #{HOMEBREW_PREFIX}/var/mysql
* Set plist to treat HOMEBREW_PREFIX as home instead of hardcoding /usr/local
Signed-off-by: Max Howell <max@methylblue.com>
ClosesHomebrew/homebrew#67
I amended the caveats slightly.
Copy the mysql way of doing things in so far as using a plist file avoiding
any need for root or other users and advising creating the database under
/usr/local/var
Chocolate Doom is a Doom source port which aims to reproduce the
behavior of Vanilla Doom as closely as possible.
Note: No game levels are included, just the game engine.
Since "libexec" folders under the Cellar are already private per
formula, there's no reason to create an additional folder underneath
for namespacing.
Removed the extra folder level from these formulas.
Trim about 7 MB from Vice by deleting extraneous icons from each of the
.app bundles. Each .app bundle only needs the x*.icns icon that corresponds
to it.
tmux is a "terminal multiplexer", it enables a number of terminals
(or windows) to be accessed and controlled from a single terminal. tmux is
intended to be a simple, modern, BSD-licensed alternative to
programs such as GNU screen.
OS X provides OpenSSL already. Thus policy dictates this formula be keg-only.
In fact policy dictates we shouldn't even provide this beta version in master tree. So I'm not sure if it should even stay. Supposedly erlang needs it. I think this is false.
RabbitMQ is a complete and highly reliable Enterprise Messaging system based
on the emerging AMQP standard.
Signed-off-by: Max Howell <max@methylblue.com>
I left this one for ages as I wasn't sure about the erlang_libdir bit. I changed it in the end. But maybe it doesn't work. Someone will have to verify.
If erlang needs to look in a certain dir for plugins, we need to make sure it looks in the HOMEBREW_PREFIX dir and not further up, ie. its prefix in the Cellar. Same for any plugin system.
Iperf was developed by NLANR/DAST as a modern alternative for measuring
maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various
parameters and UDP characteristics. Iperf reports bandwidth, delay jitter,
datagram loss.
The aliases file which can be generated with brew --install hardcodes
/usr/local. Changed it to set a brew_prefix environment variable
and use it instead.
Installs as $prefix/bin/gsed, like the Macports version. This
makes it easier to alias so that you don't have to put $prefix/bin
ahead of /usr/bin in your $PATH.
ClosesHomebrew/homebrew#59
Signed-off-by: Max Howell <max@methylblue.com>
As I understand it, this is not required on 10.6. But then again this formula
isn't really required on 10.6.
Theora is a free and open video compression format from the Xiph.org Foundation.
Like all our multimedia technology it can be used to distribute film and video
online and on disc without the licensing and royalty fees or vendor lock-in
associated with other formats.
Signed-off-by: Max Howell <max@methylblue.com>
I changed the name to theora as that is how Xiph refer to it.
GNU Aspell is a Free and Open Source spell checker designed to eventually
replace Ispell.
A pretty vanilla formula. I don't know what configure options would be
useful. As it is, it works for me with Emacs.
Includes a patch in __DATA__ found here: http://trac.macports.org/ticket/21096
This package allows you to query for addresses from the OS X AddressBook from
mutt.
Signed-off-by: Max Howell <max@methylblue.com>
I had quite a few quibbles with the name. Google can't make up their minds what they call it apparently!
Pass in a list of any files that you don't want cleaned
with a path relative to the cellar. e.g. `strip_paths ['bin/znc']`
It's backwards compatible with def strip_clean?, at least for now.
The znc formula is updated as an example.
ClosesHomebrew/homebrew#56
If jpeg7 is already installed when you try to install ghostscript there is a
compilation error.
The answer is to move the included jpeg6 source directory out of the way,
download jpeg7, and create a link to the jpeg7 source inside of the
ghostscript source... ghostscript is none the wiser.
Guile is a library designed to help programmers create flexible applications. Using Guile
in an application allows programmers to write plug-ins, or modules (there are many names,
but the concept is essentially the same) and users to use them to have an application fit
their needs.
GMP is a free library for arbitrary precision arithmetic, operating on
signed integers, rational numbers, and floating point numbers. There is
no practical limit to the precision except the ones implied by the available
memory in the machine GMP runs on. GMP has a rich set of functions, and the
functions have a regular interface.
The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting
replacement for C malloc or C++ new. It allows you to allocate memory basically as you
normally would, without explicitly deallocating memory that is no longer useful. The collector
automatically recycles memory when it determines that it can no longer be otherwise accessed.
Adam Vandenberg:
Update bdw-gc formula for 10.6
Hercules is an open source software implementation of the mainframe
System/370 and ESA/390 architectures, in addition to the new 64-bit
z/Architecture.
Lynx is a fully-featured World Wide Web (WWW) browser for users on Unix,
VMS, and other platforms running cursor-addressable, character-cell
terminals or emulators. That includes vt100 terminals, other character-
cell displays, and vt100 emulators such as Kermit or Procomm running on PCs
or Macs.
Mac OS X projects that use SDL through Objective-C may
require the "SDLmain" support files.
Since these are not strictly header files, they are not
installed into include by default, so we put them in our
libexec folder.
It appears as though Homebrew is aggressively removing empty
directories. I just created empty files to keep these alive so that
CouchDB would't choke on startup. I'm tired, otherwise I'd see if I
could use skip_clean? to skip removing the empty dirs.
Thanks to Kamal for fixing the initial log directory mixup.
Signed-Off-By: Adam Vandenberg <flangy@gmail.com>
Update Couchdb formula now that skip_clean? can test empty folders.
Adding user creation commands, and adding note about aliasing commands.
Formula working nicely now :-D
Adding note about postgres gem to avoid conflicts (took me a while to figure
out)
mmv is a program to move/copy/append/link multiple files according to a set of
wildcard patterns. This multiple action is performed safely, i.e. without any
unexpected deletion of files due to collisions of target names with existing
filenames or with other target names.
Tokyo Cabinet: a modern implementation of DBM. Written by Mikio
Hirabayashi who is also the author of HyperEstraier and QDBM. Supports
hash table, B+tree, or fixed-length array databases of key/value pairs.
Signed-off-by: Max Howell <max@methylblue.com>
I changed the filename as policy is to hyphen separate if the actual name is
space separated. I plan to add functionality so if the user types a common
alias, it is recognised, as I understand that using hyphens in this case would
be unusual.
Also removed the md5 as only one of sha1 and md5 is checked. And correct me if
I'm wrong but two hashes seems unnecessary.
Signed-off-by: Max Howell <max@methylblue.com>
I amended it slightly from the original patch: f91a542e8f07323bca00da3de4eee7060e8122a7
FixesHomebrew/homebrew#38
* Create the empty save folder on install.
* Deparallelize the build, since the master build runs a bunch of
nested makes, and we want the products to come out in-order.
MCrypt is a replacement for the old crypt() package and crypt(1) command, with
extensions. It allows developers to use a wide range of encryption functions,
without making drastic changes to their code. It allows users to encrypt
files or data streams without having to be cryptographers. Above all, it
allows you to have some really neat code on your machine. :)
Axel tries to accelerate downloads by using multiple connections (possibly to
multiple servers) for one download. Because of its size, it might be very
useful on bootdisks or other small systems as a wget replacement.
Thou shall not bump a packaging system's erlang version before it's released
even though you love to live on the edge.
Signed-off-by: Max Howell <max@methylblue.com>
Agreed, Homebrew sticks to stable releases in the main url, the @head url is used for cutting edge.
Well, I guessed keg_only would have issues.
Here, glib assumes GNU gettext will be in the same path as itself. Which would
be true if we symlinked gettext into the tree, but we don't to avoid conflicts
with the BSD version: /usr/lib/libgettext.dylib
We'll have to do this a lot, so I need to figure out how to automate it, or
how to avoid doing this kind of thing altogether.
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.