* Merged from the trunk. Let's see how well this works with

Subversion 1.5...

svn path=/nixpkgs/branches/stdenv-updates/; revision=13601
This commit is contained in:
Eelco Dolstra 2008-12-10 09:59:21 +00:00
commit e31341510d
331 changed files with 14072 additions and 1377 deletions

View File

@ -139,12 +139,12 @@ fetchurl {
<function>fetchurl</function> will first try to download this file
from <link
xlink:href="http://nix.cs.uu.nl/dist/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
xlink:href="http://nixos.org/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
If that file doesnt exist, it will try the original URL. In
general, the “content-addressed” location is
<replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
There is currently only one content-addressable mirror (<link
xlink:href="http://nix.cs.uu.nl/dist/tarballs"/>), but more can be
xlink:href="http://nixos.org/tarballs"/>), but more can be
specified in the <varname>hashedMirrors</varname> attribute in
<filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
@ -239,7 +239,7 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</prog
<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
xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix
0.10</link> or higher.</para></note>
<para>This release has the following improvements:</para>
@ -445,7 +445,7 @@ 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>
xlink:href="http://nixos.org/" />.</para></listitem>
<listitem><para>The C library on Linux, Glibc, has been updated to
version 2.3.6.</para></listitem>

View File

@ -8,7 +8,7 @@ find "$1" -name "*.nix" | while read fn; do
if url=$(echo "$line" | sed 's^url = \(.*\);^\1^'); then
if ! echo "$url" | 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 "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then
base="$(basename "$url")"
newPath="$distDir/$base"
@ -80,4 +80,4 @@ find "$1" -name "*.nix" | while read fn; do
done
echo DONE
echo DONE

View File

@ -0,0 +1,16 @@
Choose the right CDROM reader syntax for `cd-paranoia'.
--- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200
+++ abcde-2.3.99.6/abcde 2008-10-29 22:55:38.000000000 +0100
@@ -3184,7 +3184,10 @@ if [ -n "$DISCID" ] || [ "$CDROMREADERSY
if [ "$CDROMREADERSYNTAX" = "" ]; then
for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do
if new_checkexec $DEFAULT_CDROMREADER; then
- CDROMREADERSYNTAX=$DEFAULT_CDROMREADER
+ case "$DEFAULT_CDROMREADER" in
+ cd-paranoia) CDROMREADERSYNTAX=cdparanoia;;
+ *) CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;;
+ esac
break
fi
done

View File

@ -6,14 +6,14 @@ in
stdenv.mkDerivation {
name = "abcde-${version}";
src = fetchurl {
url = "mirror://debian/pool/a/abcde/abcde_${version}.orig.tar.gz";
url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
sha256 = "1wl4ygj1cf1d6g05gwwygsd5g83l039fzi011r30ma5lnm763lyb";
};
# FIXME: This package does not support MP3 encoding (only Ogg),
# nor `distmp3', `eject', etc.
patches = [ ./install.patch ];
patches = [ ./install.patch ./which.patch ./cd-paranoia.patch ];
configurePhase = ''
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
@ -23,7 +23,8 @@ in
# We use `cd-paranoia' from GNU libcdio, which contains a hyphen
# in its name, unlike Xiph's cdparanoia.
sed -i "s|^[[:blank:]]*CDPARANOIA=.*$|CDPARANOIA=cd-paranoia|g" \
sed -i "s|^[[:blank:]]*CDPARANOIA=.*$|CDPARANOIA=cd-paranoia|g ;
s|^[[:blank:]]*DEFAULT_CDROMREADERS=.*$|DEFAULT_CDROMREADERS=\"cd-paranoia cdda2wav\"|g" \
"abcde"
substituteInPlace "abcde" \

View File

@ -0,0 +1,16 @@
Add an alias for `which'.
--- abcde-2.3.99.6/abcde 2006-08-05 21:14:00.000000000 +0200
+++ abcde-2.3.99.6/abcde 2008-10-29 22:49:16.000000000 +0100
@@ -15,6 +15,11 @@
VERSION='2.3.99-$Revision: 222M $'
+which ()
+{
+ type -P $1
+}
+
usage ()
{
echo "This is abcde v$VERSION."

View File

@ -1,5 +1,5 @@
args: with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src =
fetchurl {
url = mirror://sourceforge/audacity/audacity-src-1.3.3.tar.gz;

View File

@ -1,5 +1,5 @@
args: with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src =
fetchurl {
url = http://plugin.org.uk/releases/0.4.15/swh-plugins-0.4.15.tar.gz;

View File

@ -6,7 +6,7 @@ let
sha256 = "1b908csn85ng9sz5s5d1mqk711cmawain2z8px2ajngihdrynb67";
};
in
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
buildInputs = [];
inherit src;
};

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation {
name = "xmms-1.2.10";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/xmms-1.2.10.tar.bz2;
url = http://nixos.org/tarballs/xmms-1.2.10.tar.bz2;
md5 = "03a85cfc5e1877a2e1f7be4fa1d3f63c";
};

View File

@ -0,0 +1,96 @@
args: with args; let
# hint: eclipse -data <dir to save global eclipse settings>
eclipsePlugin = name : src : stdenv.mkDerivation {
inherit src;
name = "${name}-eclipse-plugin";
phases = "unpackPhase";
buildInputs = [ args.unzip ];
unpackPhase = ''
mkdir tmp; cd tmp
unpackFile "$src"
[ -d ./eclipse ] || { # if plugin doesn't contain the eclipse directory itself create it (eg viPlugin)
mkdir "$TMP/eclipse"
mv * "$TMP/eclipse"
cd "$TMP"
}
ensureDir $out;
mv eclipse "$out"
'';
};
eclipseEnv = {name, eclipse, links}: runCommand name { inherit links eclipse; } ''
ensureDir $out/eclipse/links;
cp -r "$eclipse/bin" "$out/bin"
for f in $eclipse/eclipse/*; do
# using ln eclipse doesn't take the correct link folder :-( (TODO)
# ln -s "$f" "$out/eclipse/$(basename "$f")"
cp -r "$f" "$out/eclipse/$(basename "$f")"
done
# create links
for link in $links; do
echo "path=$link" >> "$out/eclipse/links/$(basename "$link").link"
done
'';
# mmh, this derivation is superfluous. We could also create them directly
# instead of symlinking them into the final env build by buildEnv
linkFile = deriv : writeTextFile {
name = "${deriv.name}-eclipse-feature-link";
destination = "/eclipse/links/${deriv.name}.link";
};
attr = rec {
eclipse = import ( ../eclipse-new + "/${version}/eclipse.nix") args; # without any additional plugins, why can't I use ./ instead of ../eclipse-new ?
plugins = rec {
viPlugin = { # see its license!
plugin = eclipsePlugin "viPlugin_1.15.6" (fetchurl {
url = http://www.satokar.com/viplugin/files/viPlugin_1.15.6.zip;
sha256 = "0p53q45a754j143pnnp51rjwj7lzawcxfy9xzpjasdic4a2l0f96";
# license = "Other/Proprietary License with Free Trial";
});
};
# PHP developement
emfSdoXsdSDK232 = {
plugin = eclipsePlugin "emf-sdo-xsd-SDK-2.3.2" (fetchurl {
url = http://eclipsemirror.yoxos.com/eclipse.org/modeling/emf/emf/downloads/drops/2.3.2/R200802051830/emf-sdo-xsd-SDK-2.3.2.zip;
sha256 = "1k20fn47x1giwhc80rzkqaw3mn0p3861sjp7aw39842lv2hjwn1c";
});
};
gefSDK332 = {
plugin = eclipsePlugin "GEF-SDK-3.3.2" (fetchurl {
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/tools/gef/downloads/drops/3.3.2/R200802211602/GEF-SDK-3.3.2.zip;
sha256 = "1pk5qlwk0iyvs85s966y96ks8vq1g81fivvbf4lh43155rg0z037";
});
};
wtpSdkR202X = {
plugin = eclipsePlugin "wtp-sdk-R-2.0.2-20080223205547" (fetchurl {
url = http://ftp.wh2.tu-dresden.de/pub/mirrors/eclipse/webtools/downloads/drops/R2.0/R-2.0.2-20080223205547/wtp-sdk-R-2.0.2-20080223205547.zip;
sha256 = "0hmmmqzcd67jir2gmjd0xri5w2434xb2dk21hpgcv2qp0h9hhx0f";
});
};
pdt = {
deps = [ wtpSdkR202X gefSDK332 emfSdoXsdSDK232 ];
plugin = eclipsePlugin "pdt-runtime-1.0.3" (fetchurl {
url = http://sunsite.informatik.rwth-aachen.de:3080/eclipse/tools/pdt/downloads/drops/1.0.3/R200806030000/pdt-runtime-1.0.3.zip;
sha256 = "0wd2vc9bqrk5mqj5al2ichm8lxlf7gwifsb9lzv1d896j04ilm96";
});
};
};
};
pluginToList = a : [ a.plugin ] ++ lib.optionals (a ? deps ) (lib.concatMap pluginToList a.deps);
in
eclipseEnv {
name = "eclipse-${version}-with-plugins";
inherit (attr) eclipse;
links =
# example custom config: eclipse = { plugins = {eclipse, version, plugins } : let p = plugins; in [p.pdt]; };
let userChosenPlugins = (getConfig [ "eclipse" "plugins" ] ( {eclipse, version, plugins} : [] ))
{ inherit (attr) eclipse plugins; inherit version; };
in # concatenate plugins and plugin dependencies
(lib.uniqList { inputList = lib.concatMap pluginToList userChosenPlugins; });
}

View File

@ -0,0 +1,22 @@
--- a/build.xml 2008-03-02 14:34:05.000000000 +0100
+++ b/build.xml 2008-03-02 14:34:57.000000000 +0100
@@ -291,19 +291,6 @@
</condition>
<property name="bootclasspath" refid="default.bootclasspath" />
- <!--set the compiler and compiler arguments-->
- <!--the default compiler is set to the one used by eclipse rel. eng. -->
- <condition property="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter">
- <available file="${basedir}/ecj.jar" />
- </condition>
- <fail message="The Eclipse compiler (ecj.jar) cannot be found.">
- <condition>
- <not>
- <equals arg1="${build.compiler}" arg2="org.eclipse.jdt.core.JDTCompilerAdapter" />
- </not>
- </condition>
- </fail>
-
<property name="compilerArg" value="-enableJavadoc -encoding ISO-8859-1" />
<property name="javacSource" value="1.6" />
<property name="javacTarget" value="1.6" />

View File

@ -0,0 +1,53 @@
# Note, if you want to install plugins using the update manager you should
# copy the store path to a local directory and chown -R $USER yourcopy
# Then start your local copy
args: with args;
let arch = if stdenv.system == "x86_64-linux" then "x86_64"
else if stdenv.system == "i686-linux" then "x86"
else throw "not supported system";
in
args.stdenv.mkDerivation rec {
name = "eclipse-classic-3.3.1.1";
unpackPhase = "unzip \$src; set -x ";
buildInputs = [ unzip jdk gtk glib libXtst ant makeWrapper];
patches=./build-with-jdk-compiler.patch;
buildPhase = "./build -os linux -ws gtk -arch ${arch}";
libraries = [gtk glib libXtst];
installPhase = "
t=\$out/share/${name}
ensureDir \$t \$out/bin
cd result
tar xfz linux-gtk-*.tar.gz
mv eclipse \$out
"
#copied from other eclipse expressions
+" rpath=
for i in \$libraries; do
rpath=\$rpath\${rpath:+:}\$i/lib
done
find \$out \\( -type f -a -perm +0100 \\) \\
-print \\
-exec patchelf --interpreter \"$(cat \$NIX_GCC/nix-support/dynamic-linker)\" \\
--set-rpath \"\$rpath\" {} \\;
# Make a wrapper script so that the proper JDK is found.
makeWrapper \$out/eclipse/eclipse \$out/bin/eclipse \\
--prefix PATH \":\" \"\$jdk/bin\" \\
--prefix LD_LIBRARY_PATH \":\" \"\$rpath\"
sed -e 's=exec.*=exec \$(dirname $0)/../eclipse/eclipse $@=' -i \$out/bin/eclipse
";
# using dirname so that eclipse still runs after copying the whole store
# directory somewhere else (so that you can use the update manager
src = args.fetchurl {
url = http://mawercer.de/~nix/iyyx4hs1mgh1b1wa78j07pgq9k882m2k-eclipse-sourceBuild-srcIncluded-3.3.1.1.zip;
sha256 = "0n56i7ml816f839704qlkgs5ahl0iqgwc80kjq7n7g5rl9a4vhp4";
};
}

View File

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

View File

@ -1,12 +1,14 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "ed-1.0";
name = "ed-1.1";
src = fetchurl {
url = "mirror://gnu/ed/${name}.tar.bz2";
sha256 = "0mwkbz6qy6hqbdk7hwl6271yjsm5nh1v70aynp51zncj0s0b2r7r";
sha256 = "0hikn102jywxy86599k0ys4h2r3lshlfihrpjr7dqaxch49pgb56";
};
doCheck = true;
meta = {
description = "GNU ed, an implementation of the standard Unix editor";

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
name = "emacs-21.4a";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/emacs-21.4a.tar.gz;
url = http://nixos.org/tarballs/emacs-21.4a.tar.gz;
md5 = "8f9d97cbd126121bd5d97e5e31168a87";
};
patches = [./crt.patch];

View File

@ -2,7 +2,7 @@
name = "cua-mode-2.10";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/cua-mode-2.10.el;
url = http://nixos.org/tarballs/cua-mode-2.10.el;
md5 = "5bf5e43f5f38c8383868c7c6c5baca09";
};
}

View File

@ -2,7 +2,7 @@
name = "nxml-mode-20041004";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/nxml-mode-20041004.tar.gz;
url = http://nixos.org/tarballs/nxml-mode-20041004.tar.gz;
md5 = "ac137024cf337d6f11d8ab278d39b4db";
};
}

View File

@ -6,7 +6,7 @@ stdenv.mkDerivation {
src = fetchurl {
# XXX: Upstream URL is not versioned, which might eventually break this.
url = "http://www.neilvandyke.org/quack/quack.el";
sha256 = "1j68azxbc54hdk3cw9q95qpz99wgj9xxgrzzwmydxh3zafy5faqs";
sha256 = "1xmpbdb064s3l3cv4agf03ir1g7xfzyvlqayr3yy5f8z3i6pf7mi";
};
buildInputs = [ emacs ];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/monodevelop-0.6-pre2315.tar.bz2;
url = http://nixos.org/tarballs/monodevelop-0.6-pre2315.tar.bz2;
md5 = "8c33df5629b0676b7ab552854c1de6fd";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/monodoc-1.0.6.tar.gz;
url = http://nixos.org/tarballs/monodoc-1.0.6.tar.gz;
md5 = "f2fc27e8e4717d90dc7efa2450625693";
};

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "batik-1.6";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/batik-1.6.zip;
url = http://nixos.org/tarballs/batik-1.6.zip;
md5 = "edff288fc64f968ff96ca49763d50f3c";
};

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation {
makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/f-spot-0.0.10.tar.bz2;
url = http://nixos.org/tarballs/f-spot-0.0.10.tar.bz2;
md5 = "19cc6e067ccc261b0502ff6189b79832";
};

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, pkgconfig, gtk, libgtkhtml, freetype
, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl
, perlXMLParser, python, pygtk, gettext, xlibs
, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl, gegl
}:
stdenv.mkDerivation {
name = "gimp-2.4.7";
name = "gimp-2.6.2";
src = fetchurl {
url = ftp://ftp.gtk.org/pub/gimp/v2.4/gimp-2.4.7.tar.bz2;
sha256 = "1j8904cy5sp021fz7ikh2dxm339a36ihns94qr9i1y7sb3qfx66k";
url = ftp://ftp.gtk.org/pub/gimp/v2.6/gimp-2.6.2.tar.bz2;
sha256 = "0bdbqn800i6bbyqww01379zlj687dhcnm4hr9qxmv5wgffcgiari";
};
buildInputs = [
pkgconfig gtk libgtkhtml freetype fontconfig
libart_lgpl libtiff libjpeg libpng libexif zlib perl
perlXMLParser python pygtk gettext
perlXMLParser python pygtk gettext intltool babl gegl
];
configureFlags = [ "--disable-print" ];

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://prdownloads.sourceforge.net/jocr/gocr-0.44.tar.gz;

View File

@ -1,4 +1,4 @@
args : with args; let localDefs = builderDefs.meta.function (args // rec {
args : with args; let localDefs = builderDefs.passthru.function (args // rec {
version = lib.getAttr ["version"] "5.07" args;
src = /* put a fetchurl here */
fetchurl {

View File

@ -3,6 +3,15 @@
stdenv.mkDerivation {
name = "cdrtools-2.01";
builder = ./builder.sh;
#hack, I'm getting "chown: invalid user: `bin" error, so replace chown by a nop dummy script
preInstall = ''
mkdir "$TMP/bin"
for i in chown chgrp; do
echo '#!/bin/sh' >> "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
PATH="$TMP/bin:$PATH"
done
'';
src = fetchurl {
url = ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.01.tar.bz2;
md5 = "d44a81460e97ae02931c31188fe8d3fd";

View File

@ -0,0 +1,19 @@
args: with args;
stdenv.mkDerivation {
name = "multisync-0.82-1";
src = fetchurl {
url = mirror://sourceforge/multisync/multisync-0.82-1.tar.bz2;
sha256 = "1azb6zsn3n1rnla2qc3c440gc4vgmbj593k6xj5g1v0xha2vm2y3";
};
buildInputs = [ gtk glib ORBit2 libbonobo libtool pkgconfig libgnomeui GConf
automake autoconf
];
preConfigure = "./autogen.sh"; # install.sh is not contained in the tar
meta = {
description = "modular program to synchronize calendars, addressbooks and other PIM data between pcs, mobile devices etc";
};
}

View File

@ -3,13 +3,19 @@ args: with args;
stdenv.mkDerivation {
name="xneur";
src = fetchurl {
url = "http://dists.xneur.ru/release-0.8.0/tgz/xneur-0.8.0.tar.bz2";
sha256 = "1f05bm4vqdrlm8rxwgqv89k5lhc236xg841aw4snw514g0hi2sl8";
url = "http://dists.xneur.ru/release-0.9.2/tgz/xneur-0.9.2.tar.bz2";
sha256 = "1zk13ixd82nq8a2rzmmk53xy2iphydf57mfb2ndfil21rkffr0jq";
};
buildInputs = [libX11 pkgconfig pcre GStreamer glib libxml2 aspell];
buildInputs = [libX11 pkgconfig pcre GStreamer glib libxml2 aspell
libXpm];
preConfigure = "sed -e 's/-Werror//' -i configure";
inherit aspell;
preConfigure = ''
sed -e 's/-Werror//' -i configure
sed -e 's/for aspell_dir in/for aspell_dir in $aspell /' -i configure
'';
meta = {
description = "xneur is the keyboard layout switcher.";

View File

@ -10,12 +10,12 @@
}:
stdenv.mkDerivation {
name = "firefox-2.0.0.16";
name = "firefox-2.0.0.17";
builder = ./builder.sh;
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.16/source/firefox-2.0.0.16-source.tar.bz2;
sha1 = "ae1d451ce85a5515b37d73d2c4b7cb1377206d86";
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.17/source/firefox-2.0.0.17-source.tar.bz2;
sha1 = "ba95d9f64f2307b109dbce25d7a17af7e68298ed";
};
buildInputs = [

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig
, libjpeg, zlib, cairo, dbus, dbus_glib, bzip2
, freetype, fontconfig, xulrunner
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
@ -11,19 +11,20 @@
}:
stdenv.mkDerivation {
name = "firefox-3.0.1";
name = "firefox-3.0.4";
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.1/source/firefox-3.0.1-source.tar.bz2;
sha1 = "ba3bb0b02404cf1abfb6189b156b2f4eb02e8975";
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.4/source/firefox-3.0.4-source.tar.bz2;
sha1 = "16715b4af7ca2bad6baa8d450a3fd9cb375ad6d6";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig
xlibs.libXi xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt
];
propagatedBuildInputs = [xulrunner];
configureFlags = [
"--enable-application=browser"
"--enable-optimize"
@ -36,35 +37,21 @@ stdenv.mkDerivation {
"--enable-system-cairo"
#"--enable-system-sqlite" # <-- this seems to be discouraged
"--disable-crashreporter"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
];
postInstall = ''
export dontPatchELF=1;
# Strip some more stuff
# Strip some more stuff.
strip -S $out/lib/*/* || true
# Fix some references to /bin paths in the Firefox shell script.
substituteInPlace $out/bin/firefox \
--replace /bin/pwd "$(type -tP pwd)" \
--replace /bin/ls "$(type -tP ls)"
# 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-[0-9]*)
test -n "$libDir"
cd $out/bin
mv firefox ../lib/$libDir/
ln -s ../lib/$libDir/firefox .
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner
# Register extensions etc.
# Register extensions etc. !!! is this needed anymore?
echo "running firefox -register..."
(cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || 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/
$out/bin/firefox -register
''; # */
meta = {
@ -72,7 +59,10 @@ stdenv.mkDerivation {
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = {inherit gtk;};
passthru = {
inherit gtk;
isFirefox3Like = true;
};
}

View File

@ -9,12 +9,18 @@
enableOfficialBranding ? false
}:
let
version = "1.9.0.4"; # this attribute is used by other packages
in
stdenv.mkDerivation {
name = "xulrunner-1.9.0.1";
name = "xulrunner-${version}";
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.1/source/firefox-3.0.1-source.tar.bz2;
sha1 = "ba3bb0b02404cf1abfb6189b156b2f4eb02e8975";
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.4/source/firefox-3.0.4-source.tar.bz2;
sha1 = "16715b4af7ca2bad6baa8d450a3fd9cb375ad6d6";
};
buildInputs = [
@ -75,7 +81,7 @@ stdenv.mkDerivation {
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = {inherit gtk;};
passthru = { inherit gtk version; };
}

View File

@ -103,7 +103,10 @@ stdenv.mkDerivation {
licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
};
passthru = {inherit gtk;};
passthru = {
inherit gtk;
isFirefox3Like = true;
};
}

View File

@ -0,0 +1,12 @@
source $stdenv/setup
dontStrip=1
dontPatchELF=1
installPhase() {
ensureDir $out/lib/mozilla/plugins
cp -p libflashplayer.so $out/lib/mozilla/plugins
patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
}
genericBuild

View File

@ -0,0 +1,27 @@
{stdenv, fetchurl, zlib, alsaLib, curl}:
assert stdenv.system == "i686-linux";
stdenv.mkDerivation {
name = "flashplayer-10.0.12.36";
builder = ./builder.sh;
src = fetchurl {
url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz;
sha256 = "0bcn07a3684krqbh6cw08hb8lymm0wijnlcx5bvln44749kzg7wf";
};
inherit zlib alsaLib;
passthru = {
mozillaPlugin = "/lib/mozilla/plugins";
};
rpath = "${zlib}/lib:${alsaLib}/lib:${curl}/lib";
meta = {
description = "Adobe Flash Player browser plugin";
homepage = http://www.adobe.com/products/flashplayer/;
};
}

View File

@ -1,9 +0,0 @@
source $stdenv/setup
installPhase() {
mkdir -p $out/lib/mozilla/plugins
cp -p flashplayer.xpt libflashplayer.so $out/lib/mozilla/plugins
echo "$zlib/lib:$libXmu/lib" > $out/lib/mozilla/plugins/extra-library-path
}
genericBuild

View File

@ -1,13 +0,0 @@
{stdenv, fetchurl, zlib, libXmu}:
(stdenv.mkDerivation {
name = "flashplayer-7.0r25";
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/install_flash_player_7_linux.tar.gz;
md5 = "79c59a5ea29347e01c8e6575dd054cd1";
};
inherit zlib libXmu;
}) // {mozillaPlugin = "/lib/mozilla/plugins";}

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, browser, browserName, libXpm, gettext}:
{stdenv, fetchurl, pkgconfig, browser, libXpm, gettext}:
stdenv.mkDerivation rec {
name = "mplayerplug-in-3.55";
@ -9,13 +9,10 @@ stdenv.mkDerivation rec {
};
patches =
(if browserName == "icecat" # FIXME: Should match Firefox 3 as well.
then [ ./icecat3-idldir.patch ]
else []);
stdenv.lib.optional (browser ? isFirefox3Like) ./icecat3-idldir.patch;
postConfigure =
(if browserName == "icecat" # FIXME: Should match Firefox 3 as well.
then ''
(if browser ? isFirefox3Like then ''
# Cause a rebuild of these file from the IDL file, needed for GNU IceCat 3
# and Mozilla Firefox 3.
# See, e.g., http://article.gmane.org/gmane.comp.mozilla.mplayerplug-in/2104 .

View File

@ -8,7 +8,7 @@ assert motif != null -> libXt != null;
# Hm, does Opera 9.x still use Motif for anything?
stdenv.mkDerivation rec {
version = "9.24-20071015.5";
version = "9.62-20081029";
name = "opera-${version}";
inherit libstdcpp5;
@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
builder = ./builder.sh;
src = if (stdenv.system == "i686-linux") then
fetchurl {
url = ftp://ftp.task.gda.pl/pub/opera/linux/950b/final/en/i386/shared/opera-9.50b-20071024.5-shared-qt.i386-en.tar.bz2;
sha256 = "0vv1q86is9x6vw8fx92wrnvlyn4x29zgk9zjn66rcx37n6grqqah";
url = ftp://ftp.task.gda.pl/pub/opera/linux/962/final/en/i386/shared/opera-9.62.gcc3-shared-qt3.i386.tar.gz;
sha256 = "9b204cce912450886cbc49d1cadc3f5907b044626b100c05e07c6bfec74c56f4";
} else if (stdenv.system == "x86_64-linux") then
fetchurl {
url = http://snapshot.opera.com/unix/snapshot-1754/x86_64-linux/opera-9.50-20080110.2-shared-qt.x86_64-1754.tar.bz2;

View File

@ -1,37 +0,0 @@
diff -rc w3m-0.5.1-orig/configure w3m-0.5.1/configure
*** w3m-0.5.1-orig/configure 2004-04-28 20:19:24.000000000 +0200
--- w3m-0.5.1/configure 2005-09-16 11:33:48.000000000 +0200
***************
*** 5642,5648 ****
echo "$as_me:$LINENO: checking for -l$lib" >&5
echo $ECHO_N "checking for -l$lib... $ECHO_C" >&6
extlib="not found"
! for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
do
if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
LIBS="$LIBS -l$lib"
--- 5642,5648 ----
echo "$as_me:$LINENO: checking for -l$lib" >&5
echo $ECHO_N "checking for -l$lib... $ECHO_C" >&6
extlib="not found"
! for dir in /no-such-path
do
if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
LIBS="$LIBS -l$lib"
***************
*** 5768,5774 ****
if test x"$enable_ipv6" = xno; then
echo "$as_me:$LINENO: checking for libinet6" >&5
echo $ECHO_N "checking for libinet6... $ECHO_C" >&6
! for dir in /usr/local/v6/lib /usr/local/lib /usr/lib
do
if test -f $dir/libinet6.a; then
if test $dir != "/usr/lib"; then
--- 5768,5774 ----
if test x"$enable_ipv6" = xno; then
echo "$as_me:$LINENO: checking for libinet6" >&5
echo $ECHO_N "checking for libinet6... $ECHO_C" >&6
! for dir in /no-such-path
do
if test -f $dir/libinet6.a; then
if test $dir != "/usr/lib"; then

View File

@ -1,5 +0,0 @@
source $stdenv/setup
configureFlags="--with-ssl=$openssl --with-gc=$boehmgc $configureFlags"
genericBuild

View File

@ -9,20 +9,24 @@ assert graphicsSupport -> gdkpixbuf != null;
stdenv.mkDerivation {
name = "w3m-0.5.2";
builder = ./builder.sh;
src = fetchurl {
url = mirror://sourceforge/w3m/w3m-0.5.2.tar.gz;
md5 = "ba06992d3207666ed1bf2dcf7c72bf58";
};
inherit openssl boehmgc;
buildInputs = [
ncurses boehmgc gettext zlib
(if sslSupport then openssl else null)
(if graphicsSupport then gdkpixbuf else null)
];
#patches = [./bsd.patch];
buildInputs = [ncurses boehmgc gettext zlib]
++ stdenv.lib.optional sslSupport openssl
++ stdenv.lib.optional graphicsSupport gdkpixbuf;
configureFlags = "--with-ssl=${openssl} --with-gc=${boehmgc}";
preConfigure = ''
substituteInPlace ./configure --replace /usr /no-such-path
'';
meta = {
homepage = http://w3m.sourceforge.net;
homepage = http://w3m.sourceforge.net/;
description = "A text-mode web browser";
};
}

View File

@ -20,10 +20,10 @@
} :
stdenv.mkDerivation {
name = "pidgin-2.5.1";
name = "pidgin-2.5.2";
src = fetchurl {
url = mirror://sourceforge/pidgin/pidgin-2.5.1.tar.bz2;
sha256 = "0xsvwy2d71lxddmyzm5fjripbhy1ljph4r2nz1rbw11qnj47ms0k";
url = mirror://sourceforge/pidgin/pidgin-2.5.2.tar.bz2;
sha256 = "1p39nvwy3c7wc97a6i88f6rrg5d3a6vv0wdard4vkfmva81l24r0";
};
inherit nss ncurses;

View File

@ -11,13 +11,13 @@
}:
stdenv.mkDerivation {
name = "thunderbird-2.0.0.16";
name = "thunderbird-2.0.0.18";
builder = ./builder.sh;
src = fetchurl {
url = ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.16/source/thunderbird-2.0.0.16-source.tar.bz2;
sha1 = "30092e38d621c30af02653d3bf246d98d2533853";
url = ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.18/source/thunderbird-2.0.0.18-source.tar.bz2;
sha1 = "4d05300280763e34c7a115835523ed2805f7733c";
};
buildInputs = [

View File

@ -1,5 +1,5 @@
args : with args; with builderDefs;
let localDefs = builderDefs.meta.function ((rec {
let localDefs = builderDefs.passthru.function ((rec {
src = /* put a fetchurl here */
fetchurl {
url = http://download2.berlios.de/linuxdcpp/linuxdcpp-1.0.1.tar.bz2;

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation {
patches = [ ./makefile.patch ];
buildInputs = [ glew mesa libpng libXpm lesstif lynx freeglut libtiff rxp sablotron libXaw perl jdk transfig libX11 libXext libXt gv xfig gnuplot ];
buildInputs = [ glew mesa libpng libXpm lesstif lynx freeglut libtiff rxp sablotron libXaw perl jdk transfig libX11 libXext libXt gv gnuplot ];
unpackPhase = ''
tar xzf $src
@ -34,19 +34,19 @@ stdenv.mkDerivation {
cp -vau lib/pts $shareddir/lib
rm -vrf lib/pts
ln -vs $shareddir/lib/pts $out/lib/pts
chmod a+rwx -R $shareddir/lib/pts
chmod a+rwx $shareddir/lib/pts
# link out writable shared location lib/nas/
ensureDir $shareddir/lib/nas
cp -vau lib/nas $shareddir/lib
rm -vrf lib/nas
ln -vs $shareddir/lib/nas $out/lib/nas
chmod a+rwx -R $shareddir/lib/nas
chmod a+rwx $shareddir/lib/nas
# link out shared lib/pixmaps (not sure about this, yet):
ensureDir $shareddir/lib/pixmaps
cp -vau lib/pixmaps $shareddir/lib
rm -vrf lib/pixmaps
ln -vs $shareddir/lib/pixmaps $out/lib/pixmaps
chmod a+rwx -R $shareddir/lib/pixmaps
chmod a+rwx $shareddir/lib/pixmaps
# bulk copy
cp -vau * $out
# replace arb script

View File

@ -1,11 +1,12 @@
{stdenv, fetchurl, ghc, zlib, ncurses, curl, perl}:
stdenv.mkDerivation {
name = "darcs-2.0.2";
name = "darcs-2.1.0";
src = fetchurl {
url = http://darcs.net/darcs-2.0.2.tar.gz;
sha256 = "17plbfwz2rvzbvr9b90z55lj51ilnq22hhr38hffila1gsxqfk0n";
url = http://www.darcs.net/darcs-2.1.0.tar.gz;
sha256 = "d5a63e62bceb45905163d508c6b25158dab6aca367015566d8c539ec37107ab4";
};
buildInputs = [ghc zlib ncurses curl perl];
NIX_LDFLAGS = "-lz";

View File

@ -1,4 +1,10 @@
{stdenv, fetchurl, ghc, zlib, ncurses, curl}:
{stdenv, fetchurl, ghc, zlib, ncurses, curl, getConfig}:
# you really should consider using darcs2 and updating your darcs-1 repos ..
# many performance improvements have been made if you use the darcs-2 or hashed format
# (darcs-2 is default now when runnig darcs 2.1.0)
# lookup darcs convert and make sure you understand the one way conversion..
assert getConfig ["darcs" "IreallyWantDarcsOne"] false;
stdenv.mkDerivation {
name = "darcs-1.0.9";

View File

@ -10,11 +10,11 @@ assert svnSupport -> (subversion != null && perlLibs != [] && subversion.perlBin
stdenv.mkDerivation rec {
name = "git-1.6.0.1";
name = "git-1.6.0.4";
src = fetchurl {
url = "mirror://kernel/software/scm/git/${name}.tar.bz2";
sha256 = "1vpnq5gr6831kywpbwppmqyj7xnlxkzzim8mchy925d0bpmz9l0b";
sha256 = "0q5jnix65zn58dhd9xc3sjpamli0lh1bnsz1b9riwwicgwssrk7q";
};
patches = [ ./docbook2texi.patch ];

View File

@ -1,23 +1,42 @@
args: with args;
stdenv.mkDerivation {
name = "mercurial-0.9.5";
name = "mercurial-1.0.2";
src = fetchurl {
url = http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz;
sha256 = "1n34yl4z7nc3vmsgpkmqc94hsmy846ny86xgpgv3m371ljm2pq6g";
url = http://www.selenic.com/mercurial/release/mercurial-1.0.2.tar.gz;
sha256 = "0fj2aakband855684q76h7zl328iq8i6l81c2k64hy5m0if9hvgr";
};
inherit python; # pass it so that the same version can be used in hg2git
buildInputs = [ python makeWrapper ];
makeFlags = "PREFIX=$(out)";
postInstall = ''
for i in $(cd $out/bin && ls); do
wrapProgram $out/bin/$i \
--prefix PYTHONPATH : "$(toPythonPath $out)"
done
'';
postInstall = (if args.guiSupport then
''
ensureDir $out/etc/mercurial
cp contrib/hgk $out/bin
cat >> $out/etc/mercurial/hgrc << EOF
[extensions]
hgk=$out/lib/python2.5/site-packages/hgext/hgk.py
EOF
# setting HG so that hgk can be run itself as well (not only hg view)
WRAP_TK=" --set TK_LIBRARY \"${tk}/lib/tk8.4\"
--set HG \"$out/bin/hg\"
--prefix PATH : \"${tk}/bin\" "
''
else "")
+
''
for i in $(cd $out/bin && ls); do
wrapProgram $out/bin/$i \
--prefix PYTHONPATH : "$(toPythonPath $out)" \
$WRAP_TK
done
'';
meta = {
description = "A fast, lightweight SCM system for very large distributed projects";
homepage = http://www.selenic.com/mercurial/;
license = "GPLv2";
};
}

View File

@ -8,6 +8,7 @@
, javahlBindings ? false
, stdenv, fetchurl, apr, aprutil, neon, zlib
, httpd ? null, expat, swig ? null, jdk ? null
, static ? false
}:
assert bdbSupport -> aprutil.bdbSupport;
@ -19,13 +20,13 @@ assert compressionSupport -> neon.compressionSupport;
stdenv.mkDerivation rec {
version = "1.5.2";
version = "1.5.4";
name = "subversion-${version}";
src = fetchurl {
url = http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2;
sha256 = "1xf7hacidr8wxdf2m64lhv42sjis5hz469yslcpp4xfd6n846k3w";
url = http://subversion.tigris.org/downloads/subversion-1.5.4.tar.bz2;
sha256 = "0h7v8ngbjmxbcwjxl4y7w6qygs0qc228jdpqf5s2i21rnmbn4jz2";
};
buildInputs = [zlib apr aprutil]
@ -35,8 +36,8 @@ stdenv.mkDerivation rec {
;
configureFlags = ''
--disable-static
--disable-keychain
${if static then "--disable-shared --enable-all-static" else "--disable-static"}
${if bdbSupport then "--with-berkeley-db" else "--without-berkeley-db"}
${if httpServer then "--with-apxs=${httpd}/bin/apxs" else "--without-apxs"}
${if pythonBindings || perlBindings then "--with-swig=${swig}" else "--without-swig"}
@ -56,7 +57,7 @@ stdenv.mkDerivation rec {
make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
fi
if test "$perlBindings"; then
make swig-pl-lib
make install-swig-pl-lib

View File

@ -0,0 +1,34 @@
args:
args.stdenv.mkDerivation {
name = "cinelerra-git";
src = args.sourceByName "cinelerra";
perl = args.perl;
preConfigure = ''
find -type f -print0 | xargs --null sed -e "s@/usr/bin/perl@$perl/bin/perl@" -i
./autogen.sh
'';
configureOptions = ["--enable-freetype2"];
buildInputs =(with args; [
automake autoconf libtool pkgconfig
X11 faad2 faac
a52dec alsaLib fftw lame libavc1394 libiec61883
libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype
mjpegtools x264 gettext openexr esound
#
libXxf86vm libXv
libtheora libpng libdv
nasm
perl
e2fsprogs
]);
meta = {
description = "Cinelerra - Video Editor";
homepage = http://www.cinelerra.org;
license = "GPLv2";
};
}

View File

@ -1,17 +1,17 @@
{ stdenv, fetchurl
, SDL, SDL_mixer, GStreamer
, libogg, libxml2, libjpeg, mesa, libpng, libtool
, boost, freetype, agg, dbus, curl, pkgconfig
, glib, gtk, x11
, lib}:
, SDL, SDL_mixer, gstreamer, gstPluginsBase, gstFfmpeg
, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
, boost, freetype, agg, dbus, curl, pkgconfig, gettext
, glib, gtk, x11, ming, dejagnu, python
, lib, makeWrapper }:
let version = "0.8.3"; in
let version = "0.8.4"; in
stdenv.mkDerivation rec {
name = "gnash-${version}";
src = fetchurl {
url = "mirror://gnu/gnash/${version}/${name}.tar.bz2";
sha256 = "16n32774sd5q4nkd95v2m8r2yfa9fk30jnq1iicarq3j8i2xh7xg";
sha256 = "094jky77ghdisq17z742cwn3g9ckm937p8h5jbji5rrdqbdlpzkg";
};
builder = ./builder.sh;
@ -34,20 +34,40 @@ stdenv.mkDerivation rec {
# XXX: KDE is supported as well so we could make it available optionally.
buildInputs = [x11 SDL SDL_mixer GStreamer libtool
libogg libxml2 libjpeg mesa libpng boost freetype agg
dbus curl pkgconfig glib gtk];
buildInputs = [
gettext x11 SDL SDL_mixer gstreamer gstPluginsBase gstFfmpeg libtool
libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk
makeWrapper
# For the test suite
ming dejagnu python
];
inherit SDL_mixer SDL;
# Make sure `gtk-gnash' gets `libXext' in its `RPATH'.
NIX_LDFLAGS="-lX11 -lXext";
#doCheck = true;
preInstall = ''ensureDir $out/plugins'';
postInstall = ''make install-plugins'';
postInstall = ''
make install-plugins
# Wrap programs so the find the GStreamer plug-ins they need
# (e.g., gst-ffmpeg is needed to watch movies such as YouTube's).
for prog in $out/bin/*
do
wrapProgram "$prog" --prefix \
GST_PLUGIN_PATH ":" \
"${gstPluginsBase}/lib/gstreamer-0.10:${gstFfmpeg}/lib/gstreamer-0.10"
done
'';
meta = {
homepage = http://www.gnu.org/software/gnash/;
description = ''Gnash is the GNU Flash movie player.'';
description = "GNU Gnash, an SWF movie player";
license = "GPLv3+";
};
} // {mozillaPlugin = "/plugins";}

View File

@ -13,4 +13,10 @@ stdenv.mkDerivation {
# !!! don't know why this is necessary
NIX_LDFLAGS = "-rpath ${libXext}/lib";
meta = {
description = "screencast video catpuring tool";
homepage = http://xvidcap.sourceforge.net/;
license = "GPLv2";
};
}

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/zapping-0.10cvs6.tar.bz2;
url = http://nixos.org/tarballs/zapping-0.10cvs6.tar.bz2;
md5 = "6aa7614ac3fd5d39c89c2198598ad27b";
};

View File

@ -1,6 +1,6 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = [ http://fabrice.bellard.free.fr/qemu/linux-0.2.img.bz2 http://bellard.org/qemu/linux-0.2.img.bz2];

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/compiz-bcop-0.7.4.tar.bz2;
@ -8,7 +8,7 @@ args : with args;
buildInputs = (import ../general-dependencies.nix args);
propagatedBuildInputs = [getopt libxslt];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
let
fixPkgconfig = FullDepEntry ("

View File

@ -0,0 +1,34 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/compiz-bcop-0.7.8.tar.bz2;
sha256 ="1rs5r5b6rl39vlw68i8bwm5izs5dm666kygmg1c8dy2dab0xsnkq";
};
buildInputs = (import ../general-dependencies.nix args);
propagatedBuildInputs = [getopt libxslt];
configureFlags = [];
} ;
in with localDefs;
let
fixPkgconfig = FullDepEntry ("
ensureDir \$out/lib
ln -fs \$out/share/pkgconfig \$out/lib/pkgconfig
") [minInit doMakeInstall defEnsureDir];
fixInterpreter = FullDepEntry ("
sed -e 's@^#!/bin/bash@#! ${stdenv.bash}/bin/bash@' -i \$out/bin/bcop
") [minInit doMakeInstall];
in
stdenv.mkDerivation rec {
name = "compiz-bcop-"+version;
builder = writeScript (name + "-builder")
(textClosure localDefs [doAutotools doConfigure doMakeInstall fixPkgconfig fixInterpreter doForceShare
doPropagate]);
inherit propagatedBuildInputs;
meta = {
description = "
Compiz BCOP.
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/simple-ccsm-0.7.4.tar.bz2;
@ -14,7 +14,7 @@ args : with args;
"PYTHONPATH" "\$PYTHONPATH"
"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-settings-"+args.version;

View File

@ -0,0 +1,29 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/simple-ccsm-0.7.8.tar.bz2;
sha256 ="0djdzz1m9nvwzxfaywdm90bi816nig2ybfynf48394a5hpsng3l9";
};
buildInputs = (import ../general-dependencies.nix args) ++
[libcompizconfig bcop compizConfigPython python gettext pygtk
pycairo configBackendGConf];
configureFlags = [];
wrappedEnv = [
"PYTHONPATH" "$(toPythonPath \$out)"
"PYTHONPATH" "\$PYTHONPATH"
"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
];
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-settings-"+args.version;
builder = writeScript (name + "-builder")
(textClosure localDefs [installPythonPackage (doWrap "\$out/bin/simple-ccsm")]);
meta = {
description = "
Compiz Settings Manager (simplified)
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/ccsm-0.7.4.tar.bz2;
@ -14,7 +14,7 @@ args : with args;
"PYTHONPATH" "\$PYTHONPATH"
"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-settings-"+args.version;

View File

@ -0,0 +1,29 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/ccsm-0.7.8.tar.bz2;
sha256 ="0s8difywj0ghc8c5xjxihfp8qhlhv5kyh00c2br1jh2ap5rrdfgc";
};
buildInputs = (import ../general-dependencies.nix args) ++
[libcompizconfig bcop compizConfigPython python gettext pygtk
pycairo configBackendGConf];
configureFlags = [];
wrappedEnv = [
"PYTHONPATH" "$(toPythonPath \$out)"
"PYTHONPATH" "\$PYTHONPATH"
"PYTHONPATH" "$(toPythonPath ${pygtk})/gtk-2.0"
];
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-settings-"+args.version;
builder = writeScript (name + "-builder")
(textClosure localDefs [installPythonPackage (doWrap "\$out/bin/ccsm")]);
meta = {
description = "
Compiz Settings Manager
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/compizconfig-python-0.7.4.tar.bz2;
@ -8,7 +8,7 @@ args : with args;
buildInputs = (import ../general-dependencies.nix args) ++
[libcompizconfig bcop python pyrex configBackendGConf];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-python-"+args.version;

View File

@ -0,0 +1,23 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/compizconfig-python-0.7.8.tar.bz2;
sha256 ="13g8vpgkimrbp19pd475ijiwbqx3zin0nzq8636l71yaqb0kjfjn";
};
buildInputs = (import ../general-dependencies.nix args) ++
[libcompizconfig bcop python pyrex configBackendGConf];
configureFlags = [];
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-python-"+args.version;
builder = writeScript (name + "-builder")
(textClosure localDefs [doAutotools doConfigure doMakeInstall doForceShare]);
meta = {
description = "
Compiz configuration - Python part.
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/compizconfig-backend-gconf-0.7.4.tar.bz2;
@ -9,7 +9,7 @@ args : with args;
[bcop libcompizconfig];
configureFlags = [];
forceShare = ["man" "doc" "info" "lib/compizconfig"];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-backend-GConf-"+version;

View File

@ -0,0 +1,24 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/compizconfig-backend-gconf-0.7.8.tar.bz2;
sha256 ="18bcfx3c2ipj3spfr8dg07h98pw77jh28w91w6n2fd5ffr6ja9q5";
};
buildInputs = (import ../general-dependencies.nix args) ++
[bcop libcompizconfig];
configureFlags = [];
forceShare = ["man" "doc" "info" "lib/compizconfig"];
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "compizconfig-backend-GConf-"+version;
builder = writeScript (name + "-builder")
(textClosure localDefs [doAutotools doConfigure doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Compiz configuration backend (GConf).
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/compiz-fusion-plugins-extra-0.7.4.tar.bz2;
@ -8,7 +8,7 @@ args : with args;
buildInputs = (import ../general-dependencies.nix args)++
[bcop libjpeg gettext pluginsMain];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
let
sharePlugins = FullDepEntry ("

View File

@ -0,0 +1,32 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/compiz-fusion-plugins-extra-0.7.8.tar.bz2;
sha256 ="0hdnabq1bxln5cf6k9532iszj5qbhwkyl3b5d1gwfr80i01qxzy9";
};
buildInputs = (import ../general-dependencies.nix args)++
[bcop libjpeg gettext pluginsMain];
configureFlags = [];
} ;
in with localDefs;
let
sharePlugins = FullDepEntry ("
ensureDir \$out/share/compiz-plugins
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
") [minInit doMakeInstall defEnsureDir];
fixIncludes = FullDepEntry (''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pluginsMain}/include/compiz"
'') [minInit doUnpack];
in
stdenv.mkDerivation rec {
name = "compiz-fusion-plugins-extra-"+version;
builder = writeScript (name + "-builder")
(textClosure localDefs [fixIncludes doConfigure doMakeInstall sharePlugins doForceShare]);
meta = {
description = "
Extra Compiz Fusion plugins.
";
inherit src;
};
}

View File

@ -5,5 +5,5 @@ args: with args;
[
libpng
GConf mesa metacity librsvg dbus.libs dbus_glib gnomedesktop git autoconf automake
libtool libxslt libwnck intltool perl perlXMLParser compiz
libtool libxslt libwnck intltool perl perlXMLParser compiz pkgconfig libxml2
]

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/libcompizconfig-0.7.4.tar.bz2;
@ -8,7 +8,7 @@ args : with args;
buildInputs = (import ../general-dependencies.nix args)++
[bcop];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "libcompizconfig-"+version;

View File

@ -0,0 +1,23 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/libcompizconfig-0.7.8.tar.bz2;
sha256 ="1026icgzyjxnn68gbkd85n9p8pxlwbc3h0dqqvpqmr93q1nhdmjr";
};
buildInputs = (import ../general-dependencies.nix args)++
[bcop];
configureFlags = [];
} ;
in with localDefs;
stdenv.mkDerivation rec {
name = "libcompizconfig-"+version;
builder = writeScript (name + "-builder")
(textClosure localDefs [doIntltool doAutotools doConfigure doMakeInstall doForceShare]);
meta = {
description = "
Compiz configuration backend library.
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.4/compiz-fusion-plugins-main-0.7.4.tar.bz2;
@ -8,7 +8,7 @@ args : with args;
buildInputs = (import ../general-dependencies.nix args)++
[bcop libjpeg gettext];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
} ;
in with localDefs;
let
sharePlugins = FullDepEntry ("

View File

@ -0,0 +1,29 @@
args : with args;
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.7.8/compiz-fusion-plugins-main-0.7.8.tar.bz2;
sha256 ="0lrvqi8kc8m6yap8pqbdg0wksckd3v3rp3k48q82pyvcwhaaf817";
};
buildInputs = (import ../general-dependencies.nix args)++
[bcop libjpeg gettext];
configureFlags = [];
} ;
in with localDefs;
let
sharePlugins = FullDepEntry ("
ensureDir \$out/share/compiz-plugins
ln -vsf \$out/lib/compiz \$out/share/compiz-plugins
") [minInit doMakeInstall defEnsureDir];
in
stdenv.mkDerivation rec {
name = "compiz-fusion-plugins-main-"+version;
builder = writeScript (name + "-builder")
(textClosure localDefs [doConfigure doMakeInstall sharePlugins doForceShare]);
meta = {
description = "
Main Compiz Fusion plugins.
";
inherit src;
};
}

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/compiz/0.6.2/compiz-0.6.2.tar.bz2;

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://xorg.freedesktop.org/archive/individual/app/compiz-0.7.8.tar.gz;

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://garr.dl.sourceforge.net/sourceforge/fbpanel/fbpanel-4.12.tgz;

View File

@ -1,10 +1,10 @@
args : with args;
let
localDefs = with (builderDefs.meta.function {src="";});
localDefs = with (builderDefs.passthru.function {src="";});
let
checkFlag = flag : lib.getAttr [flag] false args;
in
builderDefs.meta.function ({
builderDefs.passthru.function ({
inherit src;
inherit checkFlag;
buildInputs = [];

View File

@ -39,8 +39,7 @@ if test -z "$finalPath"; then
trap "rm -rf $tmpPath" EXIT
# 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
echo p | svn export --quiet -r "$rev" "$url" $tmpFile >&2
# Compute the hash.
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)

View File

@ -85,7 +85,7 @@ for url in $urls; do
echo "warning: unknown mirror:// site \`$site'"
else
# Assume that SourceForge/GNU/kernel mirrors have better
# bandwidth than nix.cs.uu.nl.
# bandwidth than nixos.org.
preferHashedMirrors=
mirrors=${!varName}

View File

@ -75,7 +75,7 @@ stdenv.mkDerivation {
urls = urls_;
# If set, prefer the content-addressable mirrors
# (http://nix.cs.uu.nl/dist/tarballs) over the original URLs.
# (http://nixos.org/tarballs) over the original URLs.
preferHashedMirrors = true;
# Compatibility with Nix <= 0.7.

View File

@ -10,7 +10,6 @@ rec {
# SourceForge.
sourceforge = [
http://prdownloads.sourceforge.net/
http://heanet.dl.sourceforge.net/sourceforge/
http://surfnet.dl.sourceforge.net/sourceforge/
http://dfn.dl.sourceforge.net/sourceforge/
@ -18,6 +17,7 @@ rec {
http://ovh.dl.sourceforge.net/sourceforge/
http://osdn.dl.sourceforge.net/sourceforge/
http://kent.dl.sourceforge.net/sourceforge/
http://prdownloads.sourceforge.net/
];
sf = sourceforge;
@ -163,6 +163,9 @@ rec {
# Debian.
debian = [
ftp://ftp.de.debian.org/debian/
ftp://ftp.es.debian.org/debian/
ftp://ftp.fr.debian.org/debian/
ftp://ftp.it.debian.org/debian/
ftp://ftp.nl.debian.org/debian/
ftp://ftp.ru.debian.org/debian/
ftp://ftp.debian.org/debian/

View File

@ -0,0 +1,78 @@
# This function compiles a source tarball in a virtual machine image
# that contains a Debian-like (i.e. dpkg-based) OS.
{vmTools, fetchurl}: args: with args;
vmTools.runInLinuxImage (stdenv.mkDerivation (
{
name = "debian-build";
doCheck = true;
prefix = "/usr";
phases = "installExtraDebsPhase sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase distPhase";
}
// args //
{
src = src.path;
# !!! cut&paste from rpm-build.nix
postHook = ''
ensureDir $out/nix-support
cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
# If `src' is the result of a call to `makeSourceTarball', then it
# has a subdirectory containing the actual tarball(s). If there are
# multiple tarballs, just pick the first one.
echo $src
if test -d $src/tarballs; then
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
fi
''; # */
extraDebs = [
(fetchurl {
url = http://checkinstall.izto.org/files/deb/checkinstall_1.6.1-1_i386.deb;
sha256 = "0c9wwk1m0w677gr37zd4lhvkskkcrwa0bk7csh7b3qy94pnab618";
})
];
installExtraDebsPhase = ''
for i in $extraDebs; do
dpkg --install $i
done
'';
sysInfoPhase = ''
echo "System/kernel: $(uname -a)"
if test -e /etc/debian_version; then echo "Debian release: $(cat /etc/debian_version)"; fi
header "installed Debian packages"
dpkg-query --list
stopNest
'';
installCommand = ''
/usr/local/sbin/checkinstall -y -D make install
ensureDir $out/debs
find . -name "*.deb" -exec cp {} $out/debs \;
shopt -s nullglob
for i in $out/debs/*.deb; do
header "Generated DEB package: $i"
dpkg-deb --info $i
echo "file deb $i" >> $out/nix-support/hydra-build-products
stopNest
done
''; # */
meta = (if args ? meta then args.meta else {}) // {
description = "Build of a Deb package on ${args.diskImage.fullName} (${args.diskImage.name})";
};
}
))

View File

@ -0,0 +1,27 @@
{pkgs}:
with pkgs;
rec {
makeSourceTarball = args: import ./make-source-tarball.nix (
{ inherit autoconf automake libtool;
stdenv = stdenvNew;
} // args);
nixBuild = args: import ./nix-build.nix (
{ inherit stdenv;
} // args);
coverageAnalysis = args: nixBuild (
{ inherit lcov;
doCoverageAnalysis = true;
} // args);
rpmBuild = args: import ./rpm-build.nix vmTools args;
debBuild = args: import ./debian-build.nix {inherit vmTools fetchurl;} (
{ inherit stdenv;
} // args);
}

View File

@ -0,0 +1,107 @@
# This function converts an un-Autoconfed source tarball (typically a
# checkout from a Subversion or CVS repository) into a source tarball
# by running `autoreconf', `configure' and `make dist'.
{ officialRelease ? false
, buildInputs ? []
, src, stdenv, autoconf, automake, libtool
, ... } @ args:
let
versionSuffix =
if officialRelease
then ""
else if src ? rev then "pre${toString src.rev}" else "";
in
stdenv.mkDerivation (
# First, attributes that can be overriden by the caller (via args):
{
name = "source-tarball";
# By default, only configure and build a source distribution.
# Some packages can only build a distribution after a general
# `make' (or even `make install').
dontBuild = true;
dontInstall = true;
doDist = true;
# If we do install, install to a dummy location.
useTempPrefix = true;
showBuildStats = true;
preConfigurePhases = "autoconfPhase";
postPhases = "finalPhase";
}
# Then, the caller-supplied attributes.
// args //
# And finally, our own stuff.
{
src = src.path;
buildInputs = buildInputs ++ [autoconf automake libtool];
postHook = ''
ensureDir $out/nix-support
'';
postUnpack = ''
# Set all source files to the current date. This is because Nix
# resets the timestamp on all files to 0 (1/1/1970), which some
# people don't like (in particular GNU tar prints harmless but
# frightening warnings about it).
touch now
touch -d "1970-01-01 00:00:00 UTC" then
find $sourceRoot ! -newer then -print0 | xargs -0r touch --reference now
eval "$nextPostUnpack"
'';
nextPostUnpack = if args ? postUnpack then args.postUnpack else "";
# Autoconfiscate the sources.
autoconfPhase = ''
export VERSION_SUFFIX=${versionSuffix}
eval "$preAutoconf"
if test -f ./bootstrap; then ./bootstrap
elif test -f ./bootstrap.sh; then ./bootstrap.sh
elif test -f ./reconf; then ./reconf
elif test -f ./configure.in || test -f ./configure.ac; then
autoreconf --install --force --verbose
else
echo "No bootstrap, bootstrap.sh, configure.in or configure.ac. Assuming this is not an GNU Autotools package."
fi
eval "$postAutoconf"
'';
# Cause distPhase to copy tar.bz2 in addition to tar.gz.
tarballs = "*.tar.gz *.tar.bz2";
finalPhase = ''
shopt -s nullglob
for i in $out/tarballs/*; do
echo "file source-dist $i" >> $out/nix-support/hydra-build-products
done
# Try to figure out the release name.
releaseName=$( (cd $out/tarballs && ls) | head -n 1 | sed -e 's^\.[a-z].*^^')
test -n "$releaseName" && (echo "$releaseName" >> $out/nix-support/hydra-release-name)
''; # */
passthru = {inherit src;};
meta = (if args ? meta then args.meta else {}) // {
description = "Build of a source distribution from a checkout";
};
}
)

View File

@ -0,0 +1,95 @@
# This function builds and tests an Autoconf-style source tarball.
# The result can be installed normally in an environment (e.g., after
# making it available through a channel). If `doCoverageAnalysis' is
# true, it does an ordinary build from a source tarball, except that
# it turns on GCC's coverage analysis feature. It then runs `make
# check' and produces a coverage analysis report using `lcov'.
{ doCoverageAnalysis ? false
, lcovFilter ? []
, src, stdenv
, ... } @ args:
stdenv.mkDerivation (
{
name = "nix-build";
# Also run a `make check'.
doCheck = true;
# When doing coverage analysis, we don't care about the result.
dontInstall = doCoverageAnalysis;
showBuildStats = true;
# Hack - swap checkPhase and installPhase (otherwise Stratego barfs).
phases = "unpackPhase patchPhase configurePhase buildPhase installPhase checkPhase fixupPhase distPhase ${if doCoverageAnalysis then "coverageReportPhase" else ""}";
}
// args //
{
src = src.path;
postHook = ''
ensureDir $out/nix-support
echo "$system" > $out/nix-support/system
if test -z "${toString doCoverageAnalysis}"; then
echo "nix-build none $out" >> $out/nix-support/hydra-build-products
fi
# If `src' is the result of a call to `makeSourceTarball', then it
# has a subdirectory containing the actual tarball(s). If there are
# multiple tarballs, just pick the first one.
echo $src
if test -d $src/tarballs; then
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
fi
# Hack to compress log files. Prevents (by pointer hiding!)
# unnecessary dependencies.
startLogWrite() {
# Use process substitution to send the FIFO output to both
# stdout and bzip2.
bash -c "tee >(bzip2 > \"$1\".bz2) < \"$2\"" &
logWriterPid=$!
}
# Set GCC flags for coverage analysis, if desired.
if test -n "${toString doCoverageAnalysis}"; then
export NIX_CFLAGS_COMPILE="-O0 -fprofile-arcs -ftest-coverage $NIX_CFLAGS_COMPILE"
export CFLAGS="-O0"
export CXXFLAGS="-O0"
fi
''; # */
# In the report phase, create a coverage analysis report.
coverageReportPhase = if doCoverageAnalysis then ''
${args.lcov}/bin/lcov --directory . --capture --output-file app.info
set -o noglob
${args.lcov}/bin/lcov --remove app.info $lcovFilter > app2.info
set +o noglob
mv app2.info app.info
mkdir $out/coverage
${args.lcov}/bin/genhtml app.info -o $out/coverage > log
# Grab the overall coverage percentage for use in release overviews.
grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate
echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products
'' else "";
lcovFilter = ["/nix/store/*"] ++ lcovFilter;
meta = (if args ? meta then args.meta else {}) // {
description = if doCoverageAnalysis then "Coverage analysis" else "Native Nix build on ${stdenv.system}";
};
}
)

View File

@ -0,0 +1,41 @@
# This function builds an RPM from a source tarball that contains a
# RPM spec file (i.e., one that can be built using `rpmbuild -ta').
vmTools: args: with args;
vmTools.buildRPM (
{
name = "rpm-build";
}
// args //
{
src = src.path;
preBuild = ''
ensureDir $out/nix-support
cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
# If `src' is the result of a call to `makeSourceTarball', then it
# has a subdirectory containing the actual tarball(s). If there are
# multiple tarballs, just pick the first one.
if test -d $src/tarballs; then
src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1)
fi
''; # */
postInstall = ''
shopt -s nullglob
for i in $out/rpms/*/*.rpm; do
echo "file rpm $i" >> $out/nix-support/hydra-build-products
done
''; # */
meta = (if args ? meta then args.meta else {}) // {
description = "Build of an RPM package on ${args.diskImage.fullName} (${args.diskImage.name})";
};
}
)

View File

@ -233,6 +233,15 @@ rec {
'';
modifyDerivation = f: attrs:
let attrsCleaned = removeAttrs attrs ["meta" "passthru" "outPath" "drvPath"];
newDrv = derivation (attrsCleaned // (f attrs));
in newDrv //
{ meta = if attrs ? meta then attrs.meta else {};
passthru = if attrs ? passthru then attrs.passthru else {};
};
/* Run a derivation in a Linux virtual machine (using Qemu/KVM). By
default, there is no disk image; the root filesystem is a tmpfs,
and /nix/store is shared with the host (via the CIFS protocol to
@ -254,7 +263,7 @@ rec {
`run-vm' will be left behind in the temporary build directory
that allows you to boot into the VM and debug it interactively. */
runInLinuxVM = attrs: derivation (removeAttrs attrs ["meta" "passthru" "outPath" "drvPath"] // {
runInLinuxVM = modifyDerivation (attrs: {
builder = "${bash}/bin/sh";
args = ["-e" (vmRunCommand qemuCommandLinux)];
origArgs = attrs.args;
@ -289,7 +298,7 @@ rec {
- Reboot to shutdown the machine (because Qemu doesn't seem
capable of a APM/ACPI VM shutdown).
*/
runInGenericVM = attrs: derivation (removeAttrs attrs ["meta" "passthru" "outPath" "drvPath"] // {
runInGenericVM = modifyDerivation (attrs: {
system = "i686-linux";
builder = "${bash}/bin/sh";
args = ["-e" (vmRunCommand qemuCommandGeneric)];
@ -391,6 +400,8 @@ rec {
${klibcShrunk}/bin/umount /mnt/nix/store
${klibcShrunk}/bin/umount /mnt
'';
passthru = {inherit fullName;};
});
@ -450,20 +461,32 @@ rec {
srcName="$strippedName"
cp "$src" "$srcName" # `ln' doesn't work always work: RPM requires that the file is owned by root
rpmbuild -vv -ta "$srcName" || fail
export HOME=/tmp/home
mkdir $HOME
rpmout=/tmp/rpmout
mkdir $rpmout $rpmout/SPECS $rpmout/BUILD $rpmout/RPMS $rpmout/SRPMS
echo "%_topdir $rpmout" >> $HOME/.rpmmacros
rpmbuild -vv -ta "$srcName"
eval "$postBuild"
'';
installPhase = ''
eval "$preInstall"
ensureDir $out/$outDir
find /usr/src -name "*.rpm" -exec cp {} $out/$outDir \;
find $rpmout -name "*.rpm" -exec cp {} $out/$outDir \;
for i in $out/$outDir/*.rpm; do
header "Generated RPM/SRPM: $i"
rpm -qip $i
stopNest
done
eval "$postInstall"
''; # */
} // attrs));
@ -486,7 +509,6 @@ rec {
buildCommand = ''
${createRootFS}
echo "initialising Debian DB..."
PATH=$PATH:${dpkg}/bin:${dpkg}/sbin:${glibc}/sbin
# Unpack the .debs. We do this to prevent pre-install scripts
@ -507,6 +529,7 @@ rec {
${klibcShrunk}/bin/mount -o bind /dev /mnt/dev
# Misc. files/directories assumed by various packages.
echo "initialising Dpkg DB..."
touch /mnt/etc/shells
touch /mnt/var/lib/dpkg/status
touch /mnt/var/lib/dpkg/available
@ -543,6 +566,8 @@ rec {
${klibcShrunk}/bin/umount /mnt/dev
${klibcShrunk}/bin/umount /mnt
'';
passthru = {inherit fullName;};
});
@ -600,12 +625,15 @@ rec {
makeImageFromDebDist =
{name, fullName, size ? 2048, urlPrefix, packagesList, packages, postInstall ? ""}:
fillDiskWithDebs {
inherit name fullName size postInstall;
debs = import (debClosureGenerator {
let
expr = debClosureGenerator {
inherit name packagesList urlPrefix packages;
}) {inherit fetchurl;};
};
};
in
(fillDiskWithDebs {
inherit name fullName size postInstall;
debs = import expr {inherit fetchurl;};
}) // {inherit expr;};
/* A bunch of functions that build disk images of various Linux
@ -688,6 +716,27 @@ rec {
archs = ["noarch" "x86_64"];
} // args);
fedora10i386 = args: makeImageFromRPMDist ({
name = "fedora-10-i386";
fullName = "Fedora 10 (i386)";
packagesList = fetchurl {
url = mirror://fedora/linux/releases/10/Fedora/i386/os/repodata/primary.xml.gz;
sha256 = "15ha8pxzvlch707mpy06c7pkr2ra2vpd5b8x30qhydvx8fgcqcx9";
};
urlPrefix = mirror://fedora/linux/releases/10/Fedora/i386/os;
} // args);
fedora10x86_64 = args: makeImageFromRPMDist ({
name = "fedora-10-x86_64";
fullName = "Fedora 10 (x86_64)";
packagesList = fetchurl {
url = mirror://fedora/linux/releases/10/Fedora/x86_64/os/repodata/primary.xml.gz;
sha256 = "1pmaav6mdaw13fq99wfggbsmhcix306cimijjxh35qi7yc3wbsz4";
};
urlPrefix = mirror://fedora/linux/releases/10/Fedora/x86_64/os;
archs = ["noarch" "x86_64"];
} // args);
opensuse103i386 = args: makeImageFromRPMDist ({
name = "opensuse-10.3-i586";
fullName = "openSUSE 10.3 (i586)";
@ -701,7 +750,7 @@ rec {
# Interestingly, the SHA-256 hashes provided by Ubuntu in
# http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are
# wrong, but the SHA-1 and MD5 hashes are correct.
# wrong, but the SHA-1 and MD5 hashes are correct. Intrepid is fine.
ubuntu710i386 = args: makeImageFromDebDist ({
name = "ubuntu-7.10-gutsy-i386";
@ -733,22 +782,42 @@ rec {
urlPrefix = mirror://ubuntu;
} // args);
ubuntu810i386 = args: makeImageFromDebDist ({
name = "ubuntu-8.10-intrepid-i386";
fullName = "Ubuntu 8.10 Intrepid (i386)";
packagesList = fetchurl {
url = mirror://ubuntu/dists/intrepid/main/binary-i386/Packages.bz2;
sha256 = "70483d40a9e9b74598f2faede7df5d5103ee60055af7374f8db5c7e6017c4cf6";
};
urlPrefix = mirror://ubuntu;
} // args);
ubuntu810x86_64 = args: makeImageFromDebDist ({
name = "ubuntu-8.10-intrepid-amd64";
fullName = "Ubuntu 8.10 Intrepid (amd64)";
packagesList = fetchurl {
url = mirror://ubuntu/dists/intrepid/main/binary-amd64/Packages.bz2;
sha1 = "01b2f3842cbdd5834446ddf91691bcf60f59a726dcefa23fb5b93fdc8ea7e27f";
};
urlPrefix = mirror://ubuntu;
} // args);
debian40i386 = args: makeImageFromDebDist ({
name = "debian-4.0r4a-etch-i386";
fullName = "Debian 4.0r4a Etch (i386)";
name = "debian-4.0r5-etch-i386";
fullName = "Debian 4.0r5 Etch (i386)";
packagesList = fetchurl {
url = mirror://debian/dists/etch/main/binary-i386/Packages.bz2;
sha256 = "ce963cc348f89ca50f65a8e32aa518c590e213c26c9ead48b0899f01f4456a4a";
sha256 = "37a5c17fd8d62b1d9a0264a702025a4381c1a8751e2550d101957d8fa724a6f4";
};
urlPrefix = mirror://debian;
} // args);
debian40x86_64 = args: makeImageFromDebDist ({
name = "debian-4.0r4a-etch-amd64";
fullName = "Debian 4.0r4a Etch (amd64)";
name = "debian-4.0r5-etch-amd64";
fullName = "Debian 4.0r5 Etch (amd64)";
packagesList = fetchurl {
url = mirror://debian/dists/etch/main/binary-amd64/Packages.bz2;
sha256 = "3403ebca73baeb68092e32d2c61a14eec4497702ef7281a7c1485abeb3d263f6";
sha256 = "244dc892f89f2f73ce8372cdf1f1d450b00c0e95196927ef7f99715f0d119d5b";
};
urlPrefix = mirror://debian;
} // args);
@ -822,6 +891,11 @@ rec {
"curl"
"patch"
"diff"
"locales"
# Needed by checkinstall:
"util-linux"
"file"
"dpkg-dev"
];
@ -863,11 +937,15 @@ rec {
fedora8i386 = diskImageFuns.fedora8i386 { packages = commonFedoraPackages; };
fedora9i386 = diskImageFuns.fedora9i386 { packages = commonFedoraPackages; };
fedora9x86_64 = diskImageFuns.fedora9x86_64 { packages = commonFedoraPackages; };
fedora10i386 = diskImageFuns.fedora10i386 { packages = commonFedoraPackages; };
fedora10x86_64 = diskImageFuns.fedora10x86_64 { packages = commonFedoraPackages; };
opensuse103i386 = diskImageFuns.opensuse103i386 { packages = commonOpenSUSEPackages; };
ubuntu710i386 = diskImageFuns.ubuntu710i386 { packages = commonDebianPackages; };
ubuntu804i386 = diskImageFuns.ubuntu804i386 { packages = commonDebianPackages; };
ubuntu804x86_64 = diskImageFuns.ubuntu804x86_64 { packages = commonDebianPackages; };
ubuntu810i386 = diskImageFuns.ubuntu810i386 { packages = commonDebianPackages; };
ubuntu810x86_64 = diskImageFuns.ubuntu810x86_64 { packages = commonDebianPackages; };
debian40i386 = diskImageFuns.debian40i386 { packages = commonDebianPackages; };
debian40x86_64 = diskImageFuns.debian40x86_64 { packages = commonDebianPackages; };

View File

@ -69,7 +69,7 @@ sub closePackage {
my $pkg = $pkgs{$pkgName} or die "package $pkgName doesn't exist";
my $requires = $pkg->{format}->{'rpm:requires'}->{'rpm:entry'} or die;
my $requires = $pkg->{format}->{'rpm:requires'}->{'rpm:entry'} || [];
my @deps = ();
foreach my $req (@{$requires}) {

View File

@ -14,17 +14,17 @@ rec {
buildPatchelfRPM = buildRPM {
name = "patchelf-rpm";
src = patchelf.src;
diskImage = diskImages.fedora5i386;
diskImage = diskImages.fedora8i386;
};
testUbuntuImage = makeImageTestScript diskImages.ubuntu710i386;
testUbuntuImage = makeImageTestScript diskImages.ubuntu810i386;
buildInDebian = runInLinuxImage (stdenv.mkDerivation {
name = "deb-compile";
src = nixUnstable.src;
diskImage = diskImages.debian40r3i386;
diskImage = diskImages.ubuntu810i386;
memSize = 512;
phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase";
sysInfoPhase = ''

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "man-pages-3.05";
stdenv.mkDerivation rec {
name = "man-pages-3.11";
src = fetchurl {
url = mirror://kernel/linux/docs/man-pages/man-pages-3.05.tar.bz2;
sha256 = "08c48w41qjmv37g0fqcr1ky2y2mfnxqn55jxay079qrj5vxraink";
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.bz2";
sha256 = "1pl3jdp7vh6vl2drqdal3ggdc22icdgfkfbswh21k8jlcxf00dn8";
};
preBuild = "
@ -14,6 +14,6 @@ stdenv.mkDerivation {
meta = {
description = "Linux development manual pages";
homepage = ftp://ftp.win.tue.nl/pub/linux-local/manpages/;
homepage = http://kernel.org/pub/linux/docs/manpages/;
};
}

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation {
name = "bakoma-ttf";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/bakoma-ttf.tar.bz2;
url = http://nixos.org/tarballs/bakoma-ttf.tar.bz2;
sha256 = "1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km";
};

View File

@ -1,5 +1,5 @@
args : with args; with builderDefs;
let localDefs = builderDefs.meta.function (rec {
let localDefs = builderDefs.passthru.function (rec {
src = /* put a fetchurl here */
fetchurl {
url = http://crl.nmsu.edu/~mleisher/cu/cu12-1.9.tar.gz;

View File

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs.meta.function {
let localDefs = builderDefs.passthru.function {
src =""; /* put a fetchurl here */
buildInputs = [mkfontdir mkfontscale ttmkfdir];
configureFlags = [];

View File

@ -1,5 +1,5 @@
args : with args; with builderDefs;
let localDefs = builderDefs.meta.function (rec {
let localDefs = builderDefs.passthru.function (rec {
src = /* put a fetchurl here */
fetchurl {
url = http://prdownloads.sourceforge.net/junicode/junicode-0.6.15.zip;

View File

@ -1,5 +1,5 @@
args : with args; with builderDefs;
let localDefs = builderDefs.meta.function (rec {
let localDefs = builderDefs.passthru.function (rec {
src = /* put a fetchurl here */
fetchurl {
url = http://prdownloads.sourceforge.net/wqy/wqy-zenhei-0.4.23-1.tar.gz;

View File

@ -155,6 +155,7 @@ rec {
gnomeicontheme = import ./gnome-icon-theme.nix {
inherit fetchurl stdenv pkgconfig perl perlXMLParser
iconnamingutils gettext;
inherit (args) intltool;
input = desktop.gnomeicontheme;
};
@ -295,6 +296,11 @@ rec {
inherit (xlibs) libXmu;
input = desktop.gnomeutils;
};
gtkdoc = import ./gtkdoc.nix {
inherit (platform) gtkdoc;
inherit stdenv args;
};
};

View File

@ -1,11 +1,12 @@
{ input, stdenv, fetchurl, pkgconfig, perl, perlXMLParser
, iconnamingutils, gettext
, iconnamingutils, gettext, intltool
}:
stdenv.mkDerivation {
inherit (input) name src;
buildInputs = [pkgconfig perl perlXMLParser iconnamingutils gettext];
buildInputs = [intltool pkgconfig perl perlXMLParser iconnamingutils gettext ];
# the ln line can be removed because pkgconfig adds both locations
postInstall = "
ensureDir $out/lib
ln -s $out/share/pkgconfig $out/lib/pkgconfig # WTF?

View File

@ -0,0 +1,26 @@
{ stdenv, gtkdoc, args }: with args;
stdenv.mkDerivation {
inherit (gtkdoc) name src;
inherit docbook_xml_dtd_412;
buildInputs = [ perl
libxml2
xmlto docbook2x docbook_xsl docbook_xml_dtd_412 libxslt ];
# maybe there is a better way to pass the needed dtd and xsl files
# "-//OASIS//DTD DocBook XML V4.1.2//EN" and "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
preConfigure = ''
ensureDir $out/nix-support
cat > $out/nix-support/catalog.xml << EOF
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<nextCatalog catalog="${docbook_xsl}/xml/xsl/docbook/catalog.xml" />
<nextCatalog catalog="${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml" />
</catalog>
EOF
configureFlags="--with-xml-catalog=$out/nix-support/catalog.xml"
'';
}

View File

@ -193,9 +193,13 @@
gnomeicontheme = {
name = "gnome-icon-theme-2.22.0";
src = fetchurl {
url = http://ftp.gnome.org/pub/GNOME/desktop/2.22/2.22.1/sources/gnome-icon-theme-2.22.0.tar.bz2;
md5 = "a4c03092da28ad53ed3867aef83f29d9";
url = http://ftp.gnome.org/pub/GNOME/desktop/2.25/2.25.1/sources/gnome-icon-theme-2.24.0.tar.bz2;
sha256 = "1ciid3p21n5m2ixdc7b6sqjvw68pzg1adxljrcy7snnnxbwqj7xp";
};
#src = fetchurl {
# url = http://ftp.gnome.org/pub/GNOME/desktop/2.22/2.22.1/sources/gnome-icon-theme-2.22.0.tar.bz2;
# md5 = "a4c03092da28ad53ed3867aef83f29d9";
#};
};
gnomekeyring = {
name = "gnome-keyring-2.22.1";

View File

@ -3,9 +3,9 @@ args: with args;
stdenv.mkDerivation {
name = "kdebase-4.0.0";
#builder = ./builder.sh;
src = fetchurl {
url = http://download.kde.org/stable/4.0.0/src/kdebase-4.0.0.tar.bz2;
url = mirror://kde/stable/4.0.0/src/kdebase-4.0.0.tar.bz2;
md5 = "01d8f2f16cbd4e225efc996b0dd39769";
};

View File

@ -2,15 +2,20 @@ args: with args;
stdenv.mkDerivation rec {
name = "kdeedu-4.0.0";
src = fetchurl {
url = http://download.kde.org/stable/4.0.0/src/kdeedu-4.0.0.tar.bz2;
url = mirror://kde/stable/4.0.0/src/kdeedu-4.0.0.tar.bz2;
md5 = "73924e158e4a2de2107be441c808251f";
};
buildInputs = [kdelibs kdepimlibs kdeworkspace boost readline openbabel ocaml
libusb facile python];
# !!! shouldn't include directories, since that can lead to inconsistent hashing
# between different machines/users due to .svn directories. Either use filterSource
# or include the files separately.
myCmakeFiles = ./myCmakeFiles;
patchPhase = "
cp ${myCmakeFiles}/* ../cmake/modules
sed -e 's@+facile@\${LIBFACILE_INCLUDE_DIR}@' -i \\

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