Compare commits

..

1 Commits
0.10 ... 0.9

Author SHA1 Message Date
Eelco Dolstra
9f61e1b99f * Mark as stable.
svn path=/nixpkgs/branches/0.9-release/; revision=4650
2006-01-31 17:02:26 +00:00
666 changed files with 5651 additions and 24145 deletions

31
COPYING
View File

@@ -1,31 +0,0 @@
Copyright (c) 2003-2006 Eelco Dolstra
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
======================================================================
Note: the license above does not apply to the packages built by the
Nix Packages collection, merely to the package descriptions (i.e., Nix
expressions, build scripts, etc.). Also, the license does not apply
to some of the binaries used for bootstrapping Nixpkgs (e.g.,
pkgs/stdenv/linux/tools/bash). It also might not apply to patches
included in Nixpkgs, which may be derivative works of the packages to
which they apply. The aforementioned artifacts are all covered by the
licenses of the respective packages.

View File

@@ -1 +1 @@
0.10
0.9

View File

@@ -1,12 +1,12 @@
XMLLINT = xmllint --catalogs
XSLTPROC = xsltproc --catalogs \
ENV = SGML_CATALOG_FILES=$(docbookcatalog)
XMLLINT = $(ENV) xmllint --catalogs
XSLTPROC = $(ENV) xsltproc --catalogs \
--param section.autolabel 1 \
--param section.label.includes.component.label 1 \
--param html.stylesheet \'style.css\' \
--param xref.with.number.and.title 1 \
--param toc.section.depth 3 \
--param admon.style \'\' \
--param callout.graphics.extension \'.gif\'
--param toc.section.depth 3
NEWS_OPTS = \
--stringparam generate.toc "article nop" \

View File

@@ -37,8 +37,4 @@
</xsl:element>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="translate(., '‘’“”—', concat(&quot;`'&quot;, '&quot;&quot;-'))" />
</xsl:template>
</xsl:stylesheet>

View File

@@ -1,208 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink">
<?xml version="1.0"?>
<!DOCTYPE book
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip"
[
]>
<title>Nixpkgs Release Notes</title>
<section><title>Release 0.10 (October 12, 2006)</title>
<note><para>This release of Nixpkgs requires <link
xlink:href='http://nix.cs.uu.nl/dist/nix/nix-0.10/'>Nix
0.10</link> or higher.</para></note>
<para>This release has the following improvements:</para>
<itemizedlist>
<listitem><para><filename>pkgs/system/all-packages-generic.nix</filename>
is gone, we now just have
<filename>pkgs/top-level/all-packages.nix</filename> that contains
all available packages. This should cause much less confusion with
users. <filename>all-packages.nix</filename> is a function that by
default returns packages for the current platform, but you can
override this by specifying a different <varname>system</varname>
argument.</para></listitem>
<listitem><para>Certain packages in Nixpkgs are now
user-configurable through a configuration file, i.e., without having
to edit the Nix expressions in Nixpkgs. For instance, the Firefox
provided in the Nixpkgs channel is built without the RealPlayer
plugin (for legal reasons). Previously, you could easily enable
RealPlayer support by editing the call to the Firefox function in
<filename>all-packages.nix</filename>, but such changes are not
respected when Firefox is subsequently updated through the Nixpkgs
channel.</para>
<para>The Nixpkgs configuration file (found in
<filename>~/.nixpkgs/config.nix</filename> or through the
<envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute
set that contains configuration options that
<filename>all-packages.nix</filename> reads and uses for certain
packages. For instance, the following configuration file:
<programlisting>
{
firefox = {
enableRealPlayer = true;
};
}</programlisting>
persistently enables RealPlayer support in the Firefox
build.</para>
<para>(Actually, <literal>firefox.enableRealPlayer</literal> is the
<emphasis>only</emphasis> configuration option currently available,
but more are sure to be added.)</para></listitem>
<listitem><para>Support for new platforms:
<itemizedlist>
<listitem><para><literal>i686-cygwin</literal>, i.e., Windows
(using <link xlink:href="http://www.cygwin.com/">Cygwin</link>).
The standard environment on <literal>i686-cygwin</literal> by
default builds binaries for the Cygwin environment (i.e., it
uses Cygwin tools and produces executables that use the Cygwin
library). However, there is also a standard environment that
produces binaries that use <link
xlink:href="http://www.mingw.org/">MinGW</link>. You can use it
by calling <filename>all-package.nix</filename> with the
<varname>stdenvType</varname> argument set to
<literal>"i686-mingw"</literal>.</para></listitem>
<listitem><para><literal>i686-darwin</literal>, i.e., Mac OS X
on Intel CPUs.</para></listitem>
<listitem><para><literal>powerpc-linux</literal>.</para></listitem>
<listitem><para><literal>x86_64-linux</literal>, i.e., Linux on
64-bit AMD/Intel CPUs. Unlike <literal>i686-linux</literal>,
this platform doesnt have a pure <literal>stdenv</literal>
yet.</para></listitem>
</itemizedlist>
</para>
</listitem>
<listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
<listitem><para>X11 updated to X.orgs X11R7.1.</para></listitem>
<listitem><para>Notable new packages:
<itemizedlist>
<listitem><para>Opera.</para></listitem>
<listitem><para>Microsoft Visual C++ 2005 Express Edition and
the Windows SDK.</para></listitem>
</itemizedlist>
In total there are now around 809 packages in Nixpkgs.</para>
</listitem>
<listitem><para>It is now <emphasis>much</emphasis> easier to
override the default C compiler and other tools in
<literal>stdenv</literal> for specific packages.
<filename>all-packages.nix</filename> provides two utility
functions for this purpose: <function>overrideGCC</function> and
<function>overrideInStdenv</function>. Both take a
<literal>stdenv</literal> and return an augmented
<literal>stdenv</literal>; the formed changes the C compiler, and
the latter adds additional packages to the front of
<literal>stdenv</literal>s initial <envar>PATH</envar>, allowing
tools to be overriden.</para>
<para>For instance, the package <varname>strategoxt</varname>
doesnt build with the GNU Make in <literal>stdenv</literal>
(version 3.81), so we call it with an augmented
<literal>stdenv</literal> that uses GNU Make 3.80:
<programlisting>
strategoxt = (import ../development/compilers/strategoxt) {
inherit fetchurl pkgconfig sdf aterm;
stdenv = overrideInStdenv stdenv [gnumake380];
};
gnumake380 = <replaceable>...</replaceable>;</programlisting>
Likewise, there are many packages that dont compile with the
default GCC (4.1.1), but thats easily fixed:
<programlisting>
exult = import ../games/exult {
inherit fetchurl SDL SDL_mixer zlib libpng unzip;
stdenv = overrideGCC stdenv gcc34;
};</programlisting>
</para></listitem>
<listitem><para>It has also become much easier to experiment with
changes to the <literal>stdenv</literal> setup script (which notably
contains the generic builder). Since edits to
<filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild
of <emphasis>everything</emphasis>, this was formerly quite painful.
But now <literal>stdenv</literal> contains a function to
“regenerate” <literal>stdenv</literal> with a different setup
script, allowing the use of a different setup script for specific
packages:
<programlisting>
pkg = import <replaceable>...</replaceable> {
stdenv = stdenv.regenerate ./my-setup.sh;
<replaceable>...</replaceable>
}</programlisting>
</para></listitem>
<listitem><para>Packages can now have a human-readable
<emphasis>description</emphasis> field. Package descriptions are
shown by <literal>nix-env -qa --description</literal>. In addition,
theyre shown on the Nixpkgs release page. A description can be
added to a package as follows:
<programlisting>
stdenv.mkDerivation {
name = "exult-1.2";
<replaceable>...</replaceable>
meta = {
description = "A reimplementation of the Ultima VII game engine";
};
}</programlisting>
The <varname>meta</varname> attribute is not passed to the builder,
so changes to the description do not trigger a rebuild. Additional
<varname>meta</varname> attributes may be defined in the future
(such as the URL of the packages homepage, the license,
etc.).</para></listitem>
</itemizedlist>
<para>The following people contributed to this release:
Andres Löh,
Armijn Hemel,
Christof Douma,
Eelco Dolstra,
Eelco Visser,
Mart Kolthof,
Martin Bravenboer,
Merijn de Jonge,
Rob Vermaas and
Roy van den Broek.
</para>
</section>
<article><title>Nixpkgs Release Notes</title>
<section><title>Release 0.9 (January 31, 2006)</title>
@@ -213,8 +16,8 @@ some of the more notable changes:</para>
<itemizedlist>
<listitem><para>Distribution files have been moved to <link
xlink:href="http://nix.cs.uu.nl/" />.</para></listitem>
<listitem><para>Distribution files have been moved to <ulink
url="http://nix.cs.uu.nl/" />.</para></listitem>
<listitem><para>The C library on Linux, Glibc, has been updated to
version 2.3.6.</para></listitem>
@@ -229,7 +32,7 @@ some of the more notable changes:</para>
working X server (previously we only had X client libraries). We
use a fully Nixified X server on NixOS.</para></listitem>
<listitem><para>The Sun JDK 5 has been purified, i.e., it doesnt
<listitem><para>The Sun JDK 5 has been purified, i.e., it doesn't
require any non-Nix components such as
<filename>/lib/ld-linux.so.2</filename>. This means that Java
applications such as Eclipse and Azureus can run on
@@ -346,10 +149,9 @@ hashing scheme in Nix 0.8.</para>
<listitem>
<para>Tarballs used by Nixpkgs are now obtained from the same server
that hosts Nixpkgs (<link
xlink:href="http://catamaran.labs.cs.uu.nl/" />). This reduces the
risk of packages being unbuildable due to moved or deleted files on
various servers.</para>
that hosts Nixpkgs (<ulink url="http://catamaran.labs.cs.uu.nl/" />).
This reduces the risk of packages being unbuildable due to moved or
deleted files on various servers.</para>
</listitem>

View File

@@ -10,6 +10,7 @@ body
{
font-family: sans-serif;
background: white;
margin: 2em 1em 2em 1em;
}
@@ -33,28 +34,16 @@ h2 /* chapters, appendices, subtitle */
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
{
margin-top: 1.5em;
/* border-top: solid #005aa0; */
}
div.section > div.titlepage h2 /* sections */
div.sect1 h2 /* sections */
{
font-size: 150%;
margin-top: 1.5em;
}
h3 /* subsections */
{
font-size: 125%;
}
div.appendix h3
{
font-size: 150%;
margin-top: 1.5em;
}
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
{
margin-top: 1.4em;
font-size: 125%;
}
@@ -63,23 +52,30 @@ div.refsection h3
font-size: 110%;
}
h3 /* subsections */
{
font-size: 125%;
}
/***************************************************************************
Examples:
Program listings:
***************************************************************************/
div.example
{
border: 1px solid #6185a0;
padding: 6px 6px;
margin-left: 1.5em;
margin-right: 1.5em;
background: #f4f4f8;
margin-left: 3em;
margin-right: 3em;
background: #eeeeee;
}
div.example p.title
pre.programlisting
{
margin-top: 0em;
color: #600000;
font-family: monospace;
}
@@ -87,63 +83,41 @@ div.example p.title
Screen dumps:
***************************************************************************/
pre.screen, pre.programlisting
pre.screen
{
border: 1px solid #6185a0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
padding: 6px 6px;
margin-left: 3em;
margin-right: 3em;
color: #600000;
background: #f4f4f8;
background: #eeeeee;
font-family: monospace;
/* font-size: 90%; */
}
div.example pre.programlisting
{
border: 0px;
padding: 0 0;
margin: 0 0 0 0;
}
/***************************************************************************
Notes, warnings etc:
***************************************************************************/
.note, .warning
.note,.warning
{
border: 1px solid #6185a0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
margin-top: 1em;
margin-bottom: 1em;
padding: 0.3em 0.3em 0.3em 0.3em;
border: 1px solid #6185a0;
padding: 0px 1em;
background: #fffff5;
}
div.note, div.warning
div.note,div.warning
{
font-style: italic;
}
div.note h3, div.warning h3
div.warning h3
{
color: red;
font-size: 100%;
// margin: 0 0 0 0;
padding-right: 0.5em;
display: inline;
}
div.note p, div.warning p
{
margin-bottom: 0em;
}
div.note h3 + p, div.warning h3 + p
{
display: inline;
}
div.note h3
@@ -193,19 +167,9 @@ tt, code
}
div.variablelist dd p, div.glosslist dd p
div.variablelist dd
{
margin-top: 0em;
}
div.variablelist dd, div.glosslist dd
{
margin-left: 1.5em;
}
div.glosslist dt
{
font-style: italic;
margin-bottom: 1em;
}
.default
@@ -268,16 +232,3 @@ table.productionset table.productionset
{
font-family: monospace;
}
strong.command
{
// font-family: monospace;
// font-style: italic;
// font-weight: normal;
color: #400000;
}
div.calloutlist td
{
padding-bottom: 1em;
}

View File

@@ -1,31 +0,0 @@
Creating a new static stdenv
----------------------------
When Nix is ported to a new (Linux) platform and you want to have a completely
pure setup for the stdenv (for example for NixOS) it is necessary to rebuild
the static tools.
The challenge is that there is no Nix environment yet, for bootstrapping.
The first task is to create all the tools that are necessary. For most tools
there are ready made Nix expressions.
GCC
There is an expression gcc-static-3.4. Depending on whether or not you already
have an environment built with Nix (x86-linux: yes, rest: not yet) you should
set the noSysDirs parameter in all-packages.nix. If there is an environment,
leave it, but if the system is still impure (like most systems), set noSysDirs
to false.
bash
There is an expression for bash-static. Simply build it.
bzip2
There is an expression for bzip2-static. Simply build it.
findutils
There is an expression for findutils-static. Simply build it.

View File

@@ -20,9 +20,6 @@ The tools can be found in nixpkgs in:
- tools/text/gnupatch-diet
- tools/misc/findutils-static
and
- development/compilers/gcc-static-3.4
Most packages are compiled with dietlibc, an alternate C library, apart
from bash and findutils, which are statically linked to glibc. The reason
we chose dietlibc has various reasons. First of all, curl cannot be built

View File

@@ -12,5 +12,3 @@
* Add gettext to glib propagatedBuildInputs? Glib's `gi18n.h' doesn't
seem to like Glibc `libintl.h'; needs the gettext one instead.
[Move from libbonoboui]
* Fix the bzip2 build generically.

View File

@@ -6,34 +6,26 @@ find . -name "*.nix" | while read fn; do
if oldURL=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
if ! echo "$oldURL" | grep -q -E "www.cs.uu.nl|nix.cs.uu.nl|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then
if ! echo "$oldURL" | grep -q -E "www.cs.uu.nl|nix.cs.uu.nl|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe"; then
base=$(basename $oldURL)
newURL="http://nix.cs.uu.nl/dist/tarballs/$base"
newPath="/data/webserver/dist/tarballs/$base"
echo "$fn: $oldURL -> $newURL"
isSafe=1
if test -e "$newPath"; then
hash=$(fgrep -A 1 "$oldURL" "$fn" | grep md5 | sed 's^.*md5 = \"\(.*\)\";.*^\1^')
echo "HASH = $hash"
if ! test "$(nix-hash --type md5 --flat "$newPath")" = "$hash"; then
echo "WARNING: $newPath exists and differs!"
isSafe=
fi
fi
if test -n "$doMove" -a -n "$isSafe"; then
# if test -e "$newPath"; then
# echo "WARNING: $newPath exists!"
# else
if ! test -e "$newPath"; then
curl --disable-epsv --fail --location --max-redirs 20 "$oldURL" > "$newPath".tmp
curl --fail --location --max-redirs 20 "$oldURL" > "$newPath".tmp
mv -f "$newPath".tmp "$newPath"
fi
sed "s^$oldURL^$newURL^" < "$fn" > "$fn".tmp
mv -f "$fn".tmp "$fn"
fi
# fi
fi

View File

@@ -1,22 +0,0 @@
#! /usr/bin/perl -w
use strict;
my %map;
open LIST1, "<$ARGV[0]" or die;
while (<LIST1>) {
/^(\S+)\s+(.*)$/;
$map{$1} = $2;
}
open LIST1, "<$ARGV[1]" or die;
while (<LIST1>) {
/^(\S+)\s+(.*)$/;
if (!defined $map{$1}) {
print STDERR "missing file: $2\n";
next;
}
print "$2\n";
print "$map{$1}\n";
}

View File

@@ -1,143 +0,0 @@
/* Tool to sort attribute sets. Primarily useful for keeping
all-packages.nix tidy.
To compile:
$ strc -i ../../maintainers/scripts/sort-attrs.str -la stratego-lib
Typical invocation:
$ sglr -m -p ~/Dev/nix/src/libexpr/nix.tbl -i all-packages.nix \
| implode-asfix --lex \
| ../../maintainers/scripts/sort-attrs \
| asfix-yield
*/
module sort-attrs
imports
libstratego-lib
libstratego-sglr
strategies
no-wsp = !appl(prod([], cf(opt(layout())), no-attrs()), [])
rules
list-sep(s): [] -> []
list-sep(s): [x | xs] -> [[x | before] | <list-sep(s)> [split | after]]
where
<split-fetch-keep(s)> xs => (before, split, after)
list-sep(s): [x | xs] -> [[x | xs]]
where
<not(split-fetch-keep(s))> xs
list-sep-end(s): xs -> [<conc> (before, [split]) | <list-sep-end(s)> after]
where
<split-fetch-keep(s)> xs => (before, split, after)
list-sep-end(s): xs -> [xs]
where
<not(split-fetch-keep(s))> xs
sort-attrs:
appl(p@prod(_, _, attrs([term(cons("Attrs"))])),
[ lit("{")
, ws1
, appl(p2@list(cf(iter-star(sort("Bind")))), attrs)
, ws2
, lit("}")
]
) ->
appl(p, [lit("{"), <no-wsp>, appl(p2, <concat> attrs'), ws2, lit("}")])
where
<debug> "found it";
<attach-wsp> [ws1 | attrs] => withWSP;
<list-sep(starts-section)> withWSP => groups;
<length; debug> groups;
<map({x', x'', x''', xs', starts, starts': \[x | xs] -> [x''' | xs']
where
<remove-section-start> x => (x', starts);
<map(regularise-empty-lines); qsort(compare-attrs)> [x' | xs] => [x'' | xs'];
<[] <+ \x -> ["\n\n\n" | x]\ > starts => starts';
<prepend-layout> (starts', x'') => x'''
\ })> groups => attrs';
<debug> "did it"
attach-wsp: [a, b | cs] -> [(a, b) | <attach-wsp> cs]
attach-wsp: [] -> []
strategies
starts-section =
?x@(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr);
<implode-string; is-substring(!"###")> cs;
!x
rules
remove-section-start:
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr) ->
((appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs'), attr), starts)
where
!cs;
list-sep-end(?10); // separate into lines, keeping the \n
map(implode-string);
partition(where(is-substring(!"###"))) => (starts, rest);
<map(explode-string); concat> rest => cs'
regularise-empty-lines:
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr) ->
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs''), attr)
where
// separate into lines, keeping the \n
// last whitespace is significant, keep
<list-sep-end(?10); split-init-last> cs => (init, last);
<regularise-empty-lines'> init => cs'; // remove whitespace-only lines
<concat> [<explode-string> "\n\n", <concat> cs', last] => cs'' // add one empty line
/* Dirty hack: *do* keep the first empty line following a non-empty line. !!! order matters */
regularise-empty-lines': [] -> []
regularise-empty-lines': [x, y | xs] -> [x, y | <regularise-empty-lines'> xs]
where
<fetch-elem(not(?10 <+ ?32))> x;
<not(fetch-elem(not(?10 <+ ?32)))> y
regularise-empty-lines': [x | xs] -> [x | <regularise-empty-lines'> xs]
where <fetch-elem(not(?10 <+ ?32))> x
regularise-empty-lines': [x | xs] -> <regularise-empty-lines'> xs
where <not(fetch-elem(not(?10 <+ ?32)))> x
prepend-layout:
(text, (appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs), attr)) ->
(appl(prod([cf(layout())], cf(opt(layout())), no-attrs()), cs''), attr)
where
<implode-string> cs => cs';
<conc-strings; explode-string> (<concat-strings> text, cs') => cs''
compare-attrs:
x@
( (_, appl(p1@prod(_, _, attrs([term(cons("Bind"))])), [id1 | xs1]))
, (_, appl(p2@prod(_, _, attrs([term(cons("Bind"))])), [id2 | xs2]))
)
-> x
where
<string-lt> (id1, id2)
strategies
main = io-wrap(
oncetd(sort-attrs)
)

View File

@@ -1,13 +0,0 @@
{stdenv, fetchurl, perl
, bison, flex, glib
, pkgconfig, libxml2}:
stdenv.mkDerivation {
name = "GStreamer-0.10.10";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/gstreamer-0.10.10.tar.bz2;
md5 = "6875bf0bd3cf38b9ae1362b9e644e6fc" ;
};
buildInputs = [perl bison flex glib pkgconfig libxml2];
}

View File

@@ -1,6 +0,0 @@
source $stdenv/setup
ensureDir "$out/lib/bmp/Input"
installFlags="install libdir=$out/lib/bmp/Input"
genericBuild

View File

@@ -1,11 +0,0 @@
{stdenv, fetchurl, pkgconfig, bmp, glib, gtk, libmpcdec, taglib}:
stdenv.mkDerivation {
name = "bmp-plugin-musepack-1.2";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/bmp-musepack-1.2.tar.bz2;
md5 = "5fe0c9d341ca37d05c780a478f829a5f";
};
buildInputs = [pkgconfig bmp glib gtk libmpcdec taglib];
}

View File

@@ -1,20 +0,0 @@
{ stdenv, fetchurl, pkgconfig, alsaLib, esound, libogg, libvorbis, id3lib
, glib, gtk, libglade
}:
stdenv.mkDerivation {
name = "bmp-0.9.7.1";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/bmp-0.9.7.1.tar.gz;
md5 = "c25d5a8d49cc5851d13d525a20023c4c";
};
buildInputs = [
pkgconfig alsaLib esound libogg libvorbis id3lib
glib gtk libglade
];
meta = {
description = "Beep Media Player, an XMMS fork";
};
}

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, libogg}:
stdenv.mkDerivation {
name = "flac-1.1.2";
name = "flac-1.1.1";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/flac-1.1.2.tar.gz;
md5 = "2bfc127cdda02834d0491ab531a20960" ;
url = http://nix.cs.uu.nl/dist/tarballs/flac-1.1.1.tar.gz;
md5 = "c6ccddccf8ad344065698047c2fc7280" ;
};
buildInputs = [libogg] ;

View File

@@ -4,15 +4,11 @@ stdenv.mkDerivation {
name = "xmms-1.2.10";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/xmms-1.2.10.tar.bz2;
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c";
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c" ;
};
# Patch borrowed from SuSE 10.0 to fix pause/continue on ALSA.
patches = [./alsa.patch];
buildInputs = [alsaLib esound libogg libvorbis glib gtk];
meta = {
description = "A music player very similar to Winamp";
};
}

View File

@@ -32,15 +32,6 @@ makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
--prefix PATH ":" "$jdk/bin" \
--prefix LD_LIBRARY_PATH ":" "$rpath"
ensureDir plugin-working-dir
workingdir="$(pwd)/plugin-working-dir"
for plugin in $plugins; do
if test -e $plugin/install; then
cd $workingdir
$plugin/install "$out/eclipse"
rm -rf $workingdir/*
else
# assume that it is a file
cp $plugin $out/eclipse/plugins
fi
done
for i in $plugins; do
cp $i $out/eclipse/plugins
done

View File

@@ -1 +1 @@
import ./eclipse-sdk-3.1.2.nix
import ./eclipse-sdk-3.1.1.nix

View File

@@ -3,7 +3,7 @@
let {
body =
stdenv.mkDerivation {
name = "eclipse-sdk-3.1.2";
name = "eclipse-sdk-3.1.1";
builder = ./builder.sh;
src = bindist;
inherit makeWrapper jdk plugins;
@@ -12,7 +12,7 @@ let {
bindist =
fetchurl {
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.1.2-200601181600/eclipse-SDK-3.1.2-linux-gtk.tar.gz;
md5 = "ece50ed4d6d48dac839bfe8fa719fcff";
url = http://nix.cs.uu.nl/dist/tarballs/eclipse-SDK-3.1.1-linux-gtk.tar.gz;
md5 = "a2ae61431657e2ed247867b9a9948290";
};
}

View File

@@ -1,21 +0,0 @@
source $stdenv/setup
ensureDir $out
cat >> $out/install <<EOF
#! /bin/sh
PLUGIN=$plugin
UNZIP=$unzip/bin/unzip
ECLIPSE=\$1
\$UNZIP \$PLUGIN
if test -e plugins; then
cp -prd * \$ECLIPSE
else
cd *
cp -prd * \$ECLIPSE
fi
EOF
chmod u+x $out/install

View File

@@ -1,10 +0,0 @@
{stdenv, unzip, plugin}:
let {
body =
stdenv.mkDerivation {
name = "eclipse-zip-plugin-installer";
builder = ./builder.sh;
inherit plugin unzip;
};
}

View File

@@ -1,6 +0,0 @@
{stdenv, fetchurl}:
fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.10.jar;
md5 = "ff77853e750e19a9b8d380c17ea27f3d";
}

View File

@@ -1,6 +1,6 @@
{stdenv, fetchurl}:
fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.11.jar;
md5 = "c36941afcb0e538e16fafd594eae128e";
url = http://nix.cs.uu.nl/dist/tarballs/org.spoofax.editor_0.3.10.jar;
md5 = "ff77853e750e19a9b8d380c17ea27f3d";
}

View File

@@ -21,8 +21,4 @@ stdenv.mkDerivation {
(if xawSupport then if xaw3dSupport then Xaw3d else libXaw else null)
(if xpmSupport then libXpm else null)
];
meta = {
description = "All Hail Emacs, the ultimate editor";
};
}

View File

@@ -1,9 +0,0 @@
{stdenv, fetchurl} :
stdenv.mkDerivation {
name = "joe-3.3";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/joe-3.3.tar.gz;
md5 = "02221716679c039c5da00c275d61dbf4";
};
}

View File

@@ -1,11 +1,10 @@
{stdenv, fetchurl, ncurses, gettext}:
{stdenv, fetchurl, ncurses}:
stdenv.mkDerivation {
name = "nano-1.2.5";
name = "nano-1.2.4";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/nano-1.2.5.tar.gz;
md5 = "f2b3efbf1cf356d736740d531b6b22c4";
url = http://nix.cs.uu.nl/dist/tarballs/nano-1.2.4.tar.gz;
md5 = "2c513310ec5e8b63abaecaf48670ac7a";
};
buildInputs = [ncurses gettext];
configureFlags = "--enable-tiny";
buildInputs = [ncurses];
}

View File

@@ -1,15 +1,17 @@
{stdenv, fetchurl, ncurses}:
{stdenv, fetchurl, ncurses, dietgcc}:
stdenv.mkDerivation {
name = "vim-7.0";
name = "vim-6.3";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
md5 = "4ca69757678272f718b1041c810d82d8";
url = http://nix.cs.uu.nl/dist/tarballs/vim-6.3.tar.bz2;
md5 = "821fda8f14d674346b87e3ef9cb96389";
};
inherit ncurses;
buildInputs = [ncurses];
NIX_GCC = dietgcc;
NIX_GLIBC_FLAGS_SET=1;
NIX_CFLAGS_COMPILE="-D_BSD_SOURCE=1";
}

View File

@@ -1,18 +1,14 @@
{stdenv, fetchurl, ncurses}:
stdenv.mkDerivation {
name = "vim-7.0";
name = "vim-6.3";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/vim-7.0.tar.bz2;
md5 = "4ca69757678272f718b1041c810d82d8";
url = http://nix.cs.uu.nl/dist/tarballs/vim-6.3.tar.bz2;
md5 = "821fda8f14d674346b87e3ef9cb96389";
};
inherit ncurses;
buildInputs = [ncurses];
meta = {
description = "The most popular clone of the VI editor";
};
}

View File

@@ -1,17 +1,13 @@
{stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, glib, pango, atk, freetype
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
, perlXMLParser, python, pygtk, gettext}:
{stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, glib, pango, atk, freetype, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl, perlXMLParser, python, pygtk}:
stdenv.mkDerivation {
name = "gimp-2.3.10";
name = "gimp-2.3.6";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/gimp-2.3.10.tar.bz2;
md5 = "a46acb413484300583ffca1fa54e0874" ;
url = http://nix.cs.uu.nl/dist/tarballs/gimp-2.3.6.tar.bz2;
md5 = "ce8ad77f4eb47abb868e6b4eb1f97943" ;
};
buildInputs = [ pkgconfig gtk libgtkhtml glib pango atk freetype fontconfig
libart_lgpl libtiff libjpeg libpng libexif zlib perl
perlXMLParser python pygtk gettext ] ;
buildInputs = [ pkgconfig gtk libgtkhtml glib pango atk freetype fontconfig libart_lgpl libtiff libjpeg libpng libexif zlib perl perlXMLParser python pygtk] ;
configureFlags = [ "--disable-print" ];
}

View File

@@ -14,8 +14,4 @@ stdenv.mkDerivation {
};
buildInputs = [pkgconfig gtk libpng];
meta = {
description = "A fast image viewer";
};
}

View File

@@ -10,11 +10,11 @@
}:
stdenv.mkDerivation {
name = "inkscape-0.43";
name = "inkscape-0.42.2";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/inkscape-0.43.tar.bz2;
md5 = "97c606182f5e177eef70c1e8a55efc1f";
url = http://nix.cs.uu.nl/dist/tarballs/inkscape-0.42.2.tar.bz2;
md5 = "a27172087018e850e92e97e52b5dad08";
};
buildInputs = [

View File

@@ -1,12 +0,0 @@
source $stdenv/setup
patchPhase=patchPhase
patchPhase() {
sed -e "s@-ljpeg6b@-ljpeg@" configure > configure.patched
mv configure.patched configure
chmod u+x configure
}
genericBuild
ln -s $KDEDIR/share/mimelnk $out/share

View File

@@ -1,23 +0,0 @@
{stdenv, fetchurl, libX11, libXext, libSM, kdelibs, qt, libjpeg, libungif, libpng, libtiff, imlib, arts, expat, perl}:
stdenv.mkDerivation {
name = "kuickshow-0.8.5";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/kuickshow-0.8.5.tgz;
md5 = "7a95852a0670b18859a1e6789b256ebd";
};
configureFlags = "
--with-imlib-config=${imlib}/bin
--with-extra-includes=${libjpeg}/include
--with-extra-libs=${libjpeg}/lib
--x-includes=${libX11}/include
--x-libraries=${libX11}/lib";
buildInputs = [kdelibs libX11 libXext libSM qt libjpeg libungif libpng libtiff imlib arts expat perl];
inherit libjpeg;
KDEDIR = kdelibs;
}

View File

@@ -1,9 +0,0 @@
. $stdenv/setup
preConfigure() {
autoreconf -i
}
preConfigure=preConfigure
genericBuild

View File

@@ -1,13 +0,0 @@
{stdenv, fetchurl, autoconf, automake, gettext, libtool, cvs, wxGTK, gtk, pkgconfig, libxml2, zip, libpng, libjpeg}:
stdenv.mkDerivation {
name = "xaralx-0.5r1405";
builder = ./builder.sh;
src = fetchurl {
url = http://downloads2.xara.com/opensource/XaraLX-0.5r1405.tar.bz2;
md5 = "1b087819e4b10b21da8c267ed56a45a4";
};
buildInputs = [automake autoconf gettext libtool cvs wxGTK gtk pkgconfig libxml2 zip libpng libjpeg];
configureFlags = "--with-wx-config --disable-svnversion --disable-international";
}

View File

@@ -13,8 +13,7 @@ tar xvf AdobeReader/ILINXR.TAR -C $out
rm $out/Reader/intellinux/plug_ins/PPKLite.api
if test -n "$fastStart"; then
echo "removing plugins..."
rm -v $(ls $out/Reader/intellinux/plug_ins/*.api | grep -v SearchFind)
rm $out/Reader/intellinux/plug_ins/*.api
fi
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)

View File

@@ -1,9 +0,0 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "bluez-firmware-1.1";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/bluez-firmware-1.1.tar.gz;
md5 = "2f1c2d939108c865dd07bae3e819c573";
};
}

View File

@@ -1,10 +0,0 @@
{stdenv, fetchurl, bluezLibs}:
stdenv.mkDerivation {
name = "bluez-utils-2.25";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/bluez-utils-2.25.tar.gz;
md5 = "ae3729ab5592be06ed01b973d4b3e9fe";
};
buildInputs = [bluezLibs];
}

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, pkgconfig, libgphoto2, libexif, popt}:
stdenv.mkDerivation {
name = "gphoto2-2.2.0";
name = "gphoto2-2.1.99";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/gphoto2-2.2.0.tar.bz2;
md5 = "f5c1f83185db598b4ca52889964a5e84";
url = http://nix.cs.uu.nl/dist/tarballs/gphoto2-2.1.99.tar.bz2;
md5 = "549a9dfae6910ab6456b194ea86b55a2";
};
buildInputs = [pkgconfig libgphoto2 libexif popt];
}

View File

@@ -8,8 +8,4 @@ stdenv.mkDerivation {
md5 = "70c9ccf9fac07f762c24f2df2290784d";
};
inherit perl;
meta = {
description = "GNU Hello, a classic computer science tool";
};
}

View File

@@ -1,14 +1,10 @@
{stdenv, fetchurl, wxGTK, chmlib}:
stdenv.mkDerivation {
name = "xchm-1.9";
name = "xchm-1.2";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/xchm-1.9.tar.gz;
md5 = "12e1faf49447c743c5c936636cd8a172";
url = http://nix.cs.uu.nl/dist/tarballs/xchm-1.2.tar.gz;
md5 = "17f2cda873f61470636dbfeebb4a531d";
};
buildInputs = [wxGTK chmlib];
meta = {
description = "A viewer for Microsoft HTML Help files";
};
}

View File

@@ -0,0 +1,10 @@
source $stdenv/setup
if test -n "$freetype"; then
configureFlags="\
--with-freetype2-library=$freetype/lib \
--with-freetype2-includes=$freetype/include/freetype2 \
$configureFlags"
fi
genericBuild

View File

@@ -8,6 +8,7 @@ assert useT1Lib -> t1lib != null;
stdenv.mkDerivation {
name = "xpdf-3.01";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/xpdf-3.01.tar.gz;
@@ -17,13 +18,7 @@ stdenv.mkDerivation {
buildInputs =
(if enableGUI then [x11 motif] else []) ++
(if useT1Lib then [t1lib] else []);
freetype = if enableGUI || enablePDFtoPPM then freetype else null;
configureFlags =
[ "--enable-a4-paper" ] /* We obey ISO standards! */
++ (if enablePDFtoPPM then [
"--with-freetype2-library=${freetype}/lib"
"--with-freetype2-includes=${freetype}/include/freetype2"
] else []);
patches = [./xpdf-3.01pl2.patch];
configureFlags = "--enable-a4-paper"; /* We obey ISO standards! */
}

View File

@@ -1,471 +0,0 @@
diff -cr xpdf-3.01.orig/goo/gmem.c xpdf-3.01/goo/gmem.c
*** xpdf-3.01.orig/goo/gmem.c Tue Aug 16 22:34:30 2005
--- xpdf-3.01/goo/gmem.c Tue Jan 17 17:03:57 2006
***************
*** 11,16 ****
--- 11,17 ----
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
+ #include <limits.h>
#include "gmem.h"
#ifdef DEBUG_MEM
***************
*** 63,69 ****
int lst;
unsigned long *trl, *p;
! if (size == 0)
return NULL;
size1 = gMemDataSize(size);
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
--- 64,70 ----
int lst;
unsigned long *trl, *p;
! if (size <= 0)
return NULL;
size1 = gMemDataSize(size);
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
***************
*** 86,92 ****
#else
void *p;
! if (size == 0)
return NULL;
if (!(p = malloc(size))) {
fprintf(stderr, "Out of memory\n");
--- 87,93 ----
#else
void *p;
! if (size <= 0)
return NULL;
if (!(p = malloc(size))) {
fprintf(stderr, "Out of memory\n");
***************
*** 102,108 ****
void *q;
int oldSize;
! if (size == 0) {
if (p)
gfree(p);
return NULL;
--- 103,109 ----
void *q;
int oldSize;
! if (size <= 0) {
if (p)
gfree(p);
return NULL;
***************
*** 120,126 ****
#else
void *q;
! if (size == 0) {
if (p)
free(p);
return NULL;
--- 121,127 ----
#else
void *q;
! if (size <= 0) {
if (p)
free(p);
return NULL;
***************
*** 140,147 ****
void *gmallocn(int nObjs, int objSize) {
int n;
n = nObjs * objSize;
! if (objSize == 0 || n / objSize != nObjs) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
--- 141,151 ----
void *gmallocn(int nObjs, int objSize) {
int n;
+ if (nObjs == 0) {
+ return NULL;
+ }
n = nObjs * objSize;
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
***************
*** 151,158 ****
void *greallocn(void *p, int nObjs, int objSize) {
int n;
n = nObjs * objSize;
! if (objSize == 0 || n / objSize != nObjs) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
--- 155,168 ----
void *greallocn(void *p, int nObjs, int objSize) {
int n;
+ if (nObjs == 0) {
+ if (p) {
+ gfree(p);
+ }
+ return NULL;
+ }
n = nObjs * objSize;
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
diff -cr xpdf-3.01.orig/xpdf/JBIG2Stream.cc xpdf-3.01/xpdf/JBIG2Stream.cc
*** xpdf-3.01.orig/xpdf/JBIG2Stream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/JBIG2Stream.cc Tue Jan 17 17:29:46 2006
***************
*** 13,18 ****
--- 13,19 ----
#endif
#include <stdlib.h>
+ #include <limits.h>
#include "GList.h"
#include "Error.h"
#include "JArithmeticDecoder.h"
***************
*** 681,686 ****
--- 682,691 ----
w = wA;
h = hA;
line = (wA + 7) >> 3;
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+ data = NULL;
+ return;
+ }
// need to allocate one extra guard byte for use in combine()
data = (Guchar *)gmalloc(h * line + 1);
data[h * line] = 0;
***************
*** 692,697 ****
--- 697,706 ----
w = bitmap->w;
h = bitmap->h;
line = bitmap->line;
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+ data = NULL;
+ return;
+ }
// need to allocate one extra guard byte for use in combine()
data = (Guchar *)gmalloc(h * line + 1);
memcpy(data, bitmap->data, h * line);
***************
*** 720,726 ****
}
void JBIG2Bitmap::expand(int newH, Guint pixel) {
! if (newH <= h) {
return;
}
// need to allocate one extra guard byte for use in combine()
--- 729,735 ----
}
void JBIG2Bitmap::expand(int newH, Guint pixel) {
! if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
return;
}
// need to allocate one extra guard byte for use in combine()
***************
*** 2294,2299 ****
--- 2303,2316 ----
!readUWord(&stepX) || !readUWord(&stepY)) {
goto eofError;
}
+ if (w == 0 || h == 0 || w >= INT_MAX / h) {
+ error(getPos(), "Bad bitmap size in JBIG2 halftone segment");
+ return;
+ }
+ if (gridH == 0 || gridW >= INT_MAX / gridH) {
+ error(getPos(), "Bad grid size in JBIG2 halftone segment");
+ return;
+ }
// get pattern dictionary
if (nRefSegs != 1) {
diff -cr xpdf-3.01.orig/xpdf/JPXStream.cc xpdf-3.01/xpdf/JPXStream.cc
*** xpdf-3.01.orig/xpdf/JPXStream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/JPXStream.cc Tue Jan 17 17:14:06 2006
***************
*** 12,17 ****
--- 12,18 ----
#pragma implementation
#endif
+ #include <limits.h>
#include "gmem.h"
#include "Error.h"
#include "JArithmeticDecoder.h"
***************
*** 818,823 ****
--- 819,830 ----
/ img.xTileSize;
img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
/ img.yTileSize;
+ // check for overflow before allocating memory
+ if (img.nXTiles <= 0 || img.nYTiles <= 0 ||
+ img.nXTiles >= INT_MAX / img.nYTiles) {
+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
+ return gFalse;
+ }
img.tiles = (JPXTile *)gmallocn(img.nXTiles * img.nYTiles,
sizeof(JPXTile));
for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
diff -cr xpdf-3.01.orig/xpdf/Stream.cc xpdf-3.01/xpdf/Stream.cc
*** xpdf-3.01.orig/xpdf/Stream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/Stream.cc Tue Jan 17 17:31:52 2006
***************
*** 15,20 ****
--- 15,21 ----
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
+ #include <limits.h>
#ifndef WIN32
#include <unistd.h>
#endif
***************
*** 406,418 ****
--- 407,432 ----
width = widthA;
nComps = nCompsA;
nBits = nBitsA;
+ predLine = NULL;
+ ok = gFalse;
nVals = width * nComps;
+ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
+ nComps >= INT_MAX / nBits ||
+ width >= INT_MAX / nComps / nBits ||
+ nVals * nBits + 7 < 0) {
+ return;
+ }
pixBytes = (nComps * nBits + 7) >> 3;
rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
+ if (rowBytes <= 0) {
+ return;
+ }
predLine = (Guchar *)gmalloc(rowBytes);
memset(predLine, 0, rowBytes);
predIdx = rowBytes;
+
+ ok = gTrue;
}
StreamPredictor::~StreamPredictor() {
***************
*** 1004,1009 ****
--- 1018,1027 ----
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
+ if (!pred->isOk()) {
+ delete pred;
+ pred = NULL;
+ }
} else {
pred = NULL;
}
***************
*** 1259,1264 ****
--- 1277,1285 ----
if (columns < 1) {
columns = 1;
}
+ if (columns + 4 <= 0) {
+ columns = INT_MAX - 4;
+ }
rows = rowsA;
endOfBlock = endOfBlockA;
black = blackA;
***************
*** 2899,2904 ****
--- 2920,2930 ----
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ numComps = 0;
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
***************
*** 2925,2930 ****
--- 2951,2961 ----
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ numComps = 0;
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
***************
*** 2947,2952 ****
--- 2978,2988 ----
length = read16() - 2;
scanInfo.numComps = str->getChar();
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ scanInfo.numComps = 0;
+ return gFalse;
+ }
--length;
if (length != 2 * scanInfo.numComps + 3) {
error(getPos(), "Bad DCT scan info block");
***************
*** 3041,3046 ****
--- 3077,3083 ----
numACHuffTables = index+1;
tbl = &acHuffTables[index];
} else {
+ index &= 0x0f;
if (index >= numDCHuffTables)
numDCHuffTables = index+1;
tbl = &dcHuffTables[index];
***************
*** 3827,3832 ****
--- 3864,3873 ----
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
+ if (!pred->isOk()) {
+ delete pred;
+ pred = NULL;
+ }
} else {
pred = NULL;
}
diff -cr xpdf-3.01.orig/xpdf/Stream.h xpdf-3.01/xpdf/Stream.h
*** xpdf-3.01.orig/xpdf/Stream.h Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/Stream.h Tue Jan 17 17:19:54 2006
***************
*** 232,237 ****
--- 232,239 ----
~StreamPredictor();
+ GBool isOk() { return ok; }
+
int lookChar();
int getChar();
***************
*** 249,254 ****
--- 251,257 ----
int rowBytes; // bytes per line
Guchar *predLine; // line buffer
int predIdx; // current index in predLine
+ GBool ok;
};
//------------------------------------------------------------------------
***************
*** 527,533 ****
short getWhiteCode();
short getBlackCode();
short lookBits(int n);
! void eatBits(int n) { inputBits -= n; }
};
//------------------------------------------------------------------------
--- 530,536 ----
short getWhiteCode();
short getBlackCode();
short lookBits(int n);
! void eatBits(int n) { if ((inputBits -= n) < 0) inputBits = 0; }
};
//------------------------------------------------------------------------
diff -cr xpdf-3.01.orig/splash/SplashXPathScanner.cc xpdf-3.01/splash/SplashXPathScanner.cc
*** xpdf-3.01.orig/splash/SplashXPathScanner.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/splash/SplashXPathScanner.cc Wed Feb 1 17:01:14 2006
***************
*** 186,192 ****
}
void SplashXPathScanner::computeIntersections(int y) {
! SplashCoord ySegMin, ySegMax, xx0, xx1;
SplashXPathSeg *seg;
int i, j;
--- 186,192 ----
}
void SplashXPathScanner::computeIntersections(int y) {
! SplashCoord xSegMin, xSegMax, ySegMin, ySegMax, xx0, xx1;
SplashXPathSeg *seg;
int i, j;
***************
*** 236,254 ****
} else if (seg->flags & splashXPathVert) {
xx0 = xx1 = seg->x0;
} else {
! if (ySegMin <= y) {
! // intersection with top edge
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
} else {
! // x coord of segment endpoint with min y coord
! xx0 = (seg->flags & splashXPathFlip) ? seg->x1 : seg->x0;
}
! if (ySegMax >= y + 1) {
! // intersection with bottom edge
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
! } else {
! // x coord of segment endpoint with max y coord
! xx1 = (seg->flags & splashXPathFlip) ? seg->x0 : seg->x1;
}
}
if (xx0 < xx1) {
--- 236,262 ----
} else if (seg->flags & splashXPathVert) {
xx0 = xx1 = seg->x0;
} else {
! if (seg->x0 < seg->x1) {
! xSegMin = seg->x0;
! xSegMax = seg->x1;
} else {
! xSegMin = seg->x1;
! xSegMax = seg->x0;
}
! // intersection with top edge
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
! // intersection with bottom edge
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
! // the segment may not actually extend to the top and/or bottom edges
! if (xx0 < xSegMin) {
! xx0 = xSegMin;
! } else if (xx0 > xSegMax) {
! xx0 = xSegMax;
! }
! if (xx1 < xSegMin) {
! xx1 = xSegMin;
! } else if (xx1 > xSegMax) {
! xx1 = xSegMax;
}
}
if (xx0 < xx1) {

View File

@@ -1,30 +0,0 @@
source $stdenv/setup
postInstall=postInstall
postInstall() {
# Strip some more stuff
strip -S $out/lib/*/* || true
# This fixes starting Firefox when there already is a running
# instance. The `firefox' wrapper script actually expects to be
# in the same directory as `run-mozilla.sh', apparently.
libDir=$(cd $out/lib && ls -d firefox-*)
test -n "$libDir"
cd $out/bin
mv firefox ../lib/$libDir/
ln -s ../lib/$libDir/firefox .
# Register extensions etc.
echo "running firefox -register..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
echo "running regxpcom..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
# Put the Firefox icon in the right place.
ensureDir $out/lib/$libDir/chrome/icons/default
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
}
genericBuild

View File

@@ -1,49 +0,0 @@
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
, libjpeg, libpng, zlib, cairo
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
# not be distributed without permission from the Mozilla Foundation,
# see http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
stdenv.mkDerivation {
name = "firefox-2.0-pre-rc1";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/firefox-2.0rc1-source.tar.bz2;
sha1 = "0f6bcab71becb4fb92900fc900b20301434f4e00";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
];
patches = [./writable-copies.patch];
configureFlags = [
"--enable-application=browser"
"--enable-optimize"
"--disable-debug"
"--enable-xft"
"--disable-freetype2"
"--enable-svg"
"--enable-canvas"
"--enable-strip"
"--enable-default-toolkit=gtk2"
"--with-system-jpeg"
"--with-system-png"
"--with-system-zlib"
"--enable-system-cairo"
]
++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
meta = {
description = "Mozilla Firefox - the browser, reloaded";
};
passthru = {inherit gtk;};
}

View File

@@ -1,23 +0,0 @@
diff -rc mozilla-orig/xpcom/io/nsLocalFileUnix.cpp mozilla/xpcom/io/nsLocalFileUnix.cpp
*** mozilla-orig/xpcom/io/nsLocalFileUnix.cpp 2004-04-03 01:48:18.000000000 +0200
--- mozilla/xpcom/io/nsLocalFileUnix.cpp 2004-10-05 19:48:04.000000000 +0200
***************
*** 634,639 ****
--- 634,640 ----
// get the dirs old permissions
if (NS_FAILED(rv = GetPermissions(&oldPerms)))
return rv;
+ oldPerms |= 0200;
if (NS_FAILED(rv = newParent->Create(DIRECTORY_TYPE, oldPerms)))
return rv;
} else { // dir exists lets try to use leaf
***************
*** 758,763 ****
--- 759,765 ----
// get the old permissions
PRUint32 myPerms;
GetPermissions(&myPerms);
+ myPerms |= 0200;
// Create the new file with the old file's permissions, even if write
// permission is missing. We can't create with write permission and

View File

@@ -10,14 +10,5 @@ stdenv.mkDerivation {
# Let each plugin tell us (through its `mozillaPlugin') attribute
# where to find the plugin in its tree.
plugins = map (x: x + x.mozillaPlugin) plugins;
meta = {
description =
firefox.meta.description
+ " (with plugins: "
+ (let lib = import ../../../../lib;
in lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins)))
+ ")";
};
plugins = map (x: x ~ x.mozillaPlugin) plugins;
}

View File

@@ -1,30 +1,53 @@
source $stdenv/setup
preConfigure=preConfigure
preConfigure() {
cat > .mozconfig <<EOF
source \$topsrcdir/browser/config/mozconfig
ac_add_options --prefix=$out
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --enable-xft
ac_add_options --disable-freetype2
#ac_add_options --enable-swg
ac_add_options --enable-strip
ac_add_options --enable-default-toolkit=gtk2
#ac_add_options --disable-shared
#ac_add_options --enable-static
#ac_add_options --with-system-jpeg
#ac_add_options --with-system-png
#ac_add_options --with-system-zlib
EOF
}
postInstall=postInstall
postInstall() {
# Strip some more stuff
strip -S $out/lib/*/* || true
# We don't need this (do we?)
# rm -rf $out/include
# This fixes starting Firefox when there already is a running
# instance. The `firefox' wrapper script actually expects to be
# in the same directory as `run-mozilla.sh', apparently.
libDir=$(cd $out/lib && ls -d firefox-*)
test -n "$libDir"
cd $out/bin
mv firefox ../lib/$libDir/
ln -s ../lib/$libDir/firefox .
mv firefox ../lib/firefox-*/
ln -s ../lib/firefox-*/firefox .
# Register extensions etc.
# Register extension etc.
echo "running firefox -register..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
(cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./firefox-bin -register) || false
echo "running regxpcom..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
# Put the Firefox icon in the right place.
ensureDir $out/lib/$libDir/chrome/icons/default
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
(cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regxpcom) || false
# echo "running regchrome..."
# (cd $out/lib/firefox-* && LD_LIBRARY_PATH=. ./regchrome) || false
}
makeFlags="-f client.mk build"
genericBuild

View File

@@ -1,49 +1,18 @@
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
, libjpeg, libpng, zlib, cairo
{stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi}:
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
# not be distributed without permission from the Mozilla Foundation,
# see http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
# !!! assert libIDL.glib == gtk.glib;
stdenv.mkDerivation {
name = "firefox-1.5.0.7";
name = "firefox-1.5";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/firefox-1.5.0.7-source.tar.bz2;
sha1 = "f10d57af87bddc1b929ec5321688ac0efa880960";
url = http://nix.cs.uu.nl/dist/tarballs/firefox-1.5-source.tar.bz2;
md5 = "fa915ddcadecda30ed3e13694f26a779";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
];
buildInputs = [pkgconfig gtk perl zip libIDL libXi];
inherit gtk;
patches = [./writable-copies.patch];
configureFlags = [
"--enable-application=browser"
"--enable-optimize"
"--disable-debug"
"--enable-xft"
"--disable-freetype2"
"--enable-svg"
"--enable-canvas"
"--enable-strip"
"--enable-default-toolkit=gtk2"
"--with-system-jpeg"
"--with-system-png"
"--with-system-zlib"
"--enable-system-cairo"
]
++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
meta = {
description = "Mozilla Firefox - the browser, reloaded";
};
passthru = {inherit gtk;};
}

View File

@@ -12,8 +12,4 @@ stdenv.mkDerivation {
};
configureFlags = (if sslSupport then "--with-ssl" else "");
buildInputs = [ncurses (if sslSupport then openssl else null)];
meta = {
description = "A text-mode web browser";
};
}

View File

@@ -5,12 +5,12 @@
# think).
(stdenv.mkDerivation {
name = "mplayerplug-in-3.31";
name = "mplayerplug-in-2.80";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/mplayerplug-in-3.31.tar.gz;
md5 = "be26b17cde385c7a34fc634d2c88c5c9";
url = http://nix.cs.uu.nl/dist/tarballs/mplayerplug-in-2.80.tar.gz;
md5 = "ce3235ff7d46fae416cfb175193a5f25";
};
buildInputs = [pkgconfig firefox (firefox.gtk) libXpm];

View File

@@ -1,33 +0,0 @@
source $stdenv/setup
buildPhase=buildPhase
buildPhase() {
true
}
installPhase=installPhase
installPhase() {
# Note: the "no" is because the install scripts asks whether we
# want to install icons in some system-wide directories.
echo no | ./install.sh --prefix=$out
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
rpath=/no-such-path
for i in $libPath; do
rpath="$rpath:$i/lib"
done
# !!! ugh, should fix this eventually; just make a normal gcc dependency
gcc=$(cat $NIX_GCC/nix-support/orig-gcc)
rpath="$rpath:$gcc/lib"
for i in $out/lib/opera/*/opera $out/lib/opera/plugins/opera*; do
patchelf \
--set-interpreter "$glibc/lib/ld-linux.so.2" \
--set-rpath "$rpath" \
"$i"
done
}
genericBuild

View File

@@ -1,23 +0,0 @@
{ stdenv, fetchurl, qt, zlib, libX11, libXext, libSM, libICE, libstdcpp5
, motif ? null, libXt ? null}:
assert stdenv.system == "i686-linux";
assert motif != null -> libXt != null;
# !!! Add Xinerama and Xrandr dependencies? Or should those be in Qt?
# Hm, does Opera 9.x still use Motif for anything?
stdenv.mkDerivation {
name = "opera-9.02-20060919.5";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/opera-9.02-20060919.5-shared-qt.i386-en.tar.bz2;
md5 = "327d0bf1f3c4eedd47b444b36c9091f6";
};
libPath =
[qt motif zlib libX11 libXext libSM libICE libstdcpp5]
++ (if motif != null then [motif libXt ] else []);
}

View File

@@ -1,11 +1,8 @@
{ stdenv, fetchurl
, sslSupport ? true
, graphicsSupport ? false
, ncurses, openssl ? null, boehmgc, gettext, zlib, gdkpixbuf ? null
{ stdenv, fetchurl, ncurses
, sslSupport ? true, openssl ? null, boehmgc, gettext
}:
assert sslSupport -> openssl != null;
assert graphicsSupport -> gdkpixbuf != null;
stdenv.mkDerivation {
name = "w3m-0.5.1";
@@ -15,10 +12,6 @@ stdenv.mkDerivation {
md5 = "0678b72e07e69c41709d71ef0fe5da13";
};
inherit openssl boehmgc;
buildInputs = [
ncurses boehmgc gettext zlib
(if sslSupport then openssl else null)
(if graphicsSupport then gdkpixbuf else null)
];
buildInputs = [ncurses (if sslSupport then openssl else null) boehmgc gettext];
patches = [./bsd.patch];
}

View File

@@ -1,5 +0,0 @@
source $stdenv/setup
configureFlags="--with-tcl=$tcl/lib --with-tk=$tk/lib"
genericBuild

View File

@@ -1,13 +0,0 @@
{stdenv, fetchurl, which, tcl, tk, x11}:
stdenv.mkDerivation {
name = "amsn-0.96rc1";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/amsn-0.96rc1.tar.bz2;
md5 = "1b90fdbb0a51c7646f4d2e6b22f18711";
};
inherit tcl tk;
buildInputs = [which tcl tk x11];
}

View File

@@ -1,5 +0,0 @@
source $stdenv/setup
ensureDir $out
unzip $src -d $out

View File

@@ -1,17 +0,0 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation {
name = "chatzilla-0.9.74";
builder = ./builder.sh;
src = fetchurl {
# Obtained from http://chatzilla.rdmsoft.com/xulrunner/.
url = http://nix.cs.uu.nl/dist/tarballs/chatzilla-0.9.74-xr.zip;
md5 = "a1eada15b172eab6a771afa5f8670f7a";
};
buildInputs = [unzip];
meta = {
description = "Stand-alone version of Chatzilla, an IRC client";
};
}

View File

@@ -1,30 +1,23 @@
source $stdenv/setup
postInstall=postInstall
postInstall() {
# Strip some more stuff
strip -S $out/lib/*/* || true
# This fixes starting Thunderbird when there already is a running
# instance. The `thunderbird' wrapper script actually expects to
# be in the same directory as `run-mozilla.sh', apparently.
libDir=$(cd $out/lib && ls -d thunderbird-*)
test -n "$libDir"
cd $out/bin
mv thunderbird ../lib/$libDir/
ln -s ../lib/$libDir/thunderbird .
# Register extensions etc.
echo "running thunderbird -register..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./thunderbird-bin -register) || false
echo "running regxpcom..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./regxpcom) || false
# Put the Thunderbird icon in the right place.
ensureDir $out/lib/$libDir/chrome/icons/default
ln -s ../../../icons/default.xpm $out/lib/$libDir/chrome/icons/default/
preConfigure() {
cat mail/config/mozconfig > .mozconfig
cat >> .mozconfig <<EOF
ac_add_options --disable-debug
ac_add_options --enable-optimize=-O2
ac_add_options --disable-ldap
ac_add_options --enable-xft
ac_add_options --disable-freetype2
ac_add_options --enable-swg
ac_add_options --enable-strip
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --enable-single-profile
ac_add_options --prefix=$out
EOF
}
preConfigure=preConfigure
makeFlags="-f client.mk build"
genericBuild

View File

@@ -1,48 +1,18 @@
{ stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL, libXi
, libjpeg, libpng, zlib, cairo
, # If you want the resulting program to call itself "Thunderbird"
# instead of "Mail", enable this option. However, those
# binaries may not be distributed without permission from the
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
{stdenv, fetchurl, pkgconfig, gtk, perl, zip, libIDL}:
assert pkgconfig != null && gtk != null && perl != null
&& zip != null && libIDL != null;
# !!! assert libIDL.glib == gtk.glib;
stdenv.mkDerivation {
name = "thunderbird-1.5.0.7";
name = "thunderbird-0.8";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/thunderbird-1.5.0.7-source.tar.bz2;
sha1 = "9e5acff9bd098979dd798c0111805dc8d67479ad";
url = http://nix.cs.uu.nl/dist/tarballs/thunderbird-source-0.8.tar.bz2;
md5 = "76de1827d66ac482cfc4dd32e7b1e257";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo
];
configureFlags = [
"--enable-application=mail"
"--enable-optimize"
"--disable-debug"
"--enable-xft"
"--disable-freetype2"
"--enable-svg"
"--enable-canvas"
"--enable-strip"
"--enable-default-toolkit=gtk2"
"--with-system-jpeg"
"--with-system-png"
"--with-system-zlib"
"--enable-system-cairo"
]
++ (if enableOfficialBranding then ["--enable-official-branding"] else []);
meta = {
description = "Mozilla Thunderbird, a full-featured email client";
};
buildInputs = [pkgconfig gtk perl zip libIDL];
}

View File

@@ -1,29 +1,25 @@
{ spellChecking ? true
, stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null, gnet
, perl, pcre, gmime, gettext
, libxml2, perl, pcre
}:
assert pkgconfig != null && gtk != null && gnet != null
&& perl != null && pcre != null;
&& libxml2 != null && perl != null && pcre != null;
assert spellChecking -> gtkspell != null /* !!! && gtk == gtkspell.gtk */;
# !!! assert gtk.glib == gnet.glib;
stdenv.mkDerivation {
name = "pan-0.106";
name = "pan-0.14.2.91";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/pan-0.106.tar.bz2;
md5 = "34cdc4b7606f09517f015a2c624044c9";
url = http://nix.cs.uu.nl/dist/tarballs/pan-0.14.2.91.tar.bz2;
md5 = "4770d899a1c1ba968ce96bc5aeb07b62";
};
buildInputs = [
pkgconfig gtk gnet perl pcre gmime gettext
pkgconfig gtk gnet libxml2 perl pcre
(if spellChecking then gtkspell else null)
];
inherit spellChecking stdenv;
meta = {
description = "A GTK+-based Usenet newsreader good at both text and binaries";
};
}

View File

@@ -1,10 +1,10 @@
{stdenv, fetchurl, perl, pkgconfig, glib, libpcap}:
stdenv.mkDerivation {
name = "ethereal-0.99";
name = "ethereal-0.10.14";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/ethereal-0.99.0.tar.bz2;
md5 = "f9905b9d347acdc05af664a7553f7f76";
url = http://nix.cs.uu.nl/dist/tarballs/ethereal-0.10.14.tar.bz2;
md5 = "297f678c037f88429250830e924b8fa0";
};
buildInputs = [perl pkgconfig glib libpcap];
}

View File

@@ -1,9 +1,9 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "rsync-2.6.8";
name = "rsync-2.6.6";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/rsync-2.6.8.tar.gz;
md5 = "082a9dba1f741e6591e5cd748a1233de";
url = http://nix.cs.uu.nl/dist/tarballs/rsync-2.6.6.tar.gz;
md5 = "30c4e2849cbeae93f55548453865c2f2";
};
}

View File

@@ -1,9 +0,0 @@
source $stdenv/setup
preConfigure() {
cd abi
}
preConfigure=preConfigure
genericBuild

View File

@@ -1,17 +0,0 @@
{stdenv, fetchurl, pkgconfig, glib, gtk, pango
, libglade, libgnomeprint, libgnomeprintui, libgnomecanvas
, fribidi, libpng, popt
}:
stdenv.mkDerivation {
name = "abiword-2.4.5";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/abiword-2.4.5.tar.gz;
md5 = "e05f15936535c4b737deaa721adf8d09";
};
buildInputs = [pkgconfig glib gtk pango libglade libgnomeprint
libgnomeprintui libgnomecanvas fribidi libpng popt
];
}

View File

@@ -7,8 +7,4 @@ stdenv.mkDerivation {
md5 = "9a9a4f84ed5b6258f7ab321713adf20b";
};
buildInputs = [ghc zlib ncurses curl];
meta = {
description = "Patch-based version management system";
};
}

View File

@@ -0,0 +1,60 @@
buildInputs="$openssl $zlib $db4 $httpd $swig $python $jdk $expat $patch"
source $stdenv/setup
configureFlags="--without-gdbm --disable-static"
if test "$localServer"; then
configureFlags="--with-berkeley-db=$db4 $configureFlags"
fi
if test "$sslSupport"; then
configureFlags="--with-ssl --with-libs=$openssl $configureFlags"
fi
if test "$httpServer"; then
configureFlags="--with-apxs=$httpd/bin/apxs --with-apr=$httpd --with-apr-util=$httpd $configureFlags"
makeFlags="APACHE_LIBEXECDIR=$out/modules $makeFlags"
fi
if test -n "$pythonBindings" -o -n "$javaSwigBindings"; then
configureFlags="--with-swig=$swig $configureFlags"
fi
if test "$javahlBindings"; then
configureFlags="--enable-javahl --with-jdk=$jdk $configureFlags"
fi
installFlags="$makeFlags"
postInstall() {
if test "$pythonBindings"; then
make swig-py
make install-swig-py
fi
if test "$javaSwigBindings"; then
# Hack to get Java-Swig bindings to build if Python is not in
# scope (this fails because Subversion's configure script does
# something silly like `SWIG_JAVA_COMPILE="$SWIG_PY_COMPILE"').
FL1='SWIG_JAVA_COMPILE=gcc'
FL2='SWIG_JAVA_LINK=gcc -L$(SWIG_BUILD_DIR)/.libs'
make swig-java "$FL1" "$FL2"
make swig-java-api "$FL1" "$FL2"
make swig-java-java "$FL1" "$FL2"
make install-swig-java "$FL1" "$FL2"
fi
if test "$javahlBindings"; then
mkdir -p subversion/bindings/java/javahl/classes # bug fix
make javahl
make install-javahl
mkdir -p $out/share/doc/$name
$jdk/bin/javadoc -d $out/share/doc/$name \
-windowtitle "JavaHL Subversion Bindings" \
-link http://java.sun.com/j2se/1.4.2/docs/api/ \
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java
fi
}
postInstall=postInstall
genericBuild

View File

@@ -0,0 +1,46 @@
{ localServer ? false
, httpServer ? false
, sslSupport ? false
, compressionSupport ? false
, pythonBindings ? false
, javaSwigBindings ? false
, javahlBindings ? false
, stdenv, fetchurl
, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, jdk ? null, zlib ? null
}:
assert expat != null;
assert localServer -> db4 != null;
assert httpServer -> httpd != null && httpd.expat == expat;
assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
assert pythonBindings -> swig != null && swig.pythonSupport;
assert javaSwigBindings -> swig != null && swig.javaSupport;
assert javahlBindings -> jdk != null;
assert compressionSupport -> zlib != null;
stdenv.mkDerivation {
name = "subversion-1.1.4";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.1.4.tar.bz2;
md5 = "6e557ae65b6b8d7577cc7704ede85a23";
};
# This is a hopefully temporary fix for the problem that
# libsvnjavahl.so isn't linked against libstdc++, which causes
# loading the library into the JVM to fail.
patches = if javahlBindings then [./javahl.patch] else [];
openssl = if sslSupport then openssl else null;
zlib = if compressionSupport then zlib else null;
httpd = if httpServer then httpd else null;
db4 = if localServer then db4 else null;
swig = if pythonBindings || javaSwigBindings then swig else null;
python = if pythonBindings then swig.python else null;
jdk = if javaSwigBindings then swig.jdk else
if javahlBindings then jdk else null;
inherit expat localServer httpServer sslSupport
pythonBindings javaSwigBindings javahlBindings;
}

View File

@@ -0,0 +1,20 @@
diff -rc subversion-orig/build-outputs.mk subversion-1.1.0-rc2/build-outputs.mk
*** subversion-orig/build-outputs.mk 2004-08-10 20:17:32.000000000 +0200
--- subversion-1.1.0-rc2/build-outputs.mk 2004-08-23 21:04:35.000000000 +0200
***************
*** 200,206 ****
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS)
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
locale: $(locale_DEPS)
--- 200,206 ----
libsvnjavahl_DEPS = subversion/bindings/java/javahl/native/BlameCallback.lo subversion/bindings/java/javahl/native/CommitMessage.lo subversion/bindings/java/javahl/native/Inputer.lo subversion/bindings/java/javahl/native/JNIByteArray.lo subversion/bindings/java/javahl/native/JNICriticalSection.lo subversion/bindings/java/javahl/native/JNIMutex.lo subversion/bindings/java/javahl/native/JNIStackElement.lo subversion/bindings/java/javahl/native/JNIStringHolder.lo subversion/bindings/java/javahl/native/JNIThreadData.lo subversion/bindings/java/javahl/native/JNIUtil.lo subversion/bindings/java/javahl/native/MessageReceiver.lo subversion/bindings/java/javahl/native/Notify.lo subversion/bindings/java/javahl/native/Outputer.lo subversion/bindings/java/javahl/native/Path.lo subversion/bindings/java/javahl/native/Pool.lo subversion/bindings/java/javahl/native/Prompter.lo subversion/bindings/java/javahl/native/Revision.lo subversion/bindings/java/javahl/native/SVNAdmin.lo subversion/bindings/java/javahl/native/SVNBase.lo subversion/bindings/java/javahl/native/SVNClient.lo subversion/bindings/java/javahl/native/Targets.lo subversion/bindings/java/javahl/native/libsvnjavahl.la.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNAdmin.lo subversion/bindings/java/javahl/native/org_tigris_subversion_javahl_SVNClient.lo subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_subr/libsvn_subr-1.la
libsvnjavahl_OBJECTS = BlameCallback.lo CommitMessage.lo Inputer.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIThreadData.lo JNIUtil.lo MessageReceiver.lo Notify.lo Outputer.lo Path.lo Pool.lo Prompter.lo Revision.lo SVNAdmin.lo SVNBase.lo SVNClient.lo Targets.lo libsvnjavahl.la.lo org_tigris_subversion_javahl_SVNAdmin.lo org_tigris_subversion_javahl_SVNClient.lo
subversion/bindings/java/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS)
! cd subversion/bindings/java/javahl/native && $(LINK_JAVAHL_CXX) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../../subversion/libsvn_subr/libsvn_subr-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS) -lstdc++
locale_DEPS = subversion/po/de.mo subversion/po/es.mo subversion/po/ja.mo subversion/po/nb.mo subversion/po/pl.mo subversion/po/sv.mo
locale: $(locale_DEPS)

View File

@@ -17,12 +17,12 @@ assert javahlBindings -> jdk != null;
assert compressionSupport -> zlib != null;
stdenv.mkDerivation {
name = "subversion-1.3.2";
name = "subversion-1.3.0";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.3.2.tar.bz2;
sha1 = "688ab178db1f6acb2ad3bd99f030402621f837b6";
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.3.0.tar.gz;
sha1 = "98cb017844750d4ed26e2a811c581a644e3ad585";
};
openssl = if sslSupport then openssl else null;

View File

@@ -1,33 +0,0 @@
source $stdenv/setup
if test "$httpServer"; then
makeFlags="APACHE_LIBEXECDIR=$out/modules $makeFlags"
fi
installFlags="$makeFlags"
postInstall() {
if test "$pythonBindings"; then
make swig-py
make install-swig-py
fi
if test "$javahlBindings"; then
mkdir -p subversion/bindings/java/javahl/classes # bug fix
make javahl
make install-javahl
# Hack to prevent java.lang.UnsatisfiedLinkError: no svnjavahl in java.library.path
cd $out/lib
ln -s libsvnjavahl-1.so libsvnjavahl.so
cd -
mkdir -p $out/share/doc/$name
$jdk/bin/javadoc -d $out/share/doc/$name \
-windowtitle "JavaHL Subversion Bindings" \
-link http://java.sun.com/j2se/1.4.2/docs/api/ \
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java
fi
}
postInstall=postInstall
genericBuild

View File

@@ -1,49 +0,0 @@
{ bdbSupport ? false
, httpServer ? false
, sslSupport ? false
, compressionSupport ? false
, pythonBindings ? false
, javahlBindings ? false
, stdenv, fetchurl, apr, aprutil, neon, zlib
, httpd ? null, expat, swig ? null, jdk ? null
}:
assert bdbSupport -> aprutil.bdbSupport;
assert httpServer -> httpd != null && httpd.expat == expat;
assert pythonBindings -> swig != null && swig.pythonSupport;
assert javahlBindings -> jdk != null;
assert sslSupport -> neon.sslSupport;
assert compressionSupport -> neon.compressionSupport;
stdenv.mkDerivation {
name = "subversion-1.4.0";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/subversion-1.4.0.tar.bz2;
sha1 = "92671bba140e9b9e300b5ffb526c4a7c59aeb5b1";
};
buildInputs =
[expat zlib]
++ (if pythonBindings then [swig.python] else []);
configureFlags = "
--without-gdbm --disable-static
--with-apr=${apr} -with-apr-util=${aprutil} --with-neon=${neon}
--disable-keychain
${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
${if httpServer then
"--with-apxs=${httpd}/bin/apxs --with-apr=${httpd} --with-apr-util=${httpd}"
else
"--without-apxs"}
${if pythonBindings then "--with-swig=${swig}" else "--without-swig"}
${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""}
";
inherit httpServer pythonBindings javahlBindings;
meta = {
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
};
}

View File

@@ -1,5 +1,8 @@
source $stdenv/setup
# !!! Remove eventually.
export _POSIX2_VERSION=199209
postUnpack() {
unpackFile $fonts
}

View File

@@ -1,8 +1,7 @@
{ alsaSupport ? false, xvSupport ? true, theoraSupport ? false, cacaSupport ? false
, xineramaSupport ? false, randrSupport ? false
, xineramaSupport ? false
, stdenv, fetchurl, x11, freetype, zlib
, alsa ? null, libXv ? null, libtheora ? null, libcaca ? null
, libXinerama ? null, libXrandr ? null
, alsa ? null, libXv ? null, libtheora ? null, libcaca ? null, libXinerama ? null
}:
assert alsaSupport -> alsa != null;
@@ -10,15 +9,14 @@ assert xvSupport -> libXv != null;
assert theoraSupport -> libtheora != null;
assert cacaSupport -> libcaca != null;
assert xineramaSupport -> libXinerama != null;
assert randrSupport -> libXrandr != null;
stdenv.mkDerivation {
name = "MPlayer-1.0pre8";
name = "MPlayer-1.0pre7";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/MPlayer-1.0pre8.tar.bz2;
md5 = "f82bb2bc51b6cd5e5dd96f88f6f98582";
url = http://nix.cs.uu.nl/dist/tarballs/MPlayer-1.0pre7try2.tar.bz2;
md5 = "aaca4fd327176c1afb463f0f047ef6f4";
};
fonts = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/font-arial-iso-8859-1.tar.bz2;
@@ -36,17 +34,7 @@ stdenv.mkDerivation {
(if theoraSupport then libtheora else null)
(if cacaSupport then libcaca else null)
(if xineramaSupport then libXinerama else null)
(if randrSupport then libXrandr else null)
];
configureFlags = if cacaSupport then "--enable-caca" else "--disable-caca";
# These fix MPlayer's aspect ratio when run in a screen rotated with
# Xrandr.
# See: http://itdp.de/~itdp/html/mplayer-dev-eng/2005-08/msg00427.html
patches = [./mplayer-aspect.patch ./mplayer-pivot.patch];
meta = {
description = "A movie player that supports many video formats";
};
}

View File

@@ -1,96 +0,0 @@
diff -rc MPlayer-1.0pre8-orig/libvo/aspect.c MPlayer-1.0pre8/libvo/aspect.c
*** MPlayer-1.0pre8-orig/libvo/aspect.c 2006-06-11 20:35:43.000000000 +0200
--- MPlayer-1.0pre8/libvo/aspect.c 2006-07-10 18:55:11.000000000 +0200
***************
*** 11,16 ****
--- 11,19 ----
#include <stdio.h>
#endif
+ int vo_physical_width = 0;
+ int vo_physical_height = 0;
+
int vo_panscan_x = 0;
int vo_panscan_y = 0;
float vo_panscan_amount = 0;
***************
*** 18,24 ****
#include "video_out.h"
! float monitor_aspect=4.0/3.0;
float monitor_pixel_aspect=0;
extern float movie_aspect;
--- 21,27 ----
#include "video_out.h"
! float monitor_aspect=-1.0f;
float monitor_pixel_aspect=0;
extern float movie_aspect;
***************
*** 48,53 ****
--- 51,68 ----
aspdat.preh = preh;
}
+ static void init_monitor_aspect( void )
+ {
+ if (monitor_aspect != -1.0f) return;
+ if (vo_physical_width == 0 || vo_physical_height == 0) {
+ // if there's no other indication, assume square pixels
+ vo_physical_width = aspdat.scrw;
+ vo_physical_height = aspdat.scrh;
+ }
+ mp_msg(MSGT_VO,MSGL_V,"\naspect: monitor aspect detected %d:%d\n", vo_physical_width, vo_physical_height);
+ monitor_aspect = 1.0f * vo_physical_width / vo_physical_height;
+ }
+
void aspect_save_screenres(int scrw, int scrh){
#ifdef ASPECT_DEBUG
printf("aspect_save_screenres %dx%d \n",scrw,scrh);
***************
*** 56,61 ****
--- 71,77 ----
aspdat.scrh = scrh;
if (monitor_pixel_aspect)
monitor_aspect = monitor_pixel_aspect * scrw / scrh;
+ init_monitor_aspect(); // now is a good time
}
/* aspect is called with the source resolution and the
diff -rc MPlayer-1.0pre8-orig/libvo/aspect.h MPlayer-1.0pre8/libvo/aspect.h
*** MPlayer-1.0pre8-orig/libvo/aspect.h 2006-06-11 20:35:43.000000000 +0200
--- MPlayer-1.0pre8/libvo/aspect.h 2006-07-10 18:52:04.000000000 +0200
***************
*** 2,7 ****
--- 2,10 ----
#define __ASPECT_H
/* Stuff for correct aspect scaling. */
+ extern int vo_physical_width;
+ extern int vo_physical_height;
+
extern int vo_panscan_x;
extern int vo_panscan_y;
extern float vo_panscan_amount;
diff -rc MPlayer-1.0pre8-orig/libvo/x11_common.c MPlayer-1.0pre8/libvo/x11_common.c
*** MPlayer-1.0pre8-orig/libvo/x11_common.c 2006-06-11 20:35:43.000000000 +0200
--- MPlayer-1.0pre8/libvo/x11_common.c 2006-07-10 18:52:04.000000000 +0200
***************
*** 463,468 ****
--- 463,474 ----
if (!vo_screenheight)
vo_screenheight = DisplayHeight(mDisplay, mScreen);
}
+ if (vo_physical_width == 0) {
+ vo_physical_width = DisplayWidthMM(mDisplay, mScreen);
+ }
+ if (vo_physical_height == 0) {
+ vo_physical_height = DisplayHeightMM(mDisplay, mScreen);
+ }
// get color depth (from root window, or the best visual):
XGetWindowAttributes(mDisplay, mRootWin, &attribs);
depth = attribs.depth;

View File

@@ -1,112 +0,0 @@
--- MPlayer/configure.orig 2005-08-21 23:47:47.000000000 +0200
+++ MPlayer/configure 2005-08-21 23:55:02.000000000 +0200
@@ -162,6 +162,7 @@
--enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
--enable-joystick enable joystick support [disable]
--disable-vm disable support X video mode extensions [autodetect]
+ --disable-randr disable support for X resize and rotate extension [autodetect]
--disable-xf86keysym disable support for 'multimedia' keys [autodetect]
--disable-tv disable TV Interface (tv/dvb grabbers) [enable]
--disable-tv-v4l disable Video4Linux TV Interface support [autodetect]
@@ -252,6 +253,7 @@
--enable-xv build with Xv render support for X 4.x [autodetect]
--enable-xvmc build with XvMC acceleration for X 4.x [disable]
--enable-vm build with XF86VidMode support for X11 [autodetect]
+ --enable-randr build with XRandR support for X11 [autodetect]
--enable-xinerama build with Xinerama support for X11 [autodetect]
--enable-x11 build with X11 render support [autodetect]
--enable-fbdev build with FBDev render support [autodetect]
@@ -1351,6 +1353,7 @@
_mga=auto
_xmga=auto
_vm=auto
+_randr=auto
_xf86keysym=auto
_mlib=auto
_sgiaudio=auto
@@ -1562,6 +1565,8 @@
--disable-xmga) _xmga=no ;;
--enable-vm) _vm=yes ;;
--disable-vm) _vm=no ;;
+ --enable-randr) _randr=yes ;;
+ --disable-randr) _randr=no ;;
--enable-xf86keysym) _xf86keysym=yes ;;
--disable-xf86keysym) _xf86keysym=no ;;
--enable-mlib) _mlib=yes ;;
@@ -3603,6 +3608,25 @@
fi
echores "$_vm"
+# X Resize, Rotate and Reflect extension
+echocheck "Xrandr"
+if test "$_x11" = yes && test "$_randr" = auto; then
+ cat > $TMPC <<EOF
+#include <X11/Xlib.h>
+#include <X11/extensions/Xrandr.h>
+int main(void) { (void) XRRQueryExtension(0, 0, 0); return 0; }
+EOF
+ _randr=no
+ cc_check $_inc_x11 -lXrandr $_ld_x11 && _randr=yes
+fi
+if test "$_randr" = yes ; then
+ _def_randr='#define HAVE_XRANDR 1'
+ _ld_randr='-lXrandr'
+else
+ _def_randr='#undef HAVE_XRANDR'
+fi
+echores "$_randr"
+
# Check for the presence of special keycodes, like audio control buttons
# that XFree86 might have. Used to be bundled with the xf86vm check, but
# has nothing to do with xf86vm and XFree 3.x has xf86vm but does NOT
@@ -6762,7 +6786,7 @@
SLIBSUF=.so
# video output
-X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_xinerama $_ld_x11 $_ld_sock
+X_LIB = $_ld_gl $_ld_dga $_ld_xv $_ld_xvmc $_ld_vm $_ld_randr $_ld_xinerama $_ld_x11 $_ld_sock
GGI_LIB = $_ld_ggi
MLIB_LIB = $_ld_mlib
MLIB_INC = $_inc_mlib
@@ -7465,6 +7489,7 @@
$_def_xv
$_def_xvmc
$_def_vm
+$_def_randr
$_def_xf86keysym
$_def_xinerama
$_def_gl
--- MPlayer/libvo/x11_common.c.orig 2005-08-21 23:56:20.000000000 +0200
+++ MPlayer/libvo/x11_common.c 2005-08-22 00:05:17.000000000 +0200
@@ -39,6 +39,10 @@
#include <X11/extensions/xf86vmode.h>
#endif
+#ifdef HAVE_XRANDR
+#include <X11/extensions/Xrandr.h>
+#endif
+
#ifdef HAVE_XF86XK
#include <X11/XF86keysym.h>
#endif
@@ -434,6 +438,20 @@
int clock;
XF86VidModeGetModeLine(mDisplay, mScreen, &clock, &modeline);
+#ifdef HAVE_XRANDR
+ {
+ Rotation current_rotation;
+
+ XRRRotations(mDisplay, mScreen, &current_rotation);
+ if ((current_rotation&RR_Rotate_90) != 0 ||
+ (current_rotation&RR_Rotate_270) != 0) {
+ unsigned short tmp;
+ tmp = modeline.hdisplay;
+ modeline.hdisplay = modeline.vdisplay;
+ modeline.vdisplay = tmp;
+ }
+ }
+#endif
if (!vo_screenwidth)
vo_screenwidth = modeline.hdisplay;
if (!vo_screenheight)

View File

@@ -1,8 +1,8 @@
{stdenv, fetchurl}: stdenv.mkDerivation {
name = "MPlayer-codecs-essential-20060611";
name = "MPlayer-codecs-essential-20050412";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/essential-20060611.tar.bz2;
md5 = "26ec3f9feed5f89814b2ec5f436e937b";
url = http://nix.cs.uu.nl/dist/tarballs/essential-20050412.tar.bz2;
md5 = "5fe89bb095bdf9b4f9cda5479dbde906";
};
}

View File

@@ -3,7 +3,7 @@ source $makeWrapper
ensureDir $out/real
skip=143273 # Look for "BZh91" in the executable.
skip=143209
(dd bs=1 count=$skip of=/dev/null && dd) < $src | (cd $out/real && tar xvfj -)

View File

@@ -5,12 +5,12 @@
assert stdenv.system == "i686-linux";
(stdenv.mkDerivation {
name = "RealPlayer-10.0.8.805-GOLD";
name = "RealPlayer-10.0.3.748-GOLD";
builder = ./builder.sh;
src = fetchurl {
url = http://software-dl.real.com/25ae61d70a6855a52c14/unix/RealPlayer10GOLD.bin;
md5 = "d28b31261059231a3e93c7466f8153e6";
url = http://software-dl.real.com/12ae5c4cc79d437fa106/unix/RealPlayer10GOLD.bin;
md5 = "70a88bcae0ab3e177e6fadecd6b8be24";
};
makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;

View File

@@ -1,5 +0,0 @@
source $stdenv/setup
configureFlags="--with-sdl-mixer-incl=$SDL_mixer/include/SDL --with-sdl-incl=$SDL/include/SDL --with-plugindir=$out/plugins"
genericBuild

View File

@@ -1,17 +0,0 @@
{stdenv, fetchurl, libX11, libXext, libXi, libXmu
, SDL, SDL_mixer, GStreamer
, libogg, libxml2, libjpeg, mesa, libpng}:
stdenv.mkDerivation {
name = "gnash-0.7.1";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/gnash-0.7.1.tar.bz2;
md5 = "d860981aeaac0fc941a28abc3c24223c";
};
buildInputs = [libX11 libXext libXi libXmu SDL SDL_mixer GStreamer
libogg libxml2 libjpeg mesa libpng];
inherit SDL_mixer SDL;
} // {mozillaPlugin = "/plugins";}

View File

@@ -1,21 +1,12 @@
source $stdenv/setup
# Hack - MythTV's configure searches LD_LIBRARY_PATH for its
# dependencies.
for i in $buildInputs; do
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH${LD_LIBRARY_PATH:+:}$i/lib
done
echo $LD_LIBRARY_PATH
buildPhase=myBuilder
myBuilder() {
qmake mythtv.pro || fail
make || fail
}
postInstall=postInstall
postInstall() {
sqlDir="$out/share/mythtv/sql"
@@ -23,5 +14,4 @@ postInstall() {
cp -p ./database/mc.sql $sqlDir/
}
genericBuild

View File

@@ -1,28 +1,19 @@
{ stdenv, fetchurl, which, qt3, x11
, libX11, libXinerama, libXv, libXxf86vm, libXrandr, libXmu
, lame, zlib, mesa}:
{stdenv, fetchurl, which, qt3, x11, libXinerama, libXv, libXxf86vm, lame}:
assert qt3.mysqlSupport;
stdenv.mkDerivation {
name = "mythtv-0.20";
name = "mythtv-0.18.1";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/mythtv-0.20.tar.bz2;
md5 = "52bec1e0fadf7d24d6dcac3f773ddf74";
url = http://nix.cs.uu.nl/dist/tarballs/mythtv-0.18.1.tar.bz2;
md5 = "e6cabf88feeaf6ae8f830d3fdf7b113d";
};
configureFlags = "--disable-joystick-menu --x11-path=/no-such-path --dvb-path=/no-such-path";
patches = [./settings.patch];
configureFlags = "--disable-joystick-menu";
buildInputs = [
which qt3 x11
libX11 libXinerama libXv libXxf86vm libXrandr libXmu
lame zlib mesa
];
patches = [
./settings.patch
./purity.patch # don't search in /usr/include etc.
];
buildInputs = [which qt3 x11 libXinerama libXv libXxf86vm lame];
inherit qt3;
}

View File

@@ -1,75 +0,0 @@
diff -rc mythtv-0.20-orig/configure mythtv-0.20/configure
*** mythtv-0.20-orig/configure 2006-08-28 18:18:08.000000000 +0200
--- mythtv-0.20/configure 2006-09-14 17:05:12.000000000 +0200
***************
*** 1225,1231 ****
has_library()
{
! if test -f /etc/ld.so.conf ; then
LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
else
LIBPATHS=''
--- 1225,1231 ----
has_library()
{
! if false ; then
LIBPATHS=`cat /etc/ld.so.conf | grep -v "#" | grep -v "include"`
else
LIBPATHS=''
***************
*** 1235,1241 ****
LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
# recurse down just one level, should be enough in most cases
! if test -f /etc/ld.so.conf ; then
INCL=`cat /etc/ld.so.conf | grep -v "#" | grep "^include"`
SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
for x in $SRCH ; do
--- 1235,1241 ----
LIBPATHS="$LIBPATHS `echo $DYLD_LIBRARY_PATH | sed s/':'/' '/g` "
# recurse down just one level, should be enough in most cases
! if false ; then
INCL=`cat /etc/ld.so.conf | grep -v "#" | grep "^include"`
SRCH=`echo "$INCL" | sed '{ s/^include \//\//; s/^include /\/etc\//}'`
for x in $SRCH ; do
***************
*** 1244,1250 ****
done
fi
! LIBPATHS="`echo $LIBPATHS /$libdir_name /usr/$libdir_name /usr/local/$libdir_name /usr/X11R6/$libdir_name | sed s/'\/ '/' '/g` "
HAS_IT="no"
for LIBPATH in $LIBPATHS ; do
--- 1244,1250 ----
done
fi
! LIBPATHS="`echo $LIBPATHS | sed s/'\/ '/' '/g` "
HAS_IT="no"
for LIBPATH in $LIBPATHS ; do
***************
*** 1257,1265 ****
has_header()
{
! HPATHS="/usr/local/include /usr/include /usr/include/g++-v3 /usr/X11R6/include"
INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
! HPATHS="$HPATHS `echo $INCL | sed s/$libdir_name/include/g` "
HAS_IT="no"
for HPATH in $HPATHS ; do
--- 1257,1265 ----
has_header()
{
! HPATHS=""
INCL=`echo $DYLD_LIBRARY_PATH $LD_LIBRARY_PATH | sed s/':'/' '/g`
! HPATHS="$HPATHS `echo $INCL | sed "s/$libdir_name\($\|[\/ ]\)/include\1/g"` "
HAS_IT="no"
for HPATH in $HPATHS ; do

View File

@@ -1,34 +1,23 @@
{ xvSupport ? true
, stdenv, fetchurl, perl, x11, libXv, wxGTK
, libdvdread, libdvdnav, libdvdcss
, zlib, mpeg2dec, a52dec, libmad, ffmpeg, alsa
}:
, stdenv, fetchurl, x11, libXv, wxGTK, libdvdcss, libdvdplay
, mpeg2dec, a52dec, libmad, alsa}:
assert libdvdread.libdvdcss == libdvdcss;
assert libdvdplay.libdvdread.libdvdcss == libdvdcss;
assert xvSupport -> libXv != null;
stdenv.mkDerivation {
name = "vlc-0.8.5";
name = "vlc-0.7.2";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/vlc-0.8.5.tar.bz2;
md5 = "16bb5bf87ed94879a8eb7b0ff9b4f16f";
url = http://nix.cs.uu.nl/dist/tarballs/vlc-0.7.2.tar.gz;
md5 = "25dfcc804cb92f46c0b64ce1466515cc";
};
buildInputs = [
perl x11 wxGTK
zlib mpeg2dec a52dec libmad ffmpeg alsa
libdvdread # <- for "simple" DVD playback
libdvdnav libdvdcss # <- for DVD playback with menus
x11 wxGTK libdvdcss libdvdplay libdvdplay.libdvdread
mpeg2dec a52dec libmad alsa
(if xvSupport then libXv else null)
];
# Ensure that libdvdcss will be found without having to set LD_LIBRARY_PATH.
NIX_LDFLAGS = "-ldvdcss";
configureFlags = "--enable-alsa";
meta = {
description = "Cross-platform media player and streaming server";
};
configureFlags = "--disable-ffmpeg --enable-alsa";
}

View File

@@ -11,8 +11,4 @@ stdenv.mkDerivation {
(if xineLib.xineramaSupport then xineLib.libXinerama else null)
];
configureFlags = "--without-readline --disable-xft";
meta = {
description = "Xlib-based interface to Xine, a video player";
};
}

View File

@@ -17,12 +17,12 @@ assert pngSupport -> libpng != null;
assert recordingSupport -> rte != null;
stdenv.mkDerivation {
name = "zapping-0.10cvs6";
name = "zapping-0.9.6";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/zapping-0.10cvs6.tar.bz2;
md5 = "6aa7614ac3fd5d39c89c2198598ad27b";
url = http://nix.cs.uu.nl/dist/tarballs/zapping-0.9.6.tar.bz2;
md5 = "8306775c6a11de4d72345b5eee970ea6";
};
inherit teletextSupport jpegSupport pngSupport libXext;

View File

@@ -1,24 +0,0 @@
source $stdenv/setup
header "exporting $url $module into $out"
prefetch=$(dirname $out)/cvs-checkout-tmp-$outputHash
echo $prefetch
if test -e "$prefetch"; then
mv $prefetch $out
else
if test -z "$tag"; then
rtag="-DNOW"
else
rtag="-r $tag"
fi
cvs -f -d $url export $rtag -d $out $module
fi
actual=$(nix-hash $out)
if test "$actual" != "$outputHash"; then
echo "hash is $actual, expected $outputHash" >&2
exit 1
fi
stopNest

View File

@@ -1,16 +0,0 @@
{stdenv, cvs, nix}: {url, module, tag, md5}:
stdenv.mkDerivation {
name = "cvs-export";
builder = ./builder.sh;
buildInputs = [cvs nix];
# Nix <= 0.7 compatibility.
id = md5;
outputHashAlgo = "md5";
outputHashMode = "recursive";
outputHash = md5;
inherit url module tag;
}

View File

@@ -1,89 +0,0 @@
#! /bin/sh -e
url=$1
module=$2
tag=$3
hash=$4
if test -z "$url"; then
echo "syntax: nix-prefetch-cvs URL MODULE [TAG [HASH]]" >&2
exit 1
elif test -z "$module"; then
echo "syntax: nix-prefetch-cvs URL MODULE [TAG [HASH]]" >&2
exit 1
fi
# Use a restrictive umask to ensure that the output in the Nix store
# is not group- or world-writable. Nix 0.10 complains about this.
umask 0022
# Determine the hash, unless it was given.
if test -z "$hash"; then
# !!! hacky; we should have a way to query the location of the store.
if storeDir=$(which nix-store); then
storeDir=$(dirname $(dirname "$storeDir"))/store
else
storeDir=/nix/store
fi
# !!! race? should be relatively safe, `svn export' barfs if $tmpPath exists.
cvsPath="cvs-checkout-tmp-$$"
tmpPath1=$storeDir/$cvsPath
# Test whether we have write permission in the store. If not,
# fetch to /tmp and don't copy to the store. This is a hack to
# make this script at least work somewhat in setuid installations.
if ! touch $tmpPath1 2> /dev/null; then
echo "(cannot write to the store, result won't be cached)" >&2
dummyMode=1
tmpPath1=/tmp/nix-prefetch-cvs-$$ # !!! security?
fi
rm -f $tmpPath1
# Perform the checkout.
if test -z "$tag"; then
rtag="-DNOW"
else
rtag="-r $tag"
fi
# CVS has a problem with absolute paths, so cd into the nix store
current=$(pwd)
cd $storeDir
cvs -f -d $url export $rtag -d $cvsPath $module >&2
# Change back to the original directory
cd $current
# Compute the hash.
hash=$(nix-hash $tmpPath1)
echo "hash is $hash" >&2
# Rename it so that the fetchcvs builder can find it.
if test "$dummyMode" != 1; then
tmpPath2=$storeDir/cvs-checkout-tmp-$hash
test -e $tmpPath2 || mv $tmpPath1 $tmpPath2 # !!! race
fi
fi
# Create a Nix expression that does a fetchcvs.
nixExpr=$(dirname $0)/../../top-level/all-packages.nix
storeExpr=$( \
echo "(import $nixExpr {}).fetchcvs {url=\"$url\"; module=\"$module\"; tag=\"$tag\"; md5=\"$hash\";}" \
| nix-instantiate -)
# Realise it.
finalPath=$(nix-store -r $storeExpr)
echo "path is $finalPath" >&2
if test -n "$tmpPath1" -o -n "$tmpPath2"; then
rm -rf $tmpPath1 $tmpPath2 || true
fi
echo "debug hash is $hash" >&2
echo $hash
if test -n "$PRINT_PATH"; then
echo "debug path is $finalPath" >&2
echo $finalPath
fi

View File

@@ -2,16 +2,18 @@ source $stdenv/setup
header "exporting $url (r$rev) into $out"
if test "$sshSupport"; then
export SVN_SSH="$openssh/bin/ssh"
prefetch=$(dirname $out)/svn-checkout-tmp-$outputHash
echo $prefetch
if test -e "$prefetch"; then
mv $prefetch $out
else
# Pipe the "p" character into Subversion to force it to accept the
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic
# hash of the output matters.
echo 'p' | svn export -r "$rev" "$url" $out
fi
# Pipe the "p" character into Subversion to force it to accept the
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic
# hash of the output matters.
echo 'p' | svn export -r "$rev" "$url" $out
actual=$(nix-hash $out)
if test "$actual" != "$outputHash"; then
echo "hash is $actual, expected $outputHash" >&2

View File

@@ -1,4 +1,4 @@
{stdenv, subversion, nix, sshSupport ? false, openssh ? null}: {url, rev ? "HEAD", md5}:
{stdenv, subversion, nix}: {url, rev ? "HEAD", md5}:
stdenv.mkDerivation {
name = "svn-export";
@@ -12,5 +12,5 @@ stdenv.mkDerivation {
outputHashMode = "recursive";
outputHash = md5;
inherit url rev sshSupport openssh;
inherit url rev;
}

View File

@@ -2,15 +2,10 @@
url=$1
rev=$2
expHash=$3
hashType=$NIX_HASH_ALGO
if test -z "$hashType"; then
hashType=md5
fi
hash=$3
if test -z "$url"; then
echo "syntax: nix-prefetch-svn URL [REVISION [EXPECTED-HASH]]" >&2
echo "syntax: nix-prefetch-svn URL [REVISION]" >&2
exit 1
fi
@@ -20,46 +15,57 @@ test -n "$rev" || rev="HEAD"
# is not group- or world-writable. Nix 0.10 complains about this.
umask 0022
# Determine the hash, unless it was given.
if test -z "$hash"; then
# If the hash was given, a file with that hash may already be in the
# store.
if test -n "$expHash"; then
finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" svn-export)
if ! nix-store --check-validity "$finalPath" 2> /dev/null; then
finalPath=
# !!! hacky; we should have a way to query the location of the store.
if storeDir=$(which nix-store); then
storeDir=$(dirname $(dirname "$storeDir"))/store
else
storeDir=/nix/store
fi
hash=$expHash
fi
# !!! race? should be relatively safe, `svn export' barfs if $tmpPath exists.
tmpPath1=$storeDir/svn-checkout-tmp-$$
# If we don't know the hash or a path with that hash doesn't exist,
# download the file and add it to the store.
if test -z "$finalPath"; then
tmpPath=/tmp/svn-checkout-tmp-$$
tmpFile=$tmpPath/svn-export
mkdir $tmpPath
trap "rm -rf $tmpPath" EXIT
# Test whether we have write permission in the store. If not,
# fetch to /tmp and don't copy to the store. This is a hack to
# make this script at least work somewhat in setuid installations.
if ! touch $tmpPath1 2> /dev/null; then
echo "(cannot write to the store, result won't be cached)" >&2
dummyMode=1
tmpPath1=/tmp/nix-prefetch-svn-$$ # !!! security?
fi
rm -f $tmpPath1
# Perform the checkout.
# !!! remove 2>/dev/null when we have fixed the certificate hackery.
echo p | svn export -r "$rev" "$url" $tmpFile 2>/dev/null >&2
svn export -r "$rev" "$url" $tmpPath1 >&2
# Compute the hash.
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi
hash=$(nix-hash $tmpPath1)
echo "hash is $hash" >&2
# Add the downloaded file to the Nix store.
finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile)
if test -n "$expHash" -a "$expHash" != "$hash"; then
echo "hash mismatch for URL \`$url'"
exit 1
# Rename it so that the fetchsvn builder can find it.
if test "$dummyMode" != 1; then
tmpPath2=$storeDir/svn-checkout-tmp-$hash
test -e $tmpPath2 || mv $tmpPath1 $tmpPath2 # !!! race
fi
fi
if ! test -n "$QUIET"; then echo "path is $finalPath" >&2; fi
# Create a Nix expression that does a fetchsvn.
nixExpr=$(dirname $(readlink -f $0))/../../system/i686-linux.nix
storeExpr=$( \
echo "(import $nixExpr).fetchsvn {url=\"$url\"; rev=\"$rev\"; md5=\"$hash\";}" \
| nix-instantiate -)
# Realise it.
finalPath=$(nix-store -r $storeExpr)
echo "path is $finalPath" >&2
if test -n "$tmpPath1" -o -n "$tmpPath2"; then
rm -rf $tmpPath1 $tmpPath2 || true
fi
echo $hash

View File

@@ -23,10 +23,4 @@ stdenv.mkDerivation {
if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
inherit url;
# We borrow these environment variables from the caller to allow
# easy proxy configuration. This is impure, but a fixed-output
# derivation like fetchurl is allowed to do so since its result is
# by definition pure.
impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"];
}

View File

@@ -13,10 +13,9 @@ if test -z "$nativeGlibc"; then
# The dynamic linker is passed in `ldflagsBefore' to allow
# explicit overrides of the dynamic linker by callers to gcc/ld
# (the *last* value counts, so ours should come first).
cflagsCompile="$cflagsCompile -B$glibc/usr/lib/ -isystem $glibc/usr/include"
ldflags="$ldflags -L$glibc/usr/lib"
#ldflagsBefore="-dynamic-linker $glibc/lib/ld-linux.so.2"
ldflagsBefore="-dynamic-linker $glibc/lib/ld-uClibc.so.0"
cflagsCompile="$cflagsCompile -B$glibc/lib/ -isystem $glibc/include"
ldflags="$ldflags -L$glibc/lib"
ldflagsBefore="-dynamic-linker $glibc/lib/ld-linux.so.2"
fi
if test -n "$nativeTools"; then
@@ -77,15 +76,10 @@ ln -s g++ $out/bin/c++
mkGccWrapper $out/bin/g77 $gccPath/g77
ln -s g77 $out/bin/f77
ln -s $binutils/bin/$cross-ar $out/bin/$cross-ar
ln -s $binutils/bin/$cross-as $out/bin/$cross-as
ln -s $binutils/bin/$cross-nm $out/bin/$cross-nm
ln -s $binutils/bin/$cross-strip $out/bin/$cross-strip
# Make a wrapper around the linker.
doSubstitute "$ldWrapper" "$out/bin/$cross-ld"
chmod +x "$out/bin/$cross-ld"
doSubstitute "$ldWrapper" "$out/bin/ld"
chmod +x "$out/bin/ld"
# Emit a setup hook. Also store the path to the original GCC and

View File

@@ -27,7 +27,4 @@ stdenv.mkDerivation {
langCC = if nativeTools then true else gcc.langCC;
langF77 = if nativeTools then false else gcc.langF77;
shell = if shell == "" then stdenv.shell else shell;
meta = if gcc != null then gcc.meta else
{ description = "System C compiler wrapper";
};
}

View File

@@ -27,7 +27,4 @@ stdenv.mkDerivation {
langCC = if nativeTools then true else gcc.langCC;
langF77 = if nativeTools then false else gcc.langF77;
shell = if shell == "" then stdenv.shell else shell;
meta = if gcc != null && (gcc ? meta) then gcc.meta else
{ description = "System C compiler wrapper";
};
}
}

Some files were not shown because too many files have changed in this diff Show More