Merge remote-tracking branch 'upstream/master' into x-updates

This commit is contained in:
Michael Raskin 2013-06-15 17:15:32 +04:00
commit 81b7f5fe63
39 changed files with 775 additions and 277 deletions

6
.gitignore vendored
View File

@ -2,6 +2,8 @@
,*
.*.swp
.*.swo
cpan-info
cpan_tmp/
result
doc/NEWS.html
doc/NEWS.txt
doc/manual.html
doc/manual.pdf

View File

@ -21,7 +21,7 @@ standard <varname>Makefile.PL</varname>. Its implemented in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
<para>Perl packages from CPAN are defined in <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/perl-packages.nix</filename></link>,
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix"><filename>pkgs/top-level/perl-packages.nix</filename></link>,
rather than <filename>pkgs/all-packages.nix</filename>. Most Perl
packages are so straight-forward to build that they are defined here
directly, rather than having a separate function for each package
@ -151,6 +151,43 @@ ClassC3Componentised = buildPerlPackage rec {
</para>
<section><title>Generation from CPAN</title>
<para>Nix expressions for Perl packages can be generated (almost)
automatically from CPAN. This is done by the program
<command>nix-generate-from-cpan</command>, which can be installed
as follows:</para>
<screen>
$ nix-env -i nix-generate-from-cpan
</screen>
<para>This program takes a Perl module name, looks it up on CPAN,
fetches and unpacks the corresponding package, and prints a Nix
expression on standard output. For example:
<screen>
$ nix-generate-from-cpan XML::Simple
XMLSimple = buildPerlPackage {
name = "XML-Simple-2.20";
src = fetchurl {
url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz;
sha256 = "5cff13d0802792da1eb45895ce1be461903d98ec97c9c953bc8406af7294434a";
};
propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ];
meta = {
description = "Easily read/write XML (esp config files)";
license = "perl";
};
};
</screen>
The output can be pasted into
<filename>pkgs/top-level/perl-packages.nix</filename> or wherever else
you need it.</para>
</section>
</section>

View File

@ -1,120 +0,0 @@
#! /bin/sh -e
name="$1"
[ -n "$name" ] || { echo "no name"; exit 1; }
cpan -D "$name" > cpan-info
url="$(echo $(cat cpan-info | sed '6!d'))"
[ -n "$url" ] || { echo "no URL"; exit 1; }
url="mirror://cpan/authors/id/$url"
echo "URL = $url" >&2
version=$(cat cpan-info | grep 'CPAN: ' | awk '{ print $2 }')
echo "VERSION = $version"
declare -a xs=($(PRINT_PATH=1 nix-prefetch-url "$url"))
hash=${xs[0]}
path=${xs[1]}
echo "HASH = $hash" >&2
namedash="$(echo $name | sed s/::/-/g)-$version"
attr=$(echo $name | sed s/:://g)
rm -rf cpan_tmp
mkdir cpan_tmp
tar xf "$path" -C cpan_tmp
shopt -s nullglob
meta=$(echo cpan_tmp/*/META.json)
if [ -z "$meta" ]; then
yaml=$(echo cpan_tmp/*/META.yml)
[ -n "$yaml" ] || { echo "no meta file"; exit 1; }
meta=$(echo $yaml | sed s/\.yml$/.json/)
perl -e '
use YAML;
use JSON;
local $/;
$x = YAML::Load(<>);
print encode_json $x;
' < $yaml > $meta
fi
description="$(json abstract < $meta | perl -e '$x = <>; print uc(substr($x, 0, 1)), substr($x, 1);')"
homepage="$(json resources.homepage < $meta)"
if [ -z "$homepage" ]; then
#homepage="$(json meta-spec.url < $meta)"
true
fi
license="$(json license < $meta | json -a 2> /dev/null || true)"
if [ -z "$license" ]; then
license="$(json -a license < $meta)"
fi
license="$(echo $license | sed s/perl_5/perl5/)"
f() {
local type="$1"
perl -e '
use JSON;
local $/;
$x = decode_json <>;
if (defined $x->{prereqs}) {
$x2 = $x->{prereqs}->{'$type'}->{requires};
} elsif ("'$type'" eq "runtime") {
$x2 = $x->{requires};
} elsif ("'$type'" eq "configure") {
$x2 = $x->{configure_requires};
} elsif ("'$type'" eq "build") {
$x2 = $x->{build_requires};
}
foreach my $y (keys %{$x2}) {
next if $y eq "perl";
eval "use $y;";
if (!$@) {
print STDERR "skipping Perl-builtin module $y\n";
next;
}
print $y, "\n";
};
' < $meta | sed s/:://g
}
confdeps=$(f configure)
builddeps=$(f build)
testdeps=$(f test)
runtimedeps=$(f runtime)
buildInputs=$(echo $(for i in $confdeps $builddeps $testdeps; do echo $i; done | sort | uniq))
propagatedBuildInputs=$(echo $(for i in $runtimedeps; do echo $i; done | sort | uniq))
echo "===" >&2
cat <<EOF
$attr = buildPerlPackage {
name = "$namedash";
src = fetchurl {
url = $url;
sha256 = "$hash";
};
EOF
if [ -n "$buildInputs" ]; then
cat <<EOF
buildInputs = [ $buildInputs ];
EOF
fi
if [ -n "$propagatedBuildInputs" ]; then
cat <<EOF
propagatedBuildInputs = [ $propagatedBuildInputs ];
EOF
fi
cat <<EOF
meta = {
homepage = $homepage;
description = "$description";
license = "$license";
};
};
EOF

View File

@ -0,0 +1,22 @@
{ stdenv, makeWrapper, perl, perlPackages }:
stdenv.mkDerivation {
name = "nix-generate-from-cpan-1";
buildInputs = [ makeWrapper perl perlPackages.YAML perlPackages.JSON ];
unpackPhase = "true";
buildPhase = "true";
installPhase =
''
mkdir -p $out/bin
cp ${./nix-generate-from-cpan.pl} $out/bin/nix-generate-from-cpan
wrapProgram $out/bin/nix-generate-from-cpan --set PERL5LIB $PERL5LIB
'';
meta = {
maintainers = [ stdenv.lib.maintainers.eelco ];
description = "Utility to generate a Nix expression for a Perl package from CPAN";
};
}

View File

@ -0,0 +1,162 @@
#! /run/current-system/sw/bin/perl -w
use strict;
use CPANPLUS::Backend;
use YAML;
use JSON;
my $module_name = $ARGV[0];
die "syntax: $0 <MODULE-NAME>\n" unless defined $module_name;
my $cb = CPANPLUS::Backend->new;
my @modules = $cb->search(type => "name", allow => [$module_name]);
die "module $module_name not found\n" if scalar @modules == 0;
die "multiple packages that match module $module_name\n" if scalar @modules > 1;
my $module = $modules[0];
sub pkg_to_attr {
my ($pkg_name) = @_;
my $attr_name = $pkg_name;
$attr_name =~ s/-\d.*//; # strip version
return "LWP" if $attr_name eq "libwww-perl";
$attr_name =~ s/-//g;
return $attr_name;
}
sub get_pkg_name {
my ($module) = @_;
my $pkg_name = $module->package;
$pkg_name =~ s/\.tar.*//;
$pkg_name =~ s/\.zip//;
return $pkg_name;
}
my $pkg_name = get_pkg_name $module;
my $attr_name = pkg_to_attr $pkg_name;
print STDERR "attribute name: ", $attr_name, "\n";
print STDERR "module: ", $module->module, "\n";
print STDERR "version: ", $module->version, "\n";
print STDERR "package: ", $module->package, , " (", $pkg_name, ", ", $attr_name, ")\n";
print STDERR "path: ", $module->path, "\n";
my $tar_path = $module->fetch();
print STDERR "downloaded to: $tar_path\n";
print STDERR "sha-256: ", $module->status->checksum_value, "\n";
my $pkg_path = $module->extract();
print STDERR "unpacked to: $pkg_path\n";
my $meta;
if (-e "$pkg_path/META.yml") {
$meta = YAML::LoadFile("$pkg_path/META.yml");
}
print STDERR "metadata: ", encode_json($meta), "\n";
# Map a module to the attribute corresponding to its package
# (e.g. HTML::HeadParser will be mapped to HTMLParser, because that
# module is in the HTML-Parser package).
sub module_to_pkg {
my ($module_name) = @_;
my @modules = $cb->search(type => "name", allow => [$module_name]);
if (scalar @modules == 0) {
# Fallback.
$module_name =~ s/:://g;
return $module_name;
}
my $module = $modules[0];
my $attr_name = pkg_to_attr(get_pkg_name $module);
print STDERR "mapped dep $module_name to $attr_name\n";
return $attr_name;
}
sub get_deps {
my ($type) = @_;
my $deps;
if (defined $meta->{prereqs}) {
die "unimplemented";
} elsif ($type eq "runtime") {
$deps = $meta->{requires};
} elsif ($type eq "configure") {
$deps = $meta->{configure_requires};
} elsif ($type eq "build") {
$deps = $meta->{build_requires};
}
my @res;
foreach my $n (keys %{$deps}) {
next if $n eq "perl";
# Hacky way to figure out if this module is part of Perl.
if ($n !~ /^JSON/ && $n !~ /^YAML/) {
eval "use $n;";
if (!$@) {
print STDERR "skipping Perl-builtin module $n\n";
next;
}
}
push @res, module_to_pkg($n);
}
return @res;
}
sub uniq {
return keys %{{ map { $_ => 1 } @_ }};
}
my @build_deps = sort(uniq(get_deps("configure"), get_deps("build"), get_deps("test")));
print STDERR "build deps: @build_deps\n";
my @runtime_deps = sort(uniq(get_deps("runtime")));
print STDERR "runtime deps: @runtime_deps\n";
my $homepage = $meta->{resources}->{homepage};
print STDERR "homepage: $homepage\n" if defined $homepage;
my $description = $meta->{abstract};
$description = uc(substr($description, 0, 1)) . substr($description, 1); # capitalise first letter
$description =~ s/\.$//; # remove period at the end
$description =~ s/\s*$//;
$description =~ s/^\s*//;
print STDERR "description: $description\n";
my $license = $meta->{license};
if (defined $license) {
$license = "perl5" if $license eq "perl_5";
print STDERR "license: $license\n";
}
my $build_fun = -e "$pkg_path/Build.PL" && ! -e "$pkg_path/Makefile.PL" ? "buildPerlModule" : "buildPerlPackage";
print STDERR "===\n";
print <<EOF;
$attr_name = $build_fun {
name = "$pkg_name";
src = fetchurl {
url = mirror://cpan/${\$module->path}/${\$module->package};
sha256 = "${\$module->status->checksum_value}";
};
EOF
print <<EOF if scalar @build_deps > 0;
buildInputs = [ @build_deps ];
EOF
print <<EOF if scalar @runtime_deps > 0;
propagatedBuildInputs = [ @runtime_deps ];
EOF
print <<EOF;
meta = {
EOF
print <<EOF if defined $homepage;
homepage = $homepage;
EOF
print <<EOF;
description = "$description";
EOF
print <<EOF if defined $license;
license = "$license";
EOF
print <<EOF;
};
};
EOF

View File

@ -1,14 +1,14 @@
# This file is autogenerated from update.sh in the same directory.
{
dev = {
version = "29.0.1516.3";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1516.3.tar.xz";
sha256 = "0pdn9c6v0v55d7g4amivxrv132bpj9sfqywk5b8l6kqfjq28mw5k";
version = "29.0.1521.3";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1521.3.tar.xz";
sha256 = "0szc3g24jlhcp8cgijdv0q9rfn3mhp2kjyc85ml4snskkpasfrv3";
};
beta = {
version = "28.0.1500.36";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.36.tar.xz";
sha256 = "1bz9w46ps8gj056hfwbcj4myyxyr7y759nagz9idraia8116m3pp";
version = "28.0.1500.45";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.45.tar.xz";
sha256 = "01sxqv6i7m5h0jsypg801w2ivbrir37wdi4ijd5yvprkyzbd90zi";
};
stable = {
version = "27.0.1453.110";

View File

@ -1,6 +1,7 @@
#!/bin/sh
channels_url="http://omahaproxy.appspot.com/all?csv=1";
history_url="http://omahaproxy.appspot.com/history";
bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
@ -41,6 +42,17 @@ sha_insert()
ver_sha_table="$ver_sha_table $version:$sha256";
}
get_newest_ver()
{
versions="$(for v in $@; do echo "$v"; done)";
if oldest="$(echo "$versions" | sort -V 2> /dev/null | tail -n1)";
then
echo "$oldest";
else
echo "$versions" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n1;
fi;
}
if [ -e "$output_file" ];
then
get_sha256()
@ -53,38 +65,55 @@ then
echo -n "Checking if $oldver ($channel) is up to date..." >&2;
if [ "x$version" != "x$oldver" ];
if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ];
then
echo " no, getting sha256 for new version $version:" >&2;
sha256="$(nix-prefetch-url "$url")";
sha256="$(nix-prefetch-url "$url")" || return 1;
else
echo " yes, keeping old sha256." >&2;
sha256="$(nix_getattr "$output_file" "$channel.sha256")";
sha256="$(nix_getattr "$output_file" "$channel.sha256")" \
|| return 1;
fi;
sha_insert "$version" "$sha256";
echo "$sha256";
return 0;
}
else
get_sha256()
{
nix-prefetch-url "$url";
nix-prefetch-url "$3";
}
fi;
fetch_filtered_history()
{
curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p';
}
get_prev_sha256()
{
channel="$1";
current_version="$2";
for version in $(fetch_filtered_history "$channel");
do
[ "x$version" = "x$current_version" ] && continue;
url="${bucket_url%/}/chromium-$version.tar.xz";
sha256="$(get_sha256 "$channel" "$version" "$url")" || continue;
echo "$sha256:$version:$url";
return 0;
done;
}
get_channel_exprs()
{
for chline in $(echo "$1" | cut -d, -f-2);
for chline in $1;
do
channel="${chline%%,*}";
version="${chline##*,}";
# XXX: Remove case after version 26 is stable:
if [ "${version%%.*}" -ge 26 ]; then
url="${bucket_url%/}/chromium-$version.tar.xz";
else
url="${bucket_url%/}/chromium-$version.tar.bz2";
fi;
url="${bucket_url%/}/chromium-$version.tar.xz";
echo -n "Checking if sha256 of version $version is cached..." >&2;
if sha256="$(sha_lookup "$version")";
@ -93,6 +122,17 @@ get_channel_exprs()
else
echo " no." >&2;
sha256="$(get_sha256 "$channel" "$version" "$url")";
if [ $? -ne 0 ];
then
echo "Whoops, failed to fetch $version, trying previous" \
"versions:" >&2;
sha_ver_url="$(get_prev_sha256 "$channel" "$version")";
sha256="${sha_ver_url%%:*}";
ver_url="${sha_ver_url#*:}";
version="${ver_url%%:*}";
url="${ver_url#*:}";
fi;
fi;
sha_insert "$version" "$sha256";
@ -108,7 +148,7 @@ get_channel_exprs()
cd "$(dirname "$0")";
omaha="$(curl -s "$channels_url")";
versions="$(echo "$omaha" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')";
versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')";
channel_exprs="$(get_channel_exprs "$versions")";
cat > "$output_file" <<-EOF

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
, xapian_full_alaveteli, gpgme, libiconvOrEmpty }:
, xapian_full_alaveteli, gpgme, libiconvOrEmpty, rmail, mime_types, chronic
, trollop, lockfile, gettext, iconv, locale, text }:
stdenv.mkDerivation {
name = "sup-d21f027afcd6a4031de9619acd8dacbd2f2f4fd4";
@ -31,33 +32,25 @@ stdenv.mkDerivation {
export HOME=$TMP/home; mkdir -pv "$HOME"
GEM_PATH="$GEM_PATH:$out/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${xapian_full_alaveteli}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${gettext}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${iconv}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${locale}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${lockfile}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${rmail}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${text}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${xapian_full_alaveteli}/${ruby.gemPath}"
# Don't install some dependencies -- we have already installed
# ncursesw-sup, xapian-full-alaveteli and gpgme, but gem doesn't acknowledge
# this
# the dependencies but gem doesn't acknowledge this
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri pkg/sup-999.gem \
--ignore-dependencies
# Now install the dependencies that will work out of the box
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri rmail
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri trollop
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri lockfile
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri mime-types
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri gettext
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri chronic
gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \
--bindir "$out/bin" --no-rdoc --no-ri iconv
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix GEM_PATH : "$GEM_PATH"
done

View File

@ -10,11 +10,11 @@
*/
stdenv.mkDerivation rec {
name = "gnucash-2.4.11";
name = "gnucash-2.4.13";
src = fetchurl {
url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
sha256 = "0qbpgd6spclkmwryi66cih0igi5a6pmsnk41mmnscpfpz1mddhwk";
sha256 = "0j4m00a3r1hcrhkfjkx3sgi2r4id4wrc639i4s00j35rx80540pn";
};
buildInputs = [

View File

@ -3,7 +3,7 @@
{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
let
version = "8.4";
version = "8.4pl2";
buildIde = lablgtk != null;
ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
idePath = if buildIde then ''
@ -15,8 +15,8 @@ stdenv.mkDerivation {
name = "coq-${version}";
src = fetchurl {
url = "http://pauillac.inria.fr/~herbelin/coq/distrib/V${version}/files/coq-${version}.tar.gz";
sha256 = "0ka2lak9il4hlblk461awf0hbi3mxqhc1wz6kllxradyy2vfaspl";
url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
sha256 = "1n52pky7bb45irk2jw6f4rd3kvy8lm2yfldjwdhiic0kyqw9lwgv";
};
buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];

View File

@ -89,7 +89,12 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
};
gd = {
configureFlags = ["--with-gd=${gd} --with-freetype-dir=${freetype}"];
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [gd libpng libjpeg freetype];
};

View File

@ -90,7 +90,12 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed)
gd = {
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
configureFlags = ["--with-gd --with-freetype-dir=${freetype} --with-png-dir=${libpng}"];
configureFlags = [
"--with-gd"
"--with-freetype-dir=${freetype}"
"--with-png-dir=${libpng}"
"--with-jpeg-dir=${libjpeg}"
];
buildInputs = [ libpng libjpeg freetype ];
};

View File

@ -35,16 +35,20 @@ g: # Get dependencies from patched gems
ffi = g.ffi_1_6_0;
file_tail = g.file_tail_1_0_12;
foreman = g.foreman_0_62_0;
gettext = g.gettext_2_3_9;
highline = g.highline_1_6_16;
hike = g.hike_1_2_1;
hoe = g.hoe_3_1_0;
i18n = g.i18n_0_6_4;
iconv = g.iconv_1_0_3;
journey = g.journey_1_0_4;
jruby_pageant = g.jruby_pageant_1_1_1;
jsduck = g.jsduck_4_7_1;
json = g.json_1_7_7;
json_pure = g.json_pure_1_7_7;
libv8 = g.libv8_3_3_10_4;
locale = g.locale_2_0_8;
lockfile = g.lockfile_2_1_0;
macaddr = g.macaddr_1_6_1;
mail = g.mail_2_5_3;
mime_types = g.mime_types_1_21;
@ -74,6 +78,7 @@ g: # Get dependencies from patched gems
right_aws = g.right_aws_3_0_5;
right_http_connection = g.right_http_connection_1_3_0;
rjb = g.rjb_1_4_6;
rmail = g.rmail_1_0_0;
rspec = g.rspec_2_11_0;
rspec_core = g.rspec_core_2_11_1;
rspec_expectations = g.rspec_expectations_2_11_3;
@ -87,12 +92,14 @@ g: # Get dependencies from patched gems
sprockets = g.sprockets_2_2_2;
syslog_protocol = g.syslog_protocol_0_9_2;
systemu = g.systemu_2_5_2;
text = g.text_1_2_1;
therubyracer = g.therubyracer_0_10_2;
thin = g.thin_1_5_1;
thor = g.thor_0_18_0;
tilt = g.tilt_1_3_6;
tins = g.tins_0_7_2;
treetop = g.treetop_1_4_12;
trollop = g.trollop_2_0;
tzinfo = g.tzinfo_0_3_37;
uuid = g.uuid_2_3_7;
uuidtools = g.uuidtools_2_1_3;
@ -571,6 +578,20 @@ using TCP/IP, especially if custom protocols are required.'';
requiredGems = [ g.thor_0_18_0 ];
sha256 = ''08i34rgs3bydk52zwpps4p0y2fvcnibp9lvfdhr75ppin7wv7lmr'';
};
gettext_2_3_9 = {
basename = ''gettext'';
meta = {
description = ''Gettext is a pure Ruby libary and tools to localize messages.'';
homepage = ''http://ruby-gettext.github.com/'';
longDescription = ''Gettext is a GNU gettext-like program for Ruby.
The catalog file(po-file) is same format with GNU gettext.
So you can use GNU gettext tools for maintaining.
'';
};
name = ''gettext-2.3.9'';
requiredGems = [ g.locale_2_0_8 g.text_1_2_1 ];
sha256 = ''1i4kzkan7mnyr1ihphx0sqs3k4qj9i1ldg4a1cwf5h2fz657wvjj'';
};
highline_1_6_16 = {
basename = ''highline'';
meta = {
@ -654,6 +675,17 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ ];
sha256 = ''0wz1rnrs4n21j1rw9a120j2pfdkbikp1yvxaqi3mk30iw6mx4p0f'';
};
iconv_1_0_3 = {
basename = ''iconv'';
meta = {
description = ''iconv wrapper library'';
homepage = ''https://github.com/nurse/iconv'';
longDescription = ''iconv wrapper library'';
};
name = ''iconv-1.0.3'';
requiredGems = [ ];
sha256 = ''1nhjn07h2fqivdj6xqzi2x2kzh28vigx8z3q5fv2cqn9aqmbdacl'';
};
journey_1_0_4 = {
basename = ''journey'';
meta = {
@ -731,6 +763,29 @@ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf'';
requiredGems = [ ];
sha256 = ''0zy585rs1ihm8nsw525wgmbkcq7aqy1k9dbkk8s6953adl0bpz42'';
};
locale_2_0_8 = {
basename = ''locale'';
meta = {
description = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization.'';
homepage = ''https://github.com/ruby-gettext/locale'';
longDescription = ''Ruby-Locale is the pure ruby library which provides basic APIs for localization.
'';
};
name = ''locale-2.0.8'';
requiredGems = [ ];
sha256 = ''1hmixxg4aigl3h1qmz4fdsrv81p0bblcjbks32nrcvcpwmlylf12'';
};
lockfile_2_1_0 = {
basename = ''lockfile'';
meta = {
description = ''lockfile'';
homepage = ''https://github.com/ahoward/lockfile'';
longDescription = ''description: lockfile kicks the ass'';
};
name = ''lockfile-2.1.0'';
requiredGems = [ ];
sha256 = ''1yfpz9k0crb7q7y5bcaavf2jzbc170dj84hqz13qp75rj7bl3qhf'';
};
macaddr_1_6_1 = {
basename = ''macaddr'';
meta = {
@ -1200,6 +1255,17 @@ algorithm for low-level network errors.
requiredGems = [ ];
sha256 = ''0q2czc3ghk32hnxf76xsf0jqcfrnx60aqarvdjhgsfdc9a5pmk20'';
};
rmail_1_0_0 = {
basename = ''rmail'';
meta = {
description = ''A MIME mail parsing and generation library.'';
homepage = ''http://www.rfc20.org/rubymail'';
longDescription = ''RMail is a lightweight mail library containing various utility classes and modules that allow ruby scripts to parse, modify, and generate MIME mail messages.'';
};
name = ''rmail-1.0.0'';
requiredGems = [ ];
sha256 = ''0nsg7yda1gdwa96j4hlrp2s0m06vrhcc4zy5mbq7gxmlmwf9yixp'';
};
rspec_2_11_0 = {
basename = ''rspec'';
meta = {
@ -1356,6 +1422,17 @@ interpreters.'';
requiredGems = [ ];
sha256 = ''0h834ajdg9w4xrijp31fn98pjfj08gi08xjvp5xh3i6hz9a25fhr'';
};
text_1_2_1 = {
basename = ''text'';
meta = {
description = ''A collection of text algorithms'';
homepage = ''http://github.com/threedaymonk/text'';
longDescription = ''A collection of text algorithms: Levenshtein, Soundex, Metaphone, Double Metaphone, Porter Stemming'';
};
name = ''text-1.2.1'';
requiredGems = [ ];
sha256 = ''0s186kh125imdr7dahr10payc1gmxgk6wjy1v3agdyvl53yn5z3z'';
};
therubyracer_0_10_2 = {
basename = ''therubyracer'';
meta = {
@ -1421,6 +1498,21 @@ interpreters.'';
requiredGems = [ g.polyglot_0_3_3 g.polyglot_0_3_3 ];
sha256 = ''1jlfjq67n933sm0px0s2j965v1kl1rj8fbx6xk8y4yppkv6ygxc8'';
};
trollop_2_0 = {
basename = ''trollop'';
meta = {
description = ''Trollop is a commandline option parser for Ruby that just gets out of your way.'';
homepage = ''http://trollop.rubyforge.org'';
longDescription = ''Trollop is a commandline option parser for Ruby that just
gets out of your way. One line of code per option is all you need to write.
For that, you get a nice automatically-generated help page, robust option
parsing, command subcompletion, and sensible defaults for everything you don't
specify.'';
};
name = ''trollop-2.0'';
requiredGems = [ ];
sha256 = ''0iz5k7ax7a5jm9x6p81k6f4mgp48wxxb0j55ypnwxnznih8fsghz'';
};
tzinfo_0_3_37 = {
basename = ''tzinfo'';
meta = {

View File

@ -1,5 +1,5 @@
{ fetchurl, writeScript, ruby, ncurses, sqlite, libxml2, libxslt, libffi
, zlib, libuuid, gems, jdk, python, stdenv }:
, zlib, libuuid, gems, jdk, python, stdenv, libiconvOrEmpty }:
let
@ -13,7 +13,7 @@ let
in
{
sup = { buildInputs = [ gems.ncursesw ]; };
iconv = { buildInputs = [ libiconvOrEmpty ]; };
libv8 = {
# This fix is needed to fool scons, which clears the environment by default.

View File

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "accelerate-cuda";
version = "0.13.0.2";
sha256 = "1i8p6smj82k9nw0kz17247nzby8k8x0il8d2d3rbps5j03795dfk";
version = "0.13.0.3";
sha256 = "1y0v7w08pywb8qlw0b5aw4f8pkx4bjlfwxpqq2zfqmjsclnlifkb";
buildDepends = [
accelerate binary cryptohash cuda fclabels filepath hashable
hashtables languageCQuote mainlandPretty mtl SafeSemaphore srcloc

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "accelerate-io";
version = "0.13.0.1";
sha256 = "0wjprbhcddnjqbhmpxiwq73hazdnhafhjj7mpvpxhs9pz1dbv89h";
version = "0.13.0.2";
sha256 = "0lm1kkjs5gbd70k554vi9977v4bxxcxaw39r9wmwxf8nx2qxvshh";
buildDepends = [ accelerate bmp repa vector ];
meta = {
homepage = "https://github.com/AccelerateHS/accelerate-io";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "accelerate";
version = "0.13.0.4";
sha256 = "1rhbvzgafw3cx2wi4zfil4nxcziqpbh20q3nafck30q2xvrwkmwm";
version = "0.13.0.5";
sha256 = "1vqkv3k0w1zy0111a786npf3hypbcg675lbdkv2cf3zx5hqcnn6j";
buildDepends = [ fclabels hashable hashtables ];
meta = {
homepage = "https://github.com/AccelerateHS/accelerate/";

View File

@ -0,0 +1,13 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "binary";
version = "0.6.0.0";
sha256 = "0p72w7f9nn19g2wggsh8x4z7y9s174f3drz9a5ln4x7h554swcxv";
meta = {
homepage = "https://github.com/kolmodin/binary";
description = "Binary serialisation for Haskell values using lazy ByteStrings";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,15 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "bytedump";
version = "1.0";
sha256 = "1pf01mna3isx3i7m50yz3pw5ygz5sg8i8pshjb3yw8q41w2ba5xf";
isLibrary = true;
isExecutable = true;
meta = {
homepage = "http://github.com/vincenthz/hs-bytedump";
description = "Flexible byte dump helpers for human readers";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "hashable";
version = "1.2.0.7";
sha256 = "1v70b85g9kx0ikgxpiqpl8dp3w9hdxm75h73g69giyiy7swn9630";
version = "1.2.0.10";
sha256 = "155r7zqc0kisjdslr8d1c04yqwvzwqx4d99c0zla113dvsdjhp37";
buildDepends = [ text ];
testDepends = [
HUnit QuickCheck random testFramework testFrameworkHunit

View File

@ -0,0 +1,27 @@
{ cabal, attoparsec, blazeBuilder, bytedump, cryptohash, HUnit, mtl
, parsec, QuickCheck, random, systemFileio, systemFilepath
, testFramework, testFrameworkQuickcheck2, time, vector, zlib
, zlibBindings
}:
cabal.mkDerivation (self: {
pname = "hit";
version = "0.5.0";
sha256 = "05v49l3k8gwn922d5b5xrzdrakh6bw02bp8hd8yc8163jyazk2vx";
isLibrary = true;
isExecutable = true;
buildDepends = [
attoparsec blazeBuilder cryptohash mtl parsec random systemFileio
systemFilepath time vector zlib zlibBindings
];
testDepends = [
bytedump HUnit QuickCheck testFramework testFrameworkQuickcheck2
time
];
meta = {
homepage = "http://github.com/vincenthz/hit";
description = "Git operations in haskell";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "shake";
version = "0.10.3";
sha256 = "0dvpjswiiw2s4zh5sjx7qs4xp41bw2wqny0k61pkg5wvgw3b7jmh";
version = "0.10.5";
sha256 = "1abbls2rmpyxpj41c0afvfjh1bw6j6rz1n0w4jhqrmq0d32kpg7a";
isLibrary = true;
isExecutable = true;
buildDepends = [

View File

@ -0,0 +1,14 @@
{ cabal, dataDefault }:
cabal.mkDerivation (self: {
pname = "template-default";
version = "0.1.1";
sha256 = "07b8j11v0247fwaf3mv72m7aaq3crbsyrxmxa352vn9h2g6l1jsd";
buildDepends = [ dataDefault ];
meta = {
homepage = "https://github.com/haskell-pkg-janitors/template-default";
description = "declaring Default instances just got even easier";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,13 @@
{ cabal, vector }:
cabal.mkDerivation (self: {
pname = "vector-th-unbox";
version = "0.2.0.1";
sha256 = "1q01yk6cyjxbdnmq31d5mfac09hbql43d7xiw1snc96nmkklfpjv";
buildDepends = [ vector ];
meta = {
description = "Deriver for Data.Vector.Unboxed using Template Haskell";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,14 @@
{ cabal, libXtst, X11 }:
cabal.mkDerivation (self: {
pname = "xtest";
version = "0.2";
sha256 = "118xxx7sydpsvdqz0x107ngb85fggn630ysw6d2ckky75fmhmxk7";
buildDepends = [ X11 ];
extraLibraries = [ libXtst ];
meta = {
description = "Thin FFI bindings to X11 XTest library";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "jquery-ui-1.10.2";
name = "jquery-ui-1.10.3";
src = fetchurl {
url = "http://jqueryui.com/resources/download/${name}.custom.zip";
sha256 = "0r1fmqpym7bjqhjay9br4h3izky781bsda7v7552yjwkgiv391hl";
sha256 = "1nqh3fmjgy73cbwb5sj775242i6jhz3f5b9fxgrkq00dfvkls779";
};
buildInputs = [ unzip ];
@ -17,9 +17,13 @@ stdenv.mkDerivation rec {
# For convenience, provide symlinks "jquery.min.js" etc. (i.e.,
# without the version number).
ln -s $out/js/jquery-ui-*.custom.min.js $out/js/jquery-ui.min.js
ln -s $out/js/jquery-1.*.min.js $out/js/jquery.min.js
ln -s $out/css/smoothness/jquery-ui-*.custom.css $out/css/smoothness/jquery-ui.css
pushd $out/js
ln -s jquery-ui-*.custom.js jquery-ui.js
ln -s jquery-ui-*.custom.min.js jquery-ui.min.js
ln -s jquery-1.*.js jquery.js
popd
pushd $out/css/smoothness
ln -s jquery-ui-*.custom.css jquery-ui.css
'';
meta = {

View File

@ -3,8 +3,8 @@
cabal.mkDerivation (self: {
pname = "cabal2nix";
version = "1.51";
sha256 = "0la1bhdxrzn1phjyca7h54vimwf4jy5ryclwrnivbcxkncrk9lig";
version = "1.52";
sha256 = "1w38qxwbwaq37c7vypydwjjhgrn9vbaqnnk7b2y0pm8n2fh78z1s";
isLibrary = false;
isExecutable = true;
buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];

View File

@ -1,5 +1,9 @@
{ stdenv, fetchurl, kernelDev, zlib }:
/* Only useful for kernels 3.2 to 3.5.
Fails to build in 3.8.
3.9 upstream already includes a proper alps driver for this */
let
ver = "1.3";
bname = "psmouse-alps-${ver}";

View File

@ -2,11 +2,11 @@
let
version = "2.0.4";
version = "2.0.6";
src = fetchurl {
url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
sha256 = "0l8038j6ldsv0ywrs2j69ybjl2zv4qw42791glqvcabjj8x24m3m";
sha256 = "1y7dp9rqxkn8ik7bvk2qysz3zp3r07kmax5avlf9jf1x7pkagps6";
};
preConfigure =

View File

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "nix-1.5.3pre3134_5c06e52";
name = "nix-1.5.3pre3141_1b6ee8f";
src = fetchurl {
url = "http://hydra.nixos.org/build/5265350/download/5/${name}.tar.xz";
sha256 = "82fd6aad66a8646d923a9a65b04879ea5e320391f047549c88ab7d913e5d5903";
url = "http://hydra.nixos.org/build/5305802/download/5/${name}.tar.xz";
sha256 = "834a0d23456331ac06b6117078f0b9bbeecbc8620d5f844b61455e3daac6ceb0";
};
nativeBuildInputs = [ perl pkgconfig ];

View File

@ -1,10 +1,10 @@
args: with args;
rec {
version = "1.3.0";
version = "1.5.1";
name = "moderncv-${version}";
src = fetchurl {
url = "https://launchpad.net/moderncv/trunk/${version}/+download/moderncv-${version}.zip";
sha256 = "0wdj90shi04v97b2d6chhvm9qrp0bcvsm46441730ils1y74wisq";
sha256 = "0k26s0z8hmw3h09vnpndim7gigwh8q6n9nbbihb5qbrw5qg2yqck";
};
buildInputs = [texLive unzip];

View File

@ -0,0 +1,26 @@
args: with args;
rec {
version = "0.7";
name = "moderntimeline-${version}";
src = fetchurl {
url = "http://www.ctan.org/tex-archive/macros/latex/contrib/moderntimeline.zip";
sha256 = "0dxwybanj7qvbr69wgsllha1brq6qjsnjfff6nw4r3nijzvvh876";
};
buildInputs = [texLive unzip];
phaseNames = ["doCopy"];
doCopy = fullDepEntry (''
mkdir -p $out/texmf/tex/latex/moderntimeline $out/texmf/doc/moderntimeline $out/share
mv *.dtx *.ins $out/texmf/tex/latex/moderntimeline/
mv *.pdf $out/texmf/doc/moderntimeline/
ln -s $out/texmf* $out/share/
'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
meta = {
description = "the moderntimeline extensions for moderncv";
maintainers = [ args.lib.maintainers.simons ];
# Actually, arch-independent..
platforms = [] ;
};
}

View File

@ -1,11 +1,12 @@
args: with args;
rec {
name = "texlive-pgf-2007";
name = "texlive-pgf-2010";
src = fetchurl {
url = "mirror://sourceforge/pgf/pgf-2.00.tar.gz";
sha256 = "0j57niag4jb2k0iyrvjsannxljc3vkx0iag7zd35ilhiy4dh6264";
url = "mirror://debian/pool/main/p/pgf/pgf_2.10.orig.tar.gz";
sha256 = "642092e6b49df9e33bd901ac7eb7024ff235a29f43d27e78e5827ca3bc03f120";
};
propagatedBuildInputs = [texLiveLatexXColor texLive];

View File

@ -183,7 +183,6 @@ let
### Helper functions.
inherit lib config stdenvAdapters;
inherit (lib) lowPrio hiPrio appendToName makeOverridable;
@ -203,6 +202,11 @@ let
stringsWithDeps = lib.stringsWithDeps;
### Nixpkgs maintainer tools
nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { };
### STANDARD ENVIRONMENT
@ -2005,7 +2009,6 @@ let
### SHELLS
bash = lowPrio (callPackage ../shells/bash {
texinfo = null;
});
@ -2029,7 +2032,6 @@ let
### DEVELOPMENT / COMPILERS
abc =
abcPatchable [];
@ -2654,8 +2656,8 @@ let
mlton = callPackage ../development/compilers/mlton { };
mono = callPackage ../development/compilers/mono {
inherit (xlibs) libX11;
mono = callPackage ../development/compilers/mono {
inherit (xlibs) libX11;
};
monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
@ -2903,6 +2905,7 @@ let
yasm = callPackage ../development/compilers/yasm { };
### DEVELOPMENT / INTERPRETERS
acl2 = builderDefsPackage ../development/interpreters/acl2 {
@ -3129,7 +3132,6 @@ let
### DEVELOPMENT / TOOLS
antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
antlr3 = callPackage ../development/tools/parsing/antlr { };
@ -3538,7 +3540,6 @@ let
### DEVELOPMENT / LIBRARIES
a52dec = callPackage ../development/libraries/a52dec { };
aacskeys = callPackage ../development/libraries/aacskeys { };
@ -6657,6 +6658,7 @@ let
zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
### DATA
andagii = callPackage ../data/fonts/andagii {};
@ -7819,11 +7821,21 @@ let
ruby_ncursesw_sup = callPackage ../development/libraries/ruby_ncursesw_sup { };
sup = callPackage ../applications/networking/mailreaders/sup {
rake = rubyLibs.rake_10_0_4;
ruby = ruby19;
xapian_full_alaveteli = rubyLibs.xapian_full_alaveteli_1_2_9_5;
chronic = rubyLibs.chronic;
gettext = rubyLibs.gettext;
gpgme = ruby_gpgme;
iconv = rubyLibs.iconv;
locale = rubyLibs.locale;
lockfile = rubyLibs.lockfile;
mime_types = rubyLibs.mime_types;
ncursesw_sup = ruby_ncursesw_sup;
rake = rubyLibs.rake_10_0_4;
rmail = rubyLibs.rmail;
text = rubyLibs.text;
trollop = rubyLibs.trollop;
xapian_full_alaveteli = rubyLibs.xapian_full_alaveteli_1_2_9_5;
};
msmtp = callPackage ../applications/networking/msmtp { };
@ -8494,6 +8506,7 @@ let
zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
### GAMES
alienarena = callPackage ../games/alienarena { };
@ -8789,7 +8802,6 @@ let
### DESKTOP ENVIRONMENTS
enlightenment = callPackage ../desktops/enlightenment { };
e17 = recurseIntoAttrs (
@ -8962,6 +8974,7 @@ let
xfce = xfce4_10;
xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit pkgs newScope; });
### SCIENCE
celestia = callPackage ../applications/science/astronomy/celestia {
@ -8981,6 +8994,7 @@ let
stellarium = callPackage ../applications/science/astronomy/stellarium { };
### SCIENCE/GEOMETRY
drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) {
@ -9063,6 +9077,7 @@ let
cmake = cmakeCurses;
});
### SCIENCE/LOGIC
coq = callPackage ../applications/science/logic/coq {
@ -9139,6 +9154,7 @@ let
tptp = callPackage ../applications/science/logic/tptp {};
### SCIENCE / ELECTRONICS
eagle = callPackage_i686 ../applications/science/electronics/eagle { };
@ -9191,6 +9207,7 @@ let
yacas = callPackage ../applications/science/math/yacas { };
### SCIENCE / MISC
boinc = callPackage ../applications/science/misc/boinc { };
@ -9203,6 +9220,7 @@ let
vite = callPackage ../applications/science/misc/vite { };
### MISC
atari800 = callPackage ../misc/emulators/atari800 { };
@ -9408,7 +9426,8 @@ let
texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun {
paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor
texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo5 ];
texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo5
texLiveModerntimeline ];
});
/* Look in configurations/misc/raskin.nix for usage example (around revisions
@ -9456,6 +9475,10 @@ let
inherit texLive unzip;
};
texLiveModerntimeline = builderDefsPackage (import ../tools/typesetting/tex/texlive/moderntimeline.nix) {
inherit texLive unzip;
};
thinkfan = callPackage ../tools/system/thinkfan { };
vice = callPackage ../misc/emulators/vice { };
@ -9508,14 +9531,14 @@ let
PatolineEnv = pack: myEnvFun {
name = "patoline";
buildInputs = [ stdenv ncurses mesa freeglut libzip gcc
pack.ocaml pack.findlib pack.camomile
pack.dypgen pack.ocaml_sqlite3 pack.camlzip
pack.ocaml pack.findlib pack.camomile
pack.dypgen pack.ocaml_sqlite3 pack.camlzip
pack.lablgtk pack.camlimages pack.ocaml_cairo
pack.lablgl pack.ocamlnet pack.cryptokit
pack.ocaml_pcre pack.patoline
];
# this is to circumvent the bug with libgcc_s.so.1 which is
# not found when using thread
# not found when using thread
extraCmds = ''
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${gcc.gcc}/lib
export LD_LIBRARY_PATH

View File

@ -98,6 +98,11 @@
jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; };
bmp = self.bmp_1_2_2_1;
cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3;
mtl = self.mtl_2_1_2;
HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
};
};
ghc6121Prefs =
@ -111,6 +116,12 @@
jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; };
bmp = self.bmp_1_2_2_1;
cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
Cabal = self.Cabal_1_16_0_3;
zlib = self.zlib_0_5_3_3;
mtl = self.mtl_2_1_2;
HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
};
};
ghc6104Prefs =
@ -125,6 +136,13 @@
# deviating from Haskell platform here, to make some packages (notably statistics) compile
jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; };
bmp = self.bmp_1_2_2_1;
binary = self.binary_0_6_0_0;
cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override {
Cabal = self.Cabal_1_16_0_3;
zlib = self.zlib_0_5_3_3;
mtl = self.mtl_2_1_2;
HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; };
};
};
# Abstraction for Haskell packages collections

View File

@ -139,42 +139,42 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
haskellPlatformArgs_future = self : {
inherit (self) cabal ghc;
async = self.async_2_0_1_4; # 7.6 ok
attoparsec = self.attoparsec_0_10_4_0; # 7.6 ok
async = self.async_2_0_1_4;
attoparsec = self.attoparsec_0_10_4_0;
caseInsensitive = self.caseInsensitive_1_0_0_1;
cgi = self.cgi_3001_1_7_5; # 7.6 ok
fgl = self.fgl_5_4_2_4; # 7.6 ok
GLUT = self.GLUT_2_4_0_0; # 7.6 ok
GLURaw = self.GLURaw_1_3_0_0; # 7.6 ok
haskellSrc = self.haskellSrc_1_0_1_5; # 7.6 ok
hashable = self.hashable_1_1_2_5; # 7.6 ok
html = self.html_1_0_1_2; # 7.6 ok
HTTP = self.HTTP_4000_2_8; # 7.6 ok
HUnit = self.HUnit_1_2_5_2; # 7.6 ok
mtl = self.mtl_2_1_2; # 7.6 ok
network = self.network_2_4_1_2; # 7.6 ok
OpenGL = self.OpenGL_2_8_0_0; # 7.6 ok
OpenGLRaw = self.OpenGLRaw_1_3_0_0; # 7.6 ok
parallel = self.parallel_3_2_0_3; # 7.6 ok
parsec = self.parsec_3_1_3; # 7.6 ok
QuickCheck = self.QuickCheck_2_6; # 7.6 ok
random = self.random_1_0_1_1; # 7.6 ok
regexBase = self.regexBase_0_93_2; # 7.6 ok
regexCompat = self.regexCompat_0_95_1; # 7.6 ok
regexPosix = self.regexPosix_0_95_2; # 7.6 ok
split = self.split_0_2_2; # 7.6 ok
stm = self.stm_2_4_2; # 7.6 ok
syb = self.syb_0_4_0; # 7.6 ok
text = self.text_0_11_3_1; # 7.6 ok
transformers = self.transformers_0_3_0_0; # 7.6 ok
cgi = self.cgi_3001_1_7_5;
fgl = self.fgl_5_4_2_4;
GLUT = self.GLUT_2_4_0_0;
GLURaw = self.GLURaw_1_3_0_0;
haskellSrc = self.haskellSrc_1_0_1_5;
hashable = self.hashable_1_2_0_10;
html = self.html_1_0_1_2;
HTTP = self.HTTP_4000_2_8;
HUnit = self.HUnit_1_2_5_2;
mtl = self.mtl_2_1_2;
network = self.network_2_4_1_2;
OpenGL = self.OpenGL_2_8_0_0;
OpenGLRaw = self.OpenGLRaw_1_3_0_0;
parallel = self.parallel_3_2_0_3;
parsec = self.parsec_3_1_3;
QuickCheck = self.QuickCheck_2_6;
random = self.random_1_0_1_1;
regexBase = self.regexBase_0_93_2;
regexCompat = self.regexCompat_0_95_1;
regexPosix = self.regexPosix_0_95_2;
split = self.split_0_2_2;
stm = self.stm_2_4_2;
syb = self.syb_0_4_0;
text = self.text_0_11_3_1;
transformers = self.transformers_0_3_0_0;
unorderedContainers = self.unorderedContainers_0_2_3_0;
vector = self.vector_0_10_0_1; # 7.6 ok
xhtml = self.xhtml_3000_2_1; # 7.6 ok
zlib = self.zlib_0_5_4_1; # 7.6 ok
cabalInstall = self.cabalInstall_1_16_0_2; # 7.6 ok
alex = self.alex_3_0_5; # 7.6 ok
haddock = self.haddock_2_13_2; # 7.6 ok
happy = self.happy_1_18_10; # 7.6 ok
vector = self.vector_0_10_0_1;
xhtml = self.xhtml_3000_2_1;
zlib = self.zlib_0_5_4_1;
cabalInstall = self.cabalInstall_1_16_0_2;
alex = self.alex_3_0_5;
haddock = self.haddock_2_13_2;
happy = self.happy_1_18_10;
primitive = self.primitive_0_5_0_1; # semi-official, but specified
};
@ -500,11 +500,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
acidState = callPackage ../development/libraries/haskell/acid-state {};
Agda = callPackage ../development/libraries/haskell/Agda {
hashable = self.hashable_1_1_2_5;
hashtables = self.hashtables.override { hashable = self.hashable_1_1_2_5; };
unorderedContainers = self.unorderedContainers.override { hashable = self.hashable_1_1_2_5; };
};
Agda = callPackage ../development/libraries/haskell/Agda {};
accelerate = callPackage ../development/libraries/haskell/accelerate {};
@ -589,7 +585,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
bimap = callPackage ../development/libraries/haskell/bimap {};
binary = callPackage ../development/libraries/haskell/binary {};
binary_0_6_0_0 = callPackage ../development/libraries/haskell/binary/0.6.0.0.nix {};
binary_0_7_1_0 = callPackage ../development/libraries/haskell/binary/0.7.1.0.nix {};
binary = self.binary_0_7_1_0;
binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
@ -629,6 +627,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
boomerang = callPackage ../development/libraries/haskell/boomerang {};
bytedump = callPackage ../development/libraries/haskell/bytedump {};
byteorder = callPackage ../development/libraries/haskell/byteorder {};
bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {};
@ -1076,8 +1076,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
happstackHamlet = callPackage ../development/libraries/haskell/happstack/happstack-hamlet.nix {};
hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
hashable_1_2_0_7 = callPackage ../development/libraries/haskell/hashable/1.2.0.7.nix {};
hashable = self.hashable_1_2_0_7;
hashable_1_2_0_10 = callPackage ../development/libraries/haskell/hashable/1.2.0.10.nix {};
hashable = self.hashable_1_2_0_10;
hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
@ -1155,6 +1155,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
Hipmunk = callPackage ../development/libraries/haskell/Hipmunk {};
hit = callPackage ../development/libraries/haskell/hit {};
hjsmin = callPackage ../development/libraries/haskell/hjsmin {};
hledger = callPackage ../development/libraries/haskell/hledger {};
@ -1874,6 +1876,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
tagstreamConduit = callPackage ../development/libraries/haskell/tagstream-conduit {};
templateDefault = callPackage ../development/libraries/haskell/template-default {};
temporary = callPackage ../development/libraries/haskell/temporary {};
Tensor = callPackage ../development/libraries/haskell/Tensor {};
@ -2012,6 +2016,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
vectorSpacePoints = callPackage ../development/libraries/haskell/vector-space-points {};
vectorThUnbox = callPackage ../development/libraries/haskell/vector-th-unbox {};
void = callPackage ../development/libraries/haskell/void {};
vty = callPackage ../development/libraries/haskell/vty {};
@ -2097,6 +2103,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
xmlTypes = callPackage ../development/libraries/haskell/xml-types {};
xtest = callPackage ../development/libraries/haskell/xtest {};
xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {};
yaml = callPackage ../development/libraries/haskell/yaml {};

View File

@ -18,7 +18,7 @@ rec {
buildPerlPackage (args // {
buildInputs = buildInputs ++ [ ModuleBuild ];
preConfigure = "touch Makefile.PL";
buildPhase = "perl Build.PL --prefix=$out";
buildPhase = "perl Build.PL --prefix=$out; ./Build build";
installPhase = "./Build install";
checkPhase = "./Build test";
});
@ -107,6 +107,20 @@ rec {
propagatedBuildInputs = [Mouse];
};
ApacheLogFormatCompiler = buildPerlModule {
name = "Apache-LogFormat-Compiler-0.13";
src = fetchurl {
url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.13.tar.gz;
sha256 = "b4185125501e288efbc664da8b723ff86f0b69eb57d3c7c69c7d2069aab0efb0";
};
buildInputs = [ HTTPMessage TestRequires TryTiny URI ];
meta = {
homepage = https://github.com/kazeburo/Apache-LogFormat-Compiler;
description = "Compile a log format string to perl-code";
license = "perl";
};
};
AppCLI = buildPerlPackage {
name = "App-CLI-0.07";
src = fetchurl {
@ -503,6 +517,19 @@ rec {
};
};
CatalystDispatchTypeRegex = buildPerlModule {
name = "Catalyst-DispatchType-Regex-5.90032";
src = fetchurl {
url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90032.tar.gz;
sha256 = "003e31fe0c1d6dfc6be4d9cd47cb058a9b53a73bb6a9f74a132a43dbfbbb5e3c";
};
propagatedBuildInputs = [ Moose TextSimpleTable ];
meta = {
description = "Regex DispatchType";
license = "perl";
};
};
CatalystEngineHTTPPrefork = buildPerlPackage rec {
name = "Catalyst-Engine-HTTP-Prefork-0.51";
src = fetchurl {
@ -549,13 +576,13 @@ rec {
};
CatalystRuntime = buildPerlPackage {
name = "Catalyst-Runtime-5.90019";
name = "Catalyst-Runtime-5.90030";
src = fetchurl {
url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Runtime-5.90019.tar.gz;
sha256 = "0madnqyzhcvbv6iql6b10dzfqvajj0fyp1sla83csakkbff38mqp";
url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90030.tar.gz;
sha256 = "c27357f744fa0d2f9b2682c5f86723d90de43f30cd50089306dd13eb8849eb0c";
};
buildInputs = [ ClassDataInheritable DataDump HTTPMessage TestException ];
propagatedBuildInputs = [ CGISimple ClassC3AdoptNEXT ClassLoad ClassMOP DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI ListMoreUtils LWPUserAgent Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading MROCompat namespaceautoclean namespaceclean PathClass Plack PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI ];
propagatedBuildInputs = [ CGISimple CatalystDispatchTypeRegex ClassC3AdoptNEXT ClassLoad DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI LWP ListMoreUtils MROCompat Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass Plack PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI namespaceautoclean namespaceclean ];
meta = {
homepage = http://dev.catalyst.perl.org/;
description = "The Catalyst Framework Runtime";
@ -2307,6 +2334,18 @@ rec {
};
};
ExtUtilsConfig = buildPerlPackage {
name = "ExtUtils-Config-0.007";
src = fetchurl {
url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.007.tar.gz;
sha256 = "2c1465078b876fd16a90507092805265528c2532d4937b03547a6dbdb8ac0eef";
};
meta = {
description = "A wrapper for perl's configuration";
license = "perl";
};
};
ExtUtilsCppGuess = buildPerlModule rec {
name = "ExtUtils-CppGuess-0.07";
src = fetchurl {
@ -2327,6 +2366,31 @@ rec {
};
};
ExtUtilsHelpers = buildPerlPackage {
name = "ExtUtils-Helpers-0.021";
src = fetchurl {
url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz;
sha256 = "26b85077f4197b30e62ffec87d3f78111522619d62858d2ab45a64687351892a";
};
meta = {
description = "Various portability utilities for module builders";
license = "perl";
};
};
ExtUtilsInstallPaths = buildPerlPackage {
name = "ExtUtils-InstallPaths-0.009";
src = fetchurl {
url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.009.tar.gz;
sha256 = "1b0827a4acf40d38552c4348767000f7e2d8cf5fd0d19436bf8747d2a72d77bc";
};
propagatedBuildInputs = [ ExtUtilsConfig ];
meta = {
description = "Build.PL install path logic made easy";
license = "perl";
};
};
ExtUtilsLibBuilder = buildPerlModule {
name = "ExtUtils-LibBuilder-0.04";
src = fetchurl {
@ -3792,15 +3856,28 @@ rec {
};
ModuleBuild = buildPerlPackage {
name = "Module-Build-0.4003";
name = "Module-Build-0.4005";
src = fetchurl {
url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4003.tar.gz;
sha256 = "1izx26gfnjffnj0j601hkc008b31y9f25hms1nzidfkb6r3110s2";
url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4005.tar.gz;
sha256 = "eb2522507251550f459c11223ea6d86b34f1dee9b3e3928d0d6a0497505cb7ef";
};
meta = {
homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec;
description = "Build and install Perl modules";
license = "perl5";
license = "perl";
};
};
ModuleBuildTiny = buildPerlModule {
name = "Module-Build-Tiny-0.023";
src = fetchurl {
url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.023.tar.gz;
sha256 = "eba7fbfea2dd84310ab00f22fd29bbf774b10a465df3f6133ca7da88c0bd6ac4";
};
buildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP perl ];
propagatedBuildInputs = [ ExtUtilsConfig ExtUtilsHelpers ExtUtilsInstallPaths JSONPP ];
meta = {
description = "A tiny replacement for Module::Build";
license = "perl";
};
};
@ -4862,15 +4939,15 @@ rec {
};
Plack = buildPerlPackage {
name = "Plack-1.0015";
name = "Plack-1.0024";
src = fetchurl {
url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0015.tar.gz;
sha256 = "1zg30bb55ws8fka5iawmfqnc3wg6ggigl0wljgvw0mk466sr3lxf";
url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0024.tar.gz;
sha256 = "485f69275d73401739a829cfee3bbc9bfa20a0843470791066365ac07fac04a1";
};
buildInputs = [ TestRequires ];
propagatedBuildInputs = [ DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HashMultiValue HTTPBody HTTPMessage LWPUserAgent StreamBuffered TestTCP TryTiny URI ];
buildInputs = [ FileShareDirInstall TestRequires ];
propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ];
meta = {
homepage = http://plackperl.org;
homepage = https://github.com/plack/Plack;
description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
license = "perl";
};
@ -5308,16 +5385,17 @@ rec {
];
};
Starman = buildPerlPackage {
name = "Starman-0.3006";
Starman = buildPerlModule {
name = "Starman-0.3011";
src = fetchurl {
url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.3006.tar.gz;
sha256 = "0dlwrrq570v5mbpzsi4pmj6n2sjm3xpcilhh6dvpq8qbp550wixy";
url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.3011.tar.gz;
sha256 = "f700e1e9fa8a56609db1b75878ccfbbccfda32454c32e3c33912a1776f583cf2";
};
buildInputs = [ TestRequires ];
propagatedBuildInputs = [ DataDump HTTPDate HTTPParserXS HTTPMessage NetServer Plack TestTCP ];
doCheck = false; # binds to various TCP ports1
buildInputs = [ ModuleBuildTiny TestRequires ];
propagatedBuildInputs = [ DataDump HTTPDate HTTPMessage HTTPParserXS NetServer Plack TestTCP ];
doCheck = false; # binds to various TCP ports
meta = {
homepage = https://github.com/miyagawa/Starman;
description = "High-performance preforking PSGI/Plack web server";
license = "perl";
};

View File

@ -81,10 +81,12 @@ mapHaskellTestOn {
bytestringMmap = default;
bytestringNums = default;
bytestringTrie = default;
Cabal_1_16_0_3 = all;
cabal2Ghci = default;
cabal2nix = allBut ghc6104;
cabalDev = default ++ latest;
cabalGhci = default ++ latest;
cabalInstall_1_16_0_2 = all;
cabalInstall = all;
cairo = default;
caseInsensitive = default;