From de1c72f686c9d2065ef844676806881816ceec7b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 15:09:43 +0200 Subject: [PATCH 01/37] buildPerlModule: Call "./Build build" Some modules require this. --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2ef8b156e91..f7061a7d0cd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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"; }); From a79076b7aa0d52873be79f8185f0b0b396a0e57d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 15:18:16 +0200 Subject: [PATCH 02/37] Consistent whitespace --- pkgs/top-level/all-packages.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 48e36712b4f..8d9517b6c5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -183,7 +183,6 @@ let ### Helper functions. - inherit lib config stdenvAdapters; inherit (lib) lowPrio hiPrio appendToName makeOverridable; @@ -2001,7 +2000,6 @@ let ### SHELLS - bash = lowPrio (callPackage ../shells/bash { texinfo = null; }); @@ -2025,7 +2023,6 @@ let ### DEVELOPMENT / COMPILERS - abc = abcPatchable []; @@ -2899,6 +2896,7 @@ let yasm = callPackage ../development/compilers/yasm { }; + ### DEVELOPMENT / INTERPRETERS acl2 = builderDefsPackage ../development/interpreters/acl2 { @@ -3124,7 +3122,6 @@ let ### DEVELOPMENT / TOOLS - antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { }; antlr3 = callPackage ../development/tools/parsing/antlr { }; @@ -3533,7 +3530,6 @@ let ### DEVELOPMENT / LIBRARIES - a52dec = callPackage ../development/libraries/a52dec { }; aacskeys = callPackage ../development/libraries/aacskeys { }; @@ -6638,6 +6634,7 @@ let zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { }; + ### DATA andagii = callPackage ../data/fonts/andagii {}; @@ -8476,6 +8473,7 @@ let zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; + ### GAMES alienarena = callPackage ../games/alienarena { }; @@ -8771,7 +8769,6 @@ let ### DESKTOP ENVIRONMENTS - enlightenment = callPackage ../desktops/enlightenment { }; e17 = recurseIntoAttrs ( @@ -8937,6 +8934,7 @@ let xfce = xfce4_10; xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit pkgs newScope; }); + ### SCIENCE celestia = callPackage ../applications/science/astronomy/celestia { @@ -8956,6 +8954,7 @@ let stellarium = callPackage ../applications/science/astronomy/stellarium { }; + ### SCIENCE/GEOMETRY drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) { @@ -9038,6 +9037,7 @@ let cmake = cmakeCurses; }); + ### SCIENCE/LOGIC coq = callPackage ../applications/science/logic/coq { @@ -9114,6 +9114,7 @@ let tptp = callPackage ../applications/science/logic/tptp {}; + ### SCIENCE / ELECTRONICS eagle = callPackage_i686 ../applications/science/electronics/eagle { }; @@ -9166,6 +9167,7 @@ let yacas = callPackage ../applications/science/math/yacas { }; + ### SCIENCE / MISC boinc = callPackage ../applications/science/misc/boinc { }; @@ -9178,6 +9180,7 @@ let vite = callPackage ../applications/science/misc/vite { }; + ### MISC atari800 = callPackage ../misc/emulators/atari800 { }; From 629daa2102abbcb368cd46ac1f0a85c0bbe104f5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 15:39:08 +0200 Subject: [PATCH 03/37] Rewrite the CPAN generator to Perl Also: - It's now installable by doing "nix-env -i nix-generate-from-cpan". - It maps dependencies to the correct attribute (e.g. HTML::HeadParser is mapped to HTMLParser). - It automatically selects buildPerlPackage or buildPerlModule. - It's documented in the manual. --- .gitignore | 6 +- doc/language-support.xml | 39 ++++- maintainers/scripts/generate-cpan-package | 120 ------------- .../scripts/nix-generate-from-cpan.nix | 22 +++ maintainers/scripts/nix-generate-from-cpan.pl | 162 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 + 6 files changed, 231 insertions(+), 123 deletions(-) delete mode 100755 maintainers/scripts/generate-cpan-package create mode 100644 maintainers/scripts/nix-generate-from-cpan.nix create mode 100755 maintainers/scripts/nix-generate-from-cpan.pl diff --git a/.gitignore b/.gitignore index b2d5a9aa5bd..165e92c7fc3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ ,* .*.swp .*.swo -cpan-info -cpan_tmp/ result +doc/NEWS.html +doc/NEWS.txt +doc/manual.html +doc/manual.pdf diff --git a/doc/language-support.xml b/doc/language-support.xml index 6cc028c0b0a..cb40be4bf57 100644 --- a/doc/language-support.xml +++ b/doc/language-support.xml @@ -21,7 +21,7 @@ standard Makefile.PL. It’s implemented in pkgs/development/perl-modules/generic. Perl packages from CPAN are defined in pkgs/perl-packages.nix, +xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix">pkgs/top-level/perl-packages.nix, rather than pkgs/all-packages.nix. 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 { +
Generation from CPAN + +Nix expressions for Perl packages can be generated (almost) +automatically from CPAN. This is done by the program +nix-generate-from-cpan, which can be installed +as follows: + + +$ nix-env -i nix-generate-from-cpan + + +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: + + +$ 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"; + }; + }; + + +The output can be pasted into +pkgs/top-level/perl-packages.nix or wherever else +you need it. + +
+ diff --git a/maintainers/scripts/generate-cpan-package b/maintainers/scripts/generate-cpan-package deleted file mode 100755 index 2817e23e2fa..00000000000 --- a/maintainers/scripts/generate-cpan-package +++ /dev/null @@ -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 <\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 <path}/${\$module->package}; + sha256 = "${\$module->status->checksum_value}"; + }; +EOF +print < 0; + buildInputs = [ @build_deps ]; +EOF +print < 0; + propagatedBuildInputs = [ @runtime_deps ]; +EOF +print < Date: Thu, 13 Jun 2013 15:54:34 +0200 Subject: [PATCH 04/37] Update some Perl packages --- pkgs/top-level/perl-packages.nix | 122 +++++++++++++++++++++++++------ 1 file changed, 100 insertions(+), 22 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f7061a7d0cd..9af849da8f1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -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"; }; From 7346eb64bfb636a30a3987e3365d99763ffb4347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Thu, 13 Jun 2013 23:25:32 +0200 Subject: [PATCH 05/37] Adding comment about psmouse-alps. --- pkgs/os-specific/linux/psmouse-alps/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/psmouse-alps/default.nix b/pkgs/os-specific/linux/psmouse-alps/default.nix index b0d1aa965d4..834acd72ef2 100644 --- a/pkgs/os-specific/linux/psmouse-alps/default.nix +++ b/pkgs/os-specific/linux/psmouse-alps/default.nix @@ -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}"; From d0d9470519dd686c114b796ac84cf9c7cd030a58 Mon Sep 17 00:00:00 2001 From: "Jason \"Don\" O'Conal" Date: Fri, 14 Jun 2013 18:06:14 +1000 Subject: [PATCH 06/37] sup: add required gems and separate dependencies --- .../networking/mailreaders/sup/default.nix | 29 ++---- .../interpreters/ruby/generated.nix | 92 +++++++++++++++++++ .../development/interpreters/ruby/patches.nix | 4 +- pkgs/top-level/all-packages.nix | 7 ++ 4 files changed, 111 insertions(+), 21 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix index 163a32bfa88..8852e949173 100644 --- a/pkgs/applications/networking/mailreaders/sup/default.nix +++ b/pkgs/applications/networking/mailreaders/sup/default.nix @@ -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 }: stdenv.mkDerivation { name = "sup-d21f027afcd6a4031de9619acd8dacbd2f2f4fd4"; @@ -34,30 +35,20 @@ stdenv.mkDerivation { GEM_PATH="$GEM_PATH:${ncursesw_sup}/${ruby.gemPath}" GEM_PATH="$GEM_PATH:${xapian_full_alaveteli}/${ruby.gemPath}" GEM_PATH="$GEM_PATH:${gpgme}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${rmail}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${lockfile}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${gettext}/${ruby.gemPath}" + GEM_PATH="$GEM_PATH:${iconv}/${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 diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix index 3e9a3f198e8..aa31bb34423 100644 --- a/pkgs/development/interpreters/ruby/generated.nix +++ b/pkgs/development/interpreters/ruby/generated.nix @@ -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 = { diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix index 47b8864a635..e20cb81883f 100644 --- a/pkgs/development/interpreters/ruby/patches.nix +++ b/pkgs/development/interpreters/ruby/patches.nix @@ -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. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 239c9a5a41b..547f68436ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7814,6 +7814,13 @@ let xapian_full_alaveteli = rubyLibs.xapian_full_alaveteli_1_2_9_5; gpgme = ruby_gpgme; ncursesw_sup = ruby_ncursesw_sup; + rmail = rubyLibs.rmail; + mime_types = rubyLibs.mime_types; + chronic = rubyLibs.chronic; + trollop = rubyLibs.trollop; + lockfile = rubyLibs.lockfile; + gettext = rubyLibs.gettext; + iconv = rubyLibs.iconv; }; msmtp = callPackage ../applications/networking/msmtp { }; From efb46727cb991ff0e3324536d0c54bf9eef63b63 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Fri, 14 Jun 2013 11:35:52 +0200 Subject: [PATCH 07/37] Add haskell/xtest --- .../libraries/haskell/xtest/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/xtest/default.nix diff --git a/pkgs/development/libraries/haskell/xtest/default.nix b/pkgs/development/libraries/haskell/xtest/default.nix new file mode 100644 index 00000000000..6af22abedc0 --- /dev/null +++ b/pkgs/development/libraries/haskell/xtest/default.nix @@ -0,0 +1,14 @@ +{ cabal, X11, libXtst }: + +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; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 990f6d03552..2b35e902f05 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2097,6 +2097,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 {}; From 89f28c9923b1953a1f94993f3fc001c1bf2b63ff Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Fri, 14 Jun 2013 11:57:24 +0200 Subject: [PATCH 08/37] Add hit and (it's dependency,) bytedump --- .../libraries/haskell/bytedump/default.nix | 15 +++++++++++ .../libraries/haskell/hit/default.nix | 27 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 4 +++ 3 files changed, 46 insertions(+) create mode 100644 pkgs/development/libraries/haskell/bytedump/default.nix create mode 100644 pkgs/development/libraries/haskell/hit/default.nix diff --git a/pkgs/development/libraries/haskell/bytedump/default.nix b/pkgs/development/libraries/haskell/bytedump/default.nix new file mode 100644 index 00000000000..8290717fa4b --- /dev/null +++ b/pkgs/development/libraries/haskell/bytedump/default.nix @@ -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; + }; +}) diff --git a/pkgs/development/libraries/haskell/hit/default.nix b/pkgs/development/libraries/haskell/hit/default.nix new file mode 100644 index 00000000000..9791478d3e8 --- /dev/null +++ b/pkgs/development/libraries/haskell/hit/default.nix @@ -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; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 990f6d03552..685759c020b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -629,6 +629,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 {}; @@ -1155,6 +1157,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 {}; From 4d49435cf6c202e750201959222ff615b755fb30 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Fri, 14 Jun 2013 13:02:58 +0200 Subject: [PATCH 09/37] Add template-default --- .../libraries/haskell/template-default/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/template-default/default.nix diff --git a/pkgs/development/libraries/haskell/template-default/default.nix b/pkgs/development/libraries/haskell/template-default/default.nix new file mode 100644 index 00000000000..a450b09b551 --- /dev/null +++ b/pkgs/development/libraries/haskell/template-default/default.nix @@ -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; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 990f6d03552..7b098818664 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1874,6 +1874,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 {}; From fab2610bcfa1c4010ed63e561903700e054d0c91 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Fri, 14 Jun 2013 13:09:11 +0200 Subject: [PATCH 10/37] Add vectorThUnbox --- .../libraries/haskell/vector-th-unbox/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/haskell/vector-th-unbox/default.nix diff --git a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix new file mode 100644 index 00000000000..8f5ec4b52bf --- /dev/null +++ b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix @@ -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; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 990f6d03552..fdc594c91fc 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2012,6 +2012,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 {}; From a0c5ff6571cfced9f7ec538b7b6e5b8ca1bfe9ac Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 13 Jun 2013 17:52:55 +0200 Subject: [PATCH 11/37] nixUnstable: Update to 1.5.3pre3141_1b6ee8f --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index dfbde642f3f..73bed52654f 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -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 ]; From 672ae93687db5b95055351ba7660895038bf2bd1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Jun 2013 13:37:50 +0200 Subject: [PATCH 12/37] jquery-ui: Update to 1.10.3 Also add a symlink jquery.js (jquery.min.js is gone). --- .../libraries/javascript/jquery-ui/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/javascript/jquery-ui/default.nix b/pkgs/development/libraries/javascript/jquery-ui/default.nix index e2d48f25bb5..24217657b10 100644 --- a/pkgs/development/libraries/javascript/jquery-ui/default.nix +++ b/pkgs/development/libraries/javascript/jquery-ui/default.nix @@ -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 = { From 486e918215ccd643970e22e8874302fa5fe21561 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 12 Jun 2013 21:59:52 +0200 Subject: [PATCH 13/37] php: Fix support for JPEG and PNG over GD. Set an explicit path to the location of libjpeg for version 5.4 and an explicit path to libjpeg _and_ libpng for version 5.3. Signed-off-by: aszlig --- pkgs/development/interpreters/php/5.3.nix | 7 ++++++- pkgs/development/interpreters/php/5.4.nix | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index 35508230ebd..6a65cce0768 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -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]; }; diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index 3c200f9c5c1..35b1f82c246 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -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 ]; }; From ea87598a7107fbb3c8821461531bb237aa0aa5a8 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 12:33:37 +0200 Subject: [PATCH 14/37] zabbix20: Update to version 2.0.6. Release notes for this version and 2.0.5: http://www.zabbix.com/rn2.0.6.php http://www.zabbix.com/rn2.0.5.php Signed-off-by: aszlig --- pkgs/servers/monitoring/zabbix/2.0.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix index 6b0a22962a3..5131e8a2e42 100644 --- a/pkgs/servers/monitoring/zabbix/2.0.nix +++ b/pkgs/servers/monitoring/zabbix/2.0.nix @@ -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 = From 8cf68e56454f6ce1dc386b3bbf9b3aa0d988bbbe Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 13:06:12 +0200 Subject: [PATCH 15/37] chromium/updater: Remove workaround for <= v26. We no longer need the tar.bz2 archives, so let's remove the switch. Signed-off-by: aszlig --- pkgs/applications/networking/browsers/chromium/update.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 0c21213a751..b8489ae9598 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -79,12 +79,7 @@ get_channel_exprs() 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")"; From 5a6242a401a7e5a3820b7d306fa051f34ad1bec9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 13:24:40 +0200 Subject: [PATCH 16/37] chromium/updater: Fall back to previous version. This is especially annoying for the dev channel, as it happens quite frequently that tarballs are unavailable. So if fetching the latest version doesn't work, try the second latest version. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index b8489ae9598..79aa6bf2396 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -56,30 +56,36 @@ then if [ "x$version" != "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; get_channel_exprs() { - for chline in $(echo "$1" | cut -d, -f-2); + for chline in $1; do channel="${chline%%,*}"; - version="${chline##*,}"; + + versions="${chline#*,}"; + version="${versions%%,*}"; + previous="${versions##*,}"; url="${bucket_url%/}/chromium-$version.tar.xz"; + prevurl="${bucket_url%/}/chromium-$previous.tar.xz"; echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; @@ -88,6 +94,12 @@ 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" \ + "version $previous:" >&2; + sha256="$(get_sha256 "$channel" "$previous" "$prevurl")"; + fi; fi; sha_insert "$version" "$sha256"; @@ -103,7 +115,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,(([^,]+,){2}[^,]+).*$/\1/p')"; channel_exprs="$(get_channel_exprs "$versions")"; cat > "$output_file" <<-EOF From 872fb3e2ff081f5947f41efa24acf67e5372c5a7 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 14:10:47 +0200 Subject: [PATCH 17/37] chromium/updater: Fetch more previous versions. Omahaproxy has an URL which lists a history of the published versions, which allows to not only go back one versions, but several. Now it is ensured, that we always have the latest _available_ version in sources.nix. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 79aa6bf2396..5c89c8e492a 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -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"; @@ -74,18 +75,34 @@ else } 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 $1; do channel="${chline%%,*}"; - - versions="${chline#*,}"; - version="${versions%%,*}"; - previous="${versions##*,}"; + version="${chline##*,}"; url="${bucket_url%/}/chromium-$version.tar.xz"; - prevurl="${bucket_url%/}/chromium-$previous.tar.xz"; echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; @@ -97,8 +114,13 @@ get_channel_exprs() if [ $? -ne 0 ]; then echo "Whoops, failed to fetch $version, trying previous" \ - "version $previous:" >&2; - sha256="$(get_sha256 "$channel" "$previous" "$prevurl")"; + "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; @@ -115,7 +137,7 @@ get_channel_exprs() cd "$(dirname "$0")"; omaha="$(curl -s "$channels_url")"; -versions="$(echo "$omaha" | sed -nr -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 From 777351bce483dbe76694e2d570ac8995e8770ed9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 14:41:16 +0200 Subject: [PATCH 18/37] chromium/updater: Avoid downgrading versions. Previously we have just checked for equality. When going back in history, that way if the history is somewhat out-of-sync, we could end up "updating" to an older version, which we definitely don't want. Signed-off-by: aszlig --- .../networking/browsers/chromium/update.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 5c89c8e492a..0c4881bb396 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -42,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() @@ -54,7 +65,7 @@ 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")" || return 1; From cfb697b01372dc9c9d5405005f0e893067ab3c67 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 14 Jun 2013 17:45:39 +0200 Subject: [PATCH 19/37] chromium: Update beta and dev release channels. The following new versions were introduced: beta: 28.0.1500.45 - builds fine and tested dev: 29.0.1521.3 - builds fine and tested Although the version from the dev release channel isn't the latest found on omahaproxy but it's the latest one, that actually has tarballs available. Signed-off-by: aszlig --- .../networking/browsers/chromium/sources.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index 54d9f44f7fb..780c3b62a30 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -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"; From c9f59592851036eef99ac2ed2096aa46935531ec Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Fri, 14 Jun 2013 12:16:52 -0400 Subject: [PATCH 20/37] Update Coq to version 8.4pl2. --- pkgs/applications/science/logic/coq/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 9596c30ee6a..85c69413bfb 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -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 ]; From f53c60c8bb4816ace3e7b2c1d3acedb4bd3b96ff Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sat, 15 Jun 2013 06:52:25 +0000 Subject: [PATCH 21/37] upgrading pgf/tikz to 2.10 --- pkgs/tools/typesetting/tex/texlive/pgf.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/pgf.nix b/pkgs/tools/typesetting/tex/texlive/pgf.nix index 61e2eb26c68..14d1e8d7669 100644 --- a/pkgs/tools/typesetting/tex/texlive/pgf.nix +++ b/pkgs/tools/typesetting/tex/texlive/pgf.nix @@ -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 = "087i0fya6z42wmw7xlj3kyi3bwjg0avpxb01v4xy7ycxnkk94834"; }; propagatedBuildInputs = [texLiveLatexXColor texLive]; From ec41f1928a7f937f8bd003764fb94d3a817e0add Mon Sep 17 00:00:00 2001 From: Christophe Raffalli Date: Sat, 15 Jun 2013 07:07:00 +0000 Subject: [PATCH 22/37] fix pgf hash --- pkgs/tools/typesetting/tex/texlive/pgf.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/typesetting/tex/texlive/pgf.nix b/pkgs/tools/typesetting/tex/texlive/pgf.nix index 14d1e8d7669..1f7abc126c3 100644 --- a/pkgs/tools/typesetting/tex/texlive/pgf.nix +++ b/pkgs/tools/typesetting/tex/texlive/pgf.nix @@ -6,7 +6,7 @@ rec { src = fetchurl { url = "mirror://debian/pool/main/p/pgf/pgf_2.10.orig.tar.gz"; - sha256 = "087i0fya6z42wmw7xlj3kyi3bwjg0avpxb01v4xy7ycxnkk94834"; + sha256 = "642092e6b49df9e33bd901ac7eb7024ff235a29f43d27e78e5827ca3bc03f120"; }; propagatedBuildInputs = [texLiveLatexXColor texLive]; From e049b5b9729a5c94a7fe27ce75376e19ceac6d75 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 11:53:13 +0200 Subject: [PATCH 23/37] gnucash: update to version 2.4.13 --- pkgs/applications/office/gnucash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 26879a6f660..16f8fe0a1bd 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -9,11 +9,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 = [ From 7d67e76664c9c19917cc0c43a079b7714070fa2a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 11:59:13 +0200 Subject: [PATCH 24/37] release-haskell.nix: build the latest version of Cabal and cabal-install with all GHC major releases --- pkgs/top-level/release-haskell.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 218ce951f06..8ebec1e249e 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -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; From 12c9251a3d19ffc304c5b6c91c4cc1dc49d69a24 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:12:08 +0200 Subject: [PATCH 25/37] haskell-defaults.nix: add overrides to fix the latest cabal-install build with older GHC versions --- pkgs/top-level/haskell-defaults.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 23573478e39..35ff9cf4097 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -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,12 @@ # 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; + 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 From 0f25c404bc5630a630adb4ef07011cb25e134c89 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:19 +0200 Subject: [PATCH 26/37] haskell-hashable: add version 1.2.0.10 --- .../hashable/{1.2.0.7.nix => 1.2.0.10.nix} | 4 +- pkgs/top-level/haskell-packages.nix | 72 +++++++++---------- 2 files changed, 38 insertions(+), 38 deletions(-) rename pkgs/development/libraries/haskell/hashable/{1.2.0.7.nix => 1.2.0.10.nix} (87%) diff --git a/pkgs/development/libraries/haskell/hashable/1.2.0.7.nix b/pkgs/development/libraries/haskell/hashable/1.2.0.10.nix similarity index 87% rename from pkgs/development/libraries/haskell/hashable/1.2.0.7.nix rename to pkgs/development/libraries/haskell/hashable/1.2.0.10.nix index e92f0c2c9d1..2bafe55f420 100644 --- a/pkgs/development/libraries/haskell/hashable/1.2.0.7.nix +++ b/pkgs/development/libraries/haskell/hashable/1.2.0.10.nix @@ -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 diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 91d54aa1fcb..1a665918004 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -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 }; @@ -1078,8 +1078,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 {}; From 9c771de1a8fb4fa0707a9dc29b100f8dad54e4e6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:51 +0200 Subject: [PATCH 27/37] Agda: drop redundant overrides --- pkgs/top-level/haskell-packages.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 1a665918004..787c458874f 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -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 {}; From ad8413ac0be183fb0fbf79ac7178e41993136e8f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:58 +0200 Subject: [PATCH 28/37] haskell-accelerate-cuda: update to version 0.13.0.3 --- .../development/libraries/haskell/accelerate-cuda/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix index ba8c9ece664..53f1514bcb6 100644 --- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix +++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix @@ -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 From 41b4c3da48e5285a5bc650c0bb6a457a7631122f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:58 +0200 Subject: [PATCH 29/37] haskell-accelerate-io: update to version 0.13.0.2 --- pkgs/development/libraries/haskell/accelerate-io/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/accelerate-io/default.nix b/pkgs/development/libraries/haskell/accelerate-io/default.nix index 3daa16d87c9..48c2ea71e17 100644 --- a/pkgs/development/libraries/haskell/accelerate-io/default.nix +++ b/pkgs/development/libraries/haskell/accelerate-io/default.nix @@ -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"; From 67fc03f1e490882fc7f78a84e0a4419207c969e6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:58 +0200 Subject: [PATCH 30/37] haskell-accelerate: update to version 0.13.0.5 --- pkgs/development/libraries/haskell/accelerate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix index 399140f7283..c2484116f46 100644 --- a/pkgs/development/libraries/haskell/accelerate/default.nix +++ b/pkgs/development/libraries/haskell/accelerate/default.nix @@ -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/"; From 0ec9ca98a9c8452bd77cf794e216b7ecb4c32ee4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:32:58 +0200 Subject: [PATCH 31/37] haskell-shake: update to version 0.10.5 --- pkgs/development/libraries/haskell/shake/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix index c5cc24cc8da..b7f605c2b7e 100644 --- a/pkgs/development/libraries/haskell/shake/default.nix +++ b/pkgs/development/libraries/haskell/shake/default.nix @@ -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 = [ From 9df1684126fa0318e1808bdeca747d6b521d86f0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:50:52 +0200 Subject: [PATCH 32/37] moderncv: update to version 1.5.1 --- pkgs/tools/typesetting/tex/texlive/moderncv.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix index e490d55bc5f..28329cff916 100644 --- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix +++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix @@ -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]; From b7cba63031427b8c39abbf9d437fbd6bda2e450a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 12:58:21 +0200 Subject: [PATCH 33/37] Add moderntimeline extension for moderncv. --- .../tex/texlive/moderntimeline.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 17 +++++++----- 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 pkgs/tools/typesetting/tex/texlive/moderntimeline.nix diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix new file mode 100644 index 00000000000..6139911623f --- /dev/null +++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix @@ -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 = [] ; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 547f68436ad..afefed468c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2652,8 +2652,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 { }; @@ -9398,7 +9398,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 @@ -9446,6 +9447,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 { }; @@ -9498,14 +9503,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 From d166efdff5c6be0974dd511e6feb22776480c7a5 Mon Sep 17 00:00:00 2001 From: "Jason \"Don\" O'Conal" Date: Sat, 15 Jun 2013 21:02:57 +1000 Subject: [PATCH 34/37] sup: add missing dependencies * rubygems `locale` and `text` were missing from the sup expression --- .../networking/mailreaders/sup/default.nix | 18 ++++++++++-------- pkgs/top-level/all-packages.nix | 19 +++++++++++-------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix index 8852e949173..d71b0ed1e95 100644 --- a/pkgs/applications/networking/mailreaders/sup/default.nix +++ b/pkgs/applications/networking/mailreaders/sup/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup , xapian_full_alaveteli, gpgme, libiconvOrEmpty, rmail, mime_types, chronic -, trollop, lockfile, gettext, iconv }: +, trollop, lockfile, gettext, iconv, locale, text }: stdenv.mkDerivation { name = "sup-d21f027afcd6a4031de9619acd8dacbd2f2f4fd4"; @@ -32,16 +32,18 @@ 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:${gpgme}/${ruby.gemPath}" - GEM_PATH="$GEM_PATH:${rmail}/${ruby.gemPath}" - GEM_PATH="$GEM_PATH:${mime_types}/${ruby.gemPath}" GEM_PATH="$GEM_PATH:${chronic}/${ruby.gemPath}" - GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}" - GEM_PATH="$GEM_PATH:${lockfile}/${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 # the dependencies but gem doesn't acknowledge this diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 547f68436ad..c62f05ab863 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7809,18 +7809,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; - gpgme = ruby_gpgme; - ncursesw_sup = ruby_ncursesw_sup; - rmail = rubyLibs.rmail; - mime_types = rubyLibs.mime_types; + chronic = rubyLibs.chronic; - trollop = rubyLibs.trollop; - lockfile = rubyLibs.lockfile; 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 { }; From 5a1e9a9cf25d242bd6ffdec682f419f3a73b97cd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 13:18:51 +0200 Subject: [PATCH 35/37] haskell-binary: re-add version 0.6.0.0 for the benefit of GHC 6.10.4 --- .../libraries/haskell/binary/0.6.0.0.nix | 13 +++++++++++++ .../haskell/binary/{default.nix => 0.7.1.0.nix} | 0 pkgs/top-level/haskell-defaults.nix | 1 + pkgs/top-level/haskell-packages.nix | 4 +++- 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/haskell/binary/0.6.0.0.nix rename pkgs/development/libraries/haskell/binary/{default.nix => 0.7.1.0.nix} (100%) diff --git a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix b/pkgs/development/libraries/haskell/binary/0.6.0.0.nix new file mode 100644 index 00000000000..01e909212e8 --- /dev/null +++ b/pkgs/development/libraries/haskell/binary/0.6.0.0.nix @@ -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; + }; +}) diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/0.7.1.0.nix similarity index 100% rename from pkgs/development/libraries/haskell/binary/default.nix rename to pkgs/development/libraries/haskell/binary/0.7.1.0.nix diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 35ff9cf4097..d2cfbf38f98 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -136,6 +136,7 @@ # 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; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 787c458874f..2cf5b3eeacf 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -585,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 {}; From 9ce5dec479ab4954991bb9682602424360bca7e4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 13:22:41 +0200 Subject: [PATCH 36/37] cosmetic --- pkgs/development/libraries/haskell/xtest/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/xtest/default.nix b/pkgs/development/libraries/haskell/xtest/default.nix index 6af22abedc0..d9ce47647ca 100644 --- a/pkgs/development/libraries/haskell/xtest/default.nix +++ b/pkgs/development/libraries/haskell/xtest/default.nix @@ -1,4 +1,4 @@ -{ cabal, X11, libXtst }: +{ cabal, libXtst, X11 }: cabal.mkDerivation (self: { pname = "xtest"; From 43822c1a3619f6d81d666eeaf9c6b7ba54b8ea55 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 15 Jun 2013 13:29:09 +0200 Subject: [PATCH 37/37] haskell-cabal2nix: update to version 1.52 --- pkgs/development/tools/haskell/cabal2nix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index 96803e139ba..05dcb2aa119 100644 --- a/pkgs/development/tools/haskell/cabal2nix/default.nix +++ b/pkgs/development/tools/haskell/cabal2nix/default.nix @@ -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 ];