diff --git a/.version b/.version index 07167f90842e..af805b45bd8d 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -14.02 \ No newline at end of file +14.04 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 000000000000..8ded8807ede9 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +Nixpkgs is a collection of packages for [Nix](http://nixos.org/nix/) package +manager. Nixpkgs also includes [NixOS](http://nixos.org/nixos/) linux distribution source code. + +* [NixOS installation instructions](http://nixos.org/nixos/manual/#installing-nixos) +* [Manual (How to write packages for Nix)](http://nixos.org/nixpkgs/manual/) +* [Manual (NixOS)](http://nixos.org/nixos/manual/) +* [Continuous build](http://hydra.nixos.org/jobset/nixos/trunk-combined) +* [Tests](http://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) +* [Mailing list](http://lists.science.uu.nl/mailman/listinfo/nix-dev) +* [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos) diff --git a/default.nix b/default.nix index 9d5764a6307f..c1b9bfd39f92 100644 --- a/default.nix +++ b/default.nix @@ -1 +1,7 @@ -import ./pkgs/top-level/all-packages.nix +if ! builtins ? nixVersion || builtins.compareVersions "1.6" builtins.nixVersion == 1 then + + abort "This version of Nixpkgs requires Nix >= 1.6, please upgrade!" + +else + + import ./pkgs/top-level/all-packages.nix diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index e55f86ae3d31..61d373738f90 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -235,12 +235,7 @@ Most of the time, these are the same. For instance, the package bound to the variable name e2fsprogs in all-packages.nix, and the Nix expression is in pkgs/os-specific/linux/e2fsprogs/default.nix. -However, identifiers in the Nix language don’t allow certain -characters (e.g. dashes), so sometimes a different variable name -should be used. For instance, the -module-init-tools package is bound to the -module_init_tools variable in -all-packages.nix. + There are a few naming guidelines: @@ -261,17 +256,20 @@ should be used. For instance, the a package named hello-svn by nix-env. - Dashes in the package name should be changed to - underscores in variable names, rather than to camel case — e.g., - module_init_tools instead of - moduleInitTools. + Dashes in the package name should be preserved + in new variable names, rather than converted to underscores + (which was convention up to around 2013 and most names + still have underscores instead of dashes) — e.g., + http-parser instead of + http_parser. If there are multiple versions of a package, this should be reflected in the variable names in all-packages.nix, - e.g. hello_0_3 and hello_0_4. + e.g. json-c-0-9 and json-c-0-11. If there is an obvious “default” version, make an attribute like - hello = hello_0_4;. + json-c = json-c-0-9;. + See also @@ -288,7 +286,7 @@ dashes between words — not in camel case. For instance, it should be allPackages.nix or AllPackages.nix. -
Hierachy +
Hierarchy Each package should be stored in its own directory somewhere in the pkgs/ tree, i.e. in @@ -567,7 +565,7 @@ splitting up an existing category.
-
Versioning +
Versioning Because every version of a package in Nixpkgs creates a potential maintenance burden, old versions of a package should not be diff --git a/doc/language-support.xml b/doc/language-support.xml index 69361e3be6c3..f5e89df57fcc 100644 --- a/doc/language-support.xml +++ b/doc/language-support.xml @@ -108,7 +108,7 @@ a preConfigure hook to generate a configuration file used by Makefile.PL: -{buildPerlPackage, fetchurl, db4}: +{buildPerlPackage, fetchurl, db}: buildPerlPackage rec { name = "BerkeleyDB-0.36"; @@ -119,8 +119,8 @@ buildPerlPackage rec { }; preConfigure = '' - echo "LIB = ${db4}/lib" > config.in - echo "INCLUDE = ${db4}/include" >> config.in + echo "LIB = ${db}/lib" > config.in + echo "INCLUDE = ${db}/include" >> config.in ''; } diff --git a/doc/meta.xml b/doc/meta.xml index 00e9b8ac67a1..6c8e458509a7 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -164,7 +164,7 @@ meta.hydraPlatforms = []; If set to true, the package is marked as “broken”, meaning that it won’t show up in nix-env -qa, and cannot be built or installed. - Sush packages should be removed from Nixpkgs eventually unless + Such packages should be removed from Nixpkgs eventually unless they are fixed. diff --git a/doc/outline.txt b/doc/outline.txt deleted file mode 100644 index 816cdbdc3ed7..000000000000 --- a/doc/outline.txt +++ /dev/null @@ -1,158 +0,0 @@ -- The standard environment - - (Some of this can be moved from the Nix manual) - - - Special attributes - - - Generic builder - - - Helper functions - - - GCC / ld wrapper (+ env vars) - - - Phases (+ how to add phases) and hooks - - - Override functions for stdenv - - - Overriding GCC - - - Overriding the setup script - - - Predefined override functions in all-packages.nix: static binary - stdenv, dietlibc stdenv - - - Stdenv bootstrap; how to update the Linux bootstrap binaries - - - Specific platform notes (Linux, Native, Cygwin, Mingw) - - -- Support for specific languages - - - Perl - - - Generic Perl builder - - - Python - - - Wrapper generation - - - Haskell - - - TODO - - - Java - - - TODO; Java needs lots of improvement - - - TeX/LaTeX - - - Special support for building TeX documents - - -- Special kinds of applications - - - OpenGL apps - - - Binary-only apps - - - Linux kernel modules - - - Mozilla plugins/extensions - - - X apps - - - KDE apps - - - GConf-based apps - - - Programs that need wrappers - - - makeWrapper etc. - - - Initial ramdisks - - -- Library functions - - - i.e. in lib/default.nix - - -- Specific package notes - - - Linux kernel; how to update; feature tests - - - X.org; how to update - - - Gnome; how to update - - - GCC? - - - GHC? - - - ... - - -- Meta attributes - - - License attr; possible values - - -- Virtual machine support (for the build farm) - - - vmtools - - - KVM notes - - - Performing a build in a VM - - - In the host FS - - - In a disk image - - - RPM builds - - - RPM image creation - - - Deb builds - - - Deb image creation - - - Debugging VM builds - - -- Guidelines for Nixpkgs contributions - - - File naming conventions - - - Versioning of packages - - - Tree organisation - - - Variable naming - - - Layout / indentations style - - - Output FS hierarchy (e.g. $out/share/man instead of $out/man) - - -- Misc - - - Building outside of the Nixpkgs tree - - - Config options - - - Downloading stuff - - - fetchurl - - - mirror:// scheme - - - fetchsvn - - - fetchcvs - - - fetchdarcs - - -- Appendix: Nixpkgs config options - diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 35983f0b114a..49c674052b95 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -71,7 +71,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix GNU Multiple Precision arithmetic library (GMP): pkgs/development/libraries/gmp/5.1.1.nix. + xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix">pkgs/development/libraries/gmp/5.1.x.nix. Also done by the generic builder, but has a dependency on m4. diff --git a/doc/stdenv.xml b/doc/stdenv.xml index f0cabe425a3d..74eb63b4b498 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -298,6 +298,13 @@ executed and in what order: + + preFixupPhases + + Additional phases executed just before the fixup phase. + + + preDistPhases @@ -1156,12 +1163,27 @@ echo @foo@ to Qt’s path. + + gdk-pixbuf + Exports GDK_PIXBUF_MODULE_FILE + environment variable the the builder. Add librsvg package + to buildInputs to get svg support. + + GHC Creates a temporary package database and registers every Haskell build input in it (TODO: how?). + + GStreamer + Adds the + GStreamer plugins subdirectory of + each build input to the GST_PLUGIN_SYSTEM_PATH_1_0 or + GST_PLUGIN_SYSTEM_PATH environment variable. + + diff --git a/lib/licenses.nix b/lib/licenses.nix index b13a72f3f644..20c1b2200315 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -25,19 +25,15 @@ amd = { shortName = "amd"; fullName = "AMD License Agreement"; - url = "http://developer.amd.com/amd-license-agreement/"; - }; + url = http://developer.amd.com/amd-license-agreement/; + };# - amdadl = { - shortName = "amd-adl"; - fullName = "amd-adl license"; - url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/AMD-ADL?revision=1.1"; + apsl20 = { + shortName = "APSL 2.0"; + fullName = "Apple Public Source License 2.0"; + url = http://opensource.org/licenses/APSL-2.0; }; - # Apple Public Source License 2.0; - # http://opensource.org/licenses/APSL-2.0 - apsl20 = "APSL 2.0"; - asl20 = { shortName = "ASL2.0"; fullName = "Apache Software License 2.0"; @@ -68,6 +64,12 @@ url = https://fedoraproject.org/wiki/Licensing/BSD; }; + cc-by-30 = { + shortName = "CC BY 3.0"; + fullName = "Creative Commons Attribution 3.0"; + url = http://creativecommons.org/licenses/by/3.0; + }; + cddl = { shortName = "CDDL"; fullName = "Common Development Distribution License "; @@ -86,7 +88,11 @@ url = http://www.eclipse.org/legal/epl-v10.html; }; - gpl2 = "GPLv2"; + gpl2 = { + shortName = "GPLv2"; + fullName = "GNU General Public License version 2"; + url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html; + }; gpl2Oss = { shortName = "GPLv2+OSS"; @@ -94,9 +100,11 @@ url = http://www.mysql.com/about/legal/licensing/foss-exception; }; - # GNU General Public License version 2 or later; - # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - gpl2Plus = "GPLv2+"; + gpl2Plus = { + shortName = "GPLv2+"; + fullName = "GNU General Public License version 2 or later"; + url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html; + }; gpl3 = { shortName = "GPLv3"; @@ -140,7 +148,11 @@ url = https://fedoraproject.org/wiki/Licensing/libtiff; }; - lgpl2 = "LGPLv2"; + lgpl2 = { + shortName = "LGPLv2"; + fullName = "GNU Library General Public License version 2"; + url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html; + }; lgpl2Plus = { shortName = "LGPLv2+"; @@ -148,7 +160,11 @@ url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html; }; - lgpl21 = "LGPLv2.1"; + lgpl21 = { + shortName = "LGPLv2.1"; + fullName = "GNU Lesser General Public License version 2.1"; + url = http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html; + }; lgpl21Plus = { shortName = "LGPLv2.1+"; @@ -238,4 +254,10 @@ fullName = "Zope Public License 2.1"; url = "http://old.zope.org/Resources/License/ZPL-2.1"; }; + + sleepycat = { + shortName = "Sleepycat"; + fullName = "Sleepycat Public License"; + url = "https://en.wikipedia.org/wiki/Sleepycat_License"; + }; } diff --git a/lib/lists.nix b/lib/lists.nix index 71a897027962..4b5f04a67585 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -226,4 +226,5 @@ in rec { deepSeqList = xs: y: if any (x: deepSeq x false) xs then y else y; crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; + } diff --git a/lib/maintainers.nix b/lib/maintainers.nix index c29259c6386c..78355eff0045 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -4,35 +4,46 @@ /* Add your name and email address here. Keep the list alphabetically sorted. */ + _1126 = "Christian Lask "; aforemny = "Alexander Foremny "; + akc = "Anders Claesson "; algorith = "Dries Van Daele "; all = "Nix Committers "; amiddelk = "Arie Middelkoop "; amorsillo = "Andrew Morsillo "; + AndersonTorres = "Anderson Torres "; andres = "Andres Loeh "; antono = "Antono Vasiljev "; astsmtl = "Alexander Tsamutali "; aszlig = "aszlig "; bbenoist = "Baptist BENOIST "; + bennofs = "Benno Fünfstück "; bjg = "Brian Gough "; bjornfor = "Bjørn Forsman "; bluescreen303 = "Mathijs Kwik "; bodil = "Bodil Stokke "; + calrama = "Moritz Maxeiner "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; coroa = "Jonas Hörsch "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; - ertes = "Ertugrul Söylemez "; + emery = "Emery Hemingawy "; + ertes = "Ertugrul Söylemez "; + falsifian = "James Cook "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; + hinton = "Tom Hinton "; ianwookim = "Ian-Woo Kim "; iElectric = "Domen Kozar "; iyzsong = "Song Wenwu "; jcumming = "Jack Cummings "; + jwiegley = "John Wiegley "; kkallio = "Karn Kallio "; ktosiek = "Tomasz Kontusz "; + lethalman = "Luca Bruno "; + linquize = "Linquize "; lovek323 = "Jason O'Conal "; ludo = "Ludovic Courtès "; madjar = "Georges Dubus "; @@ -40,6 +51,7 @@ matejc = "Matej Cotman "; modulistic = "Pablo Costa "; mornfall = "Petr Ročkai "; + msackman = "Matthew Sackman "; ocharles = "Oliver Charles "; offline = "Jaka Hudoklin "; orbitz = "Malcolm Matalka "; @@ -47,26 +59,34 @@ phreedom = "Evgeny Egorochkin "; pierron = "Nicolas B. Pierron "; piotr = "Piotr Pietraszkiewicz "; + pkmx = "Chih-Mao Chen "; pSub = "Pascal Wittmann "; qknight = "Joachim Schiele "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; + redbaron = "Maxim Ivanov "; rickynils = "Rickard Nilsson "; rob = "Rob Vermaas "; roconnor = "Russell O'Connor "; roelof = "Roelof Wobben "; + romildo = "José Romildo Malaquias "; + rszibele = "Richard Szibele "; sander = "Sander van der Burg "; shlevy = "Shea Levy "; simons = "Peter Simons "; smironov = "Sergey Mironov "; + sprock = "Roger Mason "; thammers = "Tobias Hammerschmidt "; the-kenny = "Moritz Ulrich "; + thoughtpolice = "Austin Seipp "; tomberek = "Thomas Bereknyei "; + ttuegel = "Thomas Tuegel "; urkud = "Yury G. Kudryashov "; vcunat = "Vladimír Čunát "; viric = "Lluís Batlle i Rossell "; vizanto = "Danny Wilson "; vlstill = "Vladimír Štill "; winden = "Antonio Vargas Gonzalez "; + wizeman = "Ricardo M. Correia "; z77z = "Marco Maggesi "; zef = "Zef Hemel "; zimbatm = "zimbatm "; diff --git a/lib/meta.nix b/lib/meta.nix index 74e9cfb411c4..44e3cc011f18 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -14,7 +14,7 @@ rec { addMetaAttrs {description = "Bla blah";} somePkg */ addMetaAttrs = newAttrs: drv: - drv // { meta = (if drv ? meta then drv.meta else {}) // newAttrs; }; + drv // { meta = (drv.meta or {}) // newAttrs; }; /* Change the symbolic name of a package for presentation purposes @@ -31,11 +31,10 @@ rec { updateName = updater: drv: drv // {name = updater (drv.name);}; - /* Append a suffix to the name of a package. !!! the suffix should - really be appended *before* the version, at least most of the - time. - */ - appendToName = suffix: updateName (name: "${name}-${suffix}"); + /* Append a suffix to the name of a package (before the version + part). */ + appendToName = suffix: updateName (name: + let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}"); /* Apply a function to each derivation and only to derivations in an attrset @@ -51,7 +50,7 @@ rec { /* Apply lowPrio to an attrset with derivations */ - lowPrioSet = set: mapDerivationAttrset lowPrio set; + lowPrioSet = set: mapDerivationAttrset lowPrio set; /* Increase the nix-env priority of the package, i.e., this @@ -63,5 +62,5 @@ rec { /* Apply hiPrio to an attrset with derivations */ hiPrioSet = set: mapDerivationAttrset hiPrio set; - + } diff --git a/lib/modules.nix b/lib/modules.nix index fa31ce6399ce..017c9255246f 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -12,7 +12,7 @@ rec { and ‘config’: the nested set of all option values. */ evalModules = { modules, prefix ? [], args ? {}, check ? true }: let - args' = args // result; + args' = args // { lib = import ./.; } // result; closed = closeModules modules args'; # Note: the list of modules is reversed to maintain backward # compatibility with the old module system. Not sure if this is @@ -155,8 +155,14 @@ rec { let # Process mkOverride properties, adding in the default # value specified in the option declaration (if any). - defsFinal = filterOverrides + defsFinal' = filterOverrides ((if opt ? default then [{ file = head opt.declarations; value = mkOptionDefault opt.default; }] else []) ++ defs); + # Sort mkOrder properties. + defsFinal = + # Avoid sorting if we don't have to. + if any (def: def.value._type or "" == "order") defsFinal' + then sortProperties defsFinal' + else defsFinal'; files = map (def: def.file) defsFinal; # Type-check the remaining definitions, and merge them if # possible. @@ -180,7 +186,7 @@ rec { }; /* Given a config set, expand mkMerge properties, and push down the - mkIf properties into the children. The result is a list of + other properties into the children. The result is a list of config sets that do not have properties at top-level. For example, @@ -201,7 +207,7 @@ rec { map (mapAttrs (n: v: mkIf cfg.condition v)) (pushDownProperties cfg.content) else if cfg._type or "" == "override" then map (mapAttrs (n: v: mkOverride cfg.priority v)) (pushDownProperties cfg.content) - else + else # FIXME: handle mkOrder? [ cfg ]; /* Given a config value, expand mkMerge properties, and discharge @@ -253,6 +259,19 @@ rec { strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs; + /* Sort a list of properties. The sort priority of a property is + 1000 by default, but can be overriden by wrapping the property + using mkOrder. */ + sortProperties = defs: + let + strip = def: + if def.value._type or "" == "order" + then def // { value = def.value.content; inherit (def.value) priority; } + else def; + defs' = map strip defs; + compare = a: b: (a.priority or 1000) < (b.priority or 1000); + in sort compare defs'; + /* Hack for backward compatibility: convert options of type optionSet to configOf. FIXME: remove eventually. */ fixupOptionType = loc: opt: @@ -302,8 +321,13 @@ rec { mkFixStrictness = id; # obsolete, no-op - # FIXME: Add mkOrder back in. It's not currently used anywhere in - # NixOS, but it should be useful. + mkOrder = priority: content: + { _type = "order"; + inherit priority content; + }; + + mkBefore = mkOrder 500; + mkAfter = mkOrder 1500; /* Compatibility. */ diff --git a/lib/sources.nix b/lib/sources.nix index 6f8554d340be..a80e4397d6a4 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -10,9 +10,12 @@ rec { cleanSource = let filter = name: type: let baseName = baseNameOf (toString name); in ! ( # Filter out Subversion and CVS directories. - (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS")) || + (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || # Filter out backup files. - (lib.hasSuffix "~" baseName) + lib.hasSuffix "~" baseName || + # Filter out generates files. + lib.hasSuffix ".o" baseName || + lib.hasSuffix ".so" baseName ); in src: builtins.filterSource filter src; diff --git a/lib/trivial.nix b/lib/trivial.nix index 760a74ce6664..e073da4900cc 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -41,4 +41,13 @@ rec { pathExists readFile isBool isFunction isInt add sub lessThan; + # Return the Nixpkgs version number. + nixpkgsVersion = + let suffixFile = ../.version-suffix; in + readFile ../.version + + (if pathExists suffixFile then readFile suffixFile else "pre-git"); + + # Whether we're being called by nix-shell. This is useful to + inNixShell = builtins.getEnv "IN_NIX_SHELL" == "1"; + } diff --git a/lib/types.nix b/lib/types.nix index bdd21f123952..baf8aa5e5743 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -10,7 +10,6 @@ with import ./strings.nix; rec { isType = type: x: (x._type or "") == type; - typeOf = x: x._type or ""; setType = typeName: value: value // { _type = typeName; @@ -132,7 +131,7 @@ rec { { inherit (def) file; value = listToAttrs ( imap (elemIdx: elem: - { name = "unnamed-${toString defIdx}.${toString elemIdx}"; + { name = elem.name or "unnamed-${toString defIdx}.${toString elemIdx}"; value = elem; }) def.value); } diff --git a/maintainers/scripts/copy-tarball.sh b/maintainers/scripts/copy-tarball.sh deleted file mode 100755 index 792071c129b9..000000000000 --- a/maintainers/scripts/copy-tarball.sh +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -e - -distDir=${NIX_TARBALLS_CACHE:-/tarballs} - -url="$1" -file="$2" -if [ -z "$url" ]; then echo "syntax: $0 URL"; exit 0; fi - -base="$(basename "$url")" -if [ -z "$base" ]; then echo "bad URL"; exit 1; fi -dstPath="$distDir/$base" - -if [ -e "$dstPath" ]; then if [ -n "$VERBOSE" ]; then echo "$dstPath already exists"; fi; exit 0; fi - -if [ -z "$file" ]; then - - echo "downloading $url to $dstPath" - - if [ -n "$DRY_RUN" ]; then exit 0; fi - - declare -a res - if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then - exit - fi - - storePath=${res[1]} - -else - storePath="$file" -fi - -cp $storePath "$dstPath.tmp.$$" -mv -f "$dstPath.tmp.$$" "$dstPath" - -echo "hashing $dstPath" - -md5=$(nix-hash --flat --type md5 "$dstPath") -ln -sfn "../$base" $distDir/md5/$md5 - -sha1=$(nix-hash --flat --type sha1 "$dstPath") -ln -sfn "../$base" $distDir/sha1/$sha1 - -sha256=$(nix-hash --flat --type sha256 "$dstPath") -ln -sfn "../$base" $distDir/sha256/$sha256 -ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256") diff --git a/maintainers/scripts/copy-tarballs.pl b/maintainers/scripts/copy-tarballs.pl new file mode 100755 index 000000000000..0746fb21069d --- /dev/null +++ b/maintainers/scripts/copy-tarballs.pl @@ -0,0 +1,95 @@ +#! /run/current-system/sw/bin/perl -w + +use strict; +use XML::Simple; +use File::Basename; +use File::Path; +use File::Copy 'cp'; +use IPC::Open2; +use Nix::Store; + +my $myDir = dirname($0); + +my $tarballsCache = $ENV{'NIX_TARBALLS_CACHE'} // "/tarballs"; + +my $xml = `nix-instantiate --eval-only --xml --strict ''`; +die "$0: evaluation failed\n" if $? != 0; + +my $data = XMLin($xml) or die; + +mkpath($tarballsCache); +mkpath("$tarballsCache/md5"); +mkpath("$tarballsCache/sha1"); +mkpath("$tarballsCache/sha256"); + +foreach my $file (@{$data->{list}->{attrs}}) { + my $url = $file->{attr}->{url}->{string}->{value}; + my $algo = $file->{attr}->{type}->{string}->{value}; + my $hash = $file->{attr}->{hash}->{string}->{value}; + + if ($url !~ /^http:/ && $url !~ /^https:/ && $url !~ /^ftp:/ && $url !~ /^mirror:/) { + print STDERR "skipping $url (unsupported scheme)\n"; + next; + } + + $url =~ /([^\/]+)$/; + my $fn = $1; + + if (!defined $fn) { + print STDERR "skipping $url (no file name)\n"; + next; + } + + if ($fn =~ /[&?=%]/ || $fn =~ /^\./) { + print STDERR "skipping $url (bad character in file name)\n"; + next; + } + + if ($fn !~ /[a-zA-Z]/) { + print STDERR "skipping $url (no letter in file name)\n"; + next; + } + + if ($fn !~ /[0-9]/) { + print STDERR "skipping $url (no digit in file name)\n"; + next; + } + + if ($fn !~ /[-_\.]/) { + print STDERR "skipping $url (no dash/dot/underscore in file name)\n"; + next; + } + + my $dstPath = "$tarballsCache/$fn"; + + next if -e $dstPath; + + print "downloading $url to $dstPath...\n"; + + next if $ENV{DRY_RUN}; + + $ENV{QUIET} = 1; + $ENV{PRINT_PATH} = 1; + my $fh; + my $pid = open($fh, "-|", "nix-prefetch-url", "--type", $algo, $url, $hash) or die; + waitpid($pid, 0) or die; + if ($? != 0) { + print STDERR "failed to fetch $url: $?\n"; + last if $? >> 8 == 255; + next; + } + <$fh>; my $storePath = <$fh>; chomp $storePath; + + die unless -e $storePath; + + cp($storePath, $dstPath) or die; + + my $md5 = hashFile("md5", 0, $storePath) or die; + symlink("../$fn", "$tarballsCache/md5/$md5"); + + my $sha1 = hashFile("sha1", 0, $storePath) or die; + symlink("../$fn", "$tarballsCache/sha1/$sha1"); + + my $sha256 = hashFile("sha256", 0, $storePath) or die; + symlink("../$fn", "$tarballsCache/sha256/$sha256"); +} diff --git a/maintainers/scripts/copy-tarballs.sh b/maintainers/scripts/copy-tarballs.sh deleted file mode 100755 index a261f8175859..000000000000 --- a/maintainers/scripts/copy-tarballs.sh +++ /dev/null @@ -1,27 +0,0 @@ -#! /bin/sh -e - -urls=$(nix-instantiate --eval-only --xml --strict '' \ - | grep -A2 'name="urls"' \ - | grep ' \$filter, "maintainer|m=s" => \$maintainer, "file|f=s" => \$path, "help" => sub { showHelp() } - ) - or die("syntax: $0 ...\n"); + ) or exit 1; # Evaluate Nixpkgs into an XML representation. my $xml = `nix-env -f '$path' -qa '$filter' --xml --meta --drv-path`; diff --git a/nixos/.topmsg b/nixos/.topmsg deleted file mode 100644 index 9632e5926312..000000000000 --- a/nixos/.topmsg +++ /dev/null @@ -1 +0,0 @@ -improvements to vsftpd module diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml index e6d7dee251af..0ffee826dc49 100644 --- a/nixos/doc/manual/configuration.xml +++ b/nixos/doc/manual/configuration.xml @@ -237,7 +237,7 @@ postgresql.package = pkgs.postgresql90;
-
Abstractions +
Abstractions If you find yourself repeating yourself over and over, it’s time to abstract. Take, for instance, this Apache HTTP Server configuration: @@ -399,7 +399,7 @@ of an expression to be spliced into a string.
-
Modularity +
Modularity The NixOS configuration mechanism is modular. If your configuration.nix becomes too big, you can split @@ -443,8 +443,20 @@ Note that both configuration.nix and define an option, NixOS will try to merge the definitions. In the case of , that’s easy: the lists of -packages can simply be concatenated. For other types of options, a -merge may not be possible: for instance, if two modules define +packages can simply be concatenated. The value in +configuration.nix is merged last, so for +list-type options, it will appear at the end of the merged list. If +you want it to appear first, you can use mkBefore: + + +boot.kernelModules = mkBefore [ "kvm-intel" ]; + + +This causes the kvm-intel kernel module to be +loaded before any other kernel modules. + +For other types of options, a merge may not be possible. For +instance, if two modules define , nixos-rebuild will give an error: @@ -526,7 +538,7 @@ nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts
-
Syntax summary +
Syntax summary Below is a summary of the most important syntactic constructs in the Nix expression language. It’s not complete. In particular, there @@ -718,7 +730,7 @@ manual for the rest. -
Package management +
Package management This section describes how to add additional packages to your system. NixOS has two distinct styles of package management: @@ -923,7 +935,7 @@ environment.systemPackages = [ (import ./my-hello.nix) ]; where my-hello.nix contains: -with <nixpkgs> {}; # bring all of Nixpkgs into scope +with import <nixpkgs> {}; # bring all of Nixpkgs into scope stdenv.mkDerivation rec { name = "hello-2.8"; @@ -1025,7 +1037,6 @@ users.extraUsers.alice = home = "/home/alice"; description = "Alice Foobar"; extraGroups = [ "wheel" ]; - isSystemUser = false; useDefaultShell = true; openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ]; }; @@ -1172,7 +1183,7 @@ fileSystems."/".device = "/dev/mapper/crypted"; -
X Window System +
X Window System The X Window System (X11) provides the basis of NixOS’ graphical user interface. It can be enabled as follows: @@ -1184,7 +1195,7 @@ driver from a set of X.org drivers (such as vesa and intel). You can also specify a driver manually, e.g. -services.xserver.videoDrivers = [ "r128" ]; +hardware.opengl.videoDrivers = [ "r128" ]; to enable X.org’s xf86-video-r128 driver. @@ -1227,7 +1238,7 @@ $ systemctl start display-manager.service has better 3D performance than the X.org drivers. It is not enabled by default because it’s not free software. You can enable it as follows: -services.xserver.videoDrivers = [ "nvidia" ]; +hardware.opengl.videoDrivers = [ "nvidia" ]; You may need to reboot after enabling this driver to prevent a clash with other kernel modules. @@ -1264,9 +1275,9 @@ services.xserver.synaptics.twoFingerScroll = true; -
Networking +
Networking -
Secure shell access +
Secure shell access Secure shell (SSH) access to your machine can be enabled by setting: @@ -1294,7 +1305,7 @@ users.extraUsers.alice.openssh.authorizedKeys.keys =
-
IPv4 configuration +
IPv4 configuration By default, NixOS uses DHCP (specifically, dhcpcd) to automatically configure network @@ -1337,7 +1348,7 @@ provide the host name.
-
IPv6 configuration +
IPv6 configuration IPv6 is enabled by default. Stateless address autoconfiguration is used to automatically assign IPv6 addresses to all interfaces. You @@ -1352,17 +1363,19 @@ networking.enableIPv6 = false;
-
Firewall +
Firewall NixOS has a simple stateful firewall that blocks incoming connections and other unexpected packets. The firewall applies to -both IPv4 and IPv6 traffic. It can be enabled as follows: +both IPv4 and IPv6 traffic. It is enabled by default. It can be +disabled as follows: -networking.firewall.enable = true; +networking.firewall.enable = false; -You can open specific TCP ports to the outside world: +If the firewall is enabled, you can open specific TCP ports to the +outside world: networking.firewall.allowedTCPPorts = [ 80 443 ]; @@ -1384,7 +1397,7 @@ always allowed.)
-
Wireless networks +
Wireless networks NixOS will start wpa_supplicant for you if you enable this setting: @@ -1445,7 +1458,7 @@ networking.localCommands = -
Linux kernel +
Linux kernel You can override the Linux kernel and associated packages using the option . For instance, this diff --git a/nixos/doc/manual/containers.xml b/nixos/doc/manual/containers.xml new file mode 100644 index 000000000000..b8f170fc614f --- /dev/null +++ b/nixos/doc/manual/containers.xml @@ -0,0 +1,242 @@ + + +Containers + +NixOS allows you to easily run other NixOS instances as +containers. Containers are a light-weight +approach to virtualisation that runs software in the container at the +same speed as in the host system. NixOS containers share the Nix store +of the host, making container creation very efficient. + +Currently, NixOS containers are not perfectly isolated +from the host system. This means that a user with root access to the +container can do things that affect the host. So you should not give +container root access to untrusted users. + +NixOS containers can be created in two ways: imperatively, using +the command nixos-container, and declaratively, by +specifying them in your configuration.nix. The +declarative approach implies that containers get upgraded along with +your host system when you run nixos-rebuild, which +is often not what you want. By contrast, in the imperative approach, +containers are configured and updated independently from the host +system. + + +
Imperative container management + +We’ll cover imperative container management using +nixos-container first. You create a container with +identifier foo as follows: + + +$ nixos-container create foo + + +This creates the container’s root directory in +/var/lib/containers/foo and a small configuration +file in /etc/containers/foo.conf. It also builds +the container’s initial system configuration and stores it in +/nix/var/nix/profiles/per-container/foo/system. You +can modify the initial configuration of the container on the command +line. For instance, to create a container that has +sshd running, with the given public key for +root: + + +$ nixos-container create foo --config 'services.openssh.enable = true; \ + users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' + + + + +Creating a container does not start it. To start the container, +run: + + +$ nixos-container start foo + + +This command will return as soon as the container has booted and has +reached multi-user.target. On the host, the +container runs within a systemd unit called +container@container-name.service. +Thus, if something went wrong, you can get status info using +systemctl: + + +$ systemctl status container@foo + + + + +If the container has started succesfully, you can log in as +root using the root-login operation: + + +$ nixos-container root-login foo +[root@foo:~]# + + +Note that only root on the host can do this (since there is no +authentication). You can also get a regular login prompt using the +login operation, which is available to all users on +the host: + + +$ nixos-container login foo +foo login: alice +Password: *** + + +With nixos-container run, you can execute arbitrary +commands in the container: + + +$ nixos-container run foo -- uname -a +Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux + + + + +There are several ways to change the configuration of the +container. First, on the host, you can edit +/var/lib/container/name/etc/nixos/configuration.nix, +and run + + +$ nixos-container update foo + + +This will build and activate the new configuration. You can also +specify a new configuration on the command line: + + +$ nixos-container update foo --config 'services.httpd.enable = true; \ + services.httpd.adminAddr = "foo@example.org";' + +$ curl http://$(nixos-container show-ip foo)/ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… + + +However, note that this will overwrite the container’s +/etc/nixos/configuration.nix. + +Alternatively, you can change the configuration from within the +container itself by running nixos-rebuild switch +inside the container. Note that the container by default does not have +a copy of the NixOS channel, so you should run nix-channel +--update first. + +Containers can be stopped and started using +nixos-container stop and nixos-container +start, respectively, or by using +systemctl on the container’s service unit. To +destroy a container, including its file system, do + + +$ nixos-container destroy foo + + + + +
+ + +
Declarative container specification + +You can also specify containers and their configuration in the +host’s configuration.nix. For example, the +following specifies that there shall be a container named +database running PostgreSQL: + + +containers.database = + { config = + { config, pkgs, ... }: + { services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql92; + }; + }; + + +If you run nixos-rebuild switch, the container will +be built and started. If the container was already running, it will be +updated in place, without rebooting. + +By default, declarative containers share the network namespace +of the host, meaning that they can listen on (privileged) +ports. However, they cannot change the network configuration. You can +give a container its own network as follows: + + +containers.database = + { privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.11"; + }; + + +This gives the container a private virtual Ethernet interface with IP +address 192.168.100.11, which is hooked up to a +virtual Ethernet interface on the host with IP address +192.168.100.10. (See the next section for details +on container networking.) + +To disable the container, just remove it from +configuration.nix and run nixos-rebuild +switch. Note that this will not delete the root directory of +the container in /var/lib/containers. + +
+ + +
Networking + +When you create a container using nixos-container +create, it gets it own private IPv4 address in the range +10.233.0.0/16. You can get the container’s IPv4 +address as follows: + + +$ nixos-container show-ip foo +10.233.4.2 + +$ ping -c1 10.233.4.2 +64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms + + + + +Networking is implemented using a pair of virtual Ethernet +devices. The network interface in the container is called +eth0, while the matching interface in the host is +called c-container-name +(e.g., c-foo). The container has its own network +namespace and the CAP_NET_ADMIN capability, so it +can perform arbitrary network configuration such as setting up +firewall rules, without affecting or having access to the host’s +network. + +By default, containers cannot talk to the outside network. If +you want that, you should set up Network Address Translation (NAT) +rules on the host to rewrite container traffic to use your external +IP address. This can be accomplished using the following configuration +on the host: + + +networking.nat.enable = true; +networking.nat.internalInterfaces = ["c-+"]; +networking.nat.externalInterface = "eth0"; + +where eth0 should be replaced with the desired +external interface. Note that c-+ is a wildcard +that matches all container interfaces. + +
+ + +
+ diff --git a/nixos/doc/manual/development.xml b/nixos/doc/manual/development.xml index be1cbc97d5ed..a93b4b163bd5 100644 --- a/nixos/doc/manual/development.xml +++ b/nixos/doc/manual/development.xml @@ -1,5 +1,6 @@ + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="ch-development"> Development @@ -9,7 +10,7 @@ NixOS.
-
+
Getting the sources @@ -74,7 +75,7 @@ in nixos/ as packages. -
+
Writing NixOS modules @@ -188,9 +189,9 @@ commands to be executed periodically by cron). NixOS module for the “locate” service -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let locatedb = "/var/cache/locatedb"; in @@ -579,7 +580,7 @@ systemd.services.dhcpcd = -
+
Building specific parts of NixOS @@ -692,7 +693,7 @@ $ systemctl start tmp-httpd.service -
+
Building your own NixOS CD @@ -748,57 +749,310 @@ $ ./result/bin/nixos-install -
Whole-system testing using virtual machines +
-Complete NixOS GNU/Linux systems can be tested in virtual -machines (VMs). This makes it possible to test a system upgrade or -configuration change before rebooting into it, using the -nixos-rebuild build-vm or nixos-rebuild -build-vm-with-bootloader command. +NixOS tests - -The tests/ directory in the NixOS source -tree contains several whole-system unit tests. -These tests can be runNixOS tests can be run both from -NixOS and from a non-NixOS GNU/Linux distribution, provided the Nix -package manager is installed. from the NixOS source -tree as follows: +When you add some feature to NixOS, you should write a test for +it. NixOS tests are kept in the directory nixos/tests, +and are executed (using Nix) by a testing framework that automatically +starts one or more virtual machines containing the NixOS system(s) +required for the test. + +Writing tests + +A NixOS test is a Nix expression that has the following structure: + + +import ./make-test.nix { + + # Either the configuration of a single machine: + machine = + { config, pkgs, ... }: + { configuration… + }; + + # Or a set of machines: + nodes = + { machine1 = + { config, pkgs, ... }: { }; + machine2 = + { config, pkgs, ... }: { }; + … + }; + + testScript = + '' + Perl code… + ''; +} + + +The attribute testScript is a bit of Perl code that +executes the test (described below). During the test, it will start +one or more virtual machines, the configuration of which is described +by the attribute machine (if you need only one +machine in your test) or by the attribute nodes (if +you need multiple machines). For instance, login.nix +only needs a single machine to test whether users can log in on the +virtual console, whether device ownership is correctly maintained when +switching between consoles, and so on. On the other hand, nfs.nix, +which tests NFS client and server functionality in the Linux kernel +(including whether locks are maintained across server crashes), +requires three machines: a server and two clients. + +There are a few special NixOS configuration options for test +VMs: + + + + + + + + The memory of the VM in + megabytes. + + + + + The virtual networks to which the VM is + connected. See nat.nix + for an example. + + + + + By default, the Nix store in the VM is not + writable. If you enable this option, a writable union file system + is mounted on top of the Nix store to make it appear + writable. This is necessary for tests that run Nix operations that + modify the store. + + + + +For more options, see the module qemu-vm.nix. + +The test script is a sequence of Perl statements that perform +various actions, such as starting VMs, executing commands in the VMs, +and so on. Each virtual machine is represented as an object stored in +the variable $name, +where name is the identifier of the machine +(which is just machine if you didn’t specify +multiple machines using the nodes attribute). For +instance, the following starts the machine, waits until it has +finished booting, then executes a command and checks that the output +is more-or-less correct: + + +$machine->start; +$machine->waitForUnit("default.target"); +$machine->succeed("uname") =~ /Linux/; + + +The first line is actually unnecessary; machines are implicitly +started when you first execute an action on them (such as +waitForUnit or succeed). If you +have multiple machines, you can speed up the test by starting them in +parallel: + + +startAll; + + + + +The following methods are available on machine objects: + + + + + start + Start the virtual machine. This method is + asynchronous — it does not wait for the machine to finish + booting. + + + + shutdown + Shut down the machine, waiting for the VM to + exit. + + + + crash + Simulate a sudden power failure, by telling the VM + to exit immediately. + + + + block + Simulate unplugging the Ethernet cable that + connects the machine to the other machines. + + + + unblock + Undo the effect of + block. + + + + screenshot + Take a picture of the display of the virtual + machine, in PNG format. The screenshot is linked from the HTML + log. + + + + sendMonitorCommand + Send a command to the QEMU monitor. This is rarely + used, but allows doing stuff such as attaching virtual USB disks + to a running machine. + + + + sendKeys + Simulate pressing keys on the virtual keyboard, + e.g., sendKeys("ctrl-alt-delete"). + + + + sendChars + Simulate typing a sequence of characters on the + virtual keyboard, e.g., sendKeys("foobar\n") + will type the string foobar followed by the + Enter key. + + + + execute + Execute a shell command, returning a list + (status, + stdout). + + + + succeed + Execute a shell command, raising an exception if + the exit status is not zero, otherwise returning the standard + output. + + + + fail + Like succeed, but raising + an exception if the command returns a zero status. + + + + waitUntilSucceeds + Repeat a shell command with 1-second intervals + until it succeeds. + + + + waitUntilFails + Repeat a shell command with 1-second intervals + until it fails. + + + + waitForUnit + Wait until the specified systemd unit has reached + the “active” state. + + + + waitForFile + Wait until the specified file + exists. + + + + waitForOpenPort + Wait until a process is listening on the given TCP + port (on localhost, at least). + + + + waitForClosedPort + Wait until nobody is listening on the given TCP + port. + + + + waitForX + Wait until the X11 server is accepting + connections. + + + + waitForWindow + Wait until an X11 window has appeared whose name + matches the given regular expression, e.g., + waitForWindow(qr/Terminal/). + + + + + + + + + +Running tests + +You can run tests using nix-build. For +example, to run the test login.nix, +you just do: -$ nix-build tests/ -A nfs.test +$ nix-build '<nixpkgs/nixos/tests/login.nix>' -This performs an automated test of the NFS client and server -functionality in the Linux kernel, including file locking semantics -(e.g., whether locks are maintained across server crashes). It will -first build or download all the dependencies of the test (e.g., all -packages needed to run a NixOS VM). The test is defined in -tests/nfs.nix. If the test succeeds, -nix-build will place a symlink -./result in the current directory pointing at the -location in the Nix store of the test results (e.g., screenshots, test -reports, and so on). In particular, a pretty-printed log of the test -is written to log.html, which can be viewed using -a web browser like this: +or, if you don’t want to rely on NIX_PATH: + + +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix +… +running the VM test script +machine: QEMU running (pid 8841) +… +6 out of 6 tests succeeded + + +After building/downloading all required dependencies, this will +perform a build that starts a QEMU/KVM virtual machine containing a +NixOS system. The virtual machine mounts the Nix store of the host; +this makes VM creation very fast, as no disk image needs to be +created. Afterwards, you can view a pretty-printed log of the test: $ firefox result/log.html + It is also possible to run the test environment interactively, allowing you to experiment with the VMs. For example: -$ nix-build tests/ -A nfs.driver +$ nix-build login.nix -A driver $ ./result/bin/nixos-run-vms -The script nixos-run-vms starts the three virtual -machines defined in the NFS test using QEMU/KVM. The root file system -of the VMs is created on the fly and kept across VM restarts in +The script nixos-run-vms starts the virtual +machines defined by test. The root file system of the VMs is created +on the fly and kept across VM restarts in ./hostname.qcow2. Finally, the test itself can be run interactively. This is @@ -811,17 +1065,11 @@ starting VDE switch for network 1 > -Perl statements can now be typed in to start or manipulate the VMs: +You can then take any Perl statement, e.g. -> startAll; -(the VMs start booting) -> $server->waitForJob("nfs-kernel-nfsd"); -> $client1->succeed("flock -x /data/lock -c 'sleep 100000' &"); -> $client2->fail("flock -n -s /data/lock true"); -> $client1->shutdown; -(this releases client1's lock) -> $client2->succeed("flock -n -s /data/lock true"); +> startAll +> $machine->succeed("touch /tmp/foo") The function testScript executes the entire test @@ -829,54 +1077,7 @@ script and drops you back into the test driver command line upon its completion. This allows you to inspect the state of the VMs after the test (e.g. to debug the test script). -This and other tests are continuously run on the Hydra -instance at nixos.org, which allows -developers to be notified of any regressions introduced by a NixOS or -Nixpkgs change. - -The actual Nix programming interface to VM testing is in NixOS, -under -lib/testing.nix. This file defines a -function which takes an attribute set containing a -nixpkgs attribute (the path to a Nixpkgs checkout), -and a system attribute (the system type). It -returns an attribute set containing several utility functions, among -which the main entry point is makeTest. - - -The makeTest function takes a function -similar to that found in -tests/nfs.nix (discussed above). It -returns an attribute set containing (among others): - - - - - test - A derivation containing the test log as an HTML - file, as seen above, suitable for presentation in the Hydra - continuous build system. - - - - report - A derivation containing a code coverage report, with - meta-data suitable for Hydra. - - - - driver - A derivation containing scripts to run the VM test or - interact with the VM network interactively, as seen above. - - - - - - +
diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml index 70001577692e..03540aa83aaa 100644 --- a/nixos/doc/manual/installation.xml +++ b/nixos/doc/manual/installation.xml @@ -1,12 +1,13 @@ + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="ch-installation"> Installing NixOS -
+
Obtaining NixOS @@ -50,7 +51,7 @@ running NixOS system through several other means: -
+
Installation @@ -295,8 +296,74 @@ $ reboot } +
+ +UEFI Installation + +NixOS can also be installed on UEFI systems. The procedure +is by and large the same as a BIOS installation, with the following +changes: + + + + You should boot the live CD in UEFI mode (consult your + specific hardware's documentation for instructions). + + + Instead of fdisk, you should use + gdisk to partition your disks. You will need to + have a separate partition for /boot with + partition code EF00, and it should be formatted as a + vfat filesystem. + + + You must set to + true, and + to false. nixos-generate-config + should do this automatically for new configurations when booted in + UEFI mode. + + + You may want to look at the options starting with + and + as well. + + + To see console messages during early boot, add "fbcon" + to your . + + + +
+
+ +Booting from a USB stick + +For systems withoua CD drive, the NixOS livecd can be booted from +a usb stick. For non-UEFI installations, +unetbootin +will work. For UEFI installations, you should mount the ISO, copy its contents +verbatim to your drive, then either: + + + + Change the label of the disk partition to the label of the ISO + (visible with the blkid command), or + + + Edit loader/entries/nixos-livecd.conf on the drive + and change the root= field in the options + line to point to your drive (see the documentation on root= + in + the kernel documentation for more details). + + + +
+ +
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index 6e13281cbd94..8d7c28dee733 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -54,10 +54,14 @@ + - - List of options + + + + + Configuration options - + diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 6d11ad7a6c4a..bb65a49217f0 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -18,15 +18,13 @@ - + - - + + + diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes.xml new file mode 100644 index 000000000000..7995497708e0 --- /dev/null +++ b/nixos/doc/manual/release-notes.xml @@ -0,0 +1,84 @@ + + +Release notes + + + +
+ +Release 14.04 (“Baboon”, 2014/04/??) + +This is the second stable release branch of NixOS. The main +enhancements are the following: + + + + Installation on UEFI systems is now supported. See + for + details. + + NixOS is now based on Glibc 2.19 and GCC + 4.8. + + + + + +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + + Nixpkgs no longer exposes unfree packages by + default. If your NixOS configuration requires unfree packages from + Nixpkgs, you need to enable support for them explicitly by setting: + + +nixpkgs.config.allowUnfree = true; + + + Otherwise, you get an error message such as: + + +error: package ‘nvidia-x11-331.49-3.12.17’ in ‘…/nvidia-x11/default.nix:56’ + has an unfree license, refusing to evaluate + + + + + The firewall is now enabled by default. If you don’t + want this, you need to disable it explicitly: + + +networking.firewall.enable = false; + + + + + The option + has been renamed to + . + + The mysql55 service has been + merged into the mysql service, which no longer + sets a default for the option + . + + + + + +
+ + + +
+ +Release 13.10 (“Aardvark”, 2013/10/31) + +This is the first stable release branch of NixOS. + +
+ +
diff --git a/nixos/doc/manual/running.xml b/nixos/doc/manual/running.xml index e50099707cc5..e1a358df2aac 100644 --- a/nixos/doc/manual/running.xml +++ b/nixos/doc/manual/running.xml @@ -11,7 +11,7 @@ service manager. -
Service management +
Service management In NixOS, all system services are started and monitored using the systemd program. Systemd is the “init” process of the system @@ -92,7 +92,7 @@ necessary). -
Rebooting and shutting down +
Rebooting and shutting down The system can be shut down (and automatically powered off) by doing: @@ -134,7 +134,7 @@ authentication. -
User sessions +
User sessions Systemd keeps track of all users who are logged into the system (e.g. on a virtual console or remotely via SSH). The command @@ -185,7 +185,7 @@ $ loginctl terminate-session c3 -
Control groups +
Control groups To keep track of the processes in a running system, systemd uses control groups (cgroups). A control group is a @@ -258,7 +258,7 @@ usage. -
Logging +
Logging System-wide logging is provided by systemd’s journal, which subsumes traditional logging @@ -308,7 +308,7 @@ groups. All users have a private journal that can be read using -
Cleaning up the Nix store +
Cleaning up the Nix store Nix has a purely functional model, meaning that packages are never upgraded in place. Instead new versions of packages end up in a diff --git a/nixos/doc/manual/troubleshooting.xml b/nixos/doc/manual/troubleshooting.xml index c6e0a3a7888c..c7d65112b649 100644 --- a/nixos/doc/manual/troubleshooting.xml +++ b/nixos/doc/manual/troubleshooting.xml @@ -1,12 +1,13 @@ + xmlns:xlink="http://www.w3.org/1999/xlink" + xml:id="ch-troubleshooting"> Troubleshooting -
Boot problems +
Boot problems If NixOS fails to boot, there are a number of kernel command line parameters that may help you to identify or fix the issue. You @@ -69,7 +70,7 @@ unless something is very wrong.) -
Maintenance mode +
Maintenance mode You can enter rescue mode by running: @@ -85,7 +86,7 @@ just exit from the rescue shell. -
Rolling back configuration changes +
Rolling back configuration changes After running nixos-rebuild to switch to a new configuration, you may find that the new configuration doesn’t @@ -131,7 +132,7 @@ lrwxrwxrwx 1 root root 78 Aug 12 13:54 /nix/var/nix/profiles/system-268-link -> -
Nix store corruption +
Nix store corruption After a system crash, it’s possible for files in the Nix store to become corrupted. (For instance, the Ext4 file system has the @@ -166,7 +167,7 @@ binary cache; otherwise, they cannot be repaired. -
Nix network issues +
Nix network issues Nix uses a so-called binary cache to optimise building a package from source into downloading it as a diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index 4b8c7354a7ec..0fa00637a93a 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -26,10 +26,15 @@ rec { # These are the extra arguments passed to every module. In # particular, Nixpkgs is passed through the "pkgs" argument. + # FIXME: we enable config.allowUnfree to make packages like + # nvidia-x11 available. This isn't a problem because if the user has + # ‘nixpkgs.config.allowUnfree = false’, then evaluation will fail on + # the 64-bit package anyway. However, it would be cleaner to respect + # nixpkgs.config here. extraArgs = extraArgs_ // { inherit pkgs modules baseModules; modulesPath = ../modules; - pkgs_i686 = import ./nixpkgs.nix { system = "i686-linux"; }; + pkgs_i686 = import ./nixpkgs.nix { system = "i686-linux"; config.allowUnfree = true; }; utils = import ./utils.nix pkgs; }; @@ -53,7 +58,7 @@ rec { inherit system extraArgs modules prefix; # For efficiency, leave out most NixOS modules; they don't # define nixpkgs.config, so it's pointless to evaluate them. - baseModules = [ ../modules/misc/nixpkgs.nix ]; + baseModules = [ ../modules/misc/nixpkgs.nix ../modules/config/no-x-libs.nix ]; pkgs = import ./nixpkgs.nix { system = system_; config = {}; }; check = false; }).config.nixpkgs; diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index a28214ea934f..e2bd3393d872 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -495,7 +495,9 @@ sub waitForX { my ($self, $regexp) = @_; $self->nest("waiting for the X11 server", sub { retry sub { - my ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); + my ($status, $out) = $self->execute("journalctl -b SYSLOG_IDENTIFIER=systemd | grep 'session opened'"); + return 0 if $status != 0; + ($status, $out) = $self->execute("xwininfo -root > /dev/null 2>&1"); return 1 if $status == 0; } }); diff --git a/nixos/lib/test-driver/test-driver.pl b/nixos/lib/test-driver/test-driver.pl index c6a707cdf6b9..358c29e515f2 100644 --- a/nixos/lib/test-driver/test-driver.pl +++ b/nixos/lib/test-driver/test-driver.pl @@ -144,6 +144,13 @@ sub runTests { } }); + $log->nest("syncing", sub { + foreach my $vm (values %vms) { + next unless $vm->isUp(); + $vm->execute("sync"); + } + }); + if ($nrTests != 0) { $log->log("$nrSucceeded out of $nrTests tests succeeded", ($nrSucceeded < $nrTests ? { error => 1 } : { })); diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 3407229e921a..8d17958b9d2f 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -67,103 +67,55 @@ rec { }; - # Generate a coverage report from the coverage data produced by - # runTests. - makeReport = x: runCommand "report" { buildInputs = [rsync]; } - '' - mkdir -p $TMPDIR/gcov/ + makeTest = + { testScript, makeCoverageReport ? false, ... } @ t: - for d in ${x}/coverage-data/*; do - echo "doing $d" - [ -n "$(ls -A "$d")" ] || continue + let - for i in $(cd $d/nix/store && ls); do - if ! test -e $TMPDIR/gcov/nix/store/$i; then - echo "copying $i" - mkdir -p $TMPDIR/gcov/$(echo $i | cut -c34-) - rsync -rv /nix/store/$i/.build/* $TMPDIR/gcov/ - fi - done + nodes = buildVirtualNetwork ( + t.nodes or (if t ? machine then { machine = t.machine; } else { })); - chmod -R u+w $TMPDIR/gcov + testScript' = + # Call the test script with the computed nodes. + if builtins.isFunction testScript + then testScript { inherit nodes; } + else testScript; - find $TMPDIR/gcov -name "*.gcda" -exec rm {} \; + vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); - for i in $(cd $d/nix/store && ls); do - rsync -rv $d/nix/store/$i/.build/* $TMPDIR/gcov/ - done + vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); - find $TMPDIR/gcov -name "*.gcda" -exec chmod 644 {} \; + # Generate onvenience wrappers for running the test driver + # interactively with the specified network, and for starting the + # VMs from the command line. + driver = runCommand "nixos-test-driver" + { buildInputs = [ makeWrapper]; + testScript = testScript'; + preferLocalBuild = true; + } + '' + mkdir -p $out/bin + echo "$testScript" > $out/test-script + ln -s ${testDriver}/bin/nixos-test-driver $out/bin/ + vms="$(for i in ${toString vms}; do echo $i/bin/run-*-vm; done)" + wrapProgram $out/bin/nixos-test-driver \ + --add-flags "$vms" \ + --run "testScript=\"\$(cat $out/test-script)\"" \ + --set testScript '"$testScript"' \ + --set VLANS '"${toString vlans}"' + ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms + wrapProgram $out/bin/nixos-run-vms \ + --add-flags "$vms" \ + --set tests '"startAll; joinAll;"' \ + --set VLANS '"${toString vlans}"' \ + ${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"} + ''; # " - echo "producing info..." - ${pkgs.lcov}/bin/geninfo --ignore-errors source,gcov $TMPDIR/gcov --output-file $TMPDIR/app.info - cat $TMPDIR/app.info >> $TMPDIR/full.info - done + test = runTests driver; - echo "making report..." - mkdir -p $out/coverage - ${pkgs.lcov}/bin/genhtml --show-details $TMPDIR/full.info -o $out/coverage - cp $TMPDIR/full.info $out/coverage/ + report = releaseTools.gcovReport { coverageRuns = [ test ]; }; - mkdir -p $out/nix-support - cat ${x}/nix-support/hydra-build-products >> $out/nix-support/hydra-build-products - echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products - [ ! -e ${x}/nix-support/failed ] || touch $out/nix-support/failed - ''; # */ - - - makeTest = testFun: complete (call testFun); - makeTests = testsFun: lib.mapAttrs (name: complete) (call testsFun); - - apply = makeTest; # compatibility - call = f: f { inherit pkgs system; }; - - complete = t: t // rec { - nodes = buildVirtualNetwork ( - if t ? nodes then t.nodes else - if t ? machine then { machine = t.machine; } - else { } ); - - testScript = - # Call the test script with the computed nodes. - if builtins.isFunction t.testScript - then t.testScript { inherit nodes; } - else t.testScript; - - vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); - - vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); - - # Generate onvenience wrappers for running the test driver - # interactively with the specified network, and for starting the - # VMs from the command line. - driver = runCommand "nixos-test-driver" - { buildInputs = [ makeWrapper]; - inherit testScript; - preferLocalBuild = true; - } - '' - mkdir -p $out/bin - echo "$testScript" > $out/test-script - ln -s ${testDriver}/bin/nixos-test-driver $out/bin/ - vms="$(for i in ${toString vms}; do echo $i/bin/run-*-vm; done)" - wrapProgram $out/bin/nixos-test-driver \ - --add-flags "$vms" \ - --run "testScript=\"\$(cat $out/test-script)\"" \ - --set testScript '"$testScript"' \ - --set VLANS '"${toString vlans}"' - ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms - wrapProgram $out/bin/nixos-run-vms \ - --add-flags "$vms" \ - --set tests '"startAll; joinAll;"' \ - --set VLANS '"${toString vlans}"' \ - ${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"} - ''; # " - - test = runTests driver; - - report = makeReport test; - }; + in (if makeCoverageReport then report else test) // { inherit driver test; }; runInMachine = @@ -193,7 +145,7 @@ rec { exit $? ''; - testscript = '' + testScript = '' startAll; $client->waitForUnit("multi-user.target"); ${preBuild} @@ -206,7 +158,7 @@ rec { ${coreutils}/bin/mkdir $out ${coreutils}/bin/mkdir -p vm-state-client/xchg export > vm-state-client/xchg/saved-env - export tests='${testscript}' + export tests='${testScript}' ${testDriver}/bin/nixos-test-driver ${vm.config.system.build.vm}/bin/run-*-vm ''; # */ diff --git a/nixos/maintainers/scripts/ec2/create-ebs-amis.py b/nixos/maintainers/scripts/ec2/create-ebs-amis.py index 541eadd7b8c9..eab111a2665b 100755 --- a/nixos/maintainers/scripts/ec2/create-ebs-amis.py +++ b/nixos/maintainers/scripts/ec2/create-ebs-amis.py @@ -203,7 +203,7 @@ f = open("{0}.{1}.ami-id".format(args.region, image_type), "w") f.write("{0}".format(ami_id)) f.close() -for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1']: +for dest in [ 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'sa-east-1']: if args.region != dest: print >> sys.stderr, "copying image from region {0} to {1}".format(args.region, dest) conn = boto.ec2.connect_to_region(dest) diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh new file mode 100755 index 000000000000..8bf36f33c7db --- /dev/null +++ b/nixos/maintainers/scripts/gce/create-gce.sh @@ -0,0 +1,14 @@ +#! /bin/sh -e + +export NIX_PATH=nixpkgs=../../../.. +export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/google-compute-image.nix +export TIMESTAMP=$(date +%Y%m%d%H%M) + +nix-build '' \ + -A config.system.build.googleComputeImage --argstr system x86_64-linux -o gce --option extra-binary-caches http://hydra.nixos.org -j 10 + +img=$(echo gce/*.tar.gz) +if ! gsutil ls gs://nixos/$(basename $img); then + gsutil cp $img gs://nixos/$(basename $img) +fi +gcutil addimage $(basename $img .raw.tar.gz | sed 's|\.|-|' | sed 's|_|-|') gs://nixos/$(basename $img) diff --git a/nixos/modules/config/fonts/corefonts.nix b/nixos/modules/config/fonts/corefonts.nix index 7de95200cfa9..51a6676fe4a0 100644 --- a/nixos/modules/config/fonts/corefonts.nix +++ b/nixos/modules/config/fonts/corefonts.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 987bb1088c0d..cf70ca264d6a 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/config/fonts/fontdir.nix b/nixos/modules/config/fonts/fontdir.nix index a4f69809b2a4..c78b52fe29e1 100644 --- a/nixos/modules/config/fonts/fontdir.nix +++ b/nixos/modules/config/fonts/fontdir.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index f43784f6d03e..16df197d87f3 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/config/fonts/ghostscript.nix b/nixos/modules/config/fonts/ghostscript.nix index 9ef00396808c..a41f00a76c57 100644 --- a/nixos/modules/config/fonts/ghostscript.nix +++ b/nixos/modules/config/fonts/ghostscript.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix index 6f5d2950463f..f8c35b440d12 100644 --- a/nixos/modules/config/gnu.nix +++ b/nixos/modules/config/gnu.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { options = { @@ -36,7 +36,7 @@ with pkgs.lib; # GNU lsh. services.openssh.enable = false; services.lshd.enable = true; - services.xserver.startOpenSSHAgent = false; + programs.ssh.startAgent = false; services.xserver.startGnuPGAgent = true; # TODO: GNU dico. diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index 56d541cb9b3b..8182b8ae8081 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -53,7 +53,11 @@ in }; consoleKeyMap = mkOption { - type = types.str; + type = mkOptionType { + name = "string or path"; + check = t: (isString t || types.path.check t); + }; + default = "us"; example = "fr"; description = '' @@ -72,7 +76,12 @@ in environment.systemPackages = [ glibcLocales ]; - environment.variables.LANG = config.i18n.defaultLocale; + environment.variables = + { LANG = config.i18n.defaultLocale; + LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; + }; + + systemd.globalEnvironment.LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; # ‘/etc/locale.conf’ is used by systemd. environment.etc = singleton diff --git a/nixos/modules/config/krb5.nix b/nixos/modules/config/krb5.nix index 3323046ac5b4..bb5a95ebc844 100644 --- a/nixos/modules/config/krb5.nix +++ b/nixos/modules/config/krb5.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index 113f5d8bcbde..8171f460385b 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index 9ac68b428190..43717697ebd3 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -1,8 +1,8 @@ # /etc files related to networking, such as /etc/services. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index ec7bf3fea7b5..f91dbb4cc281 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -1,6 +1,9 @@ -{ config, pkgs, ... }: +# This module gets rid of all dependencies on X11 client libraries +# (including fontconfig). -with pkgs.lib; +{ config, lib, pkgs, ... }: + +with lib; { options = { @@ -8,18 +11,22 @@ with pkgs.lib; type = types.bool; default = false; description = '' - Switch off the options in the default configuration that require X libraries. - Currently this includes: ssh X11 forwarding, dbus, fonts.enableCoreFonts, - fonts.enableFontConfig + Switch off the options in the default configuration that + require X11 libraries. This includes client-side font + configuration and SSH forwarding of X11 authentication + in. Thus, you probably do not want to enable this option if + you want to run X11 programs on this machine via SSH. ''; }; }; config = mkIf config.environment.noXlibs { programs.ssh.setXAuthLocation = false; - fonts = { - enableCoreFonts = false; - enableFontConfig = false; - }; + security.pam.services.su.forwardXAuth = lib.mkForce false; + + fonts.enableFontConfig = false; + + nixpkgs.config.packageOverrides = pkgs: + { dbus = pkgs.dbus.override { useX11 = false; }; }; }; } diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index 2e2125d44f7b..45695d9cb89f 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -1,8 +1,8 @@ # Configuration for the Name Service Switch (/etc/nsswitch.conf). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index 7299136235ed..17f3ed00b9be 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -65,14 +65,7 @@ in config = mkIf cfg.enable { - # Enable the ACPI daemon. Not sure whether this is essential. - services.acpid.enable = true; - - boot.kernelModules = - [ "acpi_cpufreq" "powernow-k8" "cpufreq_performance" "cpufreq_powersave" "cpufreq_ondemand" - "cpufreq_conservative" - ]; - + # FIXME: Implement powersave governor for sandy bridge or later Intel CPUs powerManagement.cpuFreqGovernor = mkDefault "ondemand"; powerManagement.scsiLinkPolicy = mkDefault "min_power"; diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index e7cbe7a28f36..eedc4ca2b2f2 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let @@ -77,7 +77,7 @@ in { }; package = mkOption { - type = types.path; + type = types.package; default = pulseaudio; example = literalExample "pulseaudio.override { jackaudioSupport = true; }"; description = '' diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index 0b4f75a35216..9e212847e489 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -1,9 +1,9 @@ # This module defines a global environment configuration and # a common configuration for all shells. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix index 65d7722abfa7..427b2519cbdf 100644 --- a/nixos/modules/config/swap.nix +++ b/nixos/modules/config/swap.nix @@ -1,6 +1,6 @@ -{ config, pkgs, utils, ... }: +{ config, lib, pkgs, utils, ... }: -with pkgs.lib; +with lib; with utils; { diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 8f9b31dccff3..542360219193 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -1,12 +1,12 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let sysctlOption = mkOptionType { name = "sysctl option value"; - check = x: isBool x || isString x || isInt x; + check = x: isBool x || isString x || isInt x || isNull x; merge = args: defs: (last defs).value; # FIXME: hacky way to allow overriding in configuration.nix. }; @@ -29,8 +29,9 @@ in 8. Note that sysctl parameters names must be enclosed in quotes (e.g. "vm.swappiness" instead of - vm.swappiness). The value of each parameter - may be a string, integer or Boolean. + vm.swappiness). The value of each + parameter may be a string, integer, boolean, or null + (signifying the option will not appear at all). ''; }; @@ -39,22 +40,13 @@ in config = { environment.etc."sysctl.d/nixos.conf".text = - concatStrings (mapAttrsToList (n: v: "${n}=${if v == false then "0" else toString v}\n") config.boot.kernel.sysctl); + concatStrings (mapAttrsToList (n: v: + optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n" + ) config.boot.kernel.sysctl); systemd.services.systemd-sysctl = - { description = "Apply Kernel Variables"; - before = [ "sysinit.target" "shutdown.target" ]; - wantedBy = [ "sysinit.target" "multi-user.target" ]; + { wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."sysctl.d/nixos.conf".source ]; - unitConfig = { - DefaultDependencies = false; # needed to prevent a cycle - ConditionPathIsReadWrite = "/proc/sys/"; # prevent systemd-sysctl in containers - }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${config.systemd.package}/lib/systemd/systemd-sysctl"; - }; }; # Enable hardlink and symlink restrictions. See @@ -65,8 +57,9 @@ in # Hide kernel pointers (e.g. in /proc/modules) for unprivileged # users as these make it easier to exploit kernel vulnerabilities. - boot.kernel.sysctl."kernel.kptr_restrict" = 1; - + # + # Removed under grsecurity. + boot.kernel.sysctl."kernel.kptr_restrict" = + if config.security.grsecurity.enable then null else 1; }; - } diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 2f61947c3bcc..2ea998bbb635 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -1,9 +1,9 @@ # This module defines the packages that appear in # /run/current-system/sw. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -46,6 +46,7 @@ let pkgs.rsync pkgs.strace pkgs.sysvtools + pkgs.su pkgs.time pkgs.usbutils pkgs.utillinux @@ -134,6 +135,10 @@ in if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi + + if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then + $out/bin/update-desktop-database $out/share/applications + fi ''; }; diff --git a/nixos/modules/config/timezone.nix b/nixos/modules/config/timezone.nix index 42fbe841d070..88aa7866c2b2 100644 --- a/nixos/modules/config/timezone.nix +++ b/nixos/modules/config/timezone.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { options = { diff --git a/nixos/modules/config/unix-odbc-drivers.nix b/nixos/modules/config/unix-odbc-drivers.nix index 0f6084690589..b725e6cae732 100644 --- a/nixos/modules/config/unix-odbc-drivers.nix +++ b/nixos/modules/config/unix-odbc-drivers.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; # unixODBC drivers (this solution is not perfect.. Because the user has to # ask the admin to add a driver.. but it's simple and works diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 714de646eb7a..8b8f6bd909e3 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -1,11 +1,32 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let ids = config.ids; - users = config.users; + cfg = config.users; + + nonUidUsers = filterAttrs (n: u: u.createUser && u.uid == null) cfg.extraUsers; + nonGidGroups = filterAttrs (n: g: g.gid == null) cfg.extraGroups; + + passwordDescription = '' + The options hashedPassword, + password and passwordFile + controls what password is set for the user. + hashedPassword overrides both + password and passwordFile. + password overrides passwordFile. + If none of these three options are set, no password is assigned to + the user, and the user will not be able to do password logins. + If the option users.mutableUsers is true, the + password defined in one of the three options will only be set when + the user is created for the first time. After that, you are free to + change the password with the ordinary user management commands. If + users.mutableUsers is false, you cannot change + user passwords, they will always be set according to the password + options. + ''; userOpts = { name, config, ... }: { @@ -13,7 +34,10 @@ let name = mkOption { type = types.str; - description = "The name of the user account. If undefined, the name of the attribute set will be used."; + description = '' + The name of the user account. If undefined, the name of the + attribute set will be used. + ''; }; description = mkOption { @@ -28,9 +52,14 @@ let }; uid = mkOption { - type = with types; uniq (nullOr int); + type = with types; nullOr int; default = null; - description = "The account UID. If undefined, NixOS will select a free UID."; + description = '' + The account UID. If the mutableUsers option + is false, the UID cannot be null. Otherwise, the UID might be + null, in which case a free UID is picked on activation (by the + useradd command). + ''; }; group = mkOption { @@ -60,31 +89,54 @@ let createHome = mkOption { type = types.bool; default = false; - description = "If true, the home directory will be created automatically."; + description = '' + If true, the home directory will be created automatically. If this + option is true and the home directory already exists but is not + owned by the user, directory owner and group will be changed to + match the user. + ''; }; useDefaultShell = mkOption { type = types.bool; default = false; - description = "If true, the user's shell will be set to users.defaultUserShell."; + description = '' + If true, the user's shell will be set to + cfg.defaultUserShell. + ''; + }; + + hashedPassword = mkOption { + type = with types; uniq (nullOr str); + default = null; + description = '' + Specifies the (hashed) password for the user. + ${passwordDescription} + ''; }; password = mkOption { type = with types; uniq (nullOr str); default = null; description = '' - The user's password. If undefined, no password is set for - the user. Warning: do not set confidential information here - because it is world-readable in the Nix store. This option - should only be used for public accounts such as - guest. + Specifies the (clear text) password for the user. + Warning: do not set confidential information here + because it is world-readable in the Nix store. This option + should only be used for public accounts. + ${passwordDescription} ''; }; - isSystemUser = mkOption { - type = types.bool; - default = true; - description = "Indicates if the user is a system user or not."; + passwordFile = mkOption { + type = with types; uniq (nullOr string); + default = null; + description = '' + The path to a file that contains the user's password. The password + file is read on each system activation. The file should contain + exactly one line, which should be the password in an encrypted form + that is suitable for the chpasswd -e command. + ${passwordDescription} + ''; }; createUser = mkOption { @@ -96,19 +148,11 @@ let then not modify any of the basic properties for the user account. ''; }; - - isAlias = mkOption { - type = types.bool; - default = false; - description = "If true, the UID of this user is not required to be unique and can thus alias another user."; - }; - }; config = { name = mkDefault name; - uid = mkDefault (attrByPath [name] null ids.uids); - shell = mkIf config.useDefaultShell (mkDefault users.defaultUserShell); + shell = mkIf config.useDefaultShell (mkDefault cfg.defaultUserShell); }; }; @@ -119,41 +163,167 @@ let name = mkOption { type = types.str; - description = "The name of the group. If undefined, the name of the attribute set will be used."; + description = '' + The name of the group. If undefined, the name of the attribute set + will be used. + ''; }; gid = mkOption { - type = with types; uniq (nullOr int); + type = with types; nullOr int; default = null; - description = "The GID of the group. If undefined, NixOS will select a free GID."; + description = '' + The group GID. If the mutableUsers option + is false, the GID cannot be null. Otherwise, the GID might be + null, in which case a free GID is picked on activation (by the + groupadd command). + ''; + }; + + members = mkOption { + type = with types; listOf string; + default = []; + description = '' + The user names of the group members, added to the + /etc/group file. + ''; }; }; config = { name = mkDefault name; - gid = mkDefault (attrByPath [name] null ids.gids); }; }; - # Note: the 'X' in front of the password is to distinguish between - # having an empty password, and not having a password. - serializedUser = u: "${u.name}\n${u.description}\n${if u.uid != null then toString u.uid else ""}\n${u.group}\n${toString (concatStringsSep "," u.extraGroups)}\n${u.home}\n${u.shell}\n${toString u.createHome}\n${if u.password != null then "X" + u.password else ""}\n${toString u.isSystemUser}\n${toString u.createUser}\n${toString u.isAlias}\n"; - - usersFile = pkgs.writeText "users" ( + getGroup = gname: let - p = partition (u: u.isAlias) (attrValues config.users.extraUsers); - in concatStrings (map serializedUser p.wrong ++ map serializedUser p.right)); + groups = mapAttrsToList (n: g: g) ( + filterAttrs (n: g: g.name == gname) cfg.extraGroups + ); + in + if length groups == 1 then head groups + else if groups == [] then throw "Group ${gname} not defined" + else throw "Group ${gname} has multiple definitions"; -in + getUser = uname: + let + users = mapAttrsToList (n: u: u) ( + filterAttrs (n: u: u.name == uname) cfg.extraUsers + ); + in + if length users == 1 then head users + else if users == [] then throw "User ${uname} not defined" + else throw "User ${uname} has multiple definitions"; -{ + mkGroupEntry = gname: + let + g = getGroup gname; + users = mapAttrsToList (n: u: u.name) ( + filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers + ); + in concatStringsSep ":" [ + g.name "x" (toString g.gid) + (concatStringsSep "," (users ++ (filter (u: !(elem u users)) g.members))) + ]; + + mkPasswdEntry = uname: let u = getUser uname; in + concatStringsSep ":" [ + u.name "x" (toString u.uid) + (toString (getGroup u.group).gid) + u.description u.home u.shell + ]; + + sortOn = a: sort (as1: as2: lessThan (getAttr a as1) (getAttr a as2)); + + groupFile = pkgs.writeText "group" ( + concatStringsSep "\n" (map (g: mkGroupEntry g.name) ( + let f = g: g.gid != null; in + sortOn "gid" (filter f (attrValues cfg.extraGroups)) + )) + ); + + passwdFile = pkgs.writeText "passwd" ( + concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( + let f = u: u.createUser && (u.uid != null); in + sortOn "uid" (filter f (attrValues cfg.extraUsers)) + )) + ); + + # If mutableUsers is true, this script adds all users/groups defined in + # users.extra{Users,Groups} to /etc/{passwd,group} iff there isn't any + # existing user/group with the same name in those files. + # If mutableUsers is false, the /etc/{passwd,group} files will simply be + # replaced with the users/groups defined in the NixOS configuration. + # The merging procedure could certainly be improved, and instead of just + # keeping the lines as-is from /etc/{passwd,group} they could be combined + # in some way with the generated content from the NixOS configuration. + merger = src: pkgs.writeScript "merger" '' + #!${pkgs.bash}/bin/bash + + PATH=${pkgs.gawk}/bin:${pkgs.gnugrep}/bin:$PATH + + ${if !cfg.mutableUsers + then ''cp ${src} $1.tmp'' + else ''awk -F: '{ print "^"$1":.*" }' $1 | egrep -vf - ${src} | cat $1 - > $1.tmp'' + } + + # set mtime to +1, otherwise change might go unnoticed (vipw/vigr only looks at mtime) + touch -m -t $(date -d @$(($(stat -c %Y $1)+1)) +%Y%m%d%H%M.%S) $1.tmp + + mv -f $1.tmp $1 + ''; + + idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }: + let + id = builtins.toString (builtins.getAttr idAttr (builtins.getAttr name set)); + exists = builtins.hasAttr id acc; + newAcc = acc // (builtins.listToAttrs [ { name = id; value = true; } ]); + in if dup then args else if exists + then builtins.trace "Duplicate ${idAttr} ${id}" { dup = true; acc = null; } + else { dup = false; acc = newAcc; } + ) { dup = false; acc = {}; } (builtins.attrNames set)).dup; + + uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid"; + gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid"; + +in { ###### interface options = { + users.mutableUsers = mkOption { + type = types.bool; + default = true; + description = '' + If true, you are free to add new users and groups to the system + with the ordinary useradd and + groupadd commands. On system activation, the + existing contents of the /etc/passwd and + /etc/group files will be merged with the + contents generated from the users.extraUsers and + users.extraGroups options. If + mutableUsers is false, the contents of the user and + group files will simply be replaced on system activation. This also + holds for the user passwords; if this option is false, all changed + passwords will be reset according to the + users.extraUsers configuration on activation. If + this option is true, the initial password for a user will be set + according to users.extraUsers, but existing passwords + will not be changed. + ''; + }; + + users.enforceIdUniqueness = mkOption { + type = types.bool; + default = true; + description = '' + Whether to require that no two users/groups share the same uid/gid. + ''; + }; + users.extraUsers = mkOption { default = {}; type = types.loaOf types.optionSet; @@ -194,11 +364,17 @@ in example = "!"; description = '' The (hashed) password for the root account set on initial - installation. The empty string denotes that root can login + installation. The empty string denotes that root can login locally without a password (but not via remote services such as SSH, or indirectly via su or - sudo). The string ! + sudo). The string ! prevents root from logging in using a password. + Note, setting this option sets + users.extraUsers.root.hashedPassword. + Note, if users.mutableUsers is false + you cannot change the root password manually, so in that case + the name of this option is a bit misleading, since it will define + the root password beyond the user initialisation phase. ''; }; @@ -211,144 +387,120 @@ in users.extraUsers = { root = { + uid = ids.uids.root; description = "System administrator"; home = "/root"; - shell = config.users.defaultUserShell; + shell = cfg.defaultUserShell; group = "root"; + extraGroups = [ "grsecurity" ]; + hashedPassword = mkDefault config.security.initialRootPassword; }; nobody = { + uid = ids.uids.nobody; description = "Unprivileged account (don't use!)"; + group = "nogroup"; }; }; users.extraGroups = { - root = { }; - wheel = { }; - disk = { }; - kmem = { }; - tty = { }; - floppy = { }; - uucp = { }; - lp = { }; - cdrom = { }; - tape = { }; - audio = { }; - video = { }; - dialout = { }; - nogroup = { }; - users = { }; - nixbld = { }; - utmp = { }; - adm = { }; # expected by journald + root.gid = ids.gids.root; + wheel.gid = ids.gids.wheel; + disk.gid = ids.gids.disk; + kmem.gid = ids.gids.kmem; + tty.gid = ids.gids.tty; + floppy.gid = ids.gids.floppy; + uucp.gid = ids.gids.uucp; + lp.gid = ids.gids.lp; + cdrom.gid = ids.gids.cdrom; + tape.gid = ids.gids.tape; + audio.gid = ids.gids.audio; + video.gid = ids.gids.video; + dialout.gid = ids.gids.dialout; + nogroup.gid = ids.gids.nogroup; + users.gid = ids.gids.users; + nixbld.gid = ids.gids.nixbld; + utmp.gid = ids.gids.utmp; + adm.gid = ids.gids.adm; + grsecurity.gid = ids.gids.grsecurity; }; - system.activationScripts.rootPasswd = stringAfter [ "etc" ] - '' - # If there is no password file yet, create a root account with an - # empty password. - if ! test -e /etc/passwd; then - rootHome=/root - touch /etc/passwd; chmod 0644 /etc/passwd - touch /etc/group; chmod 0644 /etc/group - touch /etc/shadow; chmod 0600 /etc/shadow - # Can't use useradd, since it complains that it doesn't know us - # (bootstrap problem!). - echo "root:x:0:0:System administrator:$rootHome:${config.users.defaultUserShell}" >> /etc/passwd - echo "root:${config.security.initialRootPassword}:::::::" >> /etc/shadow - fi + system.activationScripts.users = + let + mkhomeUsers = filterAttrs (n: u: u.createHome) cfg.extraUsers; + setpwUsers = filterAttrs (n: u: u.createUser) cfg.extraUsers; + pwFile = u: if !(isNull u.hashedPassword) + then pkgs.writeTextFile { name = "password-file"; text = u.hashedPassword; } + else if !(isNull u.password) + then pkgs.runCommand "password-file" { pw = u.password; } '' + echo -n "$pw" | ${pkgs.mkpasswd}/bin/mkpasswd -s > $out + '' else u.passwordFile; + setpw = n: u: '' + setpw=yes + ${optionalString cfg.mutableUsers '' + test "$(getent shadow '${u.name}' | cut -d: -f2)" != "x" && setpw=no + ''} + if [ "$setpw" == "yes" ]; then + ${if !(isNull (pwFile u)) + then '' + echo -n "${u.name}:" | cat - "${pwFile u}" | \ + ${pkgs.shadow}/sbin/chpasswd -e + '' + else "passwd -l '${u.name}' &>/dev/null" + } + fi + ''; + mkhome = n: u: '' + uid="$(id -u ${u.name})" + gid="$(id -g ${u.name})" + h="${u.home}" + test -a "$h" || mkdir -p "$h" || true + test "$(stat -c %u "$h")" = $uid || chown $uid "$h" || true + test "$(stat -c %g "$h")" = $gid || chgrp $gid "$h" || true + ''; + groupadd = n: g: '' + if [ -z "$(getent group "${g.name}")" ]; then + echo "Adding group ${g.name}" + ${pkgs.shadow}/sbin/groupadd "${g.name}" + fi + ''; + useradd = n: u: '' + if ! id "${u.name}" &>/dev/null; then + echo "Adding user ${u.name}" + ${pkgs.shadow}/sbin/useradd \ + -g "${u.group}" \ + -s "${u.shell}" \ + -d "${u.home}" \ + "${u.name}" + echo "${u.name}:x" | ${pkgs.shadow}/sbin/chpasswd -e + fi + ''; + in stringAfter [ "etc" ] '' + touch /etc/group + touch /etc/passwd + VISUAL=${merger groupFile} ${pkgs.shadow}/sbin/vigr &>/dev/null + VISUAL=${merger passwdFile} ${pkgs.shadow}/sbin/vipw &>/dev/null + ${pkgs.shadow}/sbin/grpconv + ${pkgs.shadow}/sbin/pwconv + ${concatStrings (mapAttrsToList groupadd nonGidGroups)} + ${concatStrings (mapAttrsToList useradd nonUidUsers)} + ${concatStrings (mapAttrsToList mkhome mkhomeUsers)} + ${concatStrings (mapAttrsToList setpw setpwUsers)} ''; - # Print a reminder for users to set a root password. - environment.interactiveShellInit = - '' - if [ "$UID" = 0 ]; then - read _l < /etc/shadow - if [ "''${_l:0:6}" = root:: ]; then - cat >&2 <nvidia driver and for - mesa. + Mesa. ''; }; - services.mesa.s3tcSupport = mkOption { + hardware.opengl.s3tcSupport = mkOption { type = types.bool; default = false; description = '' Make S3TC(S3 Texture Compression) via libtxc_dxtn available - to OpenGL drivers. It is essential for many games to work - with FOSS GPU drivers. + to OpenGL drivers instead of the patent-free S2TC replacement. Using this library may require a patent license depending on your location. ''; }; - services.mesa.videoDrivers = mkOption { + hardware.opengl.videoDrivers = mkOption { type = types.listOf types.str; # !!! We'd like "nv" here, but it segfaults the X server. default = [ "ati" "cirrus" "intel" "vesa" "vmware" ]; example = [ "vesa" ]; description = '' - The names of the video drivers that the mesa should - support. Mesa will try all of the drivers listed - here until it finds one that supports your video card. + The names of the opengl video drivers the configuration + supports. They will be tried in order until one that + supports your card is found. ''; }; }; config = mkIf cfg.enable { + assertions = pkgs.lib.singleton { + assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64; + message = "Option driSupport32Bit only makes sens on a 64-bit system."; + }; + system.activationScripts.setup-opengl.deps = []; system.activationScripts.setup-opengl.text = '' rm -f /run/opengl-driver{,-32} - ${optionalString (!cfg.driSupport32Bit) "ln -sf opengl-driver /run/opengl-driver-32"} - - ${# !!! The OpenGL driver depends on what's detected at runtime. - if elem "nvidia" cfg.videoDrivers then + ${optionalString (pkgs.stdenv.isi686) "ln -sf opengl-driver /run/opengl-driver-32"} + '' + #TODO: The OpenGL driver should depend on what's detected at runtime. + +( if elem "nvidia" cfg.videoDrivers then '' ln -sf ${kernelPackages.nvidia_x11} /run/opengl-driver ${optionalString cfg.driSupport32Bit @@ -84,18 +88,25 @@ in { else if elem "ati_unfree" cfg.videoDrivers then "ln -sf ${kernelPackages.ati_drivers_x11} /run/opengl-driver" else + let + lib_fun = p: p.buildEnv { + name = "mesa-drivers+txc-${p.mesa_drivers.version}"; + paths = [ + p.mesa_drivers + p.mesa_noglu # mainly for libGL + (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc) + ]; + }; + in '' - ${optionalString cfg.driSupport "ln -sf ${pkgs.mesa_drivers} /run/opengl-driver"} + ${optionalString cfg.driSupport "ln -sf ${lib_fun pkgs} /run/opengl-driver"} ${optionalString cfg.driSupport32Bit - "ln -sf ${pkgs_i686.mesa_drivers} /run/opengl-driver-32"} + "ln -sf ${lib_fun pkgs_i686} /run/opengl-driver-32"} '' - } - ''; + ); environment.variables.LD_LIBRARY_PATH = - [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ] - ++ optional cfg.s3tcSupport "${pkgs.libtxc_dxtn}/lib" - ++ optional (cfg.s3tcSupport && cfg.driSupport32Bit) "${pkgs_i686.libtxc_dxtn}/lib"; + [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ]; boot.extraModulePackages = optional (elem "nvidia" cfg.videoDrivers) kernelPackages.nvidia_x11 ++ diff --git a/nixos/modules/hardware/pcmcia.nix b/nixos/modules/hardware/pcmcia.nix index 206846567505..d7d002ae6c8a 100644 --- a/nixos/modules/hardware/pcmcia.nix +++ b/nixos/modules/hardware/pcmcia.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix new file mode 100644 index 000000000000..f06139adc445 --- /dev/null +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +let kernel = config.boot.kernelPackages; in +with lib; + +{ + + options = { + hardware.bumblebee.enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable the bumblebee daemon to manage Optimus hybrid video cards. + This should power off secondary GPU until its use is requested + by running an application with optirun. + + Only nvidia driver is supported so far. + ''; + }; + }; + + config = mkIf config.hardware.bumblebee.enable { + boot.blacklistedKernelModules = [ "nouveau" "nvidia" ]; + boot.kernelModules = [ "bbswitch" ]; + boot.extraModulePackages = [ kernel.bbswitch kernel.nvidia_x11 ]; + + environment.systemPackages = [ pkgs.bumblebee ]; + + systemd.services.bumblebeed = { + description = "Bumblebee Hybrid Graphics Switcher"; + wantedBy = [ "display-manager.service" ]; + script = "bumblebeed --use-syslog"; + path = [ kernel.bbswitch pkgs.bumblebee ]; + serviceConfig = { + Restart = "always"; + RestartSec = 60; + CPUSchedulingPolicy = "idle"; + }; + }; + }; +} diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index 9aca5b89d258..ca0e233f9e3f 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -1,9 +1,9 @@ # Provide an initial copy of the NixOS channel so that the user # doesn't need to run "nix-channel --update" first. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -28,7 +28,7 @@ in { # Provide the NixOS/Nixpkgs sources in /etc/nixos. This is required # for nixos-install. - boot.postBootCommands = + boot.postBootCommands = mkAfter '' if ! [ -e /var/lib/nixos/did-channel-init ]; then echo "unpacking the NixOS/Nixpkgs sources..." diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 1aba67dcd9e9..a120a01041bd 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -1,9 +1,9 @@ # This module contains the basic configuration for building a NixOS # installation CD. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { imports = @@ -19,7 +19,7 @@ with pkgs.lib; # ISO naming. isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixosVersion}-${pkgs.stdenv.system}.iso"; - isoImage.volumeID = substring 0 32 "NIXOS_${config.system.nixosVersion}"; + isoImage.volumeID = substring 0 11 "NIXOS_${config.system.nixosVersion}"; # Make the installer more likely to succeed in low memory # environments. The kernel's overcommit heustistics bite us @@ -29,14 +29,15 @@ with pkgs.lib; boot.kernel.sysctl."vm.overcommit_memory" = "1"; # To speed up installation a little bit, include the complete stdenv - # in the Nix store on the CD. - isoImage.storeContents = [ pkgs.stdenv pkgs.busybox ]; + # in the Nix store on the CD. Archive::Cpio is needed for the + # initrd builder. + isoImage.storeContents = [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio ]; # EFI booting isoImage.makeEfiBootable = true; # Add Memtest86+ to the CD. - boot.loader.grub.memtest86 = true; + boot.loader.grub.memtest86.enable = true; # Get a console as soon as the initrd loads fbcon on EFI boot boot.initrd.kernelModules = [ "fbcon" ]; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix index debf3e7db906..65aa11670893 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix @@ -1,9 +1,9 @@ # This module defines a NixOS installation CD that contains X11 and # KDE 4. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { imports = [ ./installation-cd-base.nix ../../profiles/graphical.nix ]; diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 00a9e91c7338..00f5fae84342 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -2,9 +2,9 @@ # configuration. The derivation for the ISO image will be placed in # config.system.build.isoImage. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index 13ed95d4cebd..c274970c5536 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix index fcb96f7a24fe..0357bf801960 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix @@ -1,9 +1,9 @@ # This module contains the basic configuration for building a NixOS # tarball, that can directly boot, maybe using PXE or unpacking on a fs. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 7f253d595dc3..1008bd5d3d0d 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -1,9 +1,9 @@ # This module contains the basic configuration for building a NixOS # tarball for the sheevaplug. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -138,8 +138,7 @@ in }; # Setting vesa, we don't get the nvidia driver, which can't work in arm. - services.xserver.videoDriver = "vesa"; - services.xserver.videoDrivers = []; + hardware.opengl.videoDrivers = [ "vesa" ]; services.nixosManual.enable = false; # Include the firmware for various wireless cards. diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix index 8d678fba71f5..eaecbe1381f5 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball.nix @@ -2,9 +2,9 @@ # configuration. The derivation for the ISO image will be placed in # config.system.build.tarball. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/installer/scan/detected.nix b/nixos/modules/installer/scan/detected.nix index 09d04608e685..f350cd986afa 100644 --- a/nixos/modules/installer/scan/detected.nix +++ b/nixos/modules/installer/scan/detected.nix @@ -1,8 +1,8 @@ # List all devices which are detected by nixos-hardware-scan. # Common devices are enabled by default. -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { config = mkDefault { diff --git a/nixos/modules/installer/scan/not-detected.nix b/nixos/modules/installer/scan/not-detected.nix index 814858fdffda..b30c569ed2a7 100644 --- a/nixos/modules/installer/scan/not-detected.nix +++ b/nixos/modules/installer/scan/not-detected.nix @@ -1,8 +1,8 @@ # List all devices which are _not_ detected by nixos-hardware-scan. # Common devices are enabled by default. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { hardware.enableAllFirmware = true; diff --git a/nixos/modules/installer/tools/nixos-checkout.nix b/nixos/modules/installer/tools/nixos-checkout.nix index 418998556864..3338e5119acb 100644 --- a/nixos/modules/installer/tools/nixos-checkout.nix +++ b/nixos/modules/installer/tools/nixos-checkout.nix @@ -1,9 +1,9 @@ # This module generates the nixos-checkout script, which replaces the # Nixpkgs source trees in /etc/nixos/nixpkgs with a Git checkout. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 6b42058a8926..da1d26882772 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -61,7 +61,7 @@ my @attrs = (); my @kernelModules = (); my @initrdKernelModules = (); my @modulePackages = (); -my @imports = (""); +my @imports = (""); sub debug { @@ -96,9 +96,9 @@ my $videoDriver; sub pciCheck { my $path = shift; - my $vendor = read_file "$path/vendor"; - my $device = read_file "$path/device"; - my $class = read_file "$path/class"; + my $vendor = read_file "$path/vendor"; chomp $vendor; + my $device = read_file "$path/device"; chomp $device; + my $class = read_file "$path/class"; chomp $class; my $module; if (-e "$path/driver/module") { @@ -130,6 +130,7 @@ sub pciCheck { # broadcom STA driver (wl.ko) # list taken from http://www.broadcom.com/docs/linux_sta/README.txt + # FIXME: still needed? if ($vendor eq "0x14e4" && ($device eq "0x4311" || $device eq "0x4312" || $device eq "0x4313" || $device eq "0x4315" || $device eq "0x4327" || $device eq "0x4328" || @@ -156,6 +157,7 @@ sub pciCheck { # Assume that all NVIDIA cards are supported by the NVIDIA driver. # There may be exceptions (e.g. old cards). + # FIXME: do we want to enable an unfree driver here? $videoDriver = "nvidia" if $vendor eq "0x10de" && $class =~ /^0x03/; } @@ -163,16 +165,16 @@ foreach my $path (glob "/sys/bus/pci/devices/*") { pciCheck $path; } -push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver; +push @attrs, "hardware.opengl.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver; # Idem for USB devices. sub usbCheck { my $path = shift; - my $class = read_file "$path/bInterfaceClass"; - my $subclass = read_file "$path/bInterfaceSubClass"; - my $protocol = read_file "$path/bInterfaceProtocol"; + my $class = read_file "$path/bInterfaceClass"; chomp $class; + my $subclass = read_file "$path/bInterfaceSubClass"; chomp $subclass; + my $protocol = read_file "$path/bInterfaceProtocol"; chomp $protocol; my $module; if (-e "$path/driver/module") { @@ -216,14 +218,22 @@ foreach my $path (glob "/sys/class/block/*") { } +my $dmi = `@dmidecode@/sbin/dmidecode`; + + # Check if we're a VirtualBox guest. If so, enable the guest # additions. -my $dmi = `@dmidecode@/sbin/dmidecode`; if ($dmi =~ /Manufacturer: innotek/) { push @attrs, "services.virtualbox.enable = true;" } +# Likewise for QEMU. +if ($dmi =~ /Manufacturer: Bochs/) { + push @imports, ""; +} + + # Generate the swapDevices option from the currently activated swap # devices. my @swaps = read_file("/proc/swaps"); @@ -256,7 +266,7 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { $mountPoint = "/" if $mountPoint eq ""; # Skip special filesystems. - next if in($mountPoint, "/proc") || in($mountPoint, "/dev") || in($mountPoint, "/sys") || in($mountPoint, "/run"); + next if in($mountPoint, "/proc") || in($mountPoint, "/dev") || in($mountPoint, "/sys") || in($mountPoint, "/run") || $mountPoint eq "/var/lib/nfs/rpc_pipefs"; # Skip the optional fields. my $n = 6; $n++ while $fields[$n] ne "-"; $n++; @@ -305,7 +315,15 @@ EOF fileSystems.\"$mountPoint\" = { device = \"$device\"; fsType = \"$fsType\"; - options = \"${\join ",", uniq(@extraOptions, @superOptions, @mountOptions)}\"; +EOF + + if (scalar @extraOptions > 0) { + $fileSystems .= <&2 "An error occured while looking for attribute names." + echo 1>&2 "An error occurred while looking for attribute names." echo $result fi fi diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 5c89394abceb..d7b749573fa9 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -1,4 +1,8 @@ -#! @shell@ -e +#! @shell@ + +if [ -x "@shell@" ]; then export SHELL="@shell@"; fi; + +set -e showSyntax() { exec man nixos-rebuild @@ -7,6 +11,7 @@ showSyntax() { # Parse the command line. +origArgs=("$@") extraBuildFlags=() action= buildNix=1 @@ -40,7 +45,7 @@ while [ "$#" -gt 0 ]; do repair=1 extraBuildFlags+=("$i") ;; - --show-trace|--no-build-hook|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair) + --show-trace|--no-build-hook|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q) extraBuildFlags+=("$i") ;; --max-jobs|-j|--cores|-I) @@ -76,8 +81,30 @@ done if [ -z "$action" ]; then showSyntax; fi -if [ -n "$rollback" ]; then - buildNix= +# Only run shell scripts from the Nixpkgs tree if the action is +# "switch", "boot", or "test". With other actions (such as "build"), +# the user may reasonably expect that no code from the Nixpkgs tree is +# executed, so it's safe to run nixos-rebuild against a potentially +# untrusted tree. +canRun= +if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then + canRun=1 +fi + + +# If ‘--upgrade’ is given, run ‘nix-channel --update nixos’. +if [ -n "$upgrade" -a -z "$_NIXOS_REBUILD_REEXEC" ]; then + nix-channel --update nixos +fi + + +# Re-execute nixos-rebuild from the Nixpkgs tree. +if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" ]; then + if p=$(nix-instantiate --find-file nixpkgs/nixos/modules/installer/tools/nixos-rebuild.sh "${extraBuildFlags[@]}"); then + export _NIXOS_REBUILD_REEXEC=1 + exec $SHELL -e $p "${origArgs[@]}" + exit 1 + fi fi @@ -98,20 +125,33 @@ if [ -z "$repair" ] && systemctl show nix-daemon.socket nix-daemon.service | gre fi -# If ‘--upgrade’ is given, run ‘nix-channel --update nixos’. -if [ -n "$upgrade" ]; then - nix-channel --update nixos +# First build Nix, since NixOS may require a newer version than the +# current one. +if [ -n "$rollback" -o "$action" = dry-run ]; then + buildNix= fi - -# First build Nix, since NixOS may require a newer version than the -# current one. Of course, the same goes for Nixpkgs, but Nixpkgs is -# more conservative. -if [ "$action" != dry-run -a -n "$buildNix" ]; then +if [ -n "$buildNix" ]; then echo "building Nix..." >&2 if ! nix-build '' -A config.nix.package -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then if ! nix-build '' -A nixFallback -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then - nix-build '' -A nixUnstable -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null + if ! nix-build '' -A nix -o $tmpDir/nix "${extraBuildFlags[@]}" > /dev/null; then + machine="$(uname -m)" + if [ "$machine" = x86_64 ]; then + nixStorePath=/nix/store/d34q3q2zj9nriq4ifhn3dnnngqvinjb3-nix-1.7 + elif [[ "$machine" =~ i.86 ]]; then + nixStorePath=/nix/store/qlah0darpcn6sf3lr2226rl04l1gn4xz-nix-1.7 + else + echo "$0: unsupported platform" + exit 1 + fi + if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \ + --option extra-binary-caches http://cache.nixos.org/; then + echo "warning: don't know how to get latest Nix" >&2 + fi + # Older version of nix-store -r don't support --add-root. + [ -e $tmpDir/nix ] || ln -sf $nixStorePath $tmpDir/nix + fi fi fi PATH=$tmpDir/nix/bin:$PATH @@ -120,10 +160,12 @@ fi # Update the version suffix if we're building from Git (so that # nixos-version shows something useful). -if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then - suffix=$(@shell@ $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true) - if [ -n "$suffix" ]; then - echo -n "$suffix" > "$nixpkgs/.version-suffix" || true +if [ -n "$canRun" ]; then + if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then + suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true) + if [ -n "$suffix" ]; then + echo -n "$suffix" > "$nixpkgs/.version-suffix" || true + fi fi fi diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 652bfa917dfa..7dbcc261485d 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -80,9 +80,9 @@ in /* options = { - installer.enableGraphicalTools = pkgs.lib.mkOption { + installer.enableGraphicalTools = mkOption { default = false; - type = with pkgs.lib.types; bool; + type = types.bool; example = true; description = '' Enable the installation of graphical tools. diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 76cc29a1facd..0a52cbea2897 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { imports = @@ -15,5 +15,5 @@ with pkgs.lib; # Add some more video drivers to give X11 a shot at working in # VMware and QEMU. - services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ]; + hardware.opengl.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ]; } diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index 5fb88308b776..786ec7d250c4 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/misc/check-config.nix b/nixos/modules/misc/check-config.nix index f759c88d3a1f..e9803de21961 100644 --- a/nixos/modules/misc/check-config.nix +++ b/nixos/modules/misc/check-config.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: +{ lib, ... }: -with pkgs.lib; +with lib; { options = { diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index 6e71baa9a431..d68f38bae2f5 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let crashdump = config.boot.crashDump; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 16eec9043212..2d9ea1450ff0 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -110,6 +110,27 @@ openldap = 99; memcached = 100; cgminer = 101; + munin = 102; + logcheck = 103; + nix-ssh = 104; + dictd = 105; + couchdb = 106; + searx = 107; + kippo = 108; + jenkins = 109; + systemd-journal-gateway = 110; + notbit = 111; + ngircd = 112; + btsync = 113; + minecraft = 114; + monetdb = 115; + rippled = 116; + murmur = 117; + foundationdb = 118; + newrelic = 119; + starbound = 120; + hydra = 122; + spiped = 123; # When adding a uid, make sure it doesn't match an existing gid. @@ -199,6 +220,22 @@ haproxy = 92; openldap = 93; connman = 94; + munin = 95; + keys = 96; + dictd = 105; + couchdb = 106; + searx = 107; + kippo = 108; + jenkins = 109; + systemd-journal-gateway = 110; + notbit = 111; + monetdb = 115; + foundationdb = 118; + newrelic = 119; + starbound = 120; + grsecurity = 121; + hydra = 122; + spiped = 123; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix index b6408be5844f..45da0df7967c 100644 --- a/nixos/modules/misc/locate.nix +++ b/nixos/modules/misc/locate.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 7433fab168e2..a5dad7dd9071 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let isConfig = x: diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index ae9fb5fb2a0e..67bafac4c455 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 442edd8029de..5c30d74be694 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -29,7 +29,9 @@ ./hardware/network/intel-3945abg.nix ./hardware/network/ralink.nix ./hardware/network/rtl8192c.nix + ./hardware/opengl.nix ./hardware/pcmcia.nix + ./hardware/video/bumblebee.nix ./installer/tools/nixos-checkout.nix ./installer/tools/tools.nix ./misc/assertions.nix @@ -59,6 +61,8 @@ ./security/apparmor.nix ./security/apparmor-suid.nix ./security/ca.nix + ./security/duosec.nix + ./security/grsecurity.nix ./security/pam.nix ./security/pam_usb.nix ./security/polkit.nix @@ -76,20 +80,34 @@ ./services/backup/bacula.nix ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix - ./services/backup/sitecopy-backup.nix ./services/backup/rsnapshot.nix + ./services/backup/sitecopy-backup.nix + ./services/backup/tarsnap.nix + ./services/continuous-integration/jenkins/default.nix + ./services/continuous-integration/jenkins/slave.nix ./services/databases/4store-endpoint.nix ./services/databases/4store.nix + ./services/databases/couchdb.nix ./services/databases/firebird.nix ./services/databases/memcached.nix ./services/databases/mongodb.nix ./services/databases/redis.nix ./services/databases/mysql.nix - ./services/databases/mysql55.nix ./services/databases/openldap.nix ./services/databases/postgresql.nix ./services/databases/virtuoso.nix + ./services/databases/monetdb.nix + ./services/desktops/accountservice.nix + ./services/desktops/gnome3/at-spi2-core.nix + ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/gnome-keyring.nix + ./services/desktops/gnome3/gnome-online-accounts.nix + ./services/desktops/gnome3/gnome-user-share.nix + ./services/desktops/gnome3/sushi.nix + ./services/desktops/gnome3/tracker.nix + ./services/desktops/telepathy.nix ./services/games/ghost-one.nix + ./services/games/minecraft-server.nix ./services/hardware/acpid.nix ./services/hardware/amd-hybrid-graphics.nix ./services/hardware/bluetooth.nix @@ -116,13 +134,16 @@ ./services/mail/spamassassin.nix ./services/misc/autofs.nix ./services/misc/cgminer.nix + ./services/misc/dictd.nix ./services/misc/disnix.nix ./services/misc/felix.nix ./services/misc/folding-at-home.nix ./services/misc/gpsd.nix ./services/misc/nix-daemon.nix ./services/misc/nix-gc.nix + ./services/misc/nix-ssh-serve.nix ./services/misc/nixos-manual.nix + ./services/misc/rippled.nix ./services/misc/rogue.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix @@ -142,11 +163,14 @@ ./services/network-filesystems/drbd.nix ./services/network-filesystems/nfsd.nix ./services/network-filesystems/openafs-client/default.nix + ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/networking/amuled.nix ./services/networking/avahi-daemon.nix ./services/networking/bind.nix ./services/networking/bitlbee.nix + ./services/networking/btsync.nix + ./services/networking/cjdns.nix ./services/networking/connman.nix ./services/networking/cntlm.nix ./services/networking/chrony.nix @@ -170,8 +194,11 @@ ./services/networking/ircd-hybrid/default.nix ./services/networking/kippo.nix ./services/networking/minidlna.nix + ./services/networking/murmur.nix ./services/networking/nat.nix ./services/networking/networkmanager.nix + ./services/networking/ngircd.nix + ./services/networking/notbit.nix ./services/networking/ntopng.nix ./services/networking/ntpd.nix ./services/networking/oidentd.nix @@ -184,7 +211,10 @@ ./services/networking/rdnssd.nix ./services/networking/rpcbind.nix ./services/networking/sabnzbd.nix + ./services/networking/searx.nix + ./services/networking/spiped.nix ./services/networking/supybot.nix + ./services/networking/syncthing.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix ./services/networking/tftpd.nix @@ -200,6 +230,7 @@ ./services/scheduling/cron.nix ./services/scheduling/fcron.nix ./services/search/elasticsearch.nix + ./services/search/solr.nix ./services/security/clamav.nix ./services/security/haveged.nix ./services/security/fprot.nix @@ -222,8 +253,10 @@ ./services/web-servers/lighttpd/cgit.nix ./services/web-servers/lighttpd/gitweb.nix ./services/web-servers/nginx/default.nix + ./services/web-servers/phpfpm.nix ./services/web-servers/tomcat.nix ./services/web-servers/varnish/default.nix + ./services/web-servers/winstone.nix ./services/web-servers/zope2.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/auto.nix @@ -234,7 +267,6 @@ ./services/x11/hardware/multitouch.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix - ./services/x11/mesa.nix ./services/x11/window-managers/awesome.nix #./services/x11/window-managers/compiz.nix ./services/x11/window-managers/default.nix @@ -282,6 +314,7 @@ ./tasks/scsi-link-power-management.nix ./tasks/swraid.nix ./testing/service-runner.nix + ./virtualisation/container-config.nix ./virtualisation/containers.nix ./virtualisation/libvirtd.nix #./virtualisation/nova.nix diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix index 04ee76d8d3e9..f0d60bb6c428 100644 --- a/nixos/modules/profiles/clone-config.nix +++ b/nixos/modules/profiles/clone-config.nix @@ -1,6 +1,6 @@ -{ config, pkgs, modules, ... }: +{ config, lib, pkgs, modules, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/profiles/demo.nix b/nixos/modules/profiles/demo.nix index 396dcf6c5d3b..605cc6aad1de 100644 --- a/nixos/modules/profiles/demo.nix +++ b/nixos/modules/profiles/demo.nix @@ -11,6 +11,6 @@ createHome = true; useDefaultShell = true; password = "demo"; - isSystemUser = false; + uid = 1000; }; } diff --git a/nixos/modules/profiles/headless.nix b/nixos/modules/profiles/headless.nix index 541c46ca50c2..14fc905f783e 100644 --- a/nixos/modules/profiles/headless.nix +++ b/nixos/modules/profiles/headless.nix @@ -1,9 +1,9 @@ # Common configuration for headless machines (e.g., Amazon EC2 # instances). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { sound.enable = false; diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 3b058c6e9715..5aab2a2954e7 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -1,7 +1,7 @@ # Provide a basic configuration for installation devices like CDs. -{ config, pkgs, modules, ... }: +{ config, lib, ... }: -with pkgs.lib; +with lib; { imports = @@ -45,7 +45,7 @@ with pkgs.lib; # Enable wpa_supplicant, but don't start it by default. networking.wireless.enable = true; - jobs.wpa_supplicant.startOn = pkgs.lib.mkOverride 50 ""; + jobs.wpa_supplicant.startOn = mkOverride 50 ""; # Tell the Nix evaluator to garbage collect more aggressively. # This is desirable in memory-constrained environments that don't diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index 821b9f93465a..5067622aaf16 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -1,11 +1,8 @@ # This module defines a small NixOS configuration. It does not # contain any graphical stuff. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { - # Don't include X libraries. - programs.ssh.setXAuthLocation = false; - fonts.enableFontConfig = false; - fonts.enableCoreFonts = false; + environment.noXlibs = true; } diff --git a/nixos/modules/profiles/qemu-guest.nix b/nixos/modules/profiles/qemu-guest.nix index c8e6fd4aa768..0a92b7ace507 100644 --- a/nixos/modules/profiles/qemu-guest.nix +++ b/nixos/modules/profiles/qemu-guest.nix @@ -5,5 +5,13 @@ { boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "9p" "9pnet_virtio" ]; - boot.kernelModules = [ "virtio_balloon" "virtio_console" ]; + boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" ]; + + boot.initrd.postDeviceCommands = + '' + # Set the system time from the hardware clock to work around a + # bug in qemu-kvm > 1.5.2 (where the VM clock is initialised + # to the *boot time* of the host). + hwclock -s + ''; } diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix index 7fdaab9d67df..e457db22333b 100644 --- a/nixos/modules/programs/atop.nix +++ b/nixos/modules/programs/atop.nix @@ -1,8 +1,8 @@ # Global configuration for atop. -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.programs.atop; diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index 9d33e26c4959..9584f07b0945 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -1,9 +1,9 @@ # This module defines global configuration for the Bash shell, in # particular /etc/bashrc and /etc/profile. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/programs/bash/command-not-found.nix b/nixos/modules/programs/bash/command-not-found.nix index 502320446a37..8c86d48b0808 100644 --- a/nixos/modules/programs/bash/command-not-found.nix +++ b/nixos/modules/programs/bash/command-not-found.nix @@ -3,9 +3,9 @@ # SQLite database that maps program names to Nix package names (e.g., # "pdflatex" is mapped to "tetex"). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 7c1922cdfd89..aa9aec078342 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -2,9 +2,9 @@ # Most of the stuff here should probably be moved elsewhere sometime. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -17,8 +17,7 @@ in config = { environment.variables = - { LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; - LOCATE_PATH = "/var/cache/locatedb"; + { LOCATE_PATH = "/var/cache/locatedb"; NIXPKGS_CONFIG = "/etc/nix/nixpkgs-config.nix"; NIX_PATH = [ "/nix/var/nix/profiles/per-user/root/channels/nixos" @@ -45,7 +44,7 @@ in TERMINFO_DIRS = [ "${i}/share/terminfo" ]; PERL5LIB = [ "${i}/lib/perl5/site_perl" ]; ALSA_PLUGIN_DIRS = [ "${i}/lib/alsa-lib" ]; - GST_PLUGIN_PATH = [ "${i}/lib/gstreamer-0.10" ]; + GST_PLUGIN_SYSTEM_PATH = [ "${i}/lib/gstreamer-0.10" ]; KDEDIRS = [ "${i}" ]; STRIGI_PLUGIN_PATH = [ "${i}/lib/strigi/" ]; QT_PLUGIN_PATH = [ "${i}/lib/qt4/plugins" "${i}/lib/kde4/plugins" ]; diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 9e46ab8b298f..a24350994992 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -1,8 +1,8 @@ # Configuration for the pwdutils suite of tools: passwd, useradd, etc. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -58,7 +58,8 @@ in config = { - environment.systemPackages = [ pkgs.shadow ]; + environment.systemPackages = + pkgs.lib.optional config.users.mutableUsers pkgs.shadow; environment.etc = [ { # /etc/login.defs: global configuration for pwdutils. You @@ -94,6 +95,8 @@ in groupmems = { rootOK = true; }; groupdel = { rootOK = true; }; login = { startSession = true; allowNullPassword = true; showMotd = true; updateWtmp = true; }; + chpasswd = { rootOK = true; }; + chgpasswd = { rootOK = true; }; }; security.setuidPrograms = [ "passwd" "chfn" "su" "newgrp" ]; diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 8052502c21ea..80d40a7c708c 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -1,8 +1,8 @@ # This module defines a standard configuration for NixOS shells. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -28,34 +28,36 @@ in echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2 fi - if ! test -L $HOME/.nix-profile; then - if test "$USER" != root; then - ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile - else - # Root installs in the system-wide profile by default. - ln -s /nix/var/nix/profiles/default $HOME/.nix-profile - fi - fi + if test -w $HOME; then + if ! test -L $HOME/.nix-profile; then + if test "$USER" != root; then + ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile + else + # Root installs in the system-wide profile by default. + ln -s /nix/var/nix/profiles/default $HOME/.nix-profile + fi + fi - # Subscribe the root user to the NixOS channel by default. - if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then - echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels - fi + # Subscribe the root user to the NixOS channel by default. + if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then + echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels + fi - # Create the per-user garbage collector roots directory. - NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER - mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR - if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then - echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2 - fi + # Create the per-user garbage collector roots directory. + NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER + mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR + if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then + echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2 + fi - # Set up a default Nix expression from which to install stuff. - if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then - rm -f $HOME/.nix-defexpr - mkdir $HOME/.nix-defexpr - if [ "$USER" != root ]; then - ln -s /nix/var/nix/profiles/per-user/root/channels $HOME/.nix-defexpr/channels_root - fi + # Set up a default Nix expression from which to install stuff. + if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then + rm -f $HOME/.nix-defexpr + mkdir $HOME/.nix-defexpr + if [ "$USER" != root ]; then + ln -s /nix/var/nix/profiles/per-user/root/channels $HOME/.nix-defexpr/channels_root + fi + fi fi ''; diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index a66679dff90d..fdb9dfd4b8c2 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -1,8 +1,8 @@ # Global configuration for the SSH client. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.programs.ssh; cfgd = config.services.openssh; @@ -31,7 +31,7 @@ in setXAuthLocation = mkOption { type = types.bool; - default = true; + default = config.services.xserver.enable; description = '' Whether to set the path to xauth for X11-forwarded connections. This causes a dependency on X11 packages. @@ -47,7 +47,20 @@ in for help. ''; }; + + startAgent = mkOption { + type = types.bool; + default = true; + description = '' + Whether to start the OpenSSH agent when you log in. The OpenSSH agent + remembers private keys for you so that you don't have to type in + passphrases every time you make an SSH connection. Use + ssh-add to add a key to the agent. + ''; + }; + }; + }; config = { @@ -71,5 +84,28 @@ in target = "ssh/ssh_config"; } ]; + + # FIXME: this should really be socket-activated for über-awesomeness. + systemd.user.services.ssh-agent = + { enable = cfg.startAgent; + description = "SSH Agent"; + wantedBy = [ "default.target" ]; + serviceConfig = + { ExecStartPre = "${pkgs.coreutils}/bin/rm -f %t/ssh-agent"; + ExecStart = "${pkgs.openssh}/bin/ssh-agent -a %t/ssh-agent"; + StandardOutput = "null"; + Type = "forking"; + Restart = "on-failure"; + SuccessExitStatus = "0 2"; + }; + }; + + environment.extraInit = optionalString cfg.startAgent + '' + if [ -z "$SSH_AUTH_SOCK" -a -n "$XDG_RUNTIME_DIR" ]; then + export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent" + fi + ''; + }; } diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix index 904989d57a09..34eafd4fa846 100644 --- a/nixos/modules/programs/ssmtp.nix +++ b/nixos/modules/programs/ssmtp.nix @@ -3,9 +3,9 @@ # directly to an SMTP server defined in its configuration file, wihout # queueing mail locally. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/programs/venus.nix b/nixos/modules/programs/venus.nix index 7ab653dd19fd..2b70a795f4fd 100644 --- a/nixos/modules/programs/venus.nix +++ b/nixos/modules/programs/venus.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.venus; diff --git a/nixos/modules/programs/virtualbox.nix b/nixos/modules/programs/virtualbox.nix index 340fec0496ae..10e657abd3c5 100644 --- a/nixos/modules/programs/virtualbox.nix +++ b/nixos/modules/programs/virtualbox.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let virtualbox = config.boot.kernelPackages.virtualbox; in diff --git a/nixos/modules/programs/wvdial.nix b/nixos/modules/programs/wvdial.nix index da3f7dce98a1..8e7d0e51a4e0 100644 --- a/nixos/modules/programs/wvdial.nix +++ b/nixos/modules/programs/wvdial.nix @@ -1,8 +1,8 @@ # Global configuration for wvdial. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index cff751934d7d..7bcf8da2c659 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -1,8 +1,8 @@ # This module defines global configuration for the zshell. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -116,8 +116,9 @@ in # This file is read for all shells. # Only execute this file once per shell. + # But don't clobber the environment of interactive non-login children! if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi - __ETC_ZSHENV_SOURCED=1 + export __ETC_ZSHENV_SOURCED=1 ${cfg.shellInit} diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 6ff5277cf9ca..0a67aeb81e56 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -1,6 +1,6 @@ -{ config, pkgs, options, ... }: +{ config, lib, options, ... }: -with pkgs.lib; +with lib; let @@ -12,18 +12,20 @@ let visible = true; }; + # warn option was renamed obsolete = from: to: rename { inherit from to; name = "Obsolete name"; - use = x: builtins.trace "Obsolete option `${showOption from}' is used instead of `${showOption to}'." x; - define = x: builtins.trace "Obsolete option `${showOption from}' is defined instead of `${showOption to}'." x; + use = x: builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'." x; + define = x: builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'." x; }; + # abort if deprecated option is used deprecated = from: to: rename { inherit from to; name = "Deprecated name"; - use = x: abort "Deprecated option `${showOption from}' is used instead of `${showOption to}'."; - define = x: abort "Deprecated option `${showOption from}' is defined instead of `${showOption to}'."; + use = x: abort "Deprecated option `${showOption from}' is used. It was renamed to `${showOption to}'."; + define = x: abort "Deprecated option `${showOption from}' is used. It was renamed to `${showOption to}'."; }; showOption = concatStringsSep "."; @@ -54,7 +56,7 @@ let inherit visible; }); } - { config = setTo (mkIf (fromOf options).isDefined (define (mkMerge (fromOf options).definitions))); + { config = setTo (mkMerge (if (fromOf options).isDefined then [ (define (mkMerge (fromOf options).definitions)) ] else [])); } ]; @@ -101,6 +103,8 @@ in zipModules ([] ++ obsolete [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ] ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ] ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ] +++ obsolete [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ] +++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "xbmc" ] # KDE ++ deprecated [ "kde" "extraPackages" ] [ "environment" "kdePackages" ] @@ -113,10 +117,12 @@ in zipModules ([] # !!! this hardcodes bash, could we detect from config which shell is actually used? ++ obsolete [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ] -++ obsolete [ "services" "xserver" "driSupport" ] [ "services" "mesa" "driSupport" ] -++ obsolete [ "services" "xserver" "driSupport32Bit" ] [ "services" "mesa" "driSupport32Bit" ] -++ obsolete [ "services" "xserver" "s3tcSupport" ] [ "services" "mesa" "s3tcSupport" ] -++ obsolete [ "services" "xserver" "videoDrivers" ] [ "services" "mesa" "videoDrivers" ] +++ obsolete [ "services" "xserver" "driSupport" ] [ "hardware" "opengl" "driSupport" ] +++ obsolete [ "services" "xserver" "driSupport32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ] +++ obsolete [ "services" "xserver" "s3tcSupport" ] [ "hardware" "opengl" "s3tcSupport" ] +++ obsolete [ "services" "xserver" "videoDrivers" ] [ "hardware" "opengl" "videoDrivers" ] + +++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ] # Options that are obsolete and have no replacement. ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ] diff --git a/nixos/modules/security/apparmor-suid.nix b/nixos/modules/security/apparmor-suid.nix index bc661164fdc2..b89b379ae666 100644 --- a/nixos/modules/security/apparmor-suid.nix +++ b/nixos/modules/security/apparmor-suid.nix @@ -1,8 +1,8 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: let cfg = config.security.apparmor; in -with pkgs.lib; +with lib; { options.security.apparmor.confineSUIDApplications = mkOption { diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index b9f151590028..da7c93beee98 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -1,55 +1,39 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: + +with lib; let cfg = config.security.apparmor; in - -with pkgs.lib; - { - - ###### interface - options = { - security.apparmor = { - enable = mkOption { type = types.bool; default = false; - description = '' - Enable AppArmor application security system. Enable only if - you want to further improve AppArmor. - ''; + description = "Enable the AppArmor Mandatory Access Control system."; }; profiles = mkOption { type = types.listOf types.path; default = []; - description = '' - List of file names of AppArmor profiles. - ''; + description = "List of files containing AppArmor profiles."; }; - }; }; - - ###### implementation - - config = mkIf (cfg.enable) { - - assertions = [ { assertion = config.boot.kernelPackages.kernel.features ? apparmor - && config.boot.kernelPackages.kernel.features.apparmor; - message = "AppArmor is enabled, but the kernel doesn't have AppArmor support"; } - ]; + config = mkIf cfg.enable { + assertions = + [ { assertion = config.boot.kernelPackages.kernel.features ? apparmor + && config.boot.kernelPackages.kernel.features.apparmor; + message = "Your selected kernel does not have AppArmor support"; + } + ]; environment.systemPackages = [ pkgs.apparmor ]; - systemd.services.apparmor = { - #wantedBy = [ "basic.target" ]; wantedBy = [ "local-fs.target" ]; - path = [ pkgs.apparmor ]; + path = [ pkgs.apparmor ]; serviceConfig = { Type = "oneshot"; @@ -61,9 +45,6 @@ with pkgs.lib; ''${pkgs.apparmor}/sbin/apparmor_parser -Rv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; '' ) cfg.profiles; }; - }; - }; - } diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 2e93fb36b450..f159e359f968 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { @@ -10,11 +10,6 @@ with pkgs.lib; [ { source = "${pkgs.cacert}/etc/ca-bundle.crt"; target = "ssl/certs/ca-bundle.crt"; } - - # Backward compatibility; may remove at some point. - { source = "${pkgs.cacert}/etc/ca-bundle.crt"; - target = "ca-bundle.crt"; - } ]; environment.variables.OPENSSL_X509_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt"; diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix new file mode 100644 index 000000000000..bd9611384828 --- /dev/null +++ b/nixos/modules/security/duosec.nix @@ -0,0 +1,198 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.security.duosec; + + boolToStr = b: if b then "yes" else "no"; + + configFile = '' + [duo] + ikey=${cfg.ikey} + skey=${cfg.skey} + host=${cfg.host} + ${optionalString (cfg.group != "") ("group="+cfg.group)} + failmode=${cfg.failmode} + pushinfo=${boolToStr cfg.pushinfo} + autopush=${boolToStr cfg.autopush} + motd=${boolToStr cfg.motd} + prompts=${toString cfg.prompts} + accept_env_factor=${boolToStr cfg.acceptEnvFactor} + fallback_local_ip=${boolToStr cfg.fallbackLocalIP} + ''; + + loginCfgFile = optional cfg.ssh.enable + { source = pkgs.writeText "login_duo.conf" configFile; + mode = "0600"; + uid = config.ids.uids.sshd; + target = "duo/login_duo.conf"; + }; + + pamCfgFile = optional cfg.pam.enable + { source = pkgs.writeText "pam_duo.conf" configFile; + mode = "0600"; + uid = config.ids.uids.sshd; + target = "duo/pam_duo.conf"; + }; +in +{ + options = { + security.duosec = { + ssh.enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, protect SSH logins with Duo Security."; + }; + + pam.enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, protect logins with Duo Security using PAM support."; + }; + + ikey = mkOption { + type = types.str; + description = "Integration key."; + }; + + skey = mkOption { + type = types.str; + description = "Secret key."; + }; + + host = mkOption { + type = types.str; + description = "Duo API hostname."; + }; + + group = mkOption { + type = types.str; + default = ""; + description = "Use Duo authentication for users only in this group."; + }; + + failmode = mkOption { + type = types.str; + default = "safe"; + description = '' + On service or configuration errors that prevent Duo + authentication, fail "safe" (allow access) or "secure" (deny + access). The default is "safe". + ''; + }; + + pushinfo = mkOption { + type = types.bool; + default = false; + description = '' + Include information such as the command to be executed in + the Duo Push message. + ''; + }; + + autopush = mkOption { + type = types.bool; + default = false; + description = '' + If true, Duo Unix will automatically send + a push login request to the user’s phone, falling back on a + phone call if push is unavailable. If + false, the user will be prompted to + choose an authentication method. When configured with + autopush = yes, we recommend setting + prompts = 1. + ''; + }; + + motd = mkOption { + type = types.bool; + default = false; + description = '' + Print the contents of /etc/motd to screen + after a succesful login. + ''; + }; + + prompts = mkOption { + type = types.int; + default = 3; + description = '' + If a user fails to authenticate with a second factor, Duo + Unix will prompt the user to authenticate again. This option + sets the maximum number of prompts that Duo Unix will + display before denying access. Must be 1, 2, or 3. Default + is 3. + + For example, when prompts = 1, the user + will have to successfully authenticate on the first prompt, + whereas if prompts = 2, if the user + enters incorrect information at the initial prompt, he/she + will be prompted to authenticate again. + + When configured with autopush = true, we + recommend setting prompts = 1. + ''; + }; + + acceptEnvFactor = mkOption { + type = types.bool; + default = false; + description = '' + Look for factor selection or passcode in the + $DUO_PASSCODE environment variable before + prompting the user for input. + + When $DUO_PASSCODE is non-empty, it will override + autopush. The SSH client will need SendEnv DUO_PASSCODE in + its configuration, and the SSH server will similarily need + AcceptEnv DUO_PASSCODE. + ''; + }; + + fallbackLocalIP = mkOption { + type = types.bool; + default = false; + description = '' + Duo Unix reports the IP address of the authorizing user, for + the purposes of authorization and whitelisting. If Duo Unix + cannot detect the IP address of the client, setting + fallbackLocalIP = yes will cause Duo Unix + to send the IP address of the server it is running on. + + If you are using IP whitelisting, enabling this option could + cause unauthorized logins if the local IP is listed in the + whitelist. + ''; + }; + }; + }; + + config = mkIf (cfg.ssh.enable || cfg.pam.enable) { + assertions = + [ { assertion = cfg.failmode == "safe" || cfg.failmode == "secure"; + message = "Invalid value for failmode (must be safe or secure)."; + } + { assertion = cfg.prompts == 1 || cfg.prompts == 2 || cfg.prompts == 3; + message = "Invalid value for prompts (must be 1, 2, or 3)."; + } + { assertion = !cfg.pam.enable; + message = "PAM support is currently not implemented."; + } + ]; + + environment.systemPackages = [ pkgs.duo-unix ]; + security.setuidPrograms = [ "login_duo" ]; + environment.etc = loginCfgFile ++ pamCfgFile; + + /* If PAM *and* SSH are enabled, then don't do anything special. + If PAM isn't used, set the default SSH-only options. */ + services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) ( + if cfg.pam.enable then "UseDNS no" else '' + # Duo Security configuration + ForceCommand ${config.security.wrapperDir}/login_duo + PermitTunnel no + AllowTcpForwarding no + ''); + }; +} diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix new file mode 100644 index 000000000000..90462a2d6d0d --- /dev/null +++ b/nixos/modules/security/grsecurity.nix @@ -0,0 +1,443 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.security.grsecurity; + + mkKernel = kernel: patch: + assert patch.kversion == kernel.version; + { inherit kernel patch; + inherit (patch) grversion revision; + }; + + stable-patch = with pkgs.kernelPatches; + if cfg.vserver then grsecurity_vserver else grsecurity_stable; + stableKernel = mkKernel pkgs.linux_3_2 stable-patch; + testKernel = mkKernel pkgs.linux_3_13 pkgs.kernelPatches.grsecurity_unstable; + + ## -- grsecurity configuration ----------------------------------------------- + + grsecPrioCfg = + if cfg.config.priority == "security" then + "GRKERNSEC_CONFIG_PRIORITY_SECURITY y" + else + "GRKERNSEC_CONFIG_PRIORITY_PERF y"; + + grsecSystemCfg = + if cfg.config.system == "desktop" then + "GRKERNSEC_CONFIG_DESKTOP y" + else + "GRKERNSEC_CONFIG_SERVER y"; + + grsecVirtCfg = + if cfg.config.virtualisationConfig == "none" then + "GRKERNSEC_CONFIG_VIRT_NONE y" + else if cfg.config.virtualisationConfig == "host" then + "GRKERNSEC_CONFIG_VIRT_HOST y" + else + "GRKERNSEC_CONFIG_VIRT_GUEST y"; + + grsecHwvirtCfg = if cfg.config.virtualisationConfig == "none" then "" else + if cfg.config.hardwareVirtualisation == true then + "GRKERNSEC_CONFIG_VIRT_EPT y" + else + "GRKERNSEC_CONFIG_VIRT_SOFT y"; + + grsecVirtswCfg = + let virtCfg = opt: "GRKERNSEC_CONFIG_VIRT_"+opt+" y"; + in + if cfg.config.virtualisationConfig == "none" then "" + else if cfg.config.virtualisationSoftware == "xen" then virtCfg "XEN" + else if cfg.config.virtualisationSoftware == "kvm" then virtCfg "KVM" + else if cfg.config.virtualisationSoftware == "vmware" then virtCfg "VMWARE" + else virtCfg "VIRTUALBOX"; + + grsecMainConfig = if cfg.config.mode == "custom" then "" else '' + GRKERNSEC_CONFIG_AUTO y + ${grsecPrioCfg} + ${grsecSystemCfg} + ${grsecVirtCfg} + ${grsecHwvirtCfg} + ${grsecVirtswCfg} + ''; + + grsecConfig = + let boolToKernOpt = b: if b then "y" else "n"; + # Disable RANDSTRUCT under virtualbox, as it has some kind of + # breakage with the vbox guest drivers + randstruct = optionalString config.services.virtualbox.enable + "GRKERNSEC_RANDSTRUCT n"; + # Disable restricting links under the testing kernel, as something + # has changed causing it to fail miserably during boot. + restrictLinks = optionalString cfg.testing + "GRKERNSEC_LINK n"; + in '' + SECURITY_APPARMOR y + DEFAULT_SECURITY_APPARMOR y + GRKERNSEC y + ${grsecMainConfig} + + ${if cfg.config.restrictProc then + "GRKERNSEC_PROC_USER y" + else + optionalString cfg.config.restrictProcWithGroup '' + GRKERNSEC_PROC_USERGROUP y + GRKERNSEC_PROC_GID ${toString cfg.config.unrestrictProcGid} + '' + } + + GRKERNSEC_SYSCTL ${boolToKernOpt cfg.config.sysctl} + GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod} + GRKERNSEC_NO_RBAC ${boolToKernOpt cfg.config.disableRBAC} + ${randstruct} + ${restrictLinks} + + ${cfg.config.kernelExtraConfig} + ''; + + ## -- grsecurity kernel packages --------------------------------------------- + + localver = grkern: + "-grsec" + optionalString cfg.config.verboseVersion + "-${grkern.grversion}-${grkern.revision}"; + + grsecurityOverrider = args: grkern: { + # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) + # include libgmp headers, so we need these extra tweaks + buildInputs = args.buildInputs ++ [ pkgs.gmp ]; + preConfigure = '' + ${args.preConfigure or ""} + sed -i 's|-I|-I${pkgs.gmp}/include -I|' scripts/gcc-plugin.sh + sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile + sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile + rm localversion-grsec + echo ${localver grkern} > localversion-grsec + ''; + }; + + mkGrsecPkg = grkern: + let kernelPkg = lowPrio (overrideDerivation (grkern.kernel.override (args: { + kernelPatches = args.kernelPatches ++ [ grkern.patch pkgs.kernelPatches.grsec_fix_path ]; + argsOverride = { + modDirVersion = "${grkern.kernel.modDirVersion}${localver grkern}"; + }; + extraConfig = grsecConfig; + })) (args: grsecurityOverrider args grkern)); + in pkgs.linuxPackagesFor kernelPkg (mkGrsecPkg grkern); + + grsecPackage = mkGrsecPkg (if cfg.stable then stableKernel else testKernel); +in +{ + options = { + security.grsecurity = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable grsecurity support. This enables advanced exploit + hardening for the Linux kernel, and adds support for + administrative Role-Based Acess Control (RBAC) via + gradm. It also includes traditional + utilities for PaX. + ''; + }; + + stable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the stable grsecurity patch, based on Linux 3.2. + ''; + }; + + vserver = mkOption { + type = types.bool; + default = false; + description = '' + Enable the stable grsecurity/vserver patches, based on Linux 3.2. + ''; + }; + + testing = mkOption { + type = types.bool; + default = false; + description = '' + Enable the testing grsecurity patch, based on Linux 3.13. + ''; + }; + + config = { + mode = mkOption { + type = types.str; + default = "auto"; + example = "custom"; + description = '' + grsecurity configuration mode. This specifies whether + grsecurity is auto-configured or otherwise completely + manually configured. Can either by + custom or auto. + + auto is recommended. + ''; + }; + + priority = mkOption { + type = types.str; + default = "security"; + example = "performance"; + description = '' + grsecurity configuration priority. This specifies whether + the kernel configuration should emphasize speed or + security. Can either by security or + performance. + ''; + }; + + system = mkOption { + type = types.str; + default = ""; + example = "desktop"; + description = '' + grsecurity system configuration. This specifies whether + the kernel configuration should be suitable for a Desktop + or a Server. Can either by server or + desktop. + ''; + }; + + virtualisationConfig = mkOption { + type = types.str; + default = "none"; + example = "host"; + description = '' + grsecurity virtualisation configuration. This specifies + the virtualisation role of the machine - that is, whether + it will be a virtual machine guest, a virtual machine + host, or neither. Can be one of none, + host, or guest. + ''; + }; + + hardwareVirtualisation = mkOption { + type = types.nullOr types.bool; + default = null; + example = true; + description = '' + grsecurity hardware virtualisation configuration. Set to + true if your machine supports hardware + accelerated virtualisation. + ''; + }; + + virtualisationSoftware = mkOption { + type = types.str; + default = ""; + example = "kvm"; + description = '' + grsecurity virtualisation software. Set this to the + specified virtual machine technology if the machine is + running as a guest, or a host. + + Can be one of kvm, + xen, vmware or + virtualbox. + ''; + }; + + sysctl = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_SYSCTL y. If + enabled then grsecurity can be controlled using sysctl + (and turned off). You are advised to *never* enable this, + but if you do, make sure to always set the sysctl + kernel.grsecurity.grsec_lock to + non-zero as soon as all sysctl options are set. *THIS IS + EXTREMELY IMPORTANT*! + + If disabled, this also turns off the + systemd-sysctl service. + ''; + }; + + denyChrootChmod = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_CHROOT_CHMOD + y. If enabled, this denies processes inside a + chroot from setting the suid or sgid bits using + chmod or fchmod. + + By default this protection is disabled - it makes it + impossible to use Nix to build software on your system, + which is what most users want. + + If you are using NixOps to deploy your software to a + remote machine, you're encouraged to enable this as you + won't need to compile code. + ''; + }; + + restrictProc = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_PROC_USER + y. This restricts non-root users to only viewing + their own processes and restricts network-related + information, kernel symbols, and module information. + ''; + }; + + restrictProcWithGroup = mkOption { + type = types.bool; + default = true; + description = '' + If true, then set GRKERN_PROC_USERGROUP + y. This is similar to + restrictProc except it allows a special + group (specified by unrestrictProcGid) + to still access otherwise classified information in + /proc. + ''; + }; + + unrestrictProcGid = mkOption { + type = types.int; + default = config.ids.gids.grsecurity; + description = '' + If set, specifies a GID which is exempt from + /proc restrictions (set by + GRKERN_PROC_USERGROUP). By default, + this is set to the GID for grsecurity, + a predefined NixOS group, which the + root account is a member of. You may + conveniently add other users to this group if you need + access to /proc + ''; + }; + + disableRBAC = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_NO_RBAC + y. This disables the + /dev/grsec device, which in turn + disables the RBAC system (and gradm). + ''; + }; + + verboseVersion = mkOption { + type = types.bool; + default = false; + description = "Use verbose version in kernel localversion."; + }; + + kernelExtraConfig = mkOption { + type = types.str; + default = ""; + description = "Extra kernel configuration parameters."; + }; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = + [ { assertion = cfg.stable || cfg.testing; + message = '' + If grsecurity is enabled, you must select either the + stable patch (with kernel 3.2), or the testing patch (with + kernel 3.13) to continue. + ''; + } + { assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable); + message = '' + You must select either the stable or testing patch, not + both. + ''; + } + { assertion = (cfg.testing -> !cfg.vserver); + message = "The vserver patches are only supported in the stable kernel."; + } + { assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) || + (cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc); + message = "You cannot enable both restrictProc and restrictProcWithGroup"; + } + { assertion = config.boot.kernelPackages.kernel.features ? grsecurity + && config.boot.kernelPackages.kernel.features.grsecurity; + message = "grsecurity enabled, but kernel doesn't have grsec support"; + } + { assertion = elem cfg.config.mode [ "auto" "custom" ]; + message = "grsecurity mode must either be 'auto' or 'custom'."; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.system [ "desktop" "server" ]; + message = "when using auto grsec mode, system must be either 'desktop' or 'server'"; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.priority [ "performance" "security" ]; + message = "when using auto grsec mode, priority must be 'performance' or 'security'."; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.virtualisationConfig [ "host" "guest" "none" ]; + message = "when using auto grsec mode, 'virt' must be 'host', 'guest' or 'none'."; + } + { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) -> + cfg.config.hardwareVirtualisation != null; + message = "when using auto grsec mode with virtualisation, you must specify if your hardware has virtualisation extensions"; + } + { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) -> + elem cfg.config.virtualisationSoftware [ "kvm" "xen" "virtualbox" "vmware" ]; + message = "virtualisation software must be 'kvm', 'xen', 'vmware' or 'virtualbox'"; + } + ]; + + systemd.services.grsec-lock = mkIf cfg.config.sysctl { + description = "grsecurity sysctl-lock Service"; + requires = [ "sysctl.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = "yes"; + script = '' + locked=`cat /proc/sys/kernel/grsecurity/grsec_lock` + if [ "$locked" == "0" ]; then + echo 1 > /proc/sys/kernel/grsecurity/grsec_lock + echo grsecurity sysctl lock - enabled + else + echo grsecurity sysctl lock already enabled - doing nothing + fi + ''; + }; + +# systemd.services.grsec-learn = { +# description = "grsecurity learning Service"; +# wantedBy = [ "local-fs.target" ]; +# serviceConfig = { +# Type = "oneshot"; +# RemainAfterExit = "yes"; +# ExecStart = "${pkgs.gradm}/sbin/gradm -VFL /etc/grsec/learning.logs"; +# ExecStop = "${pkgs.gradm}/sbin/gradm -D"; +# }; +# }; + + system.activationScripts.grsec = + '' + mkdir -p /etc/grsec + if [ ! -f /etc/grsec/learn_config ]; then + cp ${pkgs.gradm}/etc/grsec/learn_config /etc/grsec + fi + if [ ! -f /etc/grsec/policy ]; then + cp ${pkgs.gradm}/etc/grsec/policy /etc/grsec + fi + chmod -R 0600 /etc/grsec + ''; + + # Enable apparmor support, gradm udev rules, and utilities + security.apparmor.enable = true; + boot.kernelPackages = grsecPackage; + services.udev.packages = [ pkgs.gradm ]; + environment.systemPackages = [ pkgs.gradm pkgs.paxctl pkgs.pax-utils ]; + }; +} diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 93d12d292e4d..6a5eb4c720f8 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -1,9 +1,9 @@ # This module provides configuration for the PAM (Pluggable # Authentication Modules) system. -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -187,6 +187,8 @@ let # Session management. session required pam_unix.so + ${optionalString cfg.setLoginUid + "session required pam_loginuid.so"} ${optionalString cfg.updateWtmp "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"} ${optionalString config.users.ldap.enable @@ -197,8 +199,6 @@ let "session optional ${pkgs.otpw}/lib/security/pam_otpw.so"} ${optionalString cfg.startSession "session optional ${pkgs.systemd}/lib/security/pam_systemd.so"} - ${optionalString cfg.setLoginUid - "session required pam_loginuid.so"} ${optionalString cfg.forwardXAuth "session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99"} ${optionalString (cfg.limits != []) diff --git a/nixos/modules/security/pam_usb.nix b/nixos/modules/security/pam_usb.nix index 4cc99995fbca..11708a1f0167 100644 --- a/nixos/modules/security/pam_usb.nix +++ b/nixos/modules/security/pam_usb.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index dbec4ad98d16..5933cdc0cec3 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -63,6 +63,9 @@ in systemd.packages = [ pkgs.polkit ]; + systemd.services.polkit.restartTriggers = [ config.system.path ]; + systemd.services.polkit.unitConfig.X-StopIfChanged = false; + # The polkit daemon reads action/rule files environment.pathsToLink = [ "/share/polkit-1" ]; diff --git a/nixos/modules/security/prey.nix b/nixos/modules/security/prey.nix index 75b95d5fbb04..e29fa5395a1a 100644 --- a/nixos/modules/security/prey.nix +++ b/nixos/modules/security/prey.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.prey; diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix index 720ac02f2e81..c31e57e6f6f8 100644 --- a/nixos/modules/security/rngd.nix +++ b/nixos/modules/security/rngd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { options = { diff --git a/nixos/modules/security/rtkit.nix b/nixos/modules/security/rtkit.nix index 164ad9b3aa7d..ba07591bb770 100644 --- a/nixos/modules/security/rtkit.nix +++ b/nixos/modules/security/rtkit.nix @@ -1,9 +1,9 @@ # A module for ‘rtkit’, a DBus system service that hands out realtime # scheduling priority to processes that ask for it. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/security/setuid-wrapper.c b/nixos/modules/security/setuid-wrapper.c index 007ffbc34fe9..ffd0b65b7629 100644 --- a/nixos/modules/security/setuid-wrapper.c +++ b/nixos/modules/security/setuid-wrapper.c @@ -30,8 +30,8 @@ int main(int argc, char * * argv) creating hard link `X' from some other location, along with a false `X.real' file, to allow arbitrary programs from being executed setuid. */ - assert ((strncmp(self, wrapperDir, sizeof(wrapperDir)) == 0) && - (self[strlen(wrapperDir)] == '/')); + assert ((strncmp(self, wrapperDir, strlen(wrapperDir)) == 0) && + (self[strlen(wrapperDir)] == '/')); /* Make *really* *really* sure that we were executed as `self', and not, say, as some other setuid program. That is, our @@ -42,12 +42,12 @@ int main(int argc, char * * argv) assert (lstat(self, &st) != -1); //printf("%d %d\n", st.st_uid, st.st_gid); - + assert ((st.st_mode & S_ISUID) == 0 || - (st.st_uid == geteuid())); + (st.st_uid == geteuid())); assert ((st.st_mode & S_ISGID) == 0 || - st.st_gid == getegid()); + st.st_gid == getegid()); /* And, of course, we shouldn't be writable. */ assert (!(st.st_mode & (S_IWGRP | S_IWOTH))); @@ -69,13 +69,13 @@ int main(int argc, char * * argv) real[len] = 0; close(fdSelf); - + //printf("real = %s, len = %d\n", real, len); execve(real, argv, environ); fprintf(stderr, "%s: cannot run `%s': %s\n", argv[0], real, strerror(errno)); - + exit(1); } diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 62df85816e50..4cdc1023baab 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -9,10 +9,11 @@ let setuidWrapper = pkgs.stdenv.mkDerivation { name = "setuid-wrapper"; buildCommand = '' - ensureDir $out/bin + mkdir -p $out/bin + cp ${./setuid-wrapper.c} setuid-wrapper.c gcc -Wall -O2 -DWRAPPER_DIR=\"${wrapperDir}\" \ - ${./setuid-wrapper.c} -o $out/bin/setuid-wrapper - strip -s $out/bin/setuid-wrapper + setuid-wrapper.c -o $out/bin/setuid-wrapper + strip -S $out/bin/setuid-wrapper ''; }; @@ -46,6 +47,7 @@ in group = "postdrop"; setuid = false; setgid = true; + permissions = "u+rx,g+x,o+x"; } ]; description = '' @@ -115,8 +117,7 @@ in # programs to be wrapped. SETUID_PATH=${config.system.path}/bin:${config.system.path}/sbin - if test -d ${wrapperDir}; then rm -f ${wrapperDir}/*; fi # */ - mkdir -p ${wrapperDir} + rm -f ${wrapperDir}/* # */ ${concatMapStrings makeSetuidWrapper setuidPrograms} ''; diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 215a8ecd6018..956856c64995 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/amqp/activemq/default.nix b/nixos/modules/services/amqp/activemq/default.nix index 915d179e6999..f1f3d005f30f 100644 --- a/nixos/modules/services/amqp/activemq/default.nix +++ b/nixos/modules/services/amqp/activemq/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix index 696b5ad43797..bef15fb64b7f 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -1,22 +1,13 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let - cfg = config.services.rabbitmq; - run = cmd: "${pkgs.sudo}/bin/sudo -E -u rabbitmq ${cmd}"; - -in - -{ - - +in { ###### interface - options = { - services.rabbitmq = { enable = mkOption { @@ -40,55 +31,59 @@ in ''; }; - }; + dataDir = mkOption { + type = types.path; + default = "/var/lib/rabbitmq"; + description = '' + Data directory for rabbitmq. + ''; + }; + + }; }; ###### implementation - config = mkIf cfg.enable { environment.systemPackages = [ pkgs.rabbitmq_server ]; users.extraUsers.rabbitmq = { description = "RabbitMQ server user"; - home = "/var/empty"; + home = "${cfg.dataDir}"; group = "rabbitmq"; uid = config.ids.uids.rabbitmq; }; users.extraGroups.rabbitmq.gid = config.ids.gids.rabbitmq; - jobs.rabbitmq = { - description = "RabbitMQ server"; + systemd.services.rabbitmq = { + description = "RabbitMQ Server"; - startOn = "started network-interfaces"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; - preStart = - '' - mkdir -m 0700 -p /var/lib/rabbitmq - chown rabbitmq /var/lib/rabbitmq - - mkdir -m 0700 -p /var/log/rabbitmq - chown rabbitmq /var/log/rabbitmq - ''; - - environment.HOME = "/var/lib/rabbitmq"; - environment.RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress; - environment.SYS_PREFIX = ""; - - exec = - '' - ${run "${pkgs.rabbitmq_server}/sbin/rabbitmq-server"} - ''; - - preStop = - '' - ${run "${pkgs.rabbitmq_server}/sbin/rabbitmqctl stop"} - ''; + environment = { + RABBITMQ_MNESIA_BASE = "${cfg.dataDir}/mnesia"; + RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress; + RABBITMQ_SERVER_START_ARGS = "-rabbit error_logger tty -rabbit sasl_error_logger false"; + SYS_PREFIX = ""; }; + serviceConfig = { + ExecStart = "${pkgs.rabbitmq_server}/sbin/rabbitmq-server"; + User = "rabbitmq"; + Group = "rabbitmq"; + PermissionsStartOnly = true; + }; + + preStart = '' + mkdir -p ${cfg.dataDir} && chmod 0700 ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown rabbitmq:rabbitmq ${cfg.dataDir}; fi + ''; + }; + }; } diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index c9a2ef4589bd..9a70d9edfa72 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -1,7 +1,7 @@ # ALSA sound support. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/audio/fuppes.nix b/nixos/modules/services/audio/fuppes.nix index 3eb0732bae2e..4a975ed5f538 100644 --- a/nixos/modules/services/audio/fuppes.nix +++ b/nixos/modules/services/audio/fuppes.nix @@ -1,10 +1,10 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: let cfg = config.services.fuppesd; in -with pkgs.lib; +with lib; { options = { diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index a9880dee20c4..1b50f06bf30d 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/backup/almir.nix b/nixos/modules/services/backup/almir.nix index d5bc932c6b96..5ce215c5c4b5 100644 --- a/nixos/modules/services/backup/almir.nix +++ b/nixos/modules/services/backup/almir.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.almir; @@ -154,7 +154,8 @@ in { description = "Almir web app"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.pythonPackages.almir ]; - serviceConfig.ExecStart = "${pkgs.pythonPackages.almir}/bin/pserve ${productionini}"; + environment.PYTHONPATH = "${pkgs.pythonPackages.almir}/lib/${pkgs.pythonPackages.python.libPrefix}/site-packages"; + serviceConfig.ExecStart = "${pkgs.pythonPackages.pyramid}/bin/pserve ${productionini}"; }; environment.systemPackages = [ pkgs.pythonPackages.almir ]; diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index 272903c99e33..c2255f688181 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -1,9 +1,9 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: # TODO: test configuration when building nixexpr (use -t parameter) # TODO: support sqlite3 (it's deprecate?) and mysql -with pkgs.lib; +with lib; let libDir = "/var/lib/bacula"; diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix index 3ff9978fbb96..28f607861f77 100644 --- a/nixos/modules/services/backup/mysql-backup.nix +++ b/nixos/modules/services/backup/mysql-backup.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix index e68ad794a96b..1f7b123eca37 100644 --- a/nixos/modules/services/backup/postgresql-backup.nix +++ b/nixos/modules/services/backup/postgresql-backup.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let inherit (pkgs) postgresql gzip; diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index 178ba3ec7207..48ad7582b7e6 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.rsnapshot; in diff --git a/nixos/modules/services/backup/sitecopy-backup.nix b/nixos/modules/services/backup/sitecopy-backup.nix index 5c7f7ffae5b3..5d3675fa3e9d 100644 --- a/nixos/modules/services/backup/sitecopy-backup.nix +++ b/nixos/modules/services/backup/sitecopy-backup.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let inherit (pkgs) sitecopy; diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix new file mode 100644 index 000000000000..1966242e3dcb --- /dev/null +++ b/nixos/modules/services/backup/tarsnap.nix @@ -0,0 +1,204 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.tarsnap; + + optionalNullStr = e: v: if e == null then "" else v; + + configFile = pkgs.writeText "tarsnap.conf" '' + cachedir ${cfg.cachedir} + keyfile ${cfg.keyfile} + ${optionalString cfg.nodump "nodump"} + ${optionalString cfg.printStats "print-stats"} + ${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes} + ${optionalString cfg.aggressiveNetworking "aggressive-networking"} + ${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)} + ${concatStringsSep "\n" (map (v: "include "+v) cfg.includes)} + ${optionalString cfg.lowmem "lowmem"} + ${optionalString cfg.verylowmem "verylowmem"} + ''; +in +{ + options = { + services.tarsnap = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, NixOS will periodically create backups of the + specified directories using the tarsnap + backup service. This installs a systemd + service called tarsnap-backup which is + periodically run by cron, or you may run it on-demand. + + See the Tarsnap Getting + Started page. + ''; + }; + + label = mkOption { + type = types.str; + default = "nixos"; + description = '' + Specifies the label for archives created by Tarsnap. The + full name will be + label-$(date+"%Y%m%d%H%M%S"). For + example, by default your backups will look similar to + nixos-20140301011501. + ''; + }; + + cachedir = mkOption { + type = types.path; + default = "/var/cache/tarsnap"; + description = '' + Tarsnap operations use a "cache directory" which allows + Tarsnap to identify which blocks of data have been + previously stored; this directory is specified via the + cachedir option. If the cache directory + is lost or out of date, tarsnap creation/deletion operations + will exit with an error message instructing you to run + tarsnap --fsck to regenerate the cache + directory. + ''; + }; + + keyfile = mkOption { + type = types.path; + default = "/root/tarsnap.key"; + description = '' + Path to the keyfile which identifies the machine associated + with your Tarsnap account. This file can be created using + the tarsnap-keygen utility, and providing + your Tarsnap login credentials. + ''; + }; + + nodump = mkOption { + type = types.bool; + default = true; + description = '' + If set to true, then don't archive files + which have the nodump flag set. + ''; + }; + + printStats = mkOption { + type = types.bool; + default = true; + description = "Print statistics when creating archives."; + }; + + checkpointBytes = mkOption { + type = types.nullOr types.str; + default = "1G"; + description = '' + Create a checkpoint per a particular amount of uploaded + data. By default, Tarsnap will create checkpoints once per + GB of data uploaded. At minimum, + checkpointBytes must be 1GB. + + Can also be set to null to disable + checkpointing. + ''; + }; + + period = mkOption { + type = types.str; + default = "15 01 * * *"; + description = '' + This option defines (in the format used by cron) when + tarsnap is run for backups. The default is to backup the + specified paths at 01:15 at night every day. + ''; + }; + + aggressiveNetworking = mkOption { + type = types.bool; + default = false; + description = '' + Aggressive network behaviour: Use multiple TCP connections + when writing archives. Use of this option is recommended + only in cases where TCP congestion control is known to be + the limiting factor in upload performance. + ''; + }; + + directories = mkOption { + type = types.listOf types.path; + default = []; + description = "List of filesystem paths to archive."; + }; + + excludes = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Exclude files and directories matching the specified patterns. + ''; + }; + + includes = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Include only files and directories matching the specified patterns. + + Note that exclusions specified via + excludes take precedence over inclusions. + ''; + }; + + lowmem = mkOption { + type = types.bool; + default = false; + description = '' + Attempt to reduce tarsnap memory consumption. This option + will slow down the process of creating archives, but may + help on systems where the average size of files being backed + up is less than 1 MB. + ''; + }; + + verylowmem = mkOption { + type = types.bool; + default = false; + description = '' + Try even harder to reduce tarsnap memory consumption. This + can significantly slow down tarsnap, but reduces its memory + usage by an additional factor of 2 beyond what the + lowmem option does. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = + [ { assertion = cfg.directories != []; + message = "Must specify directories for Tarsnap to back up"; + } + { assertion = cfg.lowmem -> !cfg.verylowmem && (cfg.verylowmem -> !cfg.lowmem); + message = "You cannot set both lowmem and verylowmem"; + } + ]; + + systemd.services.tarsnap-backup = { + description = "Tarsnap Backup process"; + path = [ pkgs.tarsnap pkgs.coreutils ]; + script = '' + mkdir -p -m 0755 $(dirname ${cfg.cachedir}) + mkdir -p -m 0600 ${cfg.cachedir} + exec tarsnap --configfile ${configFile} -c -f ${cfg.label}-$(date +"%Y%m%d%H%M%S") ${concatStringsSep " " cfg.directories} + ''; + }; + + services.cron.systemCronJobs = optional cfg.enable + "${cfg.period} root ${config.systemd.package}/bin/systemctl start tarsnap-backup.service"; + + environment.systemPackages = [ pkgs.tarsnap ]; + }; +} diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..b01b5c3245a4 --- /dev/null +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -0,0 +1,119 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.jenkins; +in { + options = { + services.jenkins = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the jenkins continuous integration server. + ''; + }; + + user = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins server should execute under. + ''; + }; + + group = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + If the default user "jenkins" is configured then this is the primary + group of that user. + ''; + }; + + home = mkOption { + default = "/var/lib/jenkins"; + type = with types; string; + description = '' + The path to use as JENKINS_HOME. If the default user "jenkins" is configured then + this is the home of the "jenkins" user. + ''; + }; + + port = mkOption { + default = 8080; + type = types.uniq types.int; + description = '' + Specifies port number on which the jenkins HTTP interface listens. The default is 8080. + ''; + }; + + packages = mkOption { + default = [ pkgs.stdenv pkgs.git pkgs.jdk pkgs.openssh pkgs.nix ]; + type = types.listOf types.package; + description = '' + Packages to add to PATH for the jenkins process. + ''; + }; + + environment = mkOption { + default = { NIX_REMOTE = "daemon"; }; + type = with types; attrsOf string; + description = '' + Additional environment variables to be passed to the jenkins process. + The environment will always include JENKINS_HOME. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups = optional (cfg.group == "jenkins") { + name = "jenkins"; + gid = config.ids.gids.jenkins; + }; + + users.extraUsers = optional (cfg.user == "jenkins") { + name = "jenkins"; + description = "jenkins user"; + createHome = true; + home = cfg.home; + group = cfg.group; + useDefaultShell = true; + uid = config.ids.uids.jenkins; + }; + + systemd.services.jenkins = { + description = "Jenkins Continuous Integration Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + environment = { + JENKINS_HOME = cfg.home; + } // cfg.environment; + + path = cfg.packages; + + script = '' + ${pkgs.jdk}/bin/java -jar ${pkgs.jenkins} --httpPort=${toString cfg.port} + ''; + + postStart = '' + until ${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port} ; do + sleep 10 + done + while true ; do + index=`${pkgs.curl}/bin/curl -s -L localhost:${toString cfg.port}` + if [[ !("$index" =~ 'Please wait while Jenkins is restarting' || + "$index" =~ 'Please wait while Jenkins is getting ready to work') ]]; then + exit 0 + fi + sleep 30 + done + ''; + + serviceConfig = { + User = cfg.user; + }; + }; + }; +} diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix new file mode 100644 index 000000000000..5836d92a4fc0 --- /dev/null +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.jenkinsSlave; + masterCfg = config.services.jenkins; +in { + options = { + services.jenkinsSlave = { + # todo: + # * assure the profile of the jenkins user has a JRE and any specified packages. This would + # enable ssh slaves. + # * Optionally configure the node as a jenkins ad-hoc slave. This would imply configuration + # properties for the master node. + enable = mkOption { + type = types.bool; + default = false; + description = '' + If true the system will be configured to work as a jenkins slave. + If the system is also configured to work as a jenkins master then this has no effect. + In progress: Currently only assures the jenkins user is configured. + ''; + }; + + user = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + User the jenkins slave agent should execute under. + ''; + }; + + group = mkOption { + default = "jenkins"; + type = with types; string; + description = '' + If the default slave agent user "jenkins" is configured then this is + the primary group of that user. + ''; + }; + + home = mkOption { + default = "/var/lib/jenkins"; + type = with types; string; + description = '' + The path to use as JENKINS_HOME. If the default user "jenkins" is configured then + this is the home of the "jenkins" user. + ''; + }; + }; + }; + + config = mkIf (cfg.enable && !masterCfg.enable) { + users.extraGroups = optional (cfg.group == "jenkins") { + name = "jenkins"; + gid = config.ids.gids.jenkins; + }; + + users.extraUsers = optional (cfg.user == "jenkins") { + name = "jenkins"; + description = "jenkins user"; + createHome = true; + home = cfg.home; + group = cfg.group; + useDefaultShell = true; + uid = config.ids.uids.jenkins; + }; + }; +} diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix index 7872ea2dc6a3..68913f15f953 100644 --- a/nixos/modules/services/databases/4store-endpoint.nix +++ b/nixos/modules/services/databases/4store-endpoint.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfg = config.services.fourStoreEndpoint; endpointUser = "fourstorehttp"; run = "${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${endpointUser} -c"; in -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix index 412d14b050cb..1725672a6594 100644 --- a/nixos/modules/services/databases/4store.nix +++ b/nixos/modules/services/databases/4store.nix @@ -1,11 +1,11 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfg = config.services.fourStore; stateDir = "/var/lib/4store"; fourStoreUser = "fourstore"; run = "${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${fourStoreUser}"; in -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix new file mode 100644 index 000000000000..5088c7416810 --- /dev/null +++ b/nixos/modules/services/databases/couchdb.nix @@ -0,0 +1,174 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.couchdb; + configFile = pkgs.writeText "couchdb.ini" + '' + [couchdb] + database_dir = ${cfg.databaseDir} + uri_file = ${cfg.uriFile} + view_index_dir = ${cfg.viewIndexDir} + + [httpd] + port = ${toString cfg.port} + bind_address = ${cfg.bindAddress} + + [log] + file = ${cfg.logFile} + ''; + +in { + + ###### interface + + options = { + + services.couchdb = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run CouchDB Server. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.couchdb; + example = literalExample "pkgs.couchdb"; + description = '' + CouchDB package to use. + ''; + }; + + + user = mkOption { + type = types.string; + default = "couchdb"; + description = '' + User account under which couchdb runs. + ''; + }; + + group = mkOption { + type = types.string; + default = "couchdb"; + description = '' + Group account under which couchdb runs. + ''; + }; + + # couchdb options: http://docs.couchdb.org/en/latest/config/index.html + + databaseDir = mkOption { + type = types.path; + default = "/var/lib/couchdb"; + description = '' + Specifies location of CouchDB database files (*.couch named). This + location should be writable and readable for the user the CouchDB + service runs as (couchdb by default). + ''; + }; + + uriFile = mkOption { + type = types.path; + default = "/var/run/couchdb/couchdb.uri"; + description = '' + This file contains the full URI that can be used to access this + instance of CouchDB. It is used to help discover the port CouchDB is + running on (if it was set to 0 (e.g. automatically assigned any free + one). This file should be writable and readable for the user that + runs the CouchDB service (couchdb by default). + ''; + }; + + viewIndexDir = mkOption { + type = types.path; + default = "/var/lib/couchdb"; + description = '' + Specifies location of CouchDB view index files. This location should + be writable and readable for the user that runs the CouchDB service + (couchdb by default). + ''; + }; + + bindAddress = mkOption { + type = types.string; + default = "127.0.0.1"; + description = '' + Defines the IP address by which CouchDB will be accessible. + ''; + }; + + port = mkOption { + type = types.int; + default = 5984; + description = '' + Defined the port number to listen. + ''; + }; + + logFile = mkOption { + type = types.path; + default = "/var/log/couchdb.log"; + description = '' + Specifies the location of file for logging output. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration. Overrides any other cofiguration. + ''; + }; + }; + + }; + + ###### implementation + + config = mkIf config.services.couchdb.enable { + + environment.systemPackages = [ cfg.package ]; + + systemd.services.couchdb = { + description = "CouchDB Server"; + wantedBy = [ "multi-user.target" ]; + + preStart = + '' + mkdir -p `dirname ${cfg.uriFile}`; + mkdir -p `dirname ${cfg.logFile}`; + mkdir -p ${cfg.databaseDir}; + mkdir -p ${cfg.viewIndexDir}; + + if [ "$(id -u)" = 0 ]; then + chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}` + chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} + chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} + fi + ''; + + serviceConfig = { + PermissionsStartOnly = true; + User = cfg.user; + Group = cfg.group; + ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig}"; + }; + }; + + users.extraUsers.couchdb = { + description = "CouchDB Server user"; + group = "couchdb"; + uid = config.ids.uids.couchdb; + }; + + users.extraGroups.couchdb.gid = config.ids.gids.couchdb; + + }; +} diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index 75c225bdb67b..83dd4951170a 100644 --- a/nixos/modules/services/databases/firebird.nix +++ b/nixos/modules/services/databases/firebird.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: # TODO: This may file may need additional review, eg which configuartions to # expose to the user. @@ -19,7 +19,7 @@ # Eg superserver is said to be most efficiently using resources according to # http://www.firebirdsql.org/manual/qsg25-classic-or-super.html -with pkgs.lib; +with lib; let @@ -49,6 +49,7 @@ in package = mkOption { default = pkgs.firebirdSuper; + type = types.package; /* Example: package = pkgs.firebirdSuper.override { icu = pkgs.icu; }; which is not recommended for compatibility diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix index 505253229c9c..c6875af506d3 100644 --- a/nixos/modules/services/databases/memcached.nix +++ b/nixos/modules/services/databases/memcached.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix new file mode 100644 index 000000000000..9f09c71e005a --- /dev/null +++ b/nixos/modules/services/databases/monetdb.nix @@ -0,0 +1,88 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.services.monetdb; + monetdbUser = "monetdb"; +in +with lib; +{ + + ###### interface + + options = { + + services.monetdb = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable MonetDB database server."; + }; + + package = mkOption { + type = types.path; + description = "MonetDB package to use."; + }; + + dbfarmDir = mkOption { + type = types.path; + default = "/var/lib/monetdb"; + description = '' + Specifies location of Monetdb dbfarm (keeps database and auxiliary files). + ''; + }; + + port = mkOption { + default = "50000"; + example = "50000"; + description = "Port to listen on."; + }; + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers.monetdb = + { name = monetdbUser; + uid = config.ids.uids.monetdb; + description = "monetdb user"; + home = cfg.dbfarmDir; + }; + + users.extraGroups.monetdb.gid = config.ids.gids.monetdb; + + environment.systemPackages = [ cfg.package ]; + + systemd.services.monetdb = + { description = "MonetDB Server"; + + wantedBy = [ "multi-user.target" ]; + + after = [ "network.target" ]; + + path = [ cfg.package ]; + + preStart = + '' + # Initialise the database. + if ! test -e ${cfg.dbfarmDir}/.merovingian_properties; then + mkdir -m 0700 -p ${cfg.dbfarmDir} + chown -R ${monetdbUser} ${cfg.dbfarmDir} + ${cfg.package}/bin/monetdbd create ${cfg.dbfarmDir} + ${cfg.package}/bin/monetdbd set port=${cfg.port} ${cfg.dbfarmDir} + fi + ''; + + serviceConfig.ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dbfarmDir}"; + + serviceConfig.ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dbfarmDir}"; + + unitConfig.RequiresMountsFor = "${cfg.dbfarmDir}"; + }; + + }; + +} diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index 213a60687b23..fe82ca430e13 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -39,6 +39,7 @@ in package = mkOption { default = pkgs.mongodb; + type = types.package; description = " Which MongoDB derivation to use. "; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 8be05a27cdcb..1ca45d90f891 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -8,10 +8,14 @@ let mysql = cfg.package; + is55 = mysql.mysqlVersion == "5.5"; + + mysqldDir = if is55 then "${mysql}/bin" else "${mysql}/libexec"; + pidFile = "${cfg.pidDir}/mysqld.pid"; mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} " + + "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql} " + "--pid-file=${pidFile}"; myCnf = pkgs.writeText "my.cnf" @@ -19,7 +23,7 @@ let [mysqld] ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"} ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"} - ${optionalString (cfg.replication.role == "slave") + ${optionalString (cfg.replication.role == "slave" && !is55) '' master-host = ${cfg.replication.masterHost} master-user = ${cfg.replication.masterUser} @@ -47,7 +51,8 @@ in }; package = mkOption { - default = pkgs.mysql; + type = types.package; + example = literalExample "pkgs.mysql"; description = " Which MySQL derivation to use. "; @@ -176,7 +181,7 @@ in chown -R ${cfg.user} ${cfg.pidDir} ''; - serviceConfig.ExecStart = "${mysql}/libexec/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; + serviceConfig.ExecStart = "${mysqldDir}/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; postStart = '' @@ -216,6 +221,16 @@ in fi '') cfg.initialDatabases} + ${optionalString (cfg.replication.role == "slave" && is55) + '' + # Set up the replication master + + ( echo "stop slave;" + echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';" + echo "start slave;" + ) | ${mysql}/bin/mysql -u root -N + ''} + ${optionalString (cfg.initialScript != null) '' # Execute initial script @@ -235,9 +250,6 @@ in rm /tmp/mysql_init fi ''; # */ - - serviceConfig.ExecStop = - "${mysql}/bin/mysqladmin ${optionalString (cfg.rootPassword != null) "--user=root --password=\"$(cat ${cfg.rootPassword})\""} shutdown"; }; }; diff --git a/nixos/modules/services/databases/mysql55.nix b/nixos/modules/services/databases/mysql55.nix deleted file mode 100644 index fe8b29e3c6b7..000000000000 --- a/nixos/modules/services/databases/mysql55.nix +++ /dev/null @@ -1,248 +0,0 @@ -{ config, pkgs, ... }: - -with pkgs.lib; - -let - - cfg = config.services.mysql55; - - mysql = cfg.package; - - pidFile = "${cfg.pidDir}/mysqld.pid"; - - mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} " + - "--pid-file=${pidFile}"; - - myCnf = pkgs.writeText "my.cnf" - '' - [mysqld] - ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"} - ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"} - ${cfg.extraOptions} - ''; - -in - -{ - - ###### interface - - options = { - - services.mysql55 = { - - enable = mkOption { - default = false; - description = " - Whether to enable the MySQL server. - "; - }; - - package = mkOption { - default = pkgs.mysql55; - description = " - Which MySQL derivation to use. - "; - }; - - port = mkOption { - default = "3306"; - description = "Port of MySQL"; - }; - - user = mkOption { - default = "mysql"; - description = "User account under which MySQL runs"; - }; - - dataDir = mkOption { - default = "/var/mysql"; # !!! should be /var/db/mysql - description = "Location where MySQL stores its table files"; - }; - - pidDir = mkOption { - default = "/var/run/mysql"; - description = "Location of the file which stores the PID of the MySQL server"; - }; - - extraOptions = mkOption { - default = ""; - example = '' - key_buffer_size = 6G - table_cache = 1600 - log-error = /var/log/mysql_err.log - ''; - description = '' - Provide extra options to the MySQL configuration file. - - Please note, that these options are added to the - [mysqld] section so you don't need to explicitly - state it again. - ''; - }; - - initialDatabases = mkOption { - default = []; - description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; - example = [ - { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } - { name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } - ]; - }; - - initialScript = mkOption { - default = null; - description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database"; - }; - - # FIXME: remove this option; it's a really bad idea. - rootPassword = mkOption { - default = null; - description = "Path to a file containing the root password, modified on the first startup. Not specifying a root password will leave the root password empty."; - }; - - replication = { - role = mkOption { - default = "none"; - description = "Role of the MySQL server instance. Can be either: master, slave or none"; - }; - - serverId = mkOption { - default = 1; - description = "Id of the MySQL server instance. This number must be unique for each instance"; - }; - - masterHost = mkOption { - description = "Hostname of the MySQL master server"; - }; - - masterUser = mkOption { - description = "Username of the MySQL replication user"; - }; - - masterPassword = mkOption { - description = "Password of the MySQL replication user"; - }; - - masterPort = mkOption { - default = 3306; - description = "Port number on which the MySQL master server runs"; - }; - }; - }; - - }; - - - ###### implementation - - config = mkIf config.services.mysql55.enable { - - users.extraUsers.mysql = { - description = "MySQL server user"; - group = "mysql"; - uid = config.ids.uids.mysql; - }; - - users.extraGroups.mysql.gid = config.ids.gids.mysql; - - environment.systemPackages = [mysql]; - - systemd.services.mysql = - { description = "MySQL Server"; - - wantedBy = [ "multi-user.target" ]; - - unitConfig.RequiresMountsFor = "${cfg.dataDir}"; - - preStart = - '' - if ! test -e ${cfg.dataDir}/mysql; then - mkdir -m 0700 -p ${cfg.dataDir} - chown -R ${cfg.user} ${cfg.dataDir} - ${mysql}/bin/mysql_install_db ${mysqldOptions} - touch /tmp/mysql_init - fi - - mkdir -m 0700 -p ${cfg.pidDir} - chown -R ${cfg.user} ${cfg.pidDir} - ''; - - serviceConfig.ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; - - postStart = - '' - # Wait until the MySQL server is available for use - count=0 - while [ ! -e /tmp/mysql.sock ] - do - if [ $count -eq 30 ] - then - echo "Tried 30 times, giving up..." - exit 1 - fi - - echo "MySQL daemon not yet started. Waiting for 1 second..." - count=$((count++)) - sleep 1 - done - - if [ -f /tmp/mysql_init ] - then - ${concatMapStrings (database: - '' - # Create initial databases - if ! test -e "${cfg.dataDir}/${database.name}"; then - echo "Creating initial database: ${database.name}" - ( echo "create database ${database.name};" - echo "use ${database.name};" - - if [ -f "${database.schema}" ] - then - cat ${database.schema} - elif [ -d "${database.schema}" ] - then - cat ${database.schema}/mysql-databases/*.sql - fi - ) | ${mysql}/bin/mysql -u root -N - fi - '') cfg.initialDatabases} - - ${optionalString (cfg.replication.role == "slave") - '' - # Set up the replication master - - ( echo "stop slave;" - echo "change master to master_host='${cfg.replication.masterHost}', master_user='${cfg.replication.masterUser}', master_password='${cfg.replication.masterPassword}';" - echo "start slave;" - ) | ${mysql}/bin/mysql -u root -N - ''} - - ${optionalString (cfg.initialScript != null) - '' - # Execute initial script - cat ${cfg.initialScript} | ${mysql}/bin/mysql -u root -N - ''} - - ${optionalString (cfg.rootPassword != null) - '' - # Change root password - - ( echo "use mysql;" - echo "update user set Password=password('$(cat ${cfg.rootPassword})') where User='root';" - echo "flush privileges;" - ) | ${mysql}/bin/mysql -u root -N - ''} - - rm /tmp/mysql_init - fi - ''; # */ - - serviceConfig.ExecStop = - "${mysql}/bin/mysqladmin ${optionalString (cfg.rootPassword != null) "--user=root --password=\"$(cat ${cfg.rootPassword})\""} shutdown"; - }; - - }; - -} diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 0fc8b88c6526..c95238b34515 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 265d26e8ce98..ad83cb553e1d 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -55,7 +55,7 @@ in }; package = mkOption { - type = types.path; + type = types.package; example = literalExample "pkgs.postgresql92"; description = '' PostgreSQL package to use. @@ -215,7 +215,7 @@ in # Shut down Postgres using SIGINT ("Fast Shutdown mode"). See # http://www.postgresql.org/docs/current/static/server-shutdown.html KillSignal = "SIGINT"; - KillMode = "process"; # FIXME: this may cause processes to be left behind in the cgroup even after the final SIGKILL + KillMode = "mixed"; # Give Postgres a decent amount of time to clean up after # receiving systemd's SIGINT. diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index ea6399ba4f44..4ef48df9831c 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.redis; @@ -45,6 +45,7 @@ in package = mkOption { default = pkgs.redis; description = "Which Redis derivation to use."; + type = types.package; }; user = mkOption { diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix index 6a29fc132114..f955cb74b6ba 100644 --- a/nixos/modules/services/databases/virtuoso.nix +++ b/nixos/modules/services/databases/virtuoso.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfg = config.services.virtuoso; virtuosoUser = "virtuoso"; stateDir = "/var/lib/virtuoso"; in -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/services/desktops/accountservice.nix b/nixos/modules/services/desktops/accountservice.nix new file mode 100644 index 000000000000..386dfe98bd23 --- /dev/null +++ b/nixos/modules/services/desktops/accountservice.nix @@ -0,0 +1,40 @@ +# AccountsService daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.accounts-daemon = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable AccountsService, a DBus service for accessing + the list of user accounts and information attached to those accounts. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.accounts-daemon.enable { + + environment.systemPackages = [ pkgs.accountservice ]; + + services.dbus.packages = [ pkgs.accountservice ]; + + systemd.packages = [ pkgs.accountservice ]; + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix new file mode 100644 index 000000000000..22a54f511d1c --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix @@ -0,0 +1,39 @@ +# at-spi2-core daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.at-spi2-core = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable at-spi2-core, a service for the Assistive Technologies + available on the GNOME platform. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.at-spi2-core.enable { + + environment.systemPackages = [ pkgs.gnome3.at_spi2_core ]; + + services.dbus.packages = [ pkgs.gnome3.at_spi2_core ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix new file mode 100644 index 000000000000..a49b5b477689 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix @@ -0,0 +1,39 @@ +# Evolution Data Server daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.evolution-data-server = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Evolution Data Server, a collection of services for + storing addressbooks and calendars. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.evolution-data-server.enable { + + environment.systemPackages = [ pkgs.evolution_data_server ]; + + services.dbus.packages = [ pkgs.evolution_data_server ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix new file mode 100644 index 000000000000..447fd783f148 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -0,0 +1,40 @@ +# GNOME Keyring daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-keyring = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Keyring daemon, a service designed to + take care of the user's security credentials, + such as user names and passwordsa search engine. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-keyring.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome_keyring ]; + + services.dbus.packages = [ pkgs.gnome3.gnome_keyring ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix new file mode 100644 index 000000000000..365e19c15bb1 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix @@ -0,0 +1,39 @@ +# GNOME Online Accounts daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-online-accounts = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Accounts daemon, a service that provides + a single sign-on framework for the GNOME desktop. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-online-accounts.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome_online_accounts ]; + + services.dbus.packages = [ pkgs.gnome3.gnome_online_accounts ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix new file mode 100644 index 000000000000..df796ed77ff4 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix @@ -0,0 +1,42 @@ +# GNOME User Share daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-user-share = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME User Share, a service that exports the + contents of the Public folder in your home directory on the local network. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-user-share.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-user-share ]; + + services.xserver.displayManager.sessionCommands = with pkgs.gnome3; '' + # Don't let gnome-control-center depend upon gnome-user-share + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name} + ''; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/sushi.nix b/nixos/modules/services/desktops/gnome3/sushi.nix new file mode 100644 index 000000000000..7a4389038b22 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/sushi.nix @@ -0,0 +1,38 @@ +# GNOME Sushi daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.sushi = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Sushi, a quick previewer for nautilus. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.sushi.enable { + + environment.systemPackages = [ pkgs.gnome3.sushi ]; + + services.dbus.packages = [ pkgs.gnome3.sushi ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix new file mode 100644 index 000000000000..94a22d0c8819 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -0,0 +1,39 @@ +# Tracker daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.tracker = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tracker services, a search engine, + search tool and metadata storage system. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.tracker.enable { + + environment.systemPackages = [ pkgs.gnome3.tracker ]; + + services.dbus.packages = [ pkgs.gnome3.tracker ]; + + }; + +} diff --git a/nixos/modules/services/desktops/telepathy.nix b/nixos/modules/services/desktops/telepathy.nix new file mode 100644 index 000000000000..2554f3a1666f --- /dev/null +++ b/nixos/modules/services/desktops/telepathy.nix @@ -0,0 +1,39 @@ +# Telepathy daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.telepathy = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Telepathy service, a communications framework + that enables real-time communication via pluggable protocol backends. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.telepathy.enable { + + environment.systemPackages = [ pkgs.telepathy_mission_control ]; + + services.dbus.packages = [ pkgs.telepathy_mission_control ]; + + }; + +} diff --git a/nixos/modules/services/games/ghost-one.nix b/nixos/modules/services/games/ghost-one.nix index 92c9112eeb6c..7a3ecebec39c 100644 --- a/nixos/modules/services/games/ghost-one.nix +++ b/nixos/modules/services/games/ghost-one.nix @@ -1,5 +1,5 @@ -{pkgs, config, ...}: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.ghostOne; diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix new file mode 100644 index 000000000000..4c734aefa469 --- /dev/null +++ b/nixos/modules/services/games/minecraft-server.nix @@ -0,0 +1,51 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.minecraft-server; +in +{ + options = { + services.minecraft-server = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, start a Minecraft Server. The listening port for + the server is always 25565. The server + data will be loaded from and saved to + /var/lib/minecraft. + ''; + }; + + jvmOpts = mkOption { + type = types.str; + default = "-Xmx2048M -Xms2048M"; + description = "JVM options for the Minecraft Service."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.minecraft = { + description = "Minecraft Server Service user"; + home = "/var/lib/minecraft"; + createHome = true; + uid = config.ids.uids.minecraft; + }; + + systemd.services.minecraft-server = { + description = "Minecraft Server Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig.Restart = "always"; + serviceConfig.User = "minecraft"; + script = '' + cd /var/lib/minecraft + exec ${pkgs.minecraft-server}/bin/minecraft-server ${cfg.jvmOpts} + ''; + }; + }; +} diff --git a/nixos/modules/services/hardware/80-net-name-slot.rules b/nixos/modules/services/hardware/80-net-name-slot.rules new file mode 100644 index 000000000000..18547f170a3f --- /dev/null +++ b/nixos/modules/services/hardware/80-net-name-slot.rules @@ -0,0 +1,13 @@ +# Copied from systemd 203. +ACTION=="remove", GOTO="net_name_slot_end" +SUBSYSTEM!="net", GOTO="net_name_slot_end" +NAME!="", GOTO="net_name_slot_end" + +IMPORT{cmdline}="net.ifnames" +ENV{net.ifnames}=="0", GOTO="net_name_slot_end" + +NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}" +NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}" +NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}" + +LABEL="net_name_slot_end" diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix index 2329f38dfc25..a710636c1400 100644 --- a/nixos/modules/services/hardware/acpid.nix +++ b/nixos/modules/services/hardware/acpid.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix index a70a66c2ba0b..68d0406e63bd 100644 --- a/nixos/modules/services/hardware/bluetooth.nix +++ b/nixos/modules/services/hardware/bluetooth.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/hardware/pcscd.nix b/nixos/modules/services/hardware/pcscd.nix index 9f389efc06d4..6e30dfb752d2 100644 --- a/nixos/modules/services/hardware/pcscd.nix +++ b/nixos/modules/services/hardware/pcscd.nix @@ -1,6 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +let + cfgFile = pkgs.writeText "reader.conf" ""; +in + +with lib; { @@ -24,22 +28,26 @@ with pkgs.lib; config = mkIf config.services.pcscd.enable { - jobs.pcscd = - { description = "PCSC-Lite daemon"; + systemd.sockets.pcscd = { + description = "PCSC-Lite Socket"; + wantedBy = [ "sockets.target" ]; + before = [ "multi-user.target" ]; + socketConfig.ListenStream = "/run/pcscd/pcscd.comm"; + }; - startOn = "started udev"; - - daemonType = "fork"; - - # Add to the drivers directory the only drivers we have by now: ccid - preStart = '' - mkdir -p /var/lib/pcsc - rm -Rf /var/lib/pcsc/drivers - ln -s ${pkgs.ccid}/pcsc/drivers /var/lib/pcsc/ - ''; - - exec = "${pkgs.pcsclite}/sbin/pcscd"; + systemd.services.pcscd = { + description = "PCSC-Lite daemon"; + preStart = '' + mkdir -p /var/lib/pcsc + rm -Rf /var/lib/pcsc/drivers + ln -s ${pkgs.ccid}/pcsc/drivers /var/lib/pcsc/ + ''; + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.pcsclite}/sbin/pcscd --auto-exit -c ${cfgFile}"; + ExecReload = "${pkgs.pcsclite}/sbin/pcscd --hotplug"; }; + }; }; diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix index 32599554fc12..04db46999b0a 100644 --- a/nixos/modules/services/hardware/pommed.nix +++ b/nixos/modules/services/hardware/pommed.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix index 5979feb82409..01d910575bb5 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index b39c9cb1d9bb..16c31aab2d50 100644 --- a/nixos/modules/services/hardware/thinkfan.nix +++ b/nixos/modules/services/hardware/thinkfan.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 52b3ad435797..507752dabcf7 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -83,8 +83,8 @@ let grep -l '\(RUN+\|IMPORT{program}\)="\(/usr\)\?/s\?bin' $i/*/udev/rules.d/* || true done - ${optionalString (!config.networking.usePredictableInterfaceNames) '' - ln -s /dev/null $out/80-net-name-slot.rules + ${optionalString config.networking.usePredictableInterfaceNames '' + cp ${./80-net-name-slot.rules} $out/80-net-name-slot.rules ''} # If auto-configuration is disabled, then remove @@ -243,5 +243,9 @@ in fi ''; + systemd.services.systemd-udevd = + { environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules"; + }; + }; } diff --git a/nixos/modules/services/hardware/udisks.nix b/nixos/modules/services/hardware/udisks.nix index 531ee192573a..c9d11bcfc687 100644 --- a/nixos/modules/services/hardware/udisks.nix +++ b/nixos/modules/services/hardware/udisks.nix @@ -1,8 +1,8 @@ # Udisks daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix index 178ec379ff1b..f5b641c7378b 100644 --- a/nixos/modules/services/hardware/udisks2.nix +++ b/nixos/modules/services/hardware/udisks2.nix @@ -1,8 +1,8 @@ # Udisks daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { @@ -14,7 +14,7 @@ with pkgs.lib; enable = mkOption { type = types.bool; - default = false; + default = true; description = '' Whether to enable Udisks, a DBus service that allows applications to query and manipulate storage devices. diff --git a/nixos/modules/services/hardware/upower.nix b/nixos/modules/services/hardware/upower.nix index 4a9b13d4aa09..a202d82f646a 100644 --- a/nixos/modules/services/hardware/upower.nix +++ b/nixos/modules/services/hardware/upower.nix @@ -1,8 +1,8 @@ # Upower daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/logging/klogd.nix b/nixos/modules/services/logging/klogd.nix index 36b530d0077e..f69e08152b55 100644 --- a/nixos/modules/services/logging/klogd.nix +++ b/nixos/modules/services/logging/klogd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 2a6a6516f488..1cd032ffa76b 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.logcheck; @@ -208,12 +208,13 @@ in mapAttrsToList writeIgnoreRule cfg.ignore ++ mapAttrsToList writeIgnoreCronRule cfg.ignoreCron; - users.extraUsers = singleton - { name = cfg.user; + users.extraUsers = optionalAttrs (cfg.user == "logcheck") (singleton + { name = "logcheck"; + uid = config.ids.uids.logcheck; shell = "/bin/sh"; description = "Logcheck user account"; extraGroups = cfg.extraGroups; - }; + }); system.activationScripts.logcheck = '' mkdir -m 700 -p /var/{lib,lock}/logcheck diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index c6c0d2ea2382..804f9a0847ff 100644 --- a/nixos/modules/services/logging/logrotate.nix +++ b/nixos/modules/services/logging/logrotate.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.logrotate; diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix index 21128779e8f6..480e35a1156d 100644 --- a/nixos/modules/services/logging/logstash.nix +++ b/nixos/modules/services/logging/logstash.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.logstash; diff --git a/nixos/modules/services/logging/rsyslogd.nix b/nixos/modules/services/logging/rsyslogd.nix index 680c7a912c1f..d4b7aa809f00 100644 --- a/nixos/modules/services/logging/rsyslogd.nix +++ b/nixos/modules/services/logging/rsyslogd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/logging/syslogd.nix b/nixos/modules/services/logging/syslogd.nix index 36a0ace927ae..325868079e22 100644 --- a/nixos/modules/services/logging/syslogd.nix +++ b/nixos/modules/services/logging/syslogd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 92682d644f41..1fb7102e7f3e 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/mail/freepops.nix b/nixos/modules/services/mail/freepops.nix index 79f211ad86e3..2dd27a2033a7 100644 --- a/nixos/modules/services/mail/freepops.nix +++ b/nixos/modules/services/mail/freepops.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.mail.freepopsd; diff --git a/nixos/modules/services/mail/mail.nix b/nixos/modules/services/mail/mail.nix index bad0b22625dc..b7e1d295f2c5 100644 --- a/nixos/modules/services/mail/mail.nix +++ b/nixos/modules/services/mail/mail.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index 2732fd602004..fbc4b1d7d8a8 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -1,7 +1,7 @@ -{ pkgs, config, ... }: +{ config, lib, pkgs, ... }: with pkgs; -with pkgs.lib; +with lib; let @@ -79,5 +79,10 @@ in { preStart = "mkdir -p /var/spool"; serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}"; }; + + environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} '' + mkdir -p $out/bin + ln -s ${opensmtpd}/sbin/smtpctl $out/bin/sendmail + '') ]; }; } diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 2633289b46d5..8f75bd8ab5d0 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix index aaf1dfcc210c..a3ac9e372422 100644 --- a/nixos/modules/services/mail/spamassassin.nix +++ b/nixos/modules/services/mail/spamassassin.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/autofs.nix b/nixos/modules/services/misc/autofs.nix index 50491c556e8a..e645bd25a66d 100644 --- a/nixos/modules/services/misc/autofs.nix +++ b/nixos/modules/services/misc/autofs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/cgminer.nix b/nixos/modules/services/misc/cgminer.nix index f715013b51f3..8f25df809cd6 100644 --- a/nixos/modules/services/misc/cgminer.nix +++ b/nixos/modules/services/misc/cgminer.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.cgminer; @@ -42,6 +42,7 @@ in package = mkOption { default = pkgs.cgminer; description = "Which cgminer derivation to use."; + type = types.package; }; user = mkOption { diff --git a/nixos/modules/services/misc/dictd.nix b/nixos/modules/services/misc/dictd.nix new file mode 100644 index 000000000000..552e0a435efe --- /dev/null +++ b/nixos/modules/services/misc/dictd.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.dictd = { + + enable = mkOption { + default = false; + description = '' + Whether to enable the DICT.org dictionary server. + ''; + }; + + DBs = mkOption { + default = []; + # example = [ pkgs.dictDBs.nld2eng ]; + description = ''List of databases to make available.''; + }; + + }; + + }; + + + ###### implementation + + config = let dictdb = pkgs.dictDBCollector { dictlist = map (x: { + name = x.name; + filename = x; } ) config.services.dictd.DBs; }; + in mkIf config.services.dictd.enable { + + # get the command line client on system path to make some use of the service + environment.systemPackages = [ pkgs.dict ]; + + users.extraUsers = singleton + { name = "dictd"; + group = "dictd"; + description = "DICT.org dictd server"; + home = "${dictdb}/share/dictd"; + uid = config.ids.uids.dictd; + }; + + users.extraGroups = singleton + { name = "dictd"; + gid = config.ids.gids.dictd; + }; + + jobs.dictd = + { description = "DICT.org Dictionary Server"; + startOn = "startup"; + environment = { LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; }; + daemonType = "fork"; + exec = "${pkgs.dict}/sbin/dictd -s -c ${dictdb}/share/dictd/dictd.conf --locale en_US.UTF-8"; + }; + }; + +} diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix index 82526b154e7a..94d0caaa76b7 100644 --- a/nixos/modules/services/misc/disnix.nix +++ b/nixos/modules/services/misc/disnix.nix @@ -1,7 +1,7 @@ # Disnix server -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/felix.nix b/nixos/modules/services/misc/felix.nix index 2da50fc85957..a01c7f08b914 100644 --- a/nixos/modules/services/misc/felix.nix +++ b/nixos/modules/services/misc/felix.nix @@ -1,7 +1,7 @@ # Felix server -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/folding-at-home.nix b/nixos/modules/services/misc/folding-at-home.nix index 9f4c4645279f..0093e3c0c33a 100644 --- a/nixos/modules/services/misc/folding-at-home.nix +++ b/nixos/modules/services/misc/folding-at-home.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let stateDir = "/var/lib/foldingathome"; cfg = config.services.foldingAtHome; diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index bc1d1f4575a8..4a677f33fa0c 100644 --- a/nixos/modules/services/misc/gpsd.nix +++ b/nixos/modules/services/misc/gpsd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -19,6 +19,7 @@ in services.gpsd = { enable = mkOption { + type = types.bool; default = false; description = '' Whether to enable `gpsd', a GPS service daemon. @@ -26,6 +27,7 @@ in }; device = mkOption { + type = types.str; default = "/dev/ttyUSB0"; description = '' A device may be a local serial device for GPS input, or a URL of the form: @@ -35,6 +37,7 @@ in }; readonly = mkOption { + type = types.bool; default = true; description = '' Whether to enable the broken-device-safety, otherwise @@ -51,6 +54,7 @@ in }; port = mkOption { + type = types.uniq types.int; default = 2947; description = '' The port where to listen for TCP connections. @@ -58,6 +62,7 @@ in }; debugLevel = mkOption { + type = types.uniq types.int; default = 0; description = '' The debugging level. @@ -85,19 +90,20 @@ in inherit gid; }; - jobs.gpsd = - { description = "GPSD daemon"; - - startOn = "ip-up"; - - exec = - '' - ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ - -S "${toString cfg.port}" \ - ${if cfg.readonly then "-b" else ""} \ - "${cfg.device}" - ''; + systemd.services.gpsd = { + description = "GPSD daemon"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Type = "forking"; + ExecStart = '' + ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \ + -S "${toString cfg.port}" \ + ${if cfg.readonly then "-b" else ""} \ + "${cfg.device}" + ''; }; + }; }; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index cca42aa11009..4bfd6268234d 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -58,7 +58,7 @@ in nix = { package = mkOption { - type = types.path; + type = types.package; default = pkgs.nix; description = '' This option specifies the Nix package instance to use throughout the system. @@ -253,7 +253,7 @@ in config = { - nix.chrootDirs = [ "/dev" "/dev/pts" "/proc" "/bin" ]; + nix.chrootDirs = [ "/bin" ]; environment.etc."nix/nix.conf".source = nixConf; @@ -275,28 +275,18 @@ in ) cfg.buildMachines; }; - systemd.sockets."nix-daemon" = - { description = "Nix Daemon Socket"; - wantedBy = [ "sockets.target" ]; - before = [ "multi-user.target" ]; - unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket/"; - socketConfig.ListenStream = "/nix/var/nix/daemon-socket/socket"; - }; + systemd.packages = [ nix ]; - systemd.services."nix-daemon" = - { description = "Nix Daemon"; + systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; - path = [ nix pkgs.openssl pkgs.utillinux ] - ++ optionals cfg.distributedBuilds [ pkgs.openssh pkgs.gzip ]; + systemd.services.nix-daemon = + { path = [ nix pkgs.openssl pkgs.utillinux pkgs.openssh ] + ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; }; - unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket/"; - serviceConfig = - { ExecStart = "@${nix}/bin/nix-daemon nix-daemon --daemon"; - KillMode = "process"; - Nice = cfg.daemonNiceLevel; + { Nice = cfg.daemonNiceLevel; IOSchedulingPriority = cfg.daemonIONiceLevel; LimitNOFILE = 4096; }; @@ -352,8 +342,7 @@ in /nix/var/nix/profiles \ /nix/var/nix/db \ /nix/var/log/nix/drvs \ - /nix/var/nix/channel-cache \ - /nix/var/nix/chroots + /nix/var/nix/channel-cache mkdir -m 1777 -p \ /nix/var/nix/gcroots/per-user \ /nix/var/nix/profiles/per-user \ diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index fa20e0956f59..6a7a7f4cee72 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.nix.gc; diff --git a/nixos/modules/services/misc/nix-ssh-serve.nix b/nixos/modules/services/misc/nix-ssh-serve.nix new file mode 100644 index 000000000000..80e7961b1f82 --- /dev/null +++ b/nixos/modules/services/misc/nix-ssh-serve.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +let + serveOnly = pkgs.writeScript "nix-store-serve" '' + #!${pkgs.stdenv.shell} + if [ "$SSH_ORIGINAL_COMMAND" != "nix-store --serve" ]; then + echo 'Error: You are only allowed to run `nix-store --serve'\'''!' >&2 + exit 1 + fi + exec /run/current-system/sw/bin/nix-store --serve + ''; + + inherit (lib) mkIf mkOption types; +in { + options = { + nix.sshServe = { + enable = mkOption { + description = "Whether to enable serving the nix store over ssh."; + default = false; + type = types.bool; + }; + }; + }; + + config = mkIf config.nix.sshServe.enable { + users.extraUsers.nix-ssh = { + description = "User for running nix-store --serve."; + uid = config.ids.uids.nix-ssh; + shell = pkgs.stdenv.shell; + }; + + services.openssh.enable = true; + + services.openssh.extraConfig = '' + Match User nix-ssh + AllowAgentForwarding no + AllowTcpForwarding no + PermitTTY no + PermitTunnel no + X11Forwarding no + ForceCommand ${serveOnly} + Match All + ''; + }; +} diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 1a8b85db3290..808c5dcbdc6f 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -3,9 +3,9 @@ # of the virtual consoles. The latter is useful for the installation # CD. -{ config, pkgs, baseModules, ... } @ extraArgs: +{ config, lib, pkgs, baseModules, ... } @ extraArgs: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix new file mode 100644 index 000000000000..2c1fec9f6d7c --- /dev/null +++ b/nixos/modules/services/misc/rippled.nix @@ -0,0 +1,314 @@ +# configuration building is commented out until better tested. + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.rippled; + + rippledStateCfgFile = "/var/lib/rippled/rippled.cfg"; + + rippledCfg = '' + [node_db] + type=HyperLevelDB + path=/var/lib/rippled/db/hyperldb + + [debug_logfile] + /var/log/rippled/debug.log + + '' + + optionalString (cfg.peerIp != null) '' + [peer_ip] + ${cfg.peerIp} + + [peer_port] + ${toString cfg.peerPort} + + '' + + cfg.extraConfig; + + rippledCfgFile = pkgs.writeText "rippled.cfg" rippledCfg; + +in + +{ + + ###### interface + + options = { + + services.rippled = { + + enable = mkOption { + default = false; + description = "Whether to enable rippled"; + }; + + # + # Rippled has a simple configuration file layout that is easy to + # build with nix. Many of the options are defined here but are + # commented out until the code to append them to the config above + # is written and they are tested. + # + # If you find a yourself implementing more options, please submit a + # pull request. + # + + /* + ips = mkOption { + default = [ "r.ripple.com 51235" ]; + example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ]; + description = '' + List of hostnames or ips where the Ripple protocol is served. + For a starter list, you can either copy entries from: + https://ripple.com/ripple.txt or if you prefer you can let it + default to r.ripple.com 51235 + + A port may optionally be specified after adding a space to the + address. By convention, if known, IPs are listed in from most + to least trusted. + ''; + }; + + ipsFixed = mkOption { + default = null; + example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ]; + description = '' + List of IP addresses or hostnames to which rippled should always + attempt to maintain peer connections with. This is useful for + manually forming private networks, for example to configure a + validation server that connects to the Ripple network through a + public-facing server, or for building a set of cluster peers. + + A port may optionally be specified after adding a space to the address + ''; + }; + */ + + peerIp = mkOption { + default = null; + example = "0.0.0.0"; + description = '' + IP address or domain to bind to allow external connections from peers. + Defaults to not binding, which disallows external connections from peers. + ''; + }; + + peerPort = mkOption { + default = 51235; + description = '' + If peerIp is supplied, corresponding port to bind to for peer connections. + ''; + }; + + /* + peerPortProxy = mkOption { + type = types.int; + example = 51236; + description = '' + An optional, additional listening port number for peers. Incoming + connections on this port will be required to provide a PROXY Protocol + handshake, described in this document (external link): + + http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt + + The PROXY Protocol is a popular method used by elastic load balancing + service providers such as Amazon, to identify the true IP address and + port number of external incoming connections. + + In addition to enabling this setting, it will also be required to + use your provider-specific control panel or administrative web page + to configure your server instance to receive PROXY Protocol handshakes, + and also to restrict access to your instance to the Elastic Load Balancer. + ''; + }; + + peerPrivate = mkOption { + default = null; + example = 0; + description = '' + 0: Request peers to broadcast your address. Normal outbound peer connections [default] + 1: Request peers not broadcast your address. Only connect to configured peers. + ''; + }; + + peerSslCipherList = mkOption { + default = null; + example = "ALL:!LOW:!EXP:!MD5:@STRENGTH"; + description = '' + A colon delimited string with the allowed SSL cipher modes for peer. The + choices for for ciphers are defined by the OpenSSL API function + SSL_CTX_set_cipher_list, documented here (external link): + + http://pic.dhe.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=%2Fcom.ibm.ztpf-ztpfdf.doc_put.cur%2Fgtpc2%2Fcpp_ssl_ctx_set_cipher_list.html + + The default setting of "ALL:!LOW:!EXP:!MD5:@STRENGTH", which allows + non-authenticated peer connections (they are, however, secure). + ''; + }; + + nodeSeed = mkOption { + default = null; + example = "RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE"; + description = '' + This is used for clustering. To force a particular node seed or key, the + key can be set here. The format is the same as the validation_seed field. + To obtain a validation seed, use the rippled validation_create command. + ''; + }; + + clusterNodes = mkOption { + default = null; + example = [ "n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5" ]; + description = '' + To extend full trust to other nodes, place their node public keys here. + Generally, you should only do this for nodes under common administration. + Node public keys start with an 'n'. To give a node a name for identification + place a space after the public key and then the name. + ''; + }; + + sntpServers = mkOption { + default = null; + example = [ "time.nist.gov" "pool.ntp.org" ]; + description = '' + IP address or domain of NTP servers to use for time synchronization. + ''; + }; + + # TODO: websocket options + + rpcAllowRemote = mkOption { + default = false; + description = '' + false: Allow RPC connections only from 127.0.0.1. [default] + true: Allow RPC connections from any IP. + ''; + }; + + rpcAdminAllow = mkOption { + example = [ "10.0.0.4" ]; + description = '' + List of IP addresses allowed to have admin access. + ''; + }; + + rpcAdminUser = mkOption { + type = types.str; + description = '' + As a server, require this as the admin user to be specified. Also, require + rpc_admin_user and rpc_admin_password to be checked for RPC admin functions. + The request must specify these as the admin_user and admin_password in the + request object. + ''; + }; + + rpcAdminPassword = mkOption { + type = types.str; + description = '' + As a server, require this as the admin pasword to be specified. Also, + require rpc_admin_user and rpc_admin_password to be checked for RPC admin + functions. The request must specify these as the admin_user and + admin_password in the request object. + ''; + }; + + rpcIp = mkOption { + type = types.str; + description = '' + IP address or domain to bind to allow insecure RPC connections. + Defaults to not binding, which disallows RPC connections. + ''; + }; + + rpcPort = mkOption { + type = types.int; + description = '' + If rpcIp is supplied, corresponding port to bind to for peer connections. + ''; + }; + + rpcUser = mkOption { + type = types.str; + description = '' + Require a this user to specified and require rpcPassword to + be checked for RPC access via the rpcIp and rpcPort. The user and password + must be specified via HTTP's basic authentication method. + As a client, supply this to the server via HTTP's basic authentication + method. + ''; + }; + + rpcPassword = mkOption { + type = types.str; + description = '' + Require a this password to specified and require rpc_user to + be checked for RPC access via the rpcIp and rpcPort. The user and password + must be specified via HTTP's basic authentication method. + As a client, supply this to the server via HTTP's basic authentication + method. + ''; + }; + + rpcStartup = mkOption { + example = [ ''"command" : "log_level"'' ''"partition" : "ripplecalc"'' ''"severity" : "trace"'' ]; + description = "List of RPC commands to run at startup."; + }; + + rpcSecure = mkOption { + default = false; + description = '' + false: Server certificates are not provided for RPC clients using SSL [default] + true: Client RPC connections wil be provided with SSL certificates. + + Note that if rpc_secure is enabled, it will also be necessasry to configure the + certificate file settings located in rpcSslCert, rpcSslChain, and rpcSslKey + ''; + }; + */ + + extraConfig = mkOption { + default = ""; + description = '' + Extra lines to be added verbatim to the rippled.cfg configuration file. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers = singleton + { name = "rippled"; + description = "Ripple server user"; + uid = config.ids.uids.rippled; + home = "/var/lib/rippled"; + }; + + systemd.services.rippled = { + path = [ pkgs.rippled ]; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "${pkgs.rippled}/bin/rippled --fg -q --conf ${rippledStateCfgFile}"; + WorkingDirectory = "/var/lib/rippled"; + }; + }; + + networking.firewall.allowedTCPPorts = mkIf (cfg.peerIp != null) [ cfg.peerPort ]; + + system.activationScripts.rippled = '' + mkdir -p /var/{lib,log}/rippled + chown -R rippled /var/{lib,log}/rippled + ln -sf ${rippledCfgFile} ${rippledStateCfgFile} + ''; + }; +} diff --git a/nixos/modules/services/misc/rogue.nix b/nixos/modules/services/misc/rogue.nix index de25cc0fb982..ed8da8a518ff 100644 --- a/nixos/modules/services/misc/rogue.nix +++ b/nixos/modules/services/misc/rogue.nix @@ -1,9 +1,9 @@ # Execute the game `rogue' on tty 9. Mostly used by the NixOS # installation CD. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index b0806d14738b..848905ca457f 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -1,7 +1,7 @@ # SVN server -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix index 63e7c7667e57..ec8ff426f0a6 100644 --- a/nixos/modules/services/misc/synergy.nix +++ b/nixos/modules/services/misc/synergy.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix index 58ec8a49694b..6cc0c122ec62 100644 --- a/nixos/modules/services/monitoring/apcupsd.nix +++ b/nixos/modules/services/monitoring/apcupsd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.apcupsd; @@ -168,11 +168,11 @@ in # shuts off power.) Copied from here: # http://forums.opensuse.org/english/get-technical-help-here/applications/479499-apcupsd-systemd-killpower-issues.html systemd.services.apcupsd-killpower = { + description = "APC UPS Kill Power"; after = [ "shutdown.target" ]; # append umount.target? before = [ "final.target" ]; wantedBy = [ "shutdown.target" ]; unitConfig = { - Description = "APC UPS Kill Power"; ConditionPathExists = "/run/apcupsd/powerfail"; DefaultDependencies = "no"; }; diff --git a/nixos/modules/services/monitoring/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent.nix index 37ce1c099df9..bddf102ee517 100644 --- a/nixos/modules/services/monitoring/dd-agent.nix +++ b/nixos/modules/services/monitoring/dd-agent.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.dd-agent; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index be57b8c5c03f..cb67b9d4fcbb 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -1,20 +1,34 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.graphite; - writeTextOrNull = f: t: if t == null then null else pkgs.writeText f t; + writeTextOrNull = f: t: if t == null then null else pkgs.writeTextDir f t; + + dataDir = cfg.dataDir; + + configDir = pkgs.buildEnv { + name = "graphite-config"; + paths = lists.filter (el: el != null) [ + (writeTextOrNull "carbon.conf" cfg.carbon.config) + (writeTextOrNull "storage-agregation.conf" cfg.carbon.storageAggregation) + (writeTextOrNull "storage-schemas.conf" cfg.carbon.storageSchemas) + (writeTextOrNull "blacklist.conf" cfg.carbon.blacklist) + (writeTextOrNull "whitelist.conf" cfg.carbon.whitelist) + (writeTextOrNull "rewrite-rules.conf" cfg.carbon.rewriteRules) + (writeTextOrNull "relay-rules.conf" cfg.carbon.relayRules) + (writeTextOrNull "aggregation-rules.conf" cfg.carbon.aggregationRules) + ]; + }; - dataDir = "/var/db/graphite"; carbonOpts = name: with config.ids; '' - --nodaemon --syslog --prefix=${name} --pidfile /var/run/${name}.pid \ - --uid ${toString uids.graphite} --gid ${toString uids.graphite} ${name} + --nodaemon --syslog --prefix=${name} --pidfile ${dataDir}/${name}.pid ${name} ''; carbonEnv = { PYTHONPATH = "${pkgs.python27Packages.carbon}/lib/python2.7/site-packages"; GRAPHITE_ROOT = dataDir; - GRAPHITE_CONF_DIR = "/etc/graphite/"; + GRAPHITE_CONF_DIR = configDir; GRAPHITE_STORAGE_DIR = dataDir; }; @@ -23,6 +37,14 @@ in { ###### interface options.services.graphite = { + dataDir = mkOption { + type = types.path; + default = "/var/db/graphite"; + description = '' + Data directory for graphite. + ''; + }; + web = { enable = mkOption { description = "Whether to enable graphite web frontend"; @@ -38,8 +60,8 @@ in { port = mkOption { description = "Graphite web frontend port"; - default = "8080"; - type = types.str; + default = 8080; + type = types.int; }; }; @@ -152,31 +174,17 @@ in { ###### implementation config = mkIf (cfg.carbon.enableAggregator || cfg.carbon.enableCache || cfg.carbon.enableRelay || cfg.web.enable) { - environment.etc = lists.filter (el: el.source != null) [ - { source = writeTextOrNull "carbon.conf" cfg.carbon.config; - target = "graphite/carbon.conf"; } - { source = writeTextOrNull "storage-agregation.conf" cfg.carbon.storageAggregation; - target = "graphite/storage-agregation.conf"; } - { source = writeTextOrNull "storage-schemas.conf" cfg.carbon.storageSchemas; - target = "graphite/storage-schemas.conf"; } - { source = writeTextOrNull "blacklist.conf" cfg.carbon.blacklist; - target = "graphite/blacklist.conf"; } - { source = writeTextOrNull "whitelist.conf" cfg.carbon.whitelist; - target = "graphite/whitelist.conf"; } - { source = writeTextOrNull "rewrite-rules.conf" cfg.carbon.rewriteRules; - target = "graphite/rewrite-rules.conf"; } - { source = writeTextOrNull "relay-rules.conf" cfg.carbon.relayRules; - target = "graphite/relay-rules.conf"; } - { source = writeTextOrNull "aggregation-rules.conf" cfg.carbon.aggregationRules; - target = "graphite/aggregation-rules.conf"; } - ]; - - systemd.services.carbonCache = mkIf cfg.carbon.enableCache { + systemd.services.carbonCache = { + enable = cfg.carbon.enableCache; description = "Graphite Data Storage Backend"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config @@ -185,33 +193,45 @@ in { cfg.carbon.rewriteRules ]; preStart = '' - mkdir -p ${dataDir}/whisper + mkdir -m 0700 -p ${cfg.dataDir}/whisper + if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi ''; }; - systemd.services.carbonAggregator = mkIf cfg.carbon.enableAggregator { + systemd.services.carbonAggregator = { + enable = cfg.carbon.enableAggregator; description = "Carbon Data Aggregator"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-aggregator"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.aggregationRules ]; }; - systemd.services.carbonRelay = mkIf cfg.carbon.enableRelay { + systemd.services.carbonRelay = { + enable = cfg.carbon.enableRelay; description = "Carbon Data Relay"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; environment = carbonEnv; - serviceConfig.ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}"; + serviceConfig = { + ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-relay"}"; + User = "graphite"; + Group = "graphite"; + }; restartTriggers = [ pkgs.pythonPackages.carbon cfg.carbon.config cfg.carbon.relayRules ]; }; - systemd.services.graphiteWeb = mkIf cfg.web.enable { + systemd.services.graphiteWeb = { + enable = cfg.web.enable; description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; @@ -224,14 +244,15 @@ in { serviceConfig = { ExecStart = '' ${pkgs.python27Packages.waitress}/bin/waitress-serve \ - --host=${cfg.web.host} --port=${cfg.web.port} \ + --host=${cfg.web.host} --port=${toString cfg.web.port} \ --call django.core.handlers.wsgi:WSGIHandler''; User = "graphite"; Group = "graphite"; }; preStart = '' if ! test -e ${dataDir}/db-created; then - mkdir -p ${dataDir}/{whisper/,log/webapp/} + mkdir -m 0700 -p ${dataDir}/{whisper/,log/webapp/} + if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi # populate database ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput @@ -259,7 +280,6 @@ in { uid = config.ids.uids.graphite; description = "Graphite daemon user"; home = dataDir; - createHome = true; }; users.extraGroups.graphite.gid = config.ids.gids.graphite; }; diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 153f49429029..966c2eca282a 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: # TODO: support munin-async # TODO: LWP/Pg perl libs aren't recognized @@ -11,7 +11,7 @@ # nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html -with pkgs.lib; +with lib; let nodeCfg = config.services.munin-node; @@ -173,10 +173,12 @@ in name = "munin"; description = "Munin monitoring user"; group = "munin"; + uid = config.ids.uids.munin; }]; users.extraGroups = [{ name = "munin"; + gid = config.ids.gids.munin; }]; }) (mkIf nodeCfg.enable { diff --git a/nixos/modules/services/monitoring/nagios/default.nix b/nixos/modules/services/monitoring/nagios/default.nix index c809a3b84573..2eeddf782501 100644 --- a/nixos/modules/services/monitoring/nagios/default.nix +++ b/nixos/modules/services/monitoring/nagios/default.nix @@ -1,7 +1,7 @@ # Nagios system/network monitoring daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index 512e639721e4..250035fe447f 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/monitoring/statsd.nix b/nixos/modules/services/monitoring/statsd.nix index 979debefdd9f..05950639c1e0 100644 --- a/nixos/modules/services/monitoring/statsd.nix +++ b/nixos/modules/services/monitoring/statsd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -64,13 +64,13 @@ in graphiteHost = mkOption { description = "Hostname or IP of Graphite server"; - default = "127.0.0.1"; + default = config.services.graphite.web.host; type = types.str; }; graphitePort = mkOption { description = "Port of Graphite server"; - default = 2003; + default = config.services.graphite.web.port; type = types.uniq types.int; }; diff --git a/nixos/modules/services/monitoring/systemhealth.nix b/nixos/modules/services/monitoring/systemhealth.nix index 0a3e666ad4e7..b0e59595e133 100644 --- a/nixos/modules/services/monitoring/systemhealth.nix +++ b/nixos/modules/services/monitoring/systemhealth.nix @@ -1,6 +1,6 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.systemhealth; diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index c00f4bad9351..cc9026f768a8 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -1,8 +1,8 @@ -{config, pkgs, ...}: +{ config, lib, pkgs, ... }: # TODO: This is not secure, have a look at the file docs/security.txt inside # the project sources. -with pkgs.lib; +with lib; let cfg = config.power.ups; diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index 229236c1bbd4..481298f763a4 100644 --- a/nixos/modules/services/monitoring/zabbix-agent.nix +++ b/nixos/modules/services/monitoring/zabbix-agent.nix @@ -1,7 +1,7 @@ # Zabbix agent daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index 6735b4ca3279..ca283ea2a99f 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -1,7 +1,7 @@ # Zabbix server daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix index 1a00ccab0a61..b914724abfe2 100644 --- a/nixos/modules/services/network-filesystems/drbd.nix +++ b/nixos/modules/services/network-filesystems/drbd.nix @@ -1,8 +1,8 @@ # Support for DRBD, the Distributed Replicated Block Device. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.drbd; in diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix index 4daa5e9d0639..2217fec3b0f7 100644 --- a/nixos/modules/services/network-filesystems/nfsd.nix +++ b/nixos/modules/services/network-filesystems/nfsd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix index 4a888b64bd34..b34ebc3663e3 100644 --- a/nixos/modules/services/network-filesystems/openafs-client/default.nix +++ b/nixos/modules/services/network-filesystems/openafs-client/default.nix @@ -46,6 +46,16 @@ in description = "Cache directory."; }; + crypt = mkOption { + default = false; + description = "Whether to enable (weak) protocol encryption."; + }; + + sparse = mkOption { + default = false; + description = "Minimal cell list in /afs."; + }; + }; }; @@ -70,18 +80,23 @@ in startOn = "started network-interfaces"; stopOn = "stopping network-interfaces"; - preStart = '' - mkdir -m 0755 /afs || true - mkdir -m 0755 -p ${cfg.cacheDirectory} || true + preStart = '' + mkdir -p -m 0755 /afs + mkdir -m 0700 -p ${cfg.cacheDirectory} ${pkgs.module_init_tools}/sbin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true - ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} -dynroot -fakestat - ''; + ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb + ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"} + ''; - postStop = '' - umount /afs + # Doing this in preStop, because after these commands AFS is basically + # stopped, so systemd has nothing to do, just noticing it. If done in + # postStop, then we get a hang + kernel oops, because AFS can't be + # stopped simply by sending signals to processes. + preStop = '' + ${pkgs.utillinux}/bin/umount /afs ${openafsPkgs}/sbin/afsd -shutdown - rmmod libafs - ''; + ${pkgs.module_init_tools}/sbin/rmmod libafs + ''; }; diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix new file mode 100644 index 000000000000..bc17add809b2 --- /dev/null +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -0,0 +1,139 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.rsyncd; + + motdFile = pkgs.writeText "rsyncd-motd" cfg.motd; + + rsyncdCfg = "" + + optionalString (cfg.motd != "") "motd file = ${motdFile}\n" + + optionalString (cfg.address != "") "address = ${cfg.address}\n" + + optionalString (cfg.port != 873) "port = ${toString cfg.port}\n" + + cfg.extraConfig + + "\n" + + flip concatMapStrings cfg.modules (m: "[${m.name}]\n\tpath = ${m.path}\n" + + optionalString (m.comment != "") "\tcomment = ${m.comment}\n" + + m.extraConfig + + "\n" + ); + + rsyncdCfgFile = pkgs.writeText "rsyncd.conf" rsyncdCfg; + +in + +{ + options = { + + services.rsyncd = { + + enable = mkOption { + default = false; + description = "Whether to enable the rsync daemon."; + }; + + motd = mkOption { + type = types.string; + default = ""; + description = '' + Message of the day to display to clients on each connect. + This usually contains site information and any legal notices. + ''; + }; + + port = mkOption { + default = 873; + type = types.int; + description = "TCP port the daemon will listen on."; + }; + + address = mkOption { + default = ""; + example = "192.168.1.2"; + description = '' + IP address the daemon will listen on; rsyncd will listen on + all addresses if this is not specified. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Lines of configuration to add to rsyncd globally. + See man rsyncd.conf for more options. + ''; + }; + + modules = mkOption { + default = [ ]; + example = [ + { name = "ftp"; + path = "/home/ftp"; + comment = "ftp export area"; + extraConfig = '' + secrets file = /etc/rsyncd.secrets + ''; + } + ]; + description = "The list of file paths to export."; + type = types.listOf types.optionSet; + + options = { + + name = mkOption { + example = "ftp"; + type = types.string; + description = "Name of export module."; + }; + + comment = mkOption { + default = ""; + description = '' + Description string that is displayed next to the module name + when clients obtain a list of available modules. + ''; + }; + + path = mkOption { + example = "/home/ftp"; + type = types.string; + description = "Directory to make available in this module."; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Lines of configuration to add to this module. + See man rsyncd.conf for more options. + ''; + }; + }; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + environment.etc = singleton + { source = rsyncdCfgFile; + target = "rsyncd.conf"; + }; + + systemd.services.rsyncd = { + description = "Rsync daemon"; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.rsync ]; + + serviceConfig.ExecStart = "${pkgs.rsync}/bin/rsync --daemon --no-detach"; + }; + + networking.firewall.allowedTCPPorts = [ cfg.port ]; + }; +} \ No newline at end of file diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 4f6fce6cd52e..51a4d193d504 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/amuled.nix b/nixos/modules/services/networking/amuled.nix index 8652d0daf4c8..516238fdddf6 100644 --- a/nixos/modules/services/networking/amuled.nix +++ b/nixos/modules/services/networking/amuled.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.amule; diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix index 2256de89630d..284b2b84e6c7 100644 --- a/nixos/modules/services/networking/avahi-daemon.nix +++ b/nixos/modules/services/networking/avahi-daemon.nix @@ -1,7 +1,7 @@ # Avahi daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -142,6 +142,10 @@ in services.dbus.enable = true; services.dbus.packages = [avahi]; + # Enabling Avahi without exposing it in the firewall doesn't make + # sense. + networking.firewall.allowedUDPPorts = [ 5353 ]; + }; } diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index 765dc014dcb7..57547da10067 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/bitlbee.nix b/nixos/modules/services/networking/bitlbee.nix index fe37e8ea0120..7276603da16f 100644 --- a/nixos/modules/services/networking/bitlbee.nix +++ b/nixos/modules/services/networking/bitlbee.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix new file mode 100644 index 000000000000..8b288a713c60 --- /dev/null +++ b/nixos/modules/services/networking/btsync.nix @@ -0,0 +1,280 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.btsync; + listenAddr = cfg.httpListenAddr + ":" + (toString cfg.httpListenPort); + + boolStr = x: if x then "true" else "false"; + optionalEmptyStr = b: v: optionalString (b != "") v; + + webUIConfig = optionalString cfg.enableWebUI + '' + "webui": + { + ${optionalEmptyStr cfg.httpLogin "\"login\": \"${cfg.httpLogin}\","} + ${optionalEmptyStr cfg.httpPass "\"password\": \"${cfg.httpPass}\","} + ${optionalEmptyStr cfg.apiKey "\"api_key\": \"${cfg.apiKey}\","} + "listen": "${listenAddr}" + } + ''; + + knownHosts = e: + optionalString (e ? "knownHosts") + (concatStringsSep "," (map (v: "\"${v}\"") e."knownHosts")); + + sharedFoldersRecord = + concatStringsSep "," (map (entry: + let helper = attr: v: + if (entry ? attr) then boolStr entry.attr else boolStr v; + in + '' + { + "secret": "${entry.secret}", + "dir": "${entry.directory}", + + "use_relay_server": ${helper "useRelayServer" true}, + "use_tracker": ${helper "useTracker" true}, + "use_dht": ${helper "useDHT" false}, + + "search_lan": ${helper "searchLAN" true}, + "use_sync_trash": ${helper "useSyncTrash" true}, + + "known_hosts": [${knownHosts entry}] + } + '') cfg.sharedFolders); + + sharedFoldersConfig = optionalString (cfg.sharedFolders != []) + '' + "shared_folders": + [ + ${sharedFoldersRecord} + ] + ''; + + configFile = pkgs.writeText "btsync.config" + '' + { + "device_name": "${cfg.deviceName}", + "storage_path": "/var/lib/btsync", + "listening_port": ${toString cfg.listeningPort}, + "use_gui": false, + + "check_for_updates": ${boolStr cfg.checkForUpdates}, + "use_upnp": ${boolStr cfg.useUpnp}, + "download_limit": ${toString cfg.downloadLimit}, + "upload_limit": ${toString cfg.uploadLimit}, + "lan_encrypt_data": ${boolStr cfg.encryptLAN}, + + ${webUIConfig} + ${sharedFoldersConfig} + } + ''; +in +{ + options = { + services.btsync = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, start the Bittorrent Sync daemon. Once enabled, + you can interact with the service through the Web UI, or + configure it in your NixOS configuration. Enabling the + btsync service also installs a + multi-instance systemd unit which can be used to start + user-specific copies of the daemon. Once installed, you can + use systemctl start btsync@user to start + the daemon only for user user, using the + configuration file located at + $HOME/.config/btsync.conf + ''; + }; + + deviceName = mkOption { + type = types.str; + example = "Voltron"; + description = '' + Name of the Bittorrent Sync device. + ''; + }; + + listeningPort = mkOption { + type = types.int; + default = 0; + example = 44444; + description = '' + Listening port. Defaults to 0 which randomizes the port. + ''; + }; + + checkForUpdates = mkOption { + type = types.bool; + default = true; + description = '' + Determines whether to check for updates and alert the user + about them in the UI. + ''; + }; + + useUpnp = mkOption { + type = types.bool; + default = true; + description = '' + Use Universal Plug-n-Play (UPnP) + ''; + }; + + downloadLimit = mkOption { + type = types.int; + default = 0; + example = 1024; + description = '' + Download speed limit. 0 is unlimited (default). + ''; + }; + + uploadLimit = mkOption { + type = types.int; + default = 0; + example = 1024; + description = '' + Upload speed limit. 0 is unlimited (default). + ''; + }; + + httpListenAddr = mkOption { + type = types.str; + default = "0.0.0.0"; + example = "1.2.3.4"; + description = '' + HTTP address to bind to. + ''; + }; + + httpListenPort = mkOption { + type = types.int; + default = 9000; + description = '' + HTTP port to bind on. + ''; + }; + + httpLogin = mkOption { + type = types.str; + example = "allyourbase"; + description = '' + HTTP web login username. + ''; + }; + + httpPass = mkOption { + type = types.str; + example = "arebelongtous"; + description = '' + HTTP web login password. + ''; + }; + + encryptLAN = mkOption { + type = types.bool; + default = true; + description = "Encrypt LAN data."; + }; + + enableWebUI = mkOption { + type = types.bool; + default = false; + description = '' + Enable Web UI for administration. Bound to the specified + httpListenAddress and + httpListenPort. + ''; + }; + + apiKey = mkOption { + type = types.str; + default = ""; + description = "API key, which enables the developer API."; + }; + + sharedFolders = mkOption { + default = []; + example = + [ { secret = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y"; + directory = "/home/user/sync_test"; + useRelayServer = true; + useTracker = true; + useDHT = false; + searchLAN = true; + useSyncTrash = true; + knownHosts = + [ "192.168.1.2:4444" + "192.168.1.3:4444" + ]; + } + ]; + description = '' + Shared folder list. If enabled, web UI must be + disabled. Secrets can be generated using btsync + --generate-secret. Note that this secret will be + put inside the Nix store, so it is realistically not very + secret. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = + [ { assertion = cfg.deviceName != ""; + message = "Device name cannot be empty."; + } + { assertion = cfg.enableWebUI -> cfg.sharedFolders == []; + message = "If using shared folders, the web UI cannot be enabled."; + } + { assertion = cfg.apiKey != "" -> cfg.enableWebUI; + message = "If you're using an API key, you must enable the web server."; + } + # TODO FIXME: the README says not specifying the login/pass means it + # should disable authentication, but apparently it doesn't? + { assertion = cfg.enableWebUI -> cfg.httpLogin != "" && cfg.httpPass != ""; + message = "If using the web UI, you must configure a login/password."; + } + # TODO FIXME: assert the existence of sharedFolder directories? + ]; + + users.extraUsers.btsync = { + description = "Bittorrent Sync Service user"; + home = "/var/lib/btsync"; + createHome = true; + uid = config.ids.uids.btsync; + }; + + systemd.services.btsync = with pkgs; { + description = "Bittorrent Sync Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + Restart = "on-abort"; + User = "btsync"; + ExecStart = + "${bittorrentSync}/bin/btsync --nodaemon --config ${configFile}"; + }; + }; + + systemd.services."btsync@" = with pkgs; { + description = "Bittorrent Sync Service for %i"; + after = [ "network.target" ]; + serviceConfig = { + Restart = "on-abort"; + User = "%i"; + ExecStart = + "${bittorrentSync}/bin/btsync --nodaemon --config %h/.config/btsync.conf"; + }; + }; + + environment.systemPackages = [ pkgs.bittorrentSync ]; + }; +} diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix index 5e9818858e0c..d1684dd9f05d 100644 --- a/nixos/modules/services/networking/chrony.nix +++ b/nixos/modules/services/networking/chrony.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix new file mode 100644 index 000000000000..9306ffd5a18a --- /dev/null +++ b/nixos/modules/services/networking/cjdns.nix @@ -0,0 +1,207 @@ +# You may notice the commented out sections in this file, +# it would be great to configure cjdns from nix, but cjdns +# reads its configuration from stdin, including the private +# key and admin password, all nested in a JSON structure. +# +# Until a good method of storing the keys outside the nix +# store and mixing them back into a string is devised +# (without too much shell hackery), a skeleton of the +# configuration building lies commented out. + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.cjdns; + + /* + # can't keep keys and passwords in the nix store, + # but don't want to deal with this stdin quagmire. + + cjdrouteConf = '' { + "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" }, + "privateKey": "\${CJDNS_KEY}", + + "interfaces": { + '' + + + optionalString (cfg.interfaces.udp.bind.address != null) '' + "UDPInterface": [ { + "bind": "${cfg.interfaces.udp.bind.address}:"'' + ${if cfg.interfaces.upd.bind.port != null + then ${toString cfg.interfaces.udp.bind.port} + else ${RANDOM} + fi) + + '' } ]'' + + + (if cfg.interfaces.eth.bind != null then '' + "ETHInterface": [ { + "bind": "${cfg.interfaces.eth.bind}", + "beacon": ${toString cfg.interfaces.eth.beacon} + } ] + '' fi ) + + '' + }, + "router": { "interface": { "type": "TUNInterface" }, }, + "security": [ { "setuser": "nobody" } ] + } + ''; + + cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf + */ +in + +{ + options = { + + services.cjdns = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable this option to start a instance of the + cjdns network encryption and and routing engine. + Configuration will be read from confFile. + ''; + }; + + confFile = mkOption { + default = "/etc/cjdroute.conf"; + description = '' + Configuration file to pipe to cjdroute. + ''; + }; + + /* + admin = { + bind = mkOption { + default = "127.0.0.1:11234"; + description = '' + Bind the administration port to this address and port. + ''; + }; + + passwordFile = mkOption { + example = "/root/cjdns.adminPassword"; + description = '' + File containing a password to the administration port. + ''; + }; + }; + + keyFile = mkOption { + type = types.str; + example = "/root/cjdns.key"; + description = '' + Path to a file containing a cjdns private key on a single line. + ''; + }; + + passwordsFile = mkOption { + type = types.str; + default = null; + example = "/root/cjdns.authorizedPasswords"; + description = '' + A file containing a list of json dictionaries with passwords. + For example: + {"password": "s8xf5z7znl4jt05g922n3wpk75wkypk"}, + { "name": "nice guy", + "password": "xhthk1mglz8tpjrbbvdlhyc092rhpx5"}, + {"password": "3qfxyhmrht7uwzq29pmhbdm9w4bnc8w"} + ''; + }; + + interfaces = { + udp = { + bind = { + address = mkOption { + default = "0.0.0.0"; + description = '' + Address to bind UDP tunnels to; disable by setting to null; + ''; + }; + port = mkOption { + type = types.int; + default = null; + description = '' + Port to bind UDP tunnels to. + A port will be choosen at random if this is not set. + This option is required to act as the server end of + a tunnel. + ''; + }; + }; + }; + + eth = { + bind = mkOption { + default = null; + example = "eth0"; + description = '' + Bind to this device and operate with native wire format. + ''; + }; + + beacon = mkOption { + default = 2; + description = '' + Auto-connect to other cjdns nodes on the same network. + Options: + 0 -- Disabled. + + 1 -- Accept beacons, this will cause cjdns to accept incoming + beacon messages and try connecting to the sender. + + 2 -- Accept and send beacons, this will cause cjdns to broadcast + messages on the local network which contain a randomly + generated per-session password, other nodes which have this + set to 1 or 2 will hear the beacon messages and connect + automatically. + ''; + }; + + connectTo = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Credentials for connecting look similar to UDP credientials + except they begin with the mac address, for example: + "01:02:03:04:05:06":{"password":"a","publicKey":"b"} + ''; + }; + }; + }; + */ + }; + }; + + config = mkIf config.services.cjdns.enable { + + boot.kernelModules = [ "tun" ]; + + /* + networking.firewall.allowedUDPPorts = mkIf (cfg.udp.bind.port != null) [ + cfg.udp.bind.port + ]; + */ + + systemd.services.cjdns = { + description = "encrypted networking for everybody"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network.target" ]; + before = [ "network.target" ]; + path = [ pkgs.cjdns ]; + + serviceConfig = { + Type = "forking"; + ExecStart = '' + ${pkgs.stdenv.shell} -c "${pkgs.cjdns}/sbin/cjdroute < ${cfg.confFile}" + ''; + Restart = "on-failure"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/cntlm.nix b/nixos/modules/services/networking/cntlm.nix index 96396878afc9..a50aa4d0636b 100644 --- a/nixos/modules/services/networking/cntlm.nix +++ b/nixos/modules/services/networking/cntlm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -34,7 +34,7 @@ in password = mkOption { default = "/etc/cntlm.password"; - type = with pkgs.lib.types; string; + type = types.str; description = ''Proxy account password. Note: use chmod 0600 on /etc/cntlm.password for security.''; }; diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix index 2b26fe88129b..7ed1e4805d8f 100644 --- a/nixos/modules/services/networking/connman.nix +++ b/nixos/modules/services/networking/connman.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 08a5d6de6a2b..35a3cfff8406 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let - inherit (pkgs) dhcpcd; + dhcpcd = if !config.boot.isContainer then pkgs.dhcpcd else pkgs.dhcpcd.override { udev = null; }; # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge. @@ -34,8 +34,9 @@ let # Ignore peth* devices; on Xen, they're renamed physical # Ethernet cards used for bridging. Likewise for vif* and tap* - # (Xen) and virbr* and vnet* (libvirt). - denyinterfaces ${toString ignoredInterfaces} peth* vif* tap* tun* virbr* vnet* vboxnet* + # (Xen) and virbr* and vnet* (libvirt) and c-* and ctmp-* (NixOS + # containers). + denyinterfaces ${toString ignoredInterfaces} peth* vif* tap* tun* virbr* vnet* vboxnet* c-* ctmp-* ${config.networking.dhcpcd.extraConfig} ''; @@ -79,6 +80,7 @@ in options = { networking.dhcpcd.denyInterfaces = mkOption { + type = types.listOf types.str; default = []; description = '' Disable the DHCP client for any interface whose name matches @@ -89,6 +91,7 @@ in }; networking.dhcpcd.extraConfig = mkOption { + type = types.lines; default = ""; description = '' Literal string to append to the config file generated for dhcpcd. @@ -106,7 +109,7 @@ in { description = "DHCP Client"; wantedBy = [ "network.target" ]; - after = [ "systemd-udev-settle.service" ]; + after = [ "systemd-udev-settle.service" ]; # FIXME # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix index 5b2058e4e129..89f686c28703 100644 --- a/nixos/modules/services/networking/dhcpd.nix +++ b/nixos/modules/services/networking/dhcpd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix index b726493d421f..8e38b9d017a3 100644 --- a/nixos/modules/services/networking/dnsmasq.nix +++ b/nixos/modules/services/networking/dnsmasq.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.dnsmasq; diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix index 8a01c217eb5c..28b8e234a5cf 100644 --- a/nixos/modules/services/networking/ejabberd.nix +++ b/nixos/modules/services/networking/ejabberd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 3c0c51e6ec8a..42914bfe5d62 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -18,11 +18,9 @@ */ +{ config, lib, pkgs, ... }: - -{ config, pkgs, ... }: - -with pkgs.lib; +with lib; let @@ -32,9 +30,9 @@ let '' # Helper command to manipulate both the IPv4 and IPv6 tables. ip46tables() { - iptables "$@" + iptables -w "$@" ${optionalString config.networking.enableIPv6 '' - ip6tables "$@" + ip6tables -w "$@" ''} } ''; @@ -54,7 +52,7 @@ in networking.firewall.enable = mkOption { type = types.bool; - default = false; + default = true; description = '' Whether to enable the firewall. This is a simple stateful @@ -128,6 +126,17 @@ in ''; }; + networking.firewall.allowedTCPPortRanges = mkOption { + default = []; + example = [ { from = 8999; to = 9003; } ]; + type = types.listOf (types.attrsOf types.int); + description = + '' + A range of TCP ports on which incoming connections are + accepted. + ''; + }; + networking.firewall.allowedUDPPorts = mkOption { default = []; example = [ 53 ]; @@ -138,6 +147,16 @@ in ''; }; + networking.firewall.allowedUDPPortRanges = mkOption { + default = []; + example = [ { from = 60000; to = 61000; } ]; + type = types.listOf (types.attrsOf types.int); + description = + '' + Range of open UDP ports. + ''; + }; + networking.firewall.allowPing = mkOption { default = false; type = types.bool; @@ -150,6 +169,17 @@ in ''; }; + networking.firewall.pingLimit = mkOption { + default = null; + type = types.nullOr (types.separatedString " "); + description = + '' + If pings are allowed, this allows setting rate limits + on them. If non-null, this option should be in the form + of flags like "-limit 1/minute -limit-burst 5" + ''; + }; + networking.firewall.checkReversePath = mkOption { default = kernelHasRPFilter; type = types.bool; @@ -234,14 +264,23 @@ in message = "This kernel does not support disabling conntrack helpers"; } ]; - jobs.firewall = + systemd.services.firewall = { description = "Firewall"; - startOn = "started network-interfaces"; + wantedBy = [ "network.target" ]; + after = [ "network-interfaces.target" "systemd-modules-load.service" ]; path = [ pkgs.iptables ]; - preStart = + # FIXME: this module may also try to load kernel modules, but + # containers don't have CAP_SYS_MODULE. So the host system had + # better have all necessary modules already loaded. + unitConfig.ConditionCapability = "CAP_NET_ADMIN"; + + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + + script = '' ${helpers} @@ -322,6 +361,15 @@ in ) cfg.allowedTCPPorts } + # Accept connections to the allowed TCP port ranges. + ${concatMapStrings (rangeAttr: + let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in + '' + ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept + '' + ) cfg.allowedTCPPortRanges + } + # Accept packets on the allowed UDP ports. ${concatMapStrings (port: '' @@ -330,13 +378,24 @@ in ) cfg.allowedUDPPorts } + # Accept packets on the allowed UDP port ranges. + ${concatMapStrings (rangeAttr: + let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in + '' + ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept + '' + ) cfg.allowedUDPPortRanges + } + # Accept IPv4 multicast. Not a big security risk since # probably nobody is listening anyway. #iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept # Optionally respond to ICMPv4 pings. ${optionalString cfg.allowPing '' - iptables -A nixos-fw -p icmp --icmp-type echo-request -j nixos-fw-accept + iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null) + "-m limit ${cfg.pingLimit} " + }-j nixos-fw-accept ''} # Accept all ICMPv6 messages except redirects and node diff --git a/nixos/modules/services/networking/flashpolicyd.nix b/nixos/modules/services/networking/flashpolicyd.nix index f5bc550ab5f8..5ba85178179b 100644 --- a/nixos/modules/services/networking/flashpolicyd.nix +++ b/nixos/modules/services/networking/flashpolicyd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/freenet.nix b/nixos/modules/services/networking/freenet.nix index a4bd2098986d..e9cacf4a16e8 100644 --- a/nixos/modules/services/networking/freenet.nix +++ b/nixos/modules/services/networking/freenet.nix @@ -1,8 +1,8 @@ # NixOS module for Freenet daemon -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix index a7c7c206198f..5864efaca51f 100644 --- a/nixos/modules/services/networking/git-daemon.nix +++ b/nixos/modules/services/networking/git-daemon.nix @@ -1,5 +1,5 @@ -{pkgs, config, ...}: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.gitDaemon; @@ -101,7 +101,7 @@ in name = "git-daemon"; startOn = "ip-up"; exec = "${pkgs.git}/bin/git daemon --reuseaddr " - + (optionalString (cfg.basePath != "") "--basepath=${cfg.basePath} ") + + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") + "--port=${toString cfg.port} --user=${gitUser} --group=${gitUser} ${cfg.options} " + "--verbose " + (optionalString cfg.exportAll "--export-all") + concatStringsSep " " cfg.repositories; diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 421c0d9bb697..03ee54af4334 100644 --- a/nixos/modules/services/networking/gnunet.nix +++ b/nixos/modules/services/networking/gnunet.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/gogoclient.nix b/nixos/modules/services/networking/gogoclient.nix index 3b92eb8b06bd..416007941976 100644 --- a/nixos/modules/services/networking/gogoclient.nix +++ b/nixos/modules/services/networking/gogoclient.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.gogoclient; in diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix index c8345a528a72..c2e2c2d7a418 100644 --- a/nixos/modules/services/networking/haproxy.nix +++ b/nixos/modules/services/networking/haproxy.nix @@ -1,9 +1,9 @@ -{ config, pkgs, ...}: +{ config, lib, pkgs, ... }: let cfg = config.services.haproxy; haproxyCfg = pkgs.writeText "haproxy.conf" cfg.config; in -with pkgs.lib; +with lib; { options = { services.haproxy = { diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index 4edea12b6be8..2adbb0a5c4e3 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: # TODO: # @@ -9,7 +9,7 @@ # wpa_supplicant and hostapd on the same wireless interface doesn't make any sense # perhaps an assertion that there is a dhcp server and a dns server on the IP address serviced by the hostapd? -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/ifplugd.nix b/nixos/modules/services/networking/ifplugd.nix index 4e939d603542..20bfca8f8723 100644 --- a/nixos/modules/services/networking/ifplugd.nix +++ b/nixos/modules/services/networking/ifplugd.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/iodined.nix b/nixos/modules/services/networking/iodined.nix index cd150fe63fd3..bc0fbb42c99d 100644 --- a/nixos/modules/services/networking/iodined.nix +++ b/nixos/modules/services/networking/iodined.nix @@ -1,8 +1,8 @@ # NixOS module for iodine, ip over dns daemon -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.iodined; diff --git a/nixos/modules/services/networking/ircd-hybrid/default.nix b/nixos/modules/services/networking/ircd-hybrid/default.nix index cd82a41ef7af..a3d5b71740f6 100644 --- a/nixos/modules/services/networking/ircd-hybrid/default.nix +++ b/nixos/modules/services/networking/ircd-hybrid/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index 76dd66013ba7..d2045c9efc58 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -6,8 +6,8 @@ # iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222''; # # Lastly: use this service at your own risk. I am working on a way to run this inside a VM. -{ pkgs, config, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.kippo; in @@ -76,8 +76,9 @@ rec { users.extraUsers = singleton { name = "kippo"; description = "kippo web server privilege separation user"; + uid = 108; # why does config.ids.uids.kippo give an error? }; - users.extraGroups = singleton { name = "kippo"; }; + users.extraGroups = singleton { name = "kippo";gid=108; }; systemd.services.kippo = with pkgs; { description = "Kippo Web Server"; diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 73fcb1eeea8e..a519857d6a0b 100644 --- a/nixos/modules/services/networking/minidlna.nix +++ b/nixos/modules/services/networking/minidlna.nix @@ -1,8 +1,8 @@ # Module for MiniDLNA, a simple DLNA server. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix new file mode 100644 index 000000000000..4f91a4947479 --- /dev/null +++ b/nixos/modules/services/networking/murmur.nix @@ -0,0 +1,253 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.murmur; + configFile = pkgs.writeText "murmurd.ini" '' + database=/var/lib/murmur/murmur.sqlite + dbDriver=QSQLITE + + autobanAttempts=${toString cfg.autobanAttempts} + autobanTimeframe=${toString cfg.autobanTimeframe} + autobanTime=${toString cfg.autobanTime} + + logfile=/var/log/murmur/murmurd.log + pidfile=${cfg.pidfile} + + welcome="${cfg.welcome}" + port=${toString cfg.port} + + ${if cfg.hostName == "" then "" else "host="+cfg.hostName} + ${if cfg.password == "" then "" else "serverpassword="+cfg.password} + + bandwidth=${toString cfg.bandwidth} + users=${toString cfg.users} + + textmessagelength=${toString cfg.textMsgLength} + imagemessagelength=${toString cfg.imgMsgLength} + allowhtml=${if cfg.allowHtml then "true" else "false"} + logdays=${toString cfg.logDays} + bonjour=${if cfg.bonjour then "true" else "false"} + sendversion=${if cfg.sendVersion then "true" else "false"} + + ${if cfg.registerName == "" then "" else "registerName="+cfg.registerName} + ${if cfg.registerPassword == "" then "" else "registerPassword="+cfg.registerPassword} + ${if cfg.registerUrl == "" then "" else "registerUrl="+cfg.registerUrl} + ${if cfg.registerHostname == "" then "" else "registerHostname="+cfg.registerHostname} + + certrequired=${if cfg.clientCertRequired then "true" else "false"} + ${if cfg.sslCert == "" then "" else "sslCert="+cfg.sslCert} + ${if cfg.sslKey == "" then "" else "sslKey="+cfg.sslKey} + ''; +in +{ + options = { + services.murmur = { + enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, start the Murmur Service."; + }; + + autobanAttempts = mkOption { + type = types.int; + default = 10; + description = '' + Number of attempts a client is allowed to make in + autobanTimeframe seconds, before being + banned for autobanTime. + ''; + }; + + autobanTimeframe = mkOption { + type = types.int; + default = 120; + description = '' + Timeframe in which a client can connect without being banned + for repeated attempts (in seconds). + ''; + }; + + autobanTime = mkOption { + type = types.int; + default = 300; + description = "The amount of time an IP ban lasts (in seconds)."; + }; + + pidfile = mkOption { + type = types.path; + default = "/tmp/murmurd.pid"; + description = "Path to PID file for Murmur daemon."; + }; + + welcome = mkOption { + type = types.str; + default = ""; + description = "Welcome message for connected clients."; + }; + + port = mkOption { + type = types.int; + default = 64738; + description = "Ports to bind to (UDP and TCP)."; + }; + + hostName = mkOption { + type = types.str; + default = ""; + description = "Host to bind to. Defaults binding on all addresses."; + }; + + password = mkOption { + type = types.str; + default = ""; + description = "Required password to join server, if specified."; + }; + + bandwidth = mkOption { + type = types.int; + default = 72000; + description = '' + Maximum bandwidth (in bits per second) that clients may send + speech at. + ''; + }; + + users = mkOption { + type = types.int; + default = 100; + description = "Maximum number of concurrent clients allowed."; + }; + + textMsgLength = mkOption { + type = types.int; + default = 5000; + description = "Max length of text messages. Set 0 for no limit."; + }; + + imgMsgLength = mkOption { + type = types.int; + default = 131072; + description = "Max length of image messages. Set 0 for no limit."; + }; + + allowHtml = mkOption { + type = types.bool; + default = true; + description = '' + Allow HTML in client messages, comments, and channel + descriptions. + ''; + }; + + logDays = mkOption { + type = types.int; + default = 31; + description = '' + How long to store RPC logs for in the database. Set 0 to + keep logs forever, or -1 to disable DB logging. + ''; + }; + + bonjour = mkOption { + type = types.bool; + default = false; + description = '' + Enable Bonjour auto-discovery, which allows clients over + your LAN to automatically discover Murmur servers. + ''; + }; + + sendVersion = mkOption { + type = types.bool; + default = true; + description = "Send Murmur version in UDP response."; + }; + + registerName = mkOption { + type = types.str; + default = ""; + description = '' + Public server registration name, and also the name of the + Root channel. Even if you don't publicly register your + server, you probably still want to set this. + ''; + }; + + registerPassword = mkOption { + type = types.str; + default = ""; + description = '' + Public server registry password, used authenticate your + server to the registry to prevent impersonation; required for + subsequent registry updates. + ''; + }; + + registerUrl = mkOption { + type = types.str; + default = ""; + description = "URL website for your server."; + }; + + registerHostname = mkOption { + type = types.str; + default = ""; + description = '' + DNS hostname where your server can be reached. This is only + needed if you want your server to be accessed by its + hostname and not IP - but the name *must* resolve on the + internet properly. + ''; + }; + + clientCertRequired = mkOption { + type = types.bool; + default = false; + description = "Require clients to authenticate via certificates."; + }; + + sslCert = mkOption { + type = types.str; + default = ""; + description = "Path to your SSL certificate."; + }; + + sslKey = mkOption { + type = types.str; + default = ""; + description = "Path to your SSL key."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.murmur = { + description = "Murmur Service user"; + home = "/var/lib/murmur"; + createHome = true; + uid = config.ids.uids.murmur; + }; + + systemd.services.murmur = { + description = "Murmur Chat Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target "]; + + serviceConfig = { + Type = "forking"; + PIDFile = cfg.pidfile; + Restart = "always"; + User = "murmur"; + ExecStart = "${pkgs.murmur}/bin/murmurd -ini ${configFile}"; + PermissionsStartOnly = true; + }; + + preStart = '' + mkdir -p /var/log/murmur + chown -R murmur /var/log/murmur + ''; + }; + }; +} diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index ce28f0188284..e8d9d00cc0a2 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -2,14 +2,16 @@ # XXX: todo: support multiple upstream links # see http://yesican.chsoft.biz/lartc/MultihomedLinuxNetworking.html -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.networking.nat; + dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}"; + in { @@ -27,14 +29,27 @@ in ''; }; + networking.nat.internalInterfaces = mkOption { + type = types.listOf types.str; + default = []; + example = [ "eth0" ]; + description = + '' + The interfaces for which to perform NAT. Packets coming from + these interface and destined for the external interface will + be rewritten. + ''; + }; + networking.nat.internalIPs = mkOption { type = types.listOf types.str; - example = [ "192.168.1.0/24" ] ; + default = []; + example = [ "192.168.1.0/24" ]; description = '' The IP address ranges for which to perform NAT. Packets - coming from these networks and destined for the external - interface will be rewritten. + coming from these addresses (on any interface) and destined + for the external interface will be rewritten. ''; }; @@ -80,25 +95,37 @@ in preStart = '' - iptables -t nat -F POSTROUTING - iptables -t nat -X - '' - + (concatMapStrings (network: - '' - iptables -t nat -A POSTROUTING \ - -s ${network} -o ${cfg.externalInterface} \ - ${if cfg.externalIP == null - then "-j MASQUERADE" - else "-j SNAT --to-source ${cfg.externalIP}"} - '' - ) cfg.internalIPs) + - '' + iptables -w -t nat -F PREROUTING + iptables -w -t nat -F POSTROUTING + iptables -w -t nat -X + + # We can't match on incoming interface in POSTROUTING, so + # mark packets coming from the external interfaces. + ${concatMapStrings (iface: '' + iptables -w -t nat -A PREROUTING \ + -i '${iface}' -j MARK --set-mark 1 + '') cfg.internalInterfaces} + + # NAT the marked packets. + ${optionalString (cfg.internalInterfaces != []) '' + iptables -w -t nat -A POSTROUTING -m mark --mark 1 \ + -o ${cfg.externalInterface} ${dest} + ''} + + # NAT packets coming from the internal IPs. + ${concatMapStrings (range: '' + iptables -w -t nat -A POSTROUTING \ + -s '${range}' -o ${cfg.externalInterface} ${dest} + '') cfg.internalIPs} + echo 1 > /proc/sys/net/ipv4/ip_forward ''; postStop = '' - iptables -t nat -F POSTROUTING + iptables -w -t nat -F PREROUTING + iptables -w -t nat -F POSTROUTING + iptables -w -t nat -X ''; }; }; diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 40c20aae4ef0..54bdf19373d5 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let @@ -31,7 +31,7 @@ let [modem-manager] Identity=unix-group:networkmanager - Action=org.freedesktop.ModemManager.* + Action=org.freedesktop.ModemManager* ResultAny=yes ResultInactive=no ResultActive=yes @@ -42,7 +42,7 @@ let subject.isInGroup("networkmanager") && subject.active && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 - || action.id.indexOf("org.freedesktop.ModemManager.") == 0 + || action.id.indexOf("org.freedesktop.ModemManager") == 0 )) { return polkit.Result.YES; } }); @@ -89,7 +89,7 @@ in { to change network settings to this group. ''; }; - + packages = mkOption { type = types.listOf types.path; default = [ ]; @@ -130,6 +130,8 @@ in { message = "You can not use networking.networkmanager with services.networking.wireless"; }]; + boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections. + environment.etc = [ { source = ipUpScript; target = "NetworkManager/dispatcher.d/01nixos-ip-up"; @@ -159,6 +161,7 @@ in { networkmanager_vpnc networkmanager_openconnect networkmanager_pptp + modemmanager ]; users.extraGroups = singleton { @@ -174,16 +177,13 @@ in { systemd.services."networkmanager-init" = { description = "NetworkManager initialisation"; wantedBy = [ "network.target" ]; - partOf = [ "NetworkManager.service" ]; wants = [ "NetworkManager.service" ]; before = [ "NetworkManager.service" ]; script = '' mkdir -m 700 -p /etc/NetworkManager/system-connections mkdir -m 755 -p ${stateDirs} ''; - serviceConfig = { - Type = "oneshot"; - }; + serviceConfig.Type = "oneshot"; }; # Turn off NixOS' network management @@ -204,6 +204,7 @@ in { networkmanager_vpnc networkmanager_openconnect networkmanager_pptp + modemmanager ]; services.udev.packages = cfg.packages; diff --git a/nixos/modules/services/networking/ngircd.nix b/nixos/modules/services/networking/ngircd.nix new file mode 100644 index 000000000000..49e5f3559803 --- /dev/null +++ b/nixos/modules/services/networking/ngircd.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ngircd; + + configFile = pkgs.stdenv.mkDerivation { + name = "ngircd.conf"; + + text = cfg.config; + + preferLocalBuild = true; + + buildCommand = '' + echo -n "$text" > $out + ${cfg.package}/sbin/ngircd --config $out --configtest + ''; + }; +in { + options = { + services.ngircd = { + enable = mkEnableOption "the ngircd IRC server"; + + config = mkOption { + description = "The ngircd configuration (see ngircd.conf(5))."; + + type = types.lines; + }; + + package = mkOption { + description = "The ngircd package."; + + type = types.package; + + default = pkgs.ngircd; + }; + }; + }; + + config = mkIf cfg.enable { + #!!! TODO: Use ExecReload (see https://github.com/NixOS/nixpkgs/issues/1988) + systemd.services.ngircd = { + description = "The ngircd IRC server"; + + wantedBy = [ "multi-user.target" ]; + + serviceConfig.ExecStart = "${cfg.package}/sbin/ngircd --config ${configFile} --nodaemon"; + + serviceConfig.User = "ngircd"; + }; + + users.extraUsers.ngircd = { + uid = config.ids.uids.ngircd; + description = "ngircd user."; + }; + }; +} diff --git a/nixos/modules/services/networking/notbit.nix b/nixos/modules/services/networking/notbit.nix new file mode 100644 index 000000000000..b97435042395 --- /dev/null +++ b/nixos/modules/services/networking/notbit.nix @@ -0,0 +1,93 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.notbit; + varDir = "/var/lib/notbit"; + + sendmail = pkgs.stdenv.mkDerivation { + name = "notbit-wrapper"; + buildInputs = [ pkgs.makeWrapper ]; + propagatedBuildInputs = [ pkgs.notbit ]; + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${pkgs.notbit}/bin/notbit-sendmail $out/bin/notbit-system-sendmail \ + --set XDG_RUNTIME_DIR ${varDir} + ''; + }; +in + +with lib; +{ + + ### configuration + + options = { + + services.notbit = { + + enable = mkOption { + type = types.uniq types.bool; + default = false; + description = '' + Enables the notbit daemon and provides a sendmail binary named `notbit-system-sendmail` for sending mail over the system instance of notbit. Users must be in the notbit group in order to send mail over the system notbit instance. Currently mail recipt is not supported. + ''; + }; + + port = mkOption { + type = types.uniq types.int; + default = 8443; + description = "The port which the daemon listens for other bitmessage clients"; + }; + + nice = mkOption { + type = types.uniq types.int; + default = 10; + description = "Set the nice level for the notbit daemon"; + }; + + }; + + }; + + ### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.notbit sendmail ]; + + systemd.services.notbit = { + description = "Notbit daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.notbit ]; + environment = { XDG_RUNTIME_DIR = varDir; }; + + postStart = '' + [ ! -f "${varDir}/addr" ] && notbit-keygen > ${varDir}/addr + chmod 0640 ${varDir}/{addr,notbit/notbit-ipc.lock} + chmod 0750 ${varDir}/notbit/{,notbit-ipc} + ''; + + serviceConfig = { + Type = "forking"; + ExecStart = "${pkgs.notbit}/bin/notbit -d -p ${toString cfg.port}"; + User = "notbit"; + Group = "notbit"; + UMask = "0077"; + WorkingDirectory = varDir; + Nice = cfg.nice; + }; + }; + + users.extraUsers.notbit = { + group = "notbit"; + description = "Notbit daemon user"; + home = varDir; + createHome = true; + uid = config.ids.uids.notbit; + }; + + users.extraGroups.notbit.gid = config.ids.gids.notbit; + }; + +} diff --git a/nixos/modules/services/networking/ntopng.nix b/nixos/modules/services/networking/ntopng.nix index 156a6b32a6ab..ab86f1a5b2b4 100644 --- a/nixos/modules/services/networking/ntopng.nix +++ b/nixos/modules/services/networking/ntopng.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix index e5e164021d3a..2f638904406b 100644 --- a/nixos/modules/services/networking/ntpd.nix +++ b/nixos/modules/services/networking/ntpd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -15,6 +15,11 @@ let # chroot to ${stateDir}, we have to specify it as /ntp.drift. driftfile /ntp.drift + restrict default kod nomodify notrap nopeer noquery + restrict -6 default kod nomodify notrap nopeer noquery + restrict 127.0.0.1 + restrict -6 ::1 + ${toString (map (server: "server " + server + " iburst\n") config.services.ntp.servers)} ''; @@ -31,7 +36,7 @@ in services.ntp = { enable = mkOption { - default = true; + default = !config.boot.isContainer; description = '' Whether to synchronise your machine's time using the NTP protocol. diff --git a/nixos/modules/services/networking/oidentd.nix b/nixos/modules/services/networking/oidentd.nix index a2a555a8ad1b..923e7cd0986e 100644 --- a/nixos/modules/services/networking/oidentd.nix +++ b/nixos/modules/services/networking/oidentd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/networking/openfire.nix b/nixos/modules/services/networking/openfire.nix index b2efb5e9c123..c3b4ba90b4e7 100644 --- a/nixos/modules/services/networking/openfire.nix +++ b/nixos/modules/services/networking/openfire.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix index 292d45f43475..e3998b1e5b28 100644 --- a/nixos/modules/services/networking/openvpn.nix +++ b/nixos/modules/services/networking/openvpn.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix index fb541bf101ae..ad0fb0af01cb 100644 --- a/nixos/modules/services/networking/prayer.nix +++ b/nixos/modules/services/networking/prayer.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index 89c40c531579..950112b2dabe 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix index f3a4e457ec84..749e5dcebb61 100644 --- a/nixos/modules/services/networking/quassel.nix +++ b/nixos/modules/services/networking/quassel.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let quassel = pkgs.kde4.quasselDaemon; diff --git a/nixos/modules/services/networking/radvd.nix b/nixos/modules/services/networking/radvd.nix index 8d586ce6e46b..08762c9c8372 100644 --- a/nixos/modules/services/networking/radvd.nix +++ b/nixos/modules/services/networking/radvd.nix @@ -1,8 +1,8 @@ # Module for the IPv6 Router Advertisement Daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/rdnssd.nix b/nixos/modules/services/networking/rdnssd.nix index f797206ad5c7..4c1891816e3e 100644 --- a/nixos/modules/services/networking/rdnssd.nix +++ b/nixos/modules/services/networking/rdnssd.nix @@ -1,9 +1,9 @@ # Module for rdnssd, a daemon that configures DNS servers in # /etc/resolv/conf from IPv6 RDNSS advertisements. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/networking/rpcbind.nix b/nixos/modules/services/networking/rpcbind.nix index c966f85e260d..eef1e8e8cd88 100644 --- a/nixos/modules/services/networking/rpcbind.nix +++ b/nixos/modules/services/networking/rpcbind.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/sabnzbd.nix b/nixos/modules/services/networking/sabnzbd.nix index 8816ac0d2f83..83db0841b346 100644 --- a/nixos/modules/services/networking/sabnzbd.nix +++ b/nixos/modules/services/networking/sabnzbd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix new file mode 100644 index 000000000000..b29db58af99b --- /dev/null +++ b/nixos/modules/services/networking/searx.nix @@ -0,0 +1,75 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.searx; + + configFile = cfg.configFile; + +in + +{ + + ###### interface + + options = { + + services.searx = { + + enable = mkOption { + default = false; + description = " + Whether to enable the Searx server. See https://github.com/asciimoo/searx + "; + }; + + configFile = mkOption { + default = ""; + description = " + The path of the Searx server configuration file. If no file + is specified, a default file is used (default config file has + debug mode enabled). + "; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.searx.enable { + + users.extraUsers.searx = + { uid = config.ids.uids.searx; + description = "Searx user"; + createHome = true; + home = "/var/lib/searx"; + }; + + users.extraGroups.searx = + { gid = config.ids.gids.searx; + }; + + systemd.services.searx = + { + description = "Searx server, the meta search engine."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "searx"; + ExecStart = "${pkgs.pythonPackages.searx}/bin/searx-run"; + }; + } // (optionalAttrs (configFile != "") { + environment.SEARX_SETTINGS_PATH = configFile; + }); + + + environment.systemPackages = [ pkgs.pythonPackages.searx ]; + + }; + +} diff --git a/nixos/modules/services/networking/spiped.nix b/nixos/modules/services/networking/spiped.nix new file mode 100644 index 000000000000..ec5908b182fb --- /dev/null +++ b/nixos/modules/services/networking/spiped.nix @@ -0,0 +1,212 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.spiped; +in +{ + options = { + services.spiped = mkOption { + type = types.attrsOf (types.submodule ( + { + options = { + encrypt = mkOption { + type = types.bool; + default = false; + description = '' + Take unencrypted connections from the + source socket and send encrypted + connections to the target socket. + ''; + }; + + decrypt = mkOption { + type = types.bool; + default = false; + description = '' + Take encrypted connections from the + source socket and send unencrypted + connections to the target socket. + ''; + }; + + source = mkOption { + type = types.str; + description = '' + Address on which spiped should listen for incoming + connections. Must be in one of the following formats: + /absolute/path/to/unix/socket, + host.name:port, + [ip.v4.ad.dr]:port or + [ipv6::addr]:port - note that + hostnames are resolved when spiped is launched and are + not re-resolved later; thus if DNS entries change + spiped will continue to connect to the expired + address. + ''; + }; + + target = mkOption { + type = types.str; + description = "Address to which spiped should connect."; + }; + + keyfile = mkOption { + type = types.path; + description = '' + Name of a file containing the spiped key. As the + daemon runs as the spiped user, the + key file must be somewhere owned by that user. By + default, we recommend putting the keys for any spipe + services in /var/lib/spiped. + ''; + }; + + timeout = mkOption { + type = types.int; + default = 5; + description = '' + Timeout, in seconds, after which an attempt to connect to + the target or a protocol handshake will be aborted (and the + connection dropped) if not completed + ''; + }; + + maxConns = mkOption { + type = types.int; + default = 100; + description = '' + Limit on the number of simultaneous connections allowed. + ''; + }; + + waitForDNS = mkOption { + type = types.bool; + default = false; + description = '' + Wait for DNS. Normally when spiped is + launched it resolves addresses and binds to its source + socket before the parent process returns; with this option + it will daemonize first and retry failed DNS lookups until + they succeed. This allows spiped to + launch even if DNS isn't set up yet, but at the expense of + losing the guarantee that once spiped has + finished launching it will be ready to create pipes. + ''; + }; + + disableKeepalives = mkOption { + type = types.bool; + default = false; + description = "Disable transport layer keep-alives."; + }; + + weakHandshake = mkOption { + type = types.bool; + default = false; + description = '' + Use fast/weak handshaking: This reduces the CPU time spent + in the initial connection setup, at the expense of losing + perfect forward secrecy. + ''; + }; + + resolveRefresh = mkOption { + type = types.int; + default = 60; + description = '' + Resolution refresh time for the target socket, in seconds. + ''; + }; + + disableReresolution = mkOption { + type = types.bool; + default = false; + description = "Disable target address re-resolution."; + }; + }; + } + )); + + default = {}; + + example = literalExample '' + { + pipe1 = + { keyfile = "/var/lib/spiped/pipe1.key"; + encrypt = true; + source = "localhost:6000"; + target = "endpoint.example.com:7000"; + }; + pipe2 = + { keyfile = "/var/lib/spiped/pipe2.key"; + decrypt = true; + source = "0.0.0.0:7000"; + target = "localhost:3000"; + }; + } + ''; + + description = '' + Configuration for a secure pipe daemon. The daemon can be + started, stopped, or examined using + systemctl, under the name + spiped@foo. + ''; + }; + }; + + config = { + assertions = mapAttrsToList (name: c: { + assertion = (c.encrypt -> !c.decrypt) || (c.decrypt -> c.encrypt); + message = "A pipe must either encrypt or decrypt"; + }) cfg; + + users.extraGroups.spiped.gid = config.ids.gids.spiped; + users.extraUsers.spiped = { + description = "Secure Pipe Service user"; + group = "spiped"; + uid = config.ids.uids.spiped; + }; + + systemd.services."spiped@" = { + description = "Secure pipe '%i'"; + after = [ "network.target" ]; + + serviceConfig = { + Restart = "always"; + User = "spiped"; + PermissionsStartOnly = true; + }; + + preStart = '' + cd /var/lib/spiped + chmod -R 0660 * + chown -R spiped:spiped * + ''; + scriptArgs = "%i"; + script = "exec ${pkgs.spiped}/bin/spiped -F `cat /etc/spiped/$1.spec`"; + }; + + system.activationScripts.spiped = optionalString (cfg != {}) + "mkdir -p /var/lib/spiped"; + + # Setup spiped config files + environment.etc = mapAttrs' (name: cfg: nameValuePair "spiped/${name}.spec" + { text = concatStringsSep " " + [ (if cfg.encrypt then "-e" else "-d") # Mode + "-s ${cfg.source}" # Source + "-t ${cfg.target}" # Target + "-k ${cfg.keyfile}" # Keyfile + "-n ${toString cfg.maxConns}" # Max number of conns + "-o ${toString cfg.timeout}" # Timeout + (optionalString cfg.waitForDNS "-D") # Wait for DNS + (optionalString cfg.weakHandshake "-f") # No PFS + (optionalString cfg.disableKeepalives "-j") # Keepalives + (if cfg.disableReresolution then "-R" + else "-r ${toString cfg.resolveRefresh}") + ]; + }) cfg; + }; +} diff --git a/nixos/modules/services/networking/ssh/lshd.nix b/nixos/modules/services/networking/ssh/lshd.nix index 04ef76f1e4d4..fca30a1fe49c 100644 --- a/nixos/modules/services/networking/ssh/lshd.nix +++ b/nixos/modules/services/networking/ssh/lshd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 85b6ab1efecf..b66ccb87120c 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -258,7 +258,6 @@ in path = [ pkgs.openssh pkgs.gawk ]; environment.LD_LIBRARY_PATH = nssModulesPath; - environment.LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; preStart = '' @@ -285,7 +284,7 @@ in networking.firewall.allowedTCPPorts = cfg.ports; security.pam.services.sshd = - { startSession = true; + { startSession = !config.boot.isContainer; showMotd = true; unixAuth = cfg.passwordAuthentication; }; diff --git a/nixos/modules/services/networking/supybot.nix b/nixos/modules/services/networking/supybot.nix index fa8b7556de5d..2cfb9fc9b923 100644 --- a/nixos/modules/services/networking/supybot.nix +++ b/nixos/modules/services/networking/supybot.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix new file mode 100644 index 000000000000..02572c1e27d2 --- /dev/null +++ b/nixos/modules/services/networking/syncthing.nix @@ -0,0 +1,78 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.syncthing; + +in + +{ + + ###### interface + + options = { + + services.syncthing = { + + enable = mkOption { + default = false; + description = '' + Whether to enable the Syncthing, self-hosted open-source alternative + to Dropbox and BittorrentSync. Initial interface will be + available on http://127.0.0.1:8080/. + ''; + }; + + user = mkOption { + default = "syncthing"; + description = '' + Syncthing will be run under this user (user must exist, + this can be your user name). + ''; + }; + + dataDir = mkOption { + default = "/var/lib/syncthing"; + description = '' + Path where the `.syncthing` (settings and keys) and `Sync` + (your synced files) directories will exist. This can be your home + directory. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.syncthing = + { + description = "Syncthing service"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.STNORESTART = "placeholder"; # do not self-restart + environment.HOME = "${cfg.dataDir}"; + serviceConfig = { + User = "${cfg.user}"; + PermissionsStartOnly = true; + Restart = "always"; + ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${cfg.dataDir}/.syncthing"; + }; + preStart = '' + mkdir -p ${cfg.dataDir} + chown ${cfg.user} ${cfg.dataDir} + ''; + + }; + + environment.systemPackages = [ pkgs.syncthing ]; + + }; + +} diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix index 48cb884f2466..1359006aef4e 100644 --- a/nixos/modules/services/networking/tcpcrypt.nix +++ b/nixos/modules/services/networking/tcpcrypt.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/tftpd.nix b/nixos/modules/services/networking/tftpd.nix index 37935496c597..a2f7ff06ea61 100644 --- a/nixos/modules/services/networking/tftpd.nix +++ b/nixos/modules/services/networking/tftpd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix index fb75b4ed069a..30ce4b49fa8d 100644 --- a/nixos/modules/services/networking/unbound.nix +++ b/nixos/modules/services/networking/unbound.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 1c77cc6df4ea..62b6027c0120 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -91,6 +91,7 @@ let ${optionalString (pkgs.stdenv.system == "x86_64-linux") '' seccomp_sandbox=NO ''} + anon_umask=${cfg.anonymousUmask} ''; in @@ -139,6 +140,13 @@ in description = "RSA certificate file."; }; + anonymousUmask = mkOption { + type = types.string; + default = "077"; + example = "002"; + description = "Anonymous write umask."; + }; + } // (listToAttrs (catAttrs "nixosOption" optionDescription)); }; diff --git a/nixos/modules/services/networking/wakeonlan.nix b/nixos/modules/services/networking/wakeonlan.nix index 1fc54986b16f..11bb7e925255 100644 --- a/nixos/modules/services/networking/wakeonlan.nix +++ b/nixos/modules/services/networking/wakeonlan.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let interfaces = config.services.wakeonlan.interfaces; diff --git a/nixos/modules/services/networking/websockify.nix b/nixos/modules/services/networking/websockify.nix index 12042bbad6c9..4b76350ecf8a 100644 --- a/nixos/modules/services/networking/websockify.nix +++ b/nixos/modules/services/networking/websockify.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.networking.websockify; in { options = { diff --git a/nixos/modules/services/networking/wicd.nix b/nixos/modules/services/networking/wicd.nix index 8e0122732164..18258084fc2c 100644 --- a/nixos/modules/services/networking/wicd.nix +++ b/nixos/modules/services/networking/wicd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index 5e5f81ed5a0b..eb721ec34559 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 626183b810f1..14ee52ae52e6 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 1be3587c3bb9..4b758608cb64 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -143,7 +143,9 @@ in }; services.printing.drivers = - [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends pkgs.perl pkgs.coreutils pkgs.gnused ]; + [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends + pkgs.perl pkgs.coreutils pkgs.gnused pkgs.bc pkgs.gawk pkgs.gnugrep + ]; services.printing.cupsdConf = '' diff --git a/nixos/modules/services/scheduling/atd.nix b/nixos/modules/services/scheduling/atd.nix index c516c5889f12..c6f128ec4026 100644 --- a/nixos/modules/services/scheduling/atd.nix +++ b/nixos/modules/services/scheduling/atd.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix index 44ed1ba5a078..5da71b12dd76 100644 --- a/nixos/modules/services/scheduling/cron.nix +++ b/nixos/modules/services/scheduling/cron.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix index fda29ca0482b..346a64f2c3cb 100644 --- a/nixos/modules/services/scheduling/fcron.nix +++ b/nixos/modules/services/scheduling/fcron.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index b3d934862abf..b7a3566f95d9 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -1,20 +1,26 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.elasticsearch; - es_home = "/var/lib/elasticsearch"; - - configFile = pkgs.writeText "elasticsearch.yml" '' + esConfig = '' network.host: ${cfg.host} - network.port: ${cfg.port} - network.tcp.port: ${cfg.tcp_port} + network.port: ${toString cfg.port} + network.tcp.port: ${toString cfg.tcp_port} cluster.name: ${cfg.cluster_name} ${cfg.extraConf} ''; + configDir = pkgs.buildEnv { + name = "elasticsearch-config"; + paths = [ + (pkgs.writeTextDir "elasticsearch.yml" esConfig) + (pkgs.writeTextDir "logging.yml" cfg.logging) + ]; + }; + in { ###### interface @@ -34,14 +40,14 @@ in { port = mkOption { description = "Elasticsearch port to listen for HTTP traffic"; - default = "9200"; - type = types.str; + default = 9200; + type = types.int; }; tcp_port = mkOption { description = "Elasticsearch port for the node to node communication"; - default = "9300"; - type = types.str; + default = 9300; + type = types.int; }; cluster_name = mkOption { @@ -79,27 +85,32 @@ in { ''; type = types.str; }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/elasticsearch"; + description = '' + Data directory for elasticsearch. + ''; + }; }; ###### implementation config = mkIf cfg.enable { - environment.etc = [ - { source = configFile; - target = "elasticsearch/elasticsearch.yml"; } - { source = pkgs.writeText "logging.yml" cfg.logging; - target = "elasticsearch/logging.yml"; } - ]; - systemd.services.elasticsearch = { description = "Elasticsearch daemon"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; - environment = { ES_HOME = es_home; }; + environment = { ES_HOME = cfg.dataDir; }; serviceConfig = { - ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -f -Des.path.conf=/etc/elasticsearch"; + ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -f -Des.path.conf=${configDir}"; User = "elasticsearch"; }; + preStart = '' + mkdir -m 0700 -p ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi + ''; }; environment.systemPackages = [ pkgs.elasticsearch ]; @@ -108,8 +119,7 @@ in { name = "elasticsearch"; uid = config.ids.uids.elasticsearch; description = "Elasticsearch daemon user"; - home = es_home; - createHome = true; + home = cfg.dataDir; }; }; } diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix new file mode 100644 index 000000000000..38d9dedbe3cf --- /dev/null +++ b/nixos/modules/services/search/solr.nix @@ -0,0 +1,147 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.solr; + + # Assemble all jars needed for solr + solrJars = pkgs.stdenv.mkDerivation { + name = "solr-jars"; + + src = pkgs.fetchurl { + url = http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.36/bin/apache-tomcat-5.5.36.tar.gz; + sha256 = "01mzvh53wrs1p2ym765jwd00gl6kn8f9k3nhdrnhdqr8dhimfb2p"; + }; + + buildPhases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib + cp common/lib/*.jar $out/lib/ + ln -s ${pkgs.ant}/lib/ant/lib/ant.jar $out/lib/ + ln -s ${cfg.solrPackage}/lib/ext/* $out/lib/ + ln -s ${pkgs.openjdk}/lib/openjdk/lib/tools.jar $out/lib/ + '' + optionalString (cfg.extraJars != []) '' + for f in ${concatStringsSep " " cfg.extraJars}; do + cp $f $out/lib + done + ''; + }; + +in { + + options = { + services.solr = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables the solr service. + ''; + }; + + javaPackage = mkOption { + type = types.package; + default = pkgs.openjre; + description = '' + Which Java derivation to use for running solr. + ''; + }; + + solrPackage = mkOption { + type = types.package; + default = pkgs.solr; + description = '' + Which solr derivation to use for running solr. + ''; + }; + + extraJars = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of paths pointing to jars. Jars are copied to commonLibFolder to be available to java/solr. + ''; + }; + + log4jConfiguration = mkOption { + type = types.lines; + default = '' + log4j.rootLogger=INFO, stdout + log4j.appender.stdout=org.apache.log4j.ConsoleAppender + log4j.appender.stdout.Target=System.out + log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n + ''; + description = '' + Contents of the log4j.properties used. By default, + everything is logged to stdout (picked up by systemd) with level INFO. + ''; + }; + + user = mkOption { + type = types.str; + description = '' + The user that should run the solr process and. + the working directories. + ''; + }; + + group = mkOption { + type = types.str; + description = '' + The group that will own the working directory. + ''; + }; + + solrHome = mkOption { + type = types.str; + description = '' + The solr home directory. It is your own responsibility to + make sure this directory contains a working solr configuration, + and is writeable by the the user running the solr service. + Failing to do so, the solr will not start properly. + ''; + }; + + extraJavaOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the java process running + solr. + ''; + }; + + extraWinstoneOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the Winstone, which is + the servlet container hosting solr. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + services.winstone.solr = { + serviceName = "solr"; + inherit (cfg) user group javaPackage; + warFile = "${cfg.solrPackage}/lib/solr.war"; + extraOptions = [ + "--commonLibFolder=${solrJars}/lib" + "--useJasper" + ] ++ cfg.extraWinstoneOptions; + extraJavaOptions = [ + "-Dsolr.solr.home=${cfg.solrHome}" + "-Dlog4j.configuration=file://${pkgs.writeText "log4j.properties" cfg.log4jConfiguration}" + ] ++ cfg.extraJavaOptions; + }; + + }; + +} diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix index 5ccb4927fcb7..057891a60475 100644 --- a/nixos/modules/services/security/clamav.nix +++ b/nixos/modules/services/security/clamav.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let clamavUser = "clamav"; stateDir = "/var/lib/clamav"; diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix index ae1fd22d23ee..af5450166379 100644 --- a/nixos/modules/services/security/fail2ban.nix +++ b/nixos/modules/services/security/fail2ban.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/security/fprot.nix b/nixos/modules/services/security/fprot.nix index 9f1fc4ed6d8b..7270a9f98145 100644 --- a/nixos/modules/services/security/fprot.nix +++ b/nixos/modules/services/security/fprot.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let fprotUser = "fprot"; stateDir = "/var/lib/fprot"; @@ -10,33 +10,31 @@ in { services.fprot = { updater = { - enable = mkOption { - default = false; - description = '' - Whether to enable automatic F-Prot virus definitions database updates. - ''; - }; + enable = mkOption { + default = false; + description = '' + Whether to enable automatic F-Prot virus definitions database updates. + ''; + }; - productData = mkOption { - default = "${pkgs.fprot}/opt/f-prot/product.data"; - description = '' - product.data file. Defaults to the one supplied with installation package. - ''; - }; + productData = mkOption { + description = '' + product.data file. Defaults to the one supplied with installation package. + ''; + }; - frequency = mkOption { - default = 30; - description = '' - Update virus definitions every X minutes. - ''; - }; + frequency = mkOption { + default = 30; + description = '' + Update virus definitions every X minutes. + ''; + }; - licenseKeyfile = mkOption { - default = "${pkgs.fprot}/opt/f-prot/license.key"; - description = '' - License keyfile. Defaults to the one supplied with installation package. - ''; - }; + licenseKeyfile = mkOption { + description = '' + License keyfile. Defaults to the one supplied with installation package. + ''; + }; }; }; @@ -45,6 +43,10 @@ in { ###### implementation config = mkIf cfg.updater.enable { + + services.fprot.updater.productData = mkDefault "${pkgs.fprot}/opt/f-prot/product.data"; + services.fprot.updater.licenseKeyfile = mkDefault "${pkgs.fprot}/opt/f-prot/license.key"; + environment.systemPackages = [ pkgs.fprot ]; environment.etc = singleton { source = "${pkgs.fprot}/opt/f-prot/f-prot.conf"; @@ -67,22 +69,22 @@ in { jobs = { fprot_updater = { - name = "fprot-updater"; - task = true; + name = "fprot-updater"; + task = true; - # have to copy fpupdate executable because it insists on storing the virus database in the same dir + # have to copy fpupdate executable because it insists on storing the virus database in the same dir preStart = '' mkdir -m 0755 -p ${stateDir} chown ${fprotUser}:${fprotGroup} ${stateDir} - cp ${pkgs.fprot}/opt/f-prot/fpupdate ${stateDir} - ln -sf ${cfg.updater.productData} ${stateDir}/product.data + cp ${pkgs.fprot}/opt/f-prot/fpupdate ${stateDir} + ln -sf ${cfg.updater.productData} ${stateDir}/product.data ''; - #setuid = fprotUser; - #setgid = fprotGroup; + #setuid = fprotUser; + #setgid = fprotGroup; exec = "/var/lib/fprot/fpupdate --keyfile ${cfg.updater.licenseKeyfile}"; - }; + }; }; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix index c3ea3fb03ed9..1d52ed55dbda 100644 --- a/nixos/modules/services/security/haveged.nix +++ b/nixos/modules/services/security/haveged.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index e70eb8511a63..582dd124c290 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/security/torify.nix b/nixos/modules/services/security/torify.nix index 1c158906a911..53f48a714b4b 100644 --- a/nixos/modules/services/security/torify.nix +++ b/nixos/modules/services/security/torify.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.tor; diff --git a/nixos/modules/services/security/torsocks.nix b/nixos/modules/services/security/torsocks.nix index d6974282a6b5..ede6c983677a 100644 --- a/nixos/modules/services/security/torsocks.nix +++ b/nixos/modules/services/security/torsocks.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.tor; diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index cb5110f6feb3..8cc655803c59 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -1,8 +1,8 @@ # D-Bus configuration and system bus daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index b817b1df779f..f357eb4e1fc8 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -1,10 +1,11 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let nssModulesPath = config.system.nssModules.path; + cfg = config.services.nscd; inherit (pkgs.lib) singleton; @@ -24,6 +25,12 @@ in description = "Whether to enable the Name Service Cache Daemon."; }; + config = mkOption { + type = types.lines; + default = builtins.readFile ./nscd.conf; + description = "Configuration to use for Name Service Cache Daemon."; + }; + }; }; @@ -31,7 +38,7 @@ in ###### implementation - config = mkIf config.services.nscd.enable { + config = mkIf cfg.enable { users.extraUsers = singleton { name = "nscd"; @@ -56,7 +63,7 @@ in restartTriggers = [ config.environment.etc.hosts.source ]; serviceConfig = - { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${./nscd.conf}"; + { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${pkgs.writeText "nscd.conf" cfg.config}"; Type = "forking"; PIDFile = "/run/nscd/nscd.pid"; Restart = "always"; diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index e0c212e5661f..00df4042d890 100644 --- a/nixos/modules/services/torrent/deluge.nix +++ b/nixos/modules/services/torrent/deluge.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.deluge; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index 68f9b0647c0e..5cdecd1eb577 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -1,13 +1,14 @@ -# NixOS module for Transmission BitTorrent daemon +{ config, lib, pkgs, ... }: -{ config, pkgs, ... }: - -with pkgs.lib; +with lib; let - cfg = config.services.transmission; + apparmor = config.security.apparmor.enable; + homeDir = "/var/lib/transmission"; + downloadDir = "${homeDir}/Downloads"; + incompleteDir = "${homeDir}/.incomplete"; settingsDir = "${homeDir}/.config/transmission-daemon"; settingsFile = "${settingsDir}/settings.json"; @@ -31,16 +32,12 @@ let (if isList value then value else [value])) as)); + # for users in group "transmission" to have access to torrents + fullSettings = cfg.settings // { umask = 2; }; in - { - - ### configuration - options = { - services.transmission = { - enable = mkOption { type = types.uniq types.bool; default = false; @@ -59,65 +56,48 @@ in type = types.attrs; default = { - # for users in group "transmission" to have access to torrents - umask = 2; - } - ; + download-dir = downloadDir; + incomplete-dir = incompleteDir; + incomplete-dir-enabled = true; + }; example = { download-dir = "/srv/torrents/"; incomplete-dir = "/srv/torrents/.incomplete/"; incomplete-dir-enabled = true; rpc-whitelist = "127.0.0.1,192.168.*.*"; - # for users in group "transmission" to have access to torrents - umask = 2; - } - ; + }; description = '' Attribute set whos fields overwrites fields in settings.json (each time the service starts). String values must be quoted, integer and boolean values must not. - See https://trac.transmissionbt.com/wiki/EditConfigFiles for documentation - and/or look at ${settingsFile}." + See https://trac.transmissionbt.com/wiki/EditConfigFiles for + documentation and/or look at ${settingsFile}. ''; }; - rpc_port = mkOption { + port = mkOption { type = types.uniq types.int; default = 9091; description = "TCP port number to run the RPC/web interface."; }; - - apparmor = mkOption { - type = types.uniq types.bool; - default = true; - description = "Generate apparmor profile for transmission-daemon."; - }; }; - }; - ### implementation - config = mkIf cfg.enable { - systemd.services.transmission = { - description = "Transmission BitTorrent Daemon"; - after = [ "network.target" ] ++ optional (config.security.apparmor.enable && cfg.apparmor) "apparmor.service"; - requires = mkIf (config.security.apparmor.enable && cfg.apparmor) [ "apparmor.service" ]; + description = "Transmission BitTorrent Service"; + after = [ "network.target" ] ++ optional apparmor "apparmor.service"; + requires = mkIf apparmor [ "apparmor.service" ]; wantedBy = [ "multi-user.target" ]; # 1) Only the "transmission" user and group have access to torrents. # 2) Optionally update/force specific fields into the configuration file. - serviceConfig.ExecStartPre = - if cfg.settings != {} then '' - ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} && ${pkgs.transmission}/bin/transmission-daemon -d |& sed ${attrsToSedArgs cfg.settings} > ${settingsFile}.tmp && mv ${settingsFile}.tmp ${settingsFile}" - '' - else '' - ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir}" - ''; - serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.rpc_port}"; + serviceConfig.ExecStartPre = '' + ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && ${pkgs.transmission}/bin/transmission-daemon -d |& sed ${attrsToSedArgs fullSettings} > ${settingsFile}.tmp && mv ${settingsFile}.tmp ${settingsFile}" + ''; + serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}"; serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; serviceConfig.User = "transmission"; # NOTE: transmission has an internal umask that also must be set (in settings.json) @@ -127,6 +107,7 @@ in # It's useful to have transmission in path, e.g. for remote control environment.systemPackages = [ pkgs.transmission ]; + users.extraGroups.transmission.gid = config.ids.gids.transmission; users.extraUsers.transmission = { group = "transmission"; uid = config.ids.uids.transmission; @@ -135,10 +116,8 @@ in createHome = true; }; - users.extraGroups.transmission.gid = config.ids.gids.transmission; - # AppArmor profile - security.apparmor.profiles = mkIf (config.security.apparmor.enable && cfg.apparmor) [ + security.apparmor.profiles = mkIf apparmor [ (pkgs.writeText "apparmor-transmission-daemon" '' #include @@ -161,9 +140,9 @@ in owner ${settingsDir}/** rw, - ${cfg.settings.download-dir}/** rw, - ${optionalString cfg.settings.incomplete-dir-enabled '' - ${cfg.settings.incomplete-dir}/** rw, + ${fullSettings.download-dir}/** rw, + ${optionalString fullSettings.incomplete-dir-enabled '' + ${fullSettings.incomplete-dir}/** rw, ''} } '') diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index ae4fa87d4b7b..df21ebbd9743 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { @@ -28,6 +28,17 @@ with pkgs.lib; ''; }; + serialSpeed = mkOption { + type = types.listOf types.int; + default = [ 115200 57600 38400 9600 ]; + example = [ 38400 9600 ]; + description = '' + Bitrates to allow for agetty's listening on serial ports. Listing more + bitrates gives more interoperability but at the cost of long delays + for getting a sync on the line. + ''; + }; + }; }; @@ -37,81 +48,23 @@ with pkgs.lib; config = { - # FIXME: these are mostly copy/pasted from the systemd sources, - # which some small modifications, which is annoying. + systemd.services."getty@" = + { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud %I 115200,38400,9600 $TERM"; + restartIfChanged = false; + }; - # Generate a separate job for each tty. - systemd.units."getty@.service".text = - '' - [Unit] - Description=Getty on %I - Documentation=man:agetty(8) - After=systemd-user-sessions.service plymouth-quit-wait.service + systemd.services."serial-getty@" = + { serviceConfig.ExecStart = + let speeds = concatStringsSep "," (map toString config.services.mingetty.serialSpeed); + in "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I ${speeds} $TERM"; + restartIfChanged = false; + }; - # If additional gettys are spawned during boot then we should make - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target - IgnoreOnIsolate=yes - - ConditionPathExists=/dev/tty0 - - [Service] - Environment=TERM=linux - Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive - ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login %I 38400 - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes - TTYVTDisallocate=yes # set to no to prevent clearing the screen - KillMode=process - IgnoreSIGPIPE=no - - # Some login implementations ignore SIGTERM, so we send SIGHUP - # instead, to ensure that login terminates cleanly. - KillSignal=SIGHUP - - X-RestartIfChanged=false - ''; - - systemd.units."serial-getty@.service".text = - '' - [Unit] - Description=Serial Getty on %I - Documentation=man:agetty(8) man:systemd-getty-generator(8) - BindsTo=dev-%i.device - After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service - - # If additional gettys are spawned during boot then we should make - # sure that this is synchronized before getty.target, even though - # getty.target didn't actually pull it in. - Before=getty.target - IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux - Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive - ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I 115200,57600,38400,9600 - Type=idle - Restart=always - RestartSec=0 - UtmpIdentifier=%I - TTYPath=/dev/%I - TTYReset=yes - TTYVHangup=yes - KillMode=process - IgnoreSIGPIPE=no - - # Some login implementations ignore SIGTERM, so we send SIGHUP - # instead, to ensure that login terminates cleanly. - KillSignal=SIGHUP - - X-RestartIfChanged=false - ''; + systemd.services."container-getty@" = + { unitConfig.ConditionPathExists = "/dev/pts/%I"; # Work around being respawned when "machinectl login" exits. + serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud pts/%I 115200,38400,9600 $TERM"; + restartIfChanged = false; + }; environment.etc = singleton { # Friendly greeting on the virtual consoles. diff --git a/nixos/modules/services/ttys/gpm.nix b/nixos/modules/services/ttys/gpm.nix index 74cee67aeae9..03b0f39824d0 100644 --- a/nixos/modules/services/ttys/gpm.nix +++ b/nixos/modules/services/ttys/gpm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -40,12 +40,15 @@ in config = mkIf cfg.enable { - jobs.gpm = - { description = "General purpose mouse"; + systemd.services.gpm = + { description = "Console Mouse Daemon"; - startOn = "started udev"; + wantedBy = [ "multi-user.target" ]; + requires = [ "getty.target" ]; - exec = "${pkgs.gpm}/sbin/gpm -m /dev/input/mice -t ${cfg.protocol} -D &>/dev/null"; + serviceConfig.ExecStart = "@${pkgs.gpm}/sbin/gpm gpm -m /dev/input/mice -t ${cfg.protocol}"; + serviceConfig.Type = "forking"; + serviceConfig.PIDFile = "/run/gpm.pid"; }; }; diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index 302e660a7bff..70555e5d8825 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -44,6 +44,7 @@ in { After=systemd-user-sessions.service After=plymouth-quit-wait.service After=systemd-logind.service + After=systemd-vconsole-setup.service Requires=systemd-logind.service Before=getty.target Conflicts=getty@%i.service @@ -62,17 +63,19 @@ in { X-RestartIfChanged=false ''; - systemd.units."autovt@.service".linkTarget = "${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service"; + systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { } + '' + mkdir -p $out + ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service + ''; - systemd.services."systemd-vconsole-setup".restartIfChanged = false; - - systemd.units."kmsconvt@tty1.service".extraConfig.wait-for-vconsole-setup = "After=systemd-vconsole-setup.service"; + systemd.services.systemd-vconsole-setup.restartIfChanged = false; services.kmscon.extraConfig = mkIf cfg.hwRender '' drm hwaccel ''; - services.mesa.enable = mkIf cfg.hwRender true; + hardware.opengl.enable = mkIf cfg.hwRender true; }; } diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index cdb42fa7308a..75ec6671d156 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -63,8 +63,9 @@ let enablePHP = false; phpOptions = ""; options = {}; + documentRoot = null; }; - res = defaults // svcFunction { inherit config pkgs serverInfo php; }; + res = defaults // svcFunction { inherit config lib pkgs serverInfo php; }; in res; in map f defs; @@ -188,7 +189,11 @@ let subservices = callSubservices serverInfo cfg.extraSubservices; - documentRoot = if cfg.documentRoot != null then cfg.documentRoot else + maybeDocumentRoot = fold (svc: acc: + if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc + ) null ([ cfg ] ++ subservices); + + documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else pkgs.runCommand "empty" {} "ensureDir $out"; documentRootConf = '' @@ -240,7 +245,7 @@ let ${robotsConf} - ${if isMainServer || cfg.documentRoot != null then documentRootConf else ""} + ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""} ${if cfg.enableUserDir then '' @@ -260,7 +265,7 @@ let '' else ""} - ${if cfg.globalRedirect != null then '' + ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' RedirectPermanent / ${cfg.globalRedirect} '' else ""} @@ -414,7 +419,7 @@ in }; package = mkOption { - type = types.path; + type = types.package; default = pkgs.apacheHttpd.override { mpm = mainCfg.multiProcessingModule; }; example = "pkgs.apacheHttpd_2_4"; description = '' @@ -445,7 +450,7 @@ in extraModules = mkOption { type = types.listOf types.unspecified; default = []; - example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${php}/modules/libphp5.so"; } ]''; + example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]''; description = '' Additional Apache modules to be used. These can be specified as a string in the case of modules distributed @@ -505,7 +510,7 @@ in virtualHosts = mkOption { type = types.listOf (types.submodule ( { options = import ./per-server-options.nix { - inherit pkgs; + inherit lib; forMainServer = false; }; })); @@ -572,7 +577,7 @@ in # Include the options shared between the main server and virtual hosts. // (import ./per-server-options.nix { - inherit pkgs; + inherit lib; forMainServer = true; }); @@ -582,6 +587,12 @@ in ###### implementation config = mkIf config.services.httpd.enable { + + assertions = [ { assertion = mainCfg.enableSSL == true + -> mainCfg.sslServerCert != null + && mainCfg.sslServerKey != null; + message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; } + ]; users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") singleton { name = "wwwrun"; @@ -610,7 +621,7 @@ in { description = "Apache HTTPD"; wantedBy = [ "multi-user.target" ]; - requires = [ "keys.target" ]; + wants = [ "keys.target" ]; after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; path = @@ -622,8 +633,8 @@ in ++ concatMap (svc: svc.extraServerPath) allSubservices; environment = - { PHPRC = if enablePHP then phpIni else ""; - } // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); + optionalAttrs enablePHP { PHPRC = phpIni; } + // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); preStart = '' diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index 423087991e13..7d59c13b9575 100644 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -1,6 +1,6 @@ -{ config, pkgs, serverInfo, php, ... }: +{ config, lib, pkgs, serverInfo, php, ... }: -with pkgs.lib; +with lib; let @@ -93,6 +93,10 @@ let ensureDir $out cp -r * $out cp ${mediawikiConfig} $out/LocalSettings.php + sed -i 's|/bin/bash|${pkgs.stdenv.shell}|' \ + $out/maintenance/fuzz-tester.php \ + $out/bin/ulimit.sh \ + $out/includes/GlobalFunctions.php ''; }; @@ -122,7 +126,18 @@ in ''} - Alias ${config.urlPrefix} ${mediawikiRoot} + ${if config.urlPrefix != "" then "Alias ${config.urlPrefix} ${mediawikiRoot}" else '' + RewriteEngine On + RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f + RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d + RewriteRule ${if config.enableUploads + then "!^/images" + else "^.*\$" + } %{DOCUMENT_ROOT}/${if config.articleUrlPrefix == "" + then "" + else "${config.articleUrlPrefix}/" + }index.php [L] + ''} Order allow,deny @@ -135,6 +150,8 @@ in ''} ''; + documentRoot = if config.urlPrefix == "" then mediawikiRoot else null; + enablePHP = true; options = { @@ -290,6 +307,7 @@ in echo COMMIT ) | ${pkgs.postgresql}/bin/psql -U "${config.dbUser}" "${config.dbName}" fi + ${php}/bin/php ${mediawikiRoot}/maintenance/update.php ''); robotsEntries = optionalString (config.articleUrlPrefix != "") diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix index 53f34e28c27e..b8e863345398 100644 --- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix +++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix @@ -3,9 +3,9 @@ # has additional options that affect the web server as a whole, like # the user/group to run under.) -{ forMainServer, pkgs }: +{ forMainServer, lib }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix index dc82fd34f2fa..ad791d7d9582 100644 --- a/nixos/modules/services/web-servers/apache-httpd/trac.nix +++ b/nixos/modules/services/web-servers/apache-httpd/trac.nix @@ -1,6 +1,6 @@ -{ config, pkgs, serverInfo, ... }: +{ config, lib, pkgs, serverInfo, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/web-servers/apache-httpd/zabbix.nix b/nixos/modules/services/web-servers/apache-httpd/zabbix.nix index a6e6042fdf6d..cab16593bcbc 100644 --- a/nixos/modules/services/web-servers/apache-httpd/zabbix.nix +++ b/nixos/modules/services/web-servers/apache-httpd/zabbix.nix @@ -1,4 +1,6 @@ -{ config, pkgs, serverInfo, ... }: +{ config, lib, pkgs, serverInfo, ... }: + +with lib; let @@ -51,7 +53,7 @@ in options = { - urlPrefix = pkgs.lib.mkOption { + urlPrefix = mkOption { default = "/zabbix"; description = " The URL prefix under which the Zabbix service appears. @@ -59,9 +61,9 @@ in "; }; - configFile = pkgs.lib.mkOption { + configFile = mkOption { default = null; - type = with pkgs.lib.types; nullOr path; + type = types.nullOr types.path; description = '' The configuration file (zabbix.conf.php) which contains the database connection settings. If not set, the configuration settings will created @@ -69,7 +71,7 @@ in ''; }; - stateDir = pkgs.lib.mkOption { + stateDir = mkOption { default = "/var/lib/zabbix/frontend"; description = " Directory where the dynamically generated configuration data diff --git a/nixos/modules/services/web-servers/jboss/default.nix b/nixos/modules/services/web-servers/jboss/default.nix index e1bcede6563c..8a292ad67917 100644 --- a/nixos/modules/services/web-servers/jboss/default.nix +++ b/nixos/modules/services/web-servers/jboss/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/web-servers/lighttpd/cgit.nix b/nixos/modules/services/web-servers/lighttpd/cgit.nix index 62264f1db452..dbff565bd8a3 100644 --- a/nixos/modules/services/web-servers/lighttpd/cgit.nix +++ b/nixos/modules/services/web-servers/lighttpd/cgit.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.lighttpd.cgit; diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix index 4cc34c65d843..3ba934c72bf8 100644 --- a/nixos/modules/services/web-servers/lighttpd/default.nix +++ b/nixos/modules/services/web-servers/lighttpd/default.nix @@ -1,8 +1,8 @@ # NixOS module for lighttpd web server -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix index f02bd4db2645..d49278be09a8 100644 --- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix +++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.lighttpd.gitweb; diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 4a1b6de2873f..ff94ee42d28d 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.nginx; @@ -9,6 +9,12 @@ let user ${cfg.user} ${cfg.group}; daemon off; ${cfg.config} + ${optionalString (cfg.httpConfig != "") '' + http { + ${cfg.httpConfig} + } + ''} + ${cfg.appendConfig} ''; in @@ -24,6 +30,7 @@ in package = mkOption { default = pkgs.nginx; + type = types.package; description = " Nginx package to use. "; @@ -36,6 +43,25 @@ in "; }; + appendConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Configuration lines appended to the generated Nginx + configuration file. Commonly used by different modules + providing http snippets. + can be specified more than once and it's value will be + concatenated (contrary to which + can be set only once). + ''; + }; + + httpConfig = mkOption { + type = types.lines; + default = ""; + description = "Configuration lines to be appended inside of the http {} block."; + }; + stateDir = mkOption { default = "/var/spool/nginx"; description = " diff --git a/nixos/modules/services/web-servers/phpfpm.nix b/nixos/modules/services/web-servers/phpfpm.nix new file mode 100644 index 000000000000..4a14f9b41a42 --- /dev/null +++ b/nixos/modules/services/web-servers/phpfpm.nix @@ -0,0 +1,84 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.phpfpm; + + stateDir = "/run/phpfpm"; + + pidFile = "${stateDir}/phpfpm.pid"; + + cfgFile = pkgs.writeText "phpfpm.conf" '' + [global] + pid = ${pidFile} + error_log = syslog + daemonize = yes + ${cfg.extraConfig} + + ${concatStringsSep "\n" (mapAttrsToList (n: v: "[${n}]\n${v}") cfg.poolConfigs)} + ''; + +in { + + options = { + services.phpfpm = { + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration that should be put in the global section of + the PHP FPM configuration file. Do not specify the options + pid, error_log or + daemonize here, since they are generated by + NixOS. + ''; + }; + + phpPackage = mkOption { + default = pkgs.php54; + description = '' + The PHP package to use for running the FPM service. + ''; + }; + + poolConfigs = mkOption { + type = types.attrsOf types.lines; + default = {}; + example = { + mypool = '' + listen = /run/phpfpm/mypool + user = nobody + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + ''; + }; + description = '' + A mapping between PHP FPM pool names and their configurations. + See the documentation on php-fpm.conf for + details on configuration directives. If no pools are defined, + the phpfpm service is disabled. + ''; + }; + }; + }; + + config = mkIf (cfg.poolConfigs != {}) { + + systemd.services.phpfpm = { + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -p "${stateDir}" + ''; + serviceConfig = { + ExecStart = "${cfg.phpPackage}/sbin/php-fpm -y ${cfgFile}"; + PIDFile = pidFile; + }; + }; + + }; +} diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index a68828de5d8e..b5eee8f8be8f 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/web-servers/varnish/default.nix b/nixos/modules/services/web-servers/varnish/default.nix index 7e327120c3d1..364f6c68faca 100644 --- a/nixos/modules/services/web-servers/varnish/default.nix +++ b/nixos/modules/services/web-servers/varnish/default.nix @@ -1,9 +1,9 @@ -{ config, pkgs, ...}: +{ config, lib, pkgs, ...}: let cfg = config.services.varnish; in -with pkgs.lib; +with lib; { options = { services.varnish = { diff --git a/nixos/modules/services/web-servers/winstone.nix b/nixos/modules/services/web-servers/winstone.nix new file mode 100644 index 000000000000..7f48012f158e --- /dev/null +++ b/nixos/modules/services/web-servers/winstone.nix @@ -0,0 +1,129 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.winstone; + + winstoneOpts = { name, ... }: { + options = { + name = mkOption { + default = name; + internal = true; + }; + + serviceName = mkOption { + type = types.str; + description = '' + The name of the systemd service. By default, it is + derived from the winstone instance name. + ''; + }; + + warFile = mkOption { + type = types.str; + description = '' + The WAR file that Winstone should serve. + ''; + }; + + javaPackage = mkOption { + type = types.package; + default = pkgs.openjre; + description = '' + Which Java derivation to use for running Winstone. + ''; + }; + + user = mkOption { + type = types.str; + description = '' + The user that should run this Winstone process and + own the working directory. + ''; + }; + + group = mkOption { + type = types.str; + description = '' + The group that will own the working directory. + ''; + }; + + workDir = mkOption { + type = types.str; + description = '' + The working directory for this Winstone instance. Will + contain extracted webapps etc. The directory will be + created if it doesn't exist. + ''; + }; + + extraJavaOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the java process running + Winstone. + ''; + }; + + extraOptions = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra command line options given to the Winstone process. + ''; + }; + }; + + config = { + workDir = mkDefault "/run/winstone/${name}"; + serviceName = mkDefault "winstone-${name}"; + }; + }; + + mkService = cfg: let + opts = concatStringsSep " " (cfg.extraOptions ++ [ + "--warfile ${cfg.warFile}" + ]); + + javaOpts = concatStringsSep " " (cfg.extraJavaOptions ++ [ + "-Djava.io.tmpdir=${cfg.workDir}" + "-jar ${pkgs.winstone}/lib/winstone.jar" + ]); + in { + wantedBy = [ "multi-user.target" ]; + description = "winstone service for ${cfg.name}"; + preStart = '' + mkdir -p "${cfg.workDir}" + chown ${cfg.user}:${cfg.group} "${cfg.workDir}" + ''; + serviceConfig = { + ExecStart = "${cfg.javaPackage}/bin/java ${javaOpts} ${opts}"; + User = cfg.user; + PermissionsStartOnly = true; + }; + }; + +in { + + options = { + services.winstone = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ winstoneOpts ]; + description = '' + Defines independent Winstone services, each serving one WAR-file. + ''; + }; + }; + + config = mkIf (cfg != {}) { + + systemd.services = mapAttrs' (n: c: nameValuePair c.serviceName (mkService c)) cfg; + + }; + +} diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix index 576f4b08fb90..21117118457d 100644 --- a/nixos/modules/services/web-servers/zope2.nix +++ b/nixos/modules/services/web-servers/zope2.nix @@ -1,6 +1,6 @@ -{ pkgs, config, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 035b23b4e1bb..b82398ccf9dd 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -1,15 +1,15 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let xcfg = config.services.xserver; cfg = xcfg.desktopManager; - # Whether desktop manager `d' is capable of setting a background. - # If it isn't, the `feh' program is used as a fallback. - needBGCond = d: ! (d ? bgSupport && d.bgSupport); + # If desktop manager `d' isn't capable of setting a background and + # the xserver is enabled, the `feh' program is used as a fallback. + needBGCond = d: ! (d ? bgSupport && d.bgSupport) && xcfg.enable; in @@ -17,7 +17,7 @@ in # Note: the order in which desktop manager modules are imported here # determines the default: later modules (if enabled) are preferred. # E.g., if KDE is enabled, it supersedes xterm. - imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ]; + imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ./xbmc.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/e17.nix b/nixos/modules/services/x11/desktop-managers/e17.nix index 3d91617c62aa..4cac53c9c75b 100644 --- a/nixos/modules/services/x11/desktop-managers/e17.nix +++ b/nixos/modules/services/x11/desktop-managers/e17.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix new file mode 100644 index 000000000000..4620bc6722af --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -0,0 +1,129 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.desktopManager.gnome3; + gnome3 = pkgs.gnome3; + + # Remove packages of ys from xs, based on their names + removePackagesByName = xs: ys: + let + pkgName = drv: (builtins.parseDrvName drv.name).name; + ysNames = map pkgName ys; + res = (filter (x: !(builtins.elem (pkgName x) ysNames)) xs); + in + filter (x: !(builtins.elem (pkgName x) ysNames)) xs; + +in { + + options = { + + services.xserver.desktopManager.gnome3.enable = mkOption { + default = false; + example = true; + description = "Enable Gnome 3 desktop manager."; + }; + + environment.gnome3.excludePackages = mkOption { + default = []; + example = "[ pkgs.gnome3.totem ]"; + type = types.listOf types.package; + description = "Which packages gnome should exclude from the default environment"; + }; + + }; + + config = mkIf cfg.enable { + + # Enable helpful DBus services. + security.polkit.enable = true; + services.udisks2.enable = true; + services.accounts-daemon.enable = true; + services.gnome3.at-spi2-core.enable = true; + services.gnome3.evolution-data-server.enable = true; + services.gnome3.gnome-keyring.enable = true; + services.gnome3.gnome-online-accounts.enable = mkDefault true; + services.gnome3.gnome-user-share.enable = mkDefault true; + services.gnome3.sushi.enable = mkDefault true; + services.gnome3.tracker.enable = mkDefault true; + hardware.pulseaudio.enable = mkDefault true; + services.telepathy.enable = mkDefault true; + networking.networkmanager.enable = true; + services.upower.enable = config.powerManagement.enable; + + fonts.extraFonts = [ pkgs.dejavu_fonts ]; + + services.xserver.desktopManager.session = singleton + { name = "gnome3"; + start = '' + # Set GTK_DATA_PREFIX so that GTK+ can find the themes + export GTK_DATA_PREFIX=${config.system.path} + + # find theme engines + export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0 + + export XDG_MENU_PREFIX=gnome + + # Don't let epiphany depend upon gnome-shell + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name} + + # Let gnome-control-center find gnome-shell search providers + export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/ + + # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ + ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update + + ${gnome3.gnome_session}/bin/gnome-session& + waitPID=$! + ''; + }; + + environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" + "${pkgs.glib_networking}/lib/gio/modules" ]; + environment.systemPackages = + [ pkgs.desktop_file_utils + pkgs.glib_networking + pkgs.gtk3 # for gtk-update-icon-cache + pkgs.ibus + pkgs.shared_mime_info # for update-mime-database + gnome3.dconf + gnome3.gnome-backgrounds + gnome3.gnome_control_center + gnome3.gnome_icon_theme + gnome3.gnome-menus + gnome3.gnome_settings_daemon + gnome3.gnome_shell + gnome3.gnome_themes_standard + ] ++ (removePackagesByName [ + gnome3.baobab + gnome3.empathy + gnome3.eog + gnome3.epiphany + gnome3.evince + gnome3.gucharmap + gnome3.nautilus + gnome3.totem + gnome3.vino + gnome3.yelp + gnome3.gnome-calculator + gnome3.gnome-contacts + gnome3.gnome-font-viewer + gnome3.gnome-screenshot + gnome3.gnome-shell-extensions + gnome3.gnome-system-log + gnome3.gnome-system-monitor + gnome3.gnome_terminal + gnome3.gnome-user-docs + + gnome3.file-roller + gnome3.gnome-tweak-tool + ] config.environment.gnome3.excludePackages); + + # Needed for themes and backgrounds + environment.pathsToLink = [ "/share" ]; + + }; + + +} diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index 108b52bb951d..26b0612671c4 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -159,7 +159,7 @@ in # Enable helpful DBus services. services.udisks.enable = ! wantsUdisks2; - services.udisks2.enable = wantsUdisks2; + services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; security.pam.services.kde = { allowNullPassword = true; }; diff --git a/nixos/modules/services/x11/desktop-managers/xbmc.nix b/nixos/modules/services/x11/desktop-managers/xbmc.nix new file mode 100644 index 000000000000..97e966ca0197 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/xbmc.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.desktopManager.xbmc; +in + +{ + options = { + services.xserver.desktopManager.xbmc = { + enable = mkOption { + default = false; + example = true; + description = "Enable the xbmc multimedia center."; + }; + }; + }; + + config = mkIf cfg.enable { + services.xserver.desktopManager.session = [{ + name = "xbmc"; + start = '' + ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone & + waitPID=$! + ''; + }]; + + environment.systemPackages = [ pkgs.xbmc ]; + }; +} \ No newline at end of file diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 5e5fab3ed2bb..a72eea76239f 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -29,7 +29,7 @@ in start = '' # Set GTK_PATH so that GTK+ can find the theme engines. - export GTK_PATH=${config.system.path}/lib/gtk-2.0 + export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0" # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes. export GTK_DATA_PREFIX=${config.system.path} @@ -81,7 +81,7 @@ in environment.pathsToLink = [ "/share/xfce4" "/share/themes" "/share/mime" "/share/desktop-directories" "/share/gtksourceview-2.0" ]; - environment.variables.GIO_EXTRA_MODULES = "${pkgs.xfce.gvfs}/lib/gio/modules"; + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ]; # Enable helpful DBus services. services.udisks2.enable = true; diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index edc61c103ea9..eab914071410 100644 --- a/nixos/modules/services/x11/desktop-managers/xterm.nix +++ b/nixos/modules/services/x11/desktop-managers/xterm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -19,7 +19,7 @@ in }; - config = mkIf cfg.enable { + config = mkIf (config.services.xserver.enable && cfg.enable) { services.xserver.desktopManager.session = singleton { name = "xterm"; diff --git a/nixos/modules/services/x11/display-managers/auto.nix b/nixos/modules/services/x11/display-managers/auto.nix index 33d97e0e07a9..c02ccdf12b65 100644 --- a/nixos/modules/services/x11/display-managers/auto.nix +++ b/nixos/modules/services/x11/display-managers/auto.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 575386bac0aa..3bf18bd58c84 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -7,9 +7,9 @@ # (e.g., KDE, Gnome or a plain xterm), and optionally the *window # manager* (e.g. kwin or twm). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -51,17 +51,6 @@ let ''} - ${optionalString cfg.startOpenSSHAgent '' - if test -z "$SSH_AUTH_SOCK"; then - # Restart this script as a child of the SSH agent. (It is - # also possible to start the agent as a child that prints - # the required environment variabled on stdout, but in - # that mode ssh-agent is not terminated when we log out.) - export SSH_ASKPASS=${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass - exec ${pkgs.openssh}/bin/ssh-agent "$0" "$sessionType" - fi - ''} - ${optionalString cfg.startGnuPGAgent '' if test -z "$SSH_AUTH_SOCK"; then # Restart this script as a child of the GnuPG agent. diff --git a/nixos/modules/services/x11/display-managers/kdm.nix b/nixos/modules/services/x11/display-managers/kdm.nix index c51e7edfddf3..7ec489ae3e73 100644 --- a/nixos/modules/services/x11/display-managers/kdm.nix +++ b/nixos/modules/services/x11/display-managers/kdm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index e4125891e6cb..d459c59b0483 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -55,8 +55,8 @@ let '' [LightDM] greeter-user = ${config.users.extraUsers.lightdm.name} - xgreeters-directory = ${cfg.greeter.package} - xsessions-directory = ${dmcfg.session.desktops} + greeters-directory = ${cfg.greeter.package} + sessions-directory = ${dmcfg.session.desktops} [SeatDefaults] xserver-command = ${xserverWrapper} diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 35834ef3764b..114d34557a07 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -1,10 +1,11 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let dmcfg = config.services.xserver.displayManager; + cfg = dmcfg.slim; slimConfig = pkgs.writeText "slim.cfg" @@ -109,6 +110,12 @@ in execCmd = "exec ${pkgs.slim}/bin/slim"; }; + services.xserver.displayManager.sessionCommands = + '' + # Export the config/themes for slimlock. + export SLIM_THEMESDIR=${slimThemesDir} + ''; + # Allow null passwords so that the user can login as root on the # installation CD. security.pam.services.slim = { allowNullPassword = true; startSession = true; }; diff --git a/nixos/modules/services/x11/hardware/multitouch.nix b/nixos/modules/services/x11/hardware/multitouch.nix index 4f9048bfd910..6e6e88e67218 100644 --- a/nixos/modules/services/x11/hardware/multitouch.nix +++ b/nixos/modules/services/x11/hardware/multitouch.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.multitouch; in diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index 91e01f2e30b1..f2227a34a20c 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -1,10 +1,24 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; -let cfg = config.services.xserver.synaptics; in - -{ +let cfg = config.services.xserver.synaptics; + tapConfig = if cfg.tapButtons then enabledTapConfig else disabledTapConfig; + enabledTapConfig = '' + Option "MaxTapTime" "180" + Option "MaxTapMove" "220" + Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}" + Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}" + Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}" + ''; + disabledTapConfig = '' + Option "MaxTapTime" "0" + Option "MaxTapMove" "0" + Option "TapButton1" "0" + Option "TapButton2" "0" + Option "TapButton3" "0" + ''; +in { options = { @@ -106,15 +120,10 @@ let cfg = config.services.xserver.synaptics; in MatchIsTouchpad "on" ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''} Driver "synaptics" - Option "MaxTapTime" "180" - Option "MaxTapMove" "220" Option "MinSpeed" "${cfg.minSpeed}" Option "MaxSpeed" "${cfg.maxSpeed}" Option "AccelFactor" "${cfg.accelFactor}" - ${if cfg.tapButtons then "" else ''Option "MaxTapTime" "0"''} - Option "TapButton1" "${builtins.elemAt cfg.buttonsMap 0}" - Option "TapButton2" "${builtins.elemAt cfg.buttonsMap 1}" - Option "TapButton3" "${builtins.elemAt cfg.buttonsMap 2}" + ${optionalString cfg.tapButtons tapConfig} Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" diff --git a/nixos/modules/services/x11/hardware/wacom.nix b/nixos/modules/services/x11/hardware/wacom.nix index dfc588cd2132..540ed168b489 100644 --- a/nixos/modules/services/x11/hardware/wacom.nix +++ b/nixos/modules/services/x11/hardware/wacom.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index b9ad962d8e46..d73b58de6c08 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.redshift; @@ -14,24 +14,37 @@ in { services.redshift.latitude = mkOption { description = "Your current latitude"; - type = types.string; + type = types.uniq types.string; }; services.redshift.longitude = mkOption { description = "Your current longitude"; - type = types.string; + type = types.uniq types.string; }; services.redshift.temperature = { day = mkOption { description = "Colour temperature to use during day time"; default = 5500; - type = types.int; + type = types.uniq types.int; }; night = mkOption { description = "Colour temperature to use during night time"; default = 3700; - type = types.int; + type = types.uniq types.int; + }; + }; + + services.redshift.brightness = { + day = mkOption { + description = "Screen brightness to apply during the day (between 0.1 and 1.0)"; + default = "1"; + type = types.uniq types.string; + }; + night = mkOption { + description = "Screen brightness to apply during the night (between 0.1 and 1.0)"; + default = "1"; + type = types.uniq types.string; }; }; }; @@ -41,10 +54,12 @@ in { description = "Redshift colour temperature adjuster"; requires = [ "display-manager.service" ]; after = [ "display-manager.service" ]; - script = '' + wantedBy = [ "graphical.target" ]; + serviceConfig.ExecStart = '' ${pkgs.redshift}/bin/redshift \ -l ${cfg.latitude}:${cfg.longitude} \ - -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} + -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \ + -b ${toString cfg.brightness.day}:${toString cfg.brightness.night} ''; environment = { DISPLAY = ":0"; }; serviceConfig.Restart = "always"; diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix index bf9c3435503d..bdc23c0acd18 100644 --- a/nixos/modules/services/x11/terminal-server.nix +++ b/nixos/modules/services/x11/terminal-server.nix @@ -5,9 +5,9 @@ # not, a X server (Xvfb) is started for that user. The Xvfb instances # persist across VNC sessions. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -27,7 +27,7 @@ in config = { services.xserver.enable = true; - services.xserver.videoDrivers = []; + hardware.opengl.videoDrivers = []; # Enable KDM. Any display manager will do as long as it supports XDMCP. services.xserver.displayManager.kdm.enable = true; diff --git a/nixos/modules/services/x11/window-managers/awesome.nix b/nixos/modules/services/x11/window-managers/awesome.nix index 1c61419a44c0..9b2f042a87a6 100644 --- a/nixos/modules/services/x11/window-managers/awesome.nix +++ b/nixos/modules/services/x11/window-managers/awesome.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/compiz.nix b/nixos/modules/services/x11/window-managers/compiz.nix index 209401f26468..ffd71e5f91ec 100644 --- a/nixos/modules/services/x11/window-managers/compiz.nix +++ b/nixos/modules/services/x11/window-managers/compiz.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 4d52e398b477..f27ba3661413 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.windowManager; @@ -16,7 +16,6 @@ in ./wmii.nix ./xmonad.nix ./i3.nix - ./xbmc.nix ./herbstluftwm.nix ]; diff --git a/nixos/modules/services/x11/window-managers/herbstluftwm.nix b/nixos/modules/services/x11/window-managers/herbstluftwm.nix index 9480abba43b7..6cda910b6b33 100644 --- a/nixos/modules/services/x11/window-managers/herbstluftwm.nix +++ b/nixos/modules/services/x11/window-managers/herbstluftwm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.windowManager.herbstluftwm; diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix index e53d86187ae6..e85c3bce591d 100644 --- a/nixos/modules/services/x11/window-managers/i3.nix +++ b/nixos/modules/services/x11/window-managers/i3.nix @@ -1,6 +1,6 @@ -{ pkgs, config, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.windowManager.i3; diff --git a/nixos/modules/services/x11/window-managers/icewm.nix b/nixos/modules/services/x11/window-managers/icewm.nix index b7da4051c141..36028da453a5 100644 --- a/nixos/modules/services/x11/window-managers/icewm.nix +++ b/nixos/modules/services/x11/window-managers/icewm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix index 712e2038594e..d13cbcfe40e8 100644 --- a/nixos/modules/services/x11/window-managers/metacity.nix +++ b/nixos/modules/services/x11/window-managers/metacity.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/twm.nix b/nixos/modules/services/x11/window-managers/twm.nix index d80ffe4942fb..684b34c2f246 100644 --- a/nixos/modules/services/x11/window-managers/twm.nix +++ b/nixos/modules/services/x11/window-managers/twm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/wmii.nix b/nixos/modules/services/x11/window-managers/wmii.nix index b61521274fba..75f6fdfe3bc4 100644 --- a/nixos/modules/services/x11/window-managers/wmii.nix +++ b/nixos/modules/services/x11/window-managers/wmii.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/window-managers/xbmc.nix b/nixos/modules/services/x11/window-managers/xbmc.nix deleted file mode 100644 index 46494202b404..000000000000 --- a/nixos/modules/services/x11/window-managers/xbmc.nix +++ /dev/null @@ -1,31 +0,0 @@ -{pkgs, config, ...}: - -let - inherit (pkgs.lib) mkOption mkIf; - cfg = config.services.xserver.windowManager.xbmc; -in - -{ - options = { - services.xserver.windowManager.xbmc = { - enable = mkOption { - default = false; - example = true; - description = "Enable the xbmc multimedia center."; - }; - }; - }; - - config = mkIf cfg.enable { - services.xserver.windowManager = { - session = [{ - name = "xbmc"; - start = " - ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone & - waitPID=$! - "; - }]; - }; - environment.systemPackages = [ pkgs.xbmc ]; - }; -} diff --git a/nixos/modules/services/x11/xfs.nix b/nixos/modules/services/x11/xfs.nix index 44c1d533c3ac..196f3beb41e9 100644 --- a/nixos/modules/services/x11/xfs.nix +++ b/nixos/modules/services/x11/xfs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 5600ce7fac13..65f93b544996 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -1,6 +1,6 @@ -{ config, pkgs, pkgs_i686, ... }: +{ config, lib, pkgs, pkgs_i686, ... }: -with pkgs.lib; +with lib; let @@ -20,9 +20,16 @@ let nvidiaLegacy304 = { modules = [ kernelPackages.nvidia_x11_legacy304 ]; driverName = "nvidia"; }; unichrome = { modules = [ pkgs.xorgVideoUnichrome ]; }; virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; }; + ati = { modules = [ pkgs.xorg.xf86videoati pkgs.xorg.glamoregl ]; }; + intel-testing = { modules = with pkgs.xorg; [ xf86videointel-testing glamoregl ]; driverName = "intel"; }; }; - driverNames = config.services.mesa.videoDrivers; + driverNames = config.hardware.opengl.videoDrivers; + + needsAcpid = + (elem "nvidia" driverNames) || + (elem "nvidiaLegacy173" driverNames) || + (elem "nvidiaLegacy304" driverNames); drivers = flip map driverNames (name: { inherit name; driverName = name; } // @@ -181,7 +188,7 @@ in description = '' The name of the video driver for your graphics card. This option is obsolete; please set the - instead. + instead. ''; }; @@ -194,17 +201,6 @@ in ''; }; - startOpenSSHAgent = mkOption { - type = types.bool; - default = true; - description = '' - Whether to start the OpenSSH agent when you log in. The OpenSSH agent - remembers private keys for you so that you don't have to type in - passphrases every time you make an SSH connection. Use - ssh-add to add a key to the agent. - ''; - }; - startGnuPGAgent = mkOption { type = types.bool; default = false; @@ -372,6 +368,14 @@ in ''; }; + useGlamor = mkOption { + type = types.bool; + default = false; + description = '' + Whether to use the Glamor module for 2D acceleration, + if possible. + ''; + }; }; }; @@ -381,15 +385,15 @@ in ###### implementation config = mkIf cfg.enable { - services.mesa.enable = true; - services.mesa.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; + hardware.opengl.enable = true; + hardware.opengl.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; assertions = - [ { assertion = !(cfg.startOpenSSHAgent && cfg.startGnuPGAgent); + [ { assertion = !(config.programs.ssh.startAgent && cfg.startGnuPGAgent); message = '' - The OpenSSH agent and GnuPG agent cannot be started both. - Choose between `startOpenSSHAgent' and `startGnuPGAgent'. + The OpenSSH agent and GnuPG agent cannot be started both. Please + choose between ‘programs.ssh.startAgent’ and ‘services.xserver.startGnuPGAgent’. ''; } { assertion = config.security.polkit.enable; @@ -428,6 +432,8 @@ in ++ optional (elem "virtualbox" driverNames) xorg.xrefresh ++ optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11; + services.acpid.enable = mkIf needsAcpid true; + environment.pathsToLink = [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ]; @@ -436,7 +442,8 @@ in systemd.services."display-manager" = { description = "X11 Server"; - after = [ "systemd-udev-settle.service" "local-fs.target" ]; + after = [ "systemd-udev-settle.service" "local-fs.target" ] + ++ optional needsAcpid "acpid.service"; restartIfChanged = false; @@ -523,6 +530,13 @@ in '')} EndSection + ${if cfg.useGlamor then '' + Section "Module" + Load "dri2" + Load "glamoregl" + EndSection + '' else ""} + # For each supported driver, add a "Device" and "Screen" # section. ${flip concatMapStrings drivers (driver: '' @@ -530,6 +544,7 @@ in Section "Device" Identifier "Device-${driver.name}[0]" Driver "${driver.driverName}" + ${if cfg.useGlamor then ''Option "AccelMethod" "glamor"'' else ""} ${cfg.deviceSection} ${xrandrDeviceSection} EndSection diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 1545bcb8a1f9..41fe7d309a5a 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -1,7 +1,7 @@ # generate the script used to activate the configuration. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/system/activation/no-clone.nix b/nixos/modules/system/activation/no-clone.nix index c9ab691ce477..7f4584435266 100644 --- a/nixos/modules/system/activation/no-clone.nix +++ b/nixos/modules/system/activation/no-clone.nix @@ -1,6 +1,6 @@ -{pkgs, ...}: +{ lib, ... }: -with pkgs.lib; +with lib; { boot.loader.grub.device = mkOverride 0 "nodev"; diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 91beed1130eb..25b5afe99da4 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -27,7 +27,10 @@ EOF exit 1; } -die "This is not a NixOS installation (/etc/NIXOS is missing)!\n" unless -f "/etc/NIXOS"; +# This is a NixOS installation if it has /etc/NIXOS or a proper +# /etc/os-release. +die "This is not a NixOS installation!\n" unless + -f "/etc/NIXOS" || (read_file("/etc/os-release", err_mode => 'quiet') // "") =~ /ID=nixos/s; openlog("nixos", "", LOG_USER); @@ -96,12 +99,18 @@ sub parseFstab { sub parseUnit { my ($filename) = @_; my $info = {}; - foreach my $line (read_file($filename)) { + parseKeyValues($info, read_file($filename)); + parseKeyValues($info, read_file("${filename}.d/overrides.conf")) if -f "${filename}.d/overrides.conf"; + return $info; +} + +sub parseKeyValues { + my $info = shift; + foreach my $line (@_) { # FIXME: not quite correct. $line =~ /^([^=]+)=(.*)$/ or next; $info->{$1} = $2; } - return $info; } sub boolIsTrue { @@ -109,6 +118,14 @@ sub boolIsTrue { return $s eq "yes" || $s eq "true"; } +# As a fingerprint for determining whether a unit has changed, we use +# its absolute path. If it has an override file, we append *its* +# absolute path as well. +sub fingerprintUnit { + my ($s) = @_; + return abs_path($s) . (-f "${s}.d/overrides.conf" ? " " . abs_path "${s}.d/overrides.conf" : ""); +} + # Stop all services that no longer exist or have changed in the new # configuration. my (@unitsToStop, @unitsToSkip); @@ -125,7 +142,7 @@ while (my ($unit, $state) = each %{$activePrev}) { $baseName =~ s/\.[a-z]*$//; if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) { - if (! -e $newUnitFile) { + if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") { push @unitsToStop, $unit; } @@ -160,7 +177,7 @@ while (my ($unit, $state) = each %{$activePrev}) { } } - elsif (abs_path($prevUnitFile) ne abs_path($newUnitFile)) { + elsif (fingerprintUnit($prevUnitFile) ne fingerprintUnit($newUnitFile)) { if ($unit eq "sysinit.target" || $unit eq "basic.target" || $unit eq "multi-user.target" || $unit eq "graphical.target") { # Do nothing. These cannot be restarted directly. } elsif ($unit =~ /\.mount$/) { @@ -170,7 +187,10 @@ while (my ($unit, $state) = each %{$activePrev}) { # FIXME: do something? } else { my $unitInfo = parseUnit($newUnitFile); - if (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes")) { + if (boolIsTrue($unitInfo->{'X-ReloadIfChanged'} // "no")) { + write_file($reloadListFile, { append => 1 }, "$unit\n"); + } + elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes")) { push @unitsToSkip, $unit; } else { # If this unit is socket-activated, then stop the @@ -319,7 +339,7 @@ if (scalar @restart > 0) { # that are symlinks to other units. We shouldn't start both at the # same time because we'll get a "Failed to add path to set" error from # systemd. -my @start = unique("default.target", "timers.target", split('\n', read_file($startListFile, err_mode => 'quiet') // "")); +my @start = unique("default.target", "timers.target", "sockets.target", split('\n', read_file($startListFile, err_mode => 'quiet') // "")); print STDERR "starting the following units: ", join(", ", sort(@start)), "\n"; $systemdManager->StartUnit($_, "replace") for @start; unlink($startListFile); diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 30a529988a96..1600a1fb0104 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -1,6 +1,6 @@ -{ config, pkgs, modules, baseModules, ... }: +{ config, lib, pkgs, modules, baseModules, ... }: -with pkgs.lib; +with lib; let @@ -11,7 +11,7 @@ let # you can provide an easy way to boot the same configuration # as you use, but with another kernel # !!! fix this - cloner = inheritParent: list: with pkgs.lib; + cloner = inheritParent: list: map (childConfig: (import ../../../lib/eval-config.nix { inherit baseModules; @@ -68,6 +68,7 @@ let echo -n "$configurationName" > $out/configuration-name echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version echo -n "$nixosVersion" > $out/nixos-version + echo -n "$system" > $out/system mkdir $out/fine-tune childCount=0 diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 2b075bf6a6d2..b81bcf20f439 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -159,7 +159,7 @@ in boot.kernel.sysctl."kernel.printk" = config.boot.consoleLogLevel; - boot.kernelModules = [ "loop" ]; + boot.kernelModules = [ "loop" "configs" ]; boot.initrd.availableKernelModules = [ # Note: most of these (especially the SATA/PATA modules) @@ -203,6 +203,9 @@ in # To wait for SCSI devices to appear. "scsi_wait_scan" + + # Needed by the stage 2 init script. + "rtc_cmos" ]; boot.initrd.kernelModules = @@ -215,37 +218,26 @@ in # Create /etc/modules-load.d/nixos.conf, which is read by # systemd-modules-load.service to load required kernel modules. - # FIXME: ensure that systemd-modules-load.service is restarted if - # this file changes. environment.etc = singleton { target = "modules-load.d/nixos.conf"; source = kernelModulesConf; }; - # Sigh. This overrides systemd's systemd-modules-load.service - # just so we can set a restart trigger. Also make - # multi-user.target pull it in so that it gets started if it - # failed earlier. systemd.services."systemd-modules-load" = - { description = "Load Kernel Modules"; - wantedBy = [ "sysinit.target" "multi-user.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = - { DefaultDependencies = false; - ConditionCapability = "CAP_SYS_MODULE"; - }; + { wantedBy = [ "multi-user.target" ]; + restartTriggers = [ kernelModulesConf ]; + environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules"; serviceConfig = - { Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${config.systemd.package}/lib/systemd/systemd-modules-load"; - # Ignore failed module loads. Typically some of the + { # Ignore failed module loads. Typically some of the # modules in ‘boot.kernelModules’ are "nice to have but # not required" (e.g. acpi-cpufreq), so we don't want to # barf on those. SuccessExitStatus = "0 1"; }; - restartTriggers = [ kernelModulesConf ]; + }; + + systemd.services.kmod-static-nodes = + { environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules"; }; lib.kernelConfig = { diff --git a/nixos/modules/system/boot/loader/efi.nix b/nixos/modules/system/boot/loader/efi.nix index 7e739173f9a3..241cfc7e836d 100644 --- a/nixos/modules/system/boot/loader/efi.nix +++ b/nixos/modules/system/boot/loader/efi.nix @@ -1,6 +1,6 @@ -{ pkgs, ... }: +{ lib, ... }: -with pkgs.lib; +with lib; { options.boot.loader.efi = { diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix index 9855c8c19dd0..4b5e84f53c1a 100644 --- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix +++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index ef6ff71ed778..a3b09223cbb8 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -133,11 +133,8 @@ in chainloader (hd0,1)+1 # GRUB 2 example - menuentry "Windows7" { - title Windows7 - insmod ntfs - set root='(hd1,1)' - chainloader +1 + menuentry "Windows 7" { + chainloader (hd0,4)+1 } ''; description = '' diff --git a/nixos/modules/system/boot/loader/grub/memtest.nix b/nixos/modules/system/boot/loader/grub/memtest.nix index 80c1a160cfde..94e5a14174b0 100644 --- a/nixos/modules/system/boot/loader/grub/memtest.nix +++ b/nixos/modules/system/boot/loader/grub/memtest.nix @@ -1,33 +1,87 @@ # This module adds Memtest86+ to the GRUB boot menu. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let memtest86 = pkgs.memtest86plus; + cfg = config.boot.loader.grub.memtest86; in { options = { - boot.loader.grub.memtest86 = mkOption { - default = false; - type = types.bool; - description = '' - Make Memtest86+, a memory testing program, available from the - GRUB boot menu. - ''; + boot.loader.grub.memtest86 = { + + enable = mkOption { + default = false; + type = types.bool; + description = '' + Make Memtest86+, a memory testing program, available from the + GRUB boot menu. + ''; + }; + + params = mkOption { + default = []; + example = [ "console=ttyS0,115200" ]; + type = types.listOf types.str; + description = '' + Parameters added to the Memtest86+ command line. As of memtest86+ 5.01 + the following list of (apparently undocumented) parameters are + accepted: + + + + + console=..., set up a serial console. + Examples: + console=ttyS0, + console=ttyS0,9600 or + console=ttyS0,115200n8. + + + + btrace, enable boot trace. + + + + maxcpus=N, limit number of CPUs. + + + + onepass, run one pass and exit if there + are no errors. + + + + tstlist=..., list of tests to run. + Example: 0,1,2. + + + + cpumask=..., set a CPU mask, to select CPUs + to use for testing. + + + + + This list of command line options was obtained by reading the + Memtest86+ source code. + ''; + }; + }; }; - config = mkIf config.boot.loader.grub.memtest86 { + config = mkIf cfg.enable { boot.loader.grub.extraEntries = if config.boot.loader.grub.version == 2 then '' menuentry "Memtest86+" { - linux16 @bootRoot@/memtest.bin + linux16 @bootRoot@/memtest.bin ${toString cfg.params} } '' else diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py index 9ea224b51f63..db73544181b6 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py @@ -9,7 +9,6 @@ import tempfile import errno def copy_if_not_exists(source, dest): - known_paths.append(dest) if not os.path.exists(dest): shutil.copyfile(source, dest) @@ -38,12 +37,13 @@ def write_loader_conf(generation): print >> f, "default nixos-generation-%d" % (generation) os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf") -def copy_from_profile(generation, name): +def copy_from_profile(generation, name, dry_run=False): store_file_path = os.readlink("%s/%s" % (system_dir(generation), name)) suffix = os.path.basename(store_file_path) store_dir = os.path.basename(os.path.dirname(store_file_path)) efi_file_path = "/efi/nixos/%s-%s.efi" % (store_dir, suffix) - copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path)) + if not dry_run: + copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path)) return efi_file_path def add_entry(generation): @@ -72,6 +72,10 @@ def get_generations(profile): def remove_old_entries(gens): slice_start = len("@efiSysMountPoint@/loader/entries/nixos-generation-") slice_end = -1 * len(".conf") + known_paths = [] + for gen in gens: + known_paths.append(copy_from_profile(gen, "kernel", True)) + known_paths.append(copy_from_profile(gen, "initrd", True)) for path in glob.iglob("@efiSysMountPoint@/loader/entries/nixos-generation-[1-9]*.conf"): try: gen = int(path[slice_start:slice_end]) @@ -94,7 +98,6 @@ if os.getenv("NIXOS_INSTALL_GRUB") == "1": else: subprocess.check_call(["@gummiboot@/bin/gummiboot", "--path=@efiSysMountPoint@", "--no-variables", "install"]) -known_paths = [] mkdir_p("@efiSysMountPoint@/efi/nixos") mkdir_p("@efiSysMountPoint@/loader/entries") try: @@ -106,9 +109,8 @@ except IOError as e: machine_id = None gens = get_generations("system") +remove_old_entries(gens) for gen in gens: add_entry(gen) if os.readlink(system_dir(gen)) == args.default_config: write_loader_conf(gen) - -remove_old_entries(gens) diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix index 7edc30776379..19c613a7c94c 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.boot.loader.gummiboot; diff --git a/nixos/modules/system/boot/loader/init-script/init-script.nix b/nixos/modules/system/boot/loader/init-script/init-script.nix index 4b0fcd85b4b5..3b33d42b4ae4 100644 --- a/nixos/modules/system/boot/loader/init-script/init-script.nix +++ b/nixos/modules/system/boot/loader/init-script/init-script.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index 5bc856c3df0b..d3f32418a64c 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index ba357f5d2de3..c923cc49c449 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -1,11 +1,11 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let luks = config.boot.initrd.luks; - openCommand = { name, device, keyFile, keyFileSize, allowDiscards, ... }: '' + openCommand = { name, device, keyFile, keyFileSize, allowDiscards, yubikey, ... }: '' # Wait for luksRoot to appear, e.g. if on a usb drive. # XXX: copied and adapted from stage-1-init.sh - should be # available as a function. @@ -31,9 +31,161 @@ let fi ''} + open_normally() { + cryptsetup luksOpen ${device} ${name} ${optionalString allowDiscards "--allow-discards"} \ + ${optionalString (keyFile != null) "--key-file=${keyFile} ${optionalString (keyFileSize != null) "--keyfile-size=${toString keyFileSize}"}"} + } + + ${optionalString (luks.yubikeySupport && (yubikey != null)) '' + + rbtohex() { + ( od -An -vtx1 | tr -d ' \n' ) + } + + hextorb() { + ( tr '[:lower:]' '[:upper:]' | sed -e 's/\([0-9A-F]\{2\}\)/\\\\\\x\1/gI' | xargs printf ) + } + + open_yubikey() { + + # Make all of these local to this function + # to prevent their values being leaked + local salt + local iterations + local k_user + local challenge + local response + local k_luks + local opened + local new_salt + local new_iterations + local new_challenge + local new_response + local new_k_luks + + mkdir -p ${yubikey.storage.mountPoint} + mount -t ${yubikey.storage.fsType} ${toString yubikey.storage.device} ${yubikey.storage.mountPoint} + + salt="$(cat ${yubikey.storage.mountPoint}${yubikey.storage.path} | sed -n 1p | tr -d '\n')" + iterations="$(cat ${yubikey.storage.mountPoint}${yubikey.storage.path} | sed -n 2p | tr -d '\n')" + challenge="$(echo -n $salt | openssl-wrap dgst -binary -sha512 | rbtohex)" + response="$(ykchalresp -${toString yubikey.slot} -x $challenge 2>/dev/null)" + + for try in $(seq 3); do + + ${optionalString yubikey.twoFactor '' + echo -n "Enter two-factor passphrase: " + read -s k_user + echo + ''} + + if [ ! -z "$k_user" ]; then + k_luks="$(echo -n $k_user | pbkdf2-sha512 ${toString yubikey.keyLength} $iterations $response | rbtohex)" + else + k_luks="$(echo | pbkdf2-sha512 ${toString yubikey.keyLength} $iterations $response | rbtohex)" + fi + + echo -n "$k_luks" | hextorb | cryptsetup luksOpen ${device} ${name} ${optionalString allowDiscards "--allow-discards"} --key-file=- + + if [ $? == "0" ]; then + opened=true + break + else + opened=false + echo "Authentication failed!" + fi + done + + if [ "$opened" == false ]; then + umount ${yubikey.storage.mountPoint} + echo "Maximum authentication errors reached" + exit 1 + fi + + echo -n "Gathering entropy for new salt (please enter random keys to generate entropy if this blocks for long)..." + for i in $(seq ${toString yubikey.saltLength}); do + byte="$(dd if=/dev/random bs=1 count=1 2>/dev/null | rbtohex)"; + new_salt="$new_salt$byte"; + echo -n . + done; + echo "ok" + + new_iterations="$iterations" + ${optionalString (yubikey.iterationStep > 0) '' + new_iterations="$(($new_iterations + ${toString yubikey.iterationStep}))" + ''} + + new_challenge="$(echo -n $new_salt | openssl-wrap dgst -binary -sha512 | rbtohex)" + + new_response="$(ykchalresp -${toString yubikey.slot} -x $new_challenge 2>/dev/null)" + + if [ ! -z "$k_user" ]; then + new_k_luks="$(echo -n $k_user | pbkdf2-sha512 ${toString yubikey.keyLength} $new_iterations $new_response | rbtohex)" + else + new_k_luks="$(echo | pbkdf2-sha512 ${toString yubikey.keyLength} $new_iterations $new_response | rbtohex)" + fi + + mkdir -p ${yubikey.ramfsMountPoint} + # A ramfs is used here to ensure that the file used to update + # the key slot with cryptsetup will never get swapped out. + # Warning: Do NOT replace with tmpfs! + mount -t ramfs none ${yubikey.ramfsMountPoint} + + echo -n "$new_k_luks" | hextorb > ${yubikey.ramfsMountPoint}/new_key + echo -n "$k_luks" | hextorb | cryptsetup luksChangeKey ${device} --key-file=- ${yubikey.ramfsMountPoint}/new_key + + if [ $? == "0" ]; then + echo -ne "$new_salt\n$new_iterations" > ${yubikey.storage.mountPoint}${yubikey.storage.path} + else + echo "Warning: Could not update LUKS key, current challenge persists!" + fi + + rm -f ${yubikey.ramfsMountPoint}/new_key + umount ${yubikey.ramfsMountPoint} + rm -rf ${yubikey.ramfsMountPoint} + + umount ${yubikey.storage.mountPoint} + } + + ${optionalString (yubikey.gracePeriod > 0) '' + echo -n "Waiting ${toString yubikey.gracePeriod} seconds as grace..." + for i in $(seq ${toString yubikey.gracePeriod}); do + sleep 1 + echo -n . + done + echo "ok" + ''} + + yubikey_missing=true + ykinfo -v 1>/dev/null 2>&1 + if [ $? != "0" ]; then + echo -n "waiting 10 seconds for yubikey to appear..." + for try in $(seq 10); do + sleep 1 + ykinfo -v 1>/dev/null 2>&1 + if [ $? == "0" ]; then + yubikey_missing=false + break + fi + echo -n . + done + echo "ok" + else + yubikey_missing=false + fi + + if [ "$yubikey_missing" == true ]; then + echo "no yubikey found, falling back to non-yubikey open procedure" + open_normally + else + open_yubikey + fi + ''} + # open luksRoot and scan for logical volumes - cryptsetup luksOpen ${device} ${name} ${optionalString allowDiscards "--allow-discards"} \ - ${optionalString (keyFile != null) "--key-file=${keyFile} ${optionalString (keyFileSize != null) "--keyfile-size=${toString keyFileSize}"}"} + ${optionalString ((!luks.yubikeySupport) || (yubikey == null)) '' + open_normally + ''} ''; isPreLVM = f: f.preLVM; @@ -139,10 +291,108 @@ in ''; }; - }; + yubikey = mkOption { + default = null; + type = types.nullOr types.optionSet; + description = '' + The options to use for this LUKS device in Yubikey-PBA. + If null (the default), Yubikey-PBA will be disabled for this device. + ''; + options = { + twoFactor = mkOption { + default = true; + type = types.bool; + description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false)"; + }; + + slot = mkOption { + default = 2; + type = types.int; + description = "Which slot on the Yubikey to challenge"; + }; + + saltLength = mkOption { + default = 16; + type = types.int; + description = "Length of the new salt in byte (64 is the effective maximum)"; + }; + + keyLength = mkOption { + default = 64; + type = types.int; + description = "Length of the LUKS slot key derived with PBKDF2 in byte"; + }; + + iterationStep = mkOption { + default = 0; + type = types.int; + description = "How much the iteration count for PBKDF2 is increased at each successful authentication"; + }; + + gracePeriod = mkOption { + default = 2; + type = types.int; + description = "Time in seconds to wait before attempting to find the Yubikey"; + }; + + ramfsMountPoint = mkOption { + default = "/crypt-ramfs"; + type = types.string; + description = "Path where the ramfs used to update the LUKS key will be mounted in stage-1"; + }; + + storage = mkOption { + type = types.optionSet; + description = "Options related to the storing the salt"; + + options = { + device = mkOption { + default = /dev/sda1; + type = types.path; + description = '' + An unencrypted device that will temporarily be mounted in stage-1. + Must contain the current salt to create the challenge for this LUKS device. + ''; + }; + + fsType = mkOption { + default = "vfat"; + type = types.string; + description = "The filesystem of the unencrypted device"; + }; + + mountPoint = mkOption { + default = "/crypt-storage"; + type = types.string; + description = "Path where the unencrypted device will be mounted in stage-1"; + }; + + path = mkOption { + default = "/crypt-storage/default"; + type = types.string; + description = '' + Absolute path of the salt on the unencrypted device with + that device's root directory as "/". + ''; + }; + }; + }; + }; + }; + + }; }; + boot.initrd.luks.yubikeySupport = mkOption { + default = false; + type = types.bool; + description = '' + Enables support for authenticating with a Yubikey on LUKS devices. + See the NixOS wiki for information on how to properly setup a LUKS device + and a Yubikey to work with this feature. + ''; + }; }; config = mkIf (luks.devices != []) { @@ -157,15 +407,48 @@ in # copy the cryptsetup binary and it's dependencies boot.initrd.extraUtilsCommands = '' cp -pdv ${pkgs.cryptsetup}/sbin/cryptsetup $out/bin - # XXX: do we have a function that does this? - for lib in $(ldd $out/bin/cryptsetup |grep '=>' |grep /nix/store/ |cut -d' ' -f3); do - cp -pdvn $lib $out/lib - cp -pvn $(readlink -f $lib) $out/lib - done + + cp -pdv ${pkgs.libgcrypt}/lib/libgcrypt*.so.* $out/lib + cp -pdv ${pkgs.libgpgerror}/lib/libgpg-error*.so.* $out/lib + cp -pdv ${pkgs.cryptsetup}/lib/libcryptsetup*.so.* $out/lib + cp -pdv ${pkgs.popt}/lib/libpopt*.so.* $out/lib + + ${optionalString luks.yubikeySupport '' + cp -pdv ${pkgs.ykpers}/bin/ykchalresp $out/bin + cp -pdv ${pkgs.ykpers}/bin/ykinfo $out/bin + cp -pdv ${pkgs.openssl}/bin/openssl $out/bin + + cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o $out/bin/pbkdf2-sha512 -lcrypto + strip -s $out/bin/pbkdf2-sha512 + + cp -pdv ${pkgs.libusb1}/lib/libusb*.so.* $out/lib + cp -pdv ${pkgs.ykpers}/lib/libykpers*.so.* $out/lib + cp -pdv ${pkgs.libyubikey}/lib/libyubikey*.so.* $out/lib + cp -pdv ${pkgs.openssl}/lib/libssl*.so.* $out/lib + cp -pdv ${pkgs.openssl}/lib/libcrypto*.so.* $out/lib + + mkdir -p $out/etc/ssl + cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl + + cat > $out/bin/openssl-wrap < $out/bin/openssl-wrap < +#include +#include +#include + +void hextorb(uint8_t* hex, uint8_t* rb) +{ + while(sscanf(hex, "%2x", rb) == 1) + { + hex += 2; + rb += 1; + } + *rb = '\0'; +} + +int main(int argc, char** argv) +{ + uint8_t k_user[2048]; + uint8_t salt[2048]; + uint8_t key[4096]; + + uint32_t key_length = atoi(argv[1]); + uint32_t iteration_count = atoi(argv[2]); + + hextorb(argv[3], salt); + uint32_t salt_length = strlen(argv[3]) / 2; + + fgets(k_user, 2048, stdin); + uint32_t k_user_length = strlen(k_user); + if(k_user[k_user_length - 1] == '\n') { + k_user[k_user_length - 1] = '\0'; + } + + PKCS5_PBKDF2_HMAC(k_user, k_user_length, salt, salt_length, iteration_count, EVP_sha512(), key_length, key); + fwrite(key, 1, key_length, stdout); + + return 0; +} \ No newline at end of file diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix index 44cadcd64a76..68bc936c5b0b 100644 --- a/nixos/modules/system/boot/shutdown.nix +++ b/nixos/modules/system/boot/shutdown.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 1f65026b5def..216937a619b1 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -14,7 +14,7 @@ fail() { # in an interactive shell. cat <restartIfChanged is + ignored. + ''; + }; + stopIfChanged = mkOption { type = types.bool; default = true; @@ -268,7 +299,7 @@ in rec { }; - socketOptions = unitOptions // { + socketOptions = commonUnitOptions // { listenStreams = mkOption { default = []; @@ -295,7 +326,7 @@ in rec { }; - timerOptions = unitOptions // { + timerOptions = commonUnitOptions // { timerConfig = mkOption { default = {}; @@ -314,7 +345,24 @@ in rec { }; - mountOptions = unitOptions // { + pathOptions = commonUnitOptions // { + + pathConfig = mkOption { + default = {}; + example = { PathChanged = "/some/path"; Unit = "changedpath.service"; }; + type = types.attrsOf unitOption; + description = '' + Each attribute in this set specifies an option in the + [Path] section of the unit. See + systemd.path + 5 for details. + ''; + }; + + }; + + + mountOptions = commonUnitOptions // { what = mkOption { example = "/dev/sda1"; @@ -358,7 +406,7 @@ in rec { }; }; - automountOptions = unitOptions // { + automountOptions = commonUnitOptions // { where = mkOption { example = "/mnt"; @@ -382,4 +430,6 @@ in rec { }; }; + targetOptions = commonUnitOptions; + } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index b575deb24b7b..6c6adab66e7c 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -1,8 +1,8 @@ -{ config, pkgs, utils, ... }: +{ config, lib, pkgs, utils, ... }: -with pkgs.lib; +with lib; with utils; -with import ./systemd-unit-options.nix { inherit config pkgs; }; +with import ./systemd-unit-options.nix { inherit config lib; }; let @@ -11,29 +11,26 @@ let systemd = cfg.package; makeUnit = name: unit: - pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; } - ((if !unit.enable then '' - mkdir -p $out - ln -s /dev/null $out/${name} - '' else if unit.linkTarget != null then '' - mkdir -p $out - ln -s ${unit.linkTarget} $out/${name} - '' else if unit.text != null then '' - mkdir -p $out - echo -n "$text" > $out/${name} - '' else "") + optionalString (unit.extraConfig != {}) '' - mkdir -p $out/${name}.d - ${concatStringsSep "\n" (mapAttrsToList (n: v: "echo -n \"${v}\" > $out/${name}.d/${n}") unit.extraConfig)} - ''); + if unit.enable then + pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; } + '' + mkdir -p $out + echo -n "$text" > $out/${name} + '' + else + pkgs.runCommand "unit" { preferLocalBuild = true; } + '' + mkdir -p $out + ln -s /dev/null $out/${name} + ''; - upstreamUnits = + upstreamSystemUnits = [ # Targets. "basic.target" "sysinit.target" "sockets.target" "graphical.target" "multi-user.target" - "getty.target" "network.target" "network-online.target" "nss-lookup.target" @@ -43,6 +40,7 @@ let "sigpwr.target" "timers.target" "paths.target" + "rpcbind.target" # Rescue mode. "rescue.target" @@ -55,6 +53,13 @@ let "systemd-udev-settle.service" "systemd-udev-trigger.service" + # Consoles. + "getty.target" + "getty@.service" + "serial-getty@.service" + "container-getty@.service" + "systemd-vconsole-setup.service" + # Hardware (started by udev when a relevant device is plugged in). "sound.target" "bluetooth.target" @@ -67,12 +72,15 @@ let #"systemd-vconsole-setup.service" "systemd-user-sessions.service" "dbus-org.freedesktop.login1.service" + "dbus-org.freedesktop.machine1.service" "user@.service" # Journal. "systemd-journald.socket" "systemd-journald.service" "systemd-journal-flush.service" + "systemd-journal-gatewayd.socket" + "systemd-journal-gatewayd.service" "syslog.socket" # SysV init compatibility. @@ -80,7 +88,8 @@ let "systemd-initctl.service" # Kernel module loading. - #"systemd-modules-load.service" + "systemd-modules-load.service" + "kmod-static-nodes.service" # Filesystems. "systemd-fsck@.service" @@ -93,10 +102,16 @@ let "swap.target" "dev-hugepages.mount" "dev-mqueue.mount" + "proc-sys-fs-binfmt_misc.mount" "sys-fs-fuse-connections.mount" "sys-kernel-config.mount" "sys-kernel-debug.mount" + # Maintaining state across reboots. + "systemd-random-seed.service" + "systemd-backlight@.service" + "systemd-rfkill@.service" + # Hibernate / suspend. "hibernate.target" "suspend.target" @@ -121,12 +136,30 @@ let "final.target" "kexec.target" "systemd-kexec.service" + "systemd-update-utmp.service" # Password entry. "systemd-ask-password-console.path" "systemd-ask-password-console.service" "systemd-ask-password-wall.path" "systemd-ask-password-wall.service" + + # Slices / containers. + "slices.target" + "-.slice" + "system.slice" + "user.slice" + "machine.slice" + "systemd-machined.service" + + # Temporary file creation / cleanup. + "systemd-tmpfiles-clean.service" + "systemd-tmpfiles-clean.timer" + "systemd-tmpfiles-setup.service" + "systemd-tmpfiles-setup-dev.service" + + # Misc. + "systemd-sysctl.service" ] ++ optionals cfg.enableEmergencyMode [ @@ -134,16 +167,26 @@ let "emergency.service" ]; - upstreamWants = + upstreamSystemWants = [ #"basic.target.wants" "sysinit.target.wants" "sockets.target.wants" "local-fs.target.wants" "multi-user.target.wants" - "shutdown.target.wants" "timers.target.wants" ]; + upstreamUserUnits = + [ "basic.target" + "default.target" + "exit.target" + "paths.target" + "shutdown.target" + "sockets.target" + "systemd-exit.service" + "timers.target" + ]; + makeJobScript = name: text: let x = pkgs.writeTextFile { name = "unit-script"; executable = true; destination = "/bin/${name}"; inherit text; }; in "${x}/bin/${name}"; @@ -151,15 +194,23 @@ let unitConfig = { name, config, ... }: { config = { unitConfig = - { Requires = concatStringsSep " " config.requires; - Wants = concatStringsSep " " config.wants; - After = concatStringsSep " " config.after; - Before = concatStringsSep " " config.before; - BindsTo = concatStringsSep " " config.bindsTo; - PartOf = concatStringsSep " " config.partOf; - Conflicts = concatStringsSep " " config.conflicts; - "X-Restart-Triggers" = toString config.restartTriggers; - } // optionalAttrs (config.description != "") { + optionalAttrs (config.requires != []) + { Requires = toString config.requires; } + // optionalAttrs (config.wants != []) + { Wants = toString config.wants; } + // optionalAttrs (config.after != []) + { After = toString config.after; } + // optionalAttrs (config.before != []) + { Before = toString config.before; } + // optionalAttrs (config.bindsTo != []) + { BindsTo = toString config.bindsTo; } + // optionalAttrs (config.partOf != []) + { PartOf = toString config.partOf; } + // optionalAttrs (config.conflicts != []) + { Conflicts = toString config.conflicts; } + // optionalAttrs (config.restartTriggers != []) + { X-Restart-Triggers = toString config.restartTriggers; } + // optionalAttrs (config.description != "") { Description = config.description; }; }; @@ -244,6 +295,11 @@ let (if isList value then value else [value])) as)); + commonUnitText = def: '' + [Unit] + ${attrsToSection def.unitConfig} + ''; + targetToUnit = name: def: { inherit (def) wantedBy requiredBy enable; text = @@ -255,15 +311,16 @@ let serviceToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Service] ${let env = cfg.globalEnvironment // def.environment; in concatMapStrings (n: "Environment=\"${n}=${getAttr n env}\"\n") (attrNames env)} - ${optionalString (!def.restartIfChanged) "X-RestartIfChanged=false"} + ${if def.reloadIfChanged then '' + X-ReloadIfChanged=true + '' else if !def.restartIfChanged then '' + X-RestartIfChanged=false + '' else ""} ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"} ${attrsToSection def.serviceConfig} ''; @@ -271,11 +328,8 @@ let socketToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Socket] ${attrsToSection def.socketConfig} ${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)} @@ -284,23 +338,26 @@ let timerToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Timer] ${attrsToSection def.timerConfig} ''; }; + pathToUnit = name: def: + { inherit (def) wantedBy requiredBy enable; + text = commonUnitText def + + '' + [Path] + ${attrsToSection def.pathConfig} + ''; + }; + mountToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Mount] ${attrsToSection def.mountConfig} ''; @@ -308,70 +365,99 @@ let automountToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} - [Automount] ${attrsToSection def.automountConfig} ''; }; - units = pkgs.runCommand "units" { preferLocalBuild = true; } - '' + generateUnits = type: units: upstreamUnits: upstreamWants: + pkgs.runCommand "${type}-units" { preferLocalBuild = true; } '' mkdir -p $out + + # Copy the upstream systemd units we're interested in. for i in ${toString upstreamUnits}; do - fn=${systemd}/example/systemd/system/$i + fn=${systemd}/example/systemd/${type}/$i if ! [ -e $fn ]; then echo "missing $fn"; false; fi if [ -L $fn ]; then - cp -pd $fn $out/ + target="$(readlink "$fn")" + if [ ''${target:0:3} = ../ ]; then + ln -s "$(readlink -f "$fn")" $out/ + else + cp -pd $fn $out/ + fi else ln -s $fn $out/ fi done + # Copy .wants links, but only those that point to units that + # we're interested in. for i in ${toString upstreamWants}; do - fn=${systemd}/example/systemd/system/$i + fn=${systemd}/example/systemd/${type}/$i if ! [ -e $fn ]; then echo "missing $fn"; false; fi x=$out/$(basename $fn) mkdir $x for i in $fn/*; do y=$x/$(basename $i) cp -pd $i $y - if ! [ -e $y ]; then rm -v $y; fi + if ! [ -e $y ]; then rm $y; fi done done - for i in ${toString (mapAttrsToList (n: v: v.unit) cfg.units)}; do - ln -fs $i/* $out/ - done - + # Symlink all units provided listed in systemd.packages. for i in ${toString cfg.packages}; do - ln -s $i/etc/systemd/system/* $out/ + files=$(echo $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*) + if [ -n "$files" ]; then + ln -s $files $out/ + fi done + # Symlink all units defined by systemd.units. If these are also + # provided by systemd or systemd.packages, then add them as + # .d/overrides.conf, which makes them extend the + # upstream unit. + for i in ${toString (mapAttrsToList (n: v: v.unit) units)}; do + fn=$(basename $i/*) + if [ -e $out/$fn ]; then + if [ "$(readlink -f $i/$fn)" = /dev/null ]; then + ln -sfn /dev/null $out/$fn + else + mkdir $out/$fn.d + ln -s $i/$fn $out/$fn.d/overrides.conf + fi + else + ln -fs $i/$fn $out/ + fi + done + + # Created .wants and .requires symlinks from the wantedBy and + # requiredBy options. ${concatStrings (mapAttrsToList (name: unit: concatMapStrings (name2: '' mkdir -p $out/'${name2}.wants' ln -sfn '../${name}' $out/'${name2}.wants'/ - '') unit.wantedBy) cfg.units)} + '') unit.wantedBy) units)} ${concatStrings (mapAttrsToList (name: unit: concatMapStrings (name2: '' mkdir -p $out/'${name2}.requires' ln -sfn '../${name}' $out/'${name2}.requires'/ - '') unit.requiredBy) cfg.units)} + '') unit.requiredBy) units)} - ln -s ${cfg.defaultUnit} $out/default.target + ${optionalString (type == "system") '' + # Stupid misc. symlinks. + ln -s ${cfg.defaultUnit} $out/default.target - ln -s rescue.target $out/kbrequest.target + ln -s rescue.target $out/kbrequest.target - mkdir -p $out/getty.target.wants/ - ln -s ../autovt@tty1.service $out/getty.target.wants/ + mkdir -p $out/getty.target.wants/ + ln -s ../autovt@tty1.service $out/getty.target.wants/ - ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \ - ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/ + ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \ + ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/ + ''} ''; # */ in @@ -393,55 +479,9 @@ in default = {}; type = types.attrsOf types.optionSet; options = { name, config, ... }: - { options = { - text = mkOption { - type = types.nullOr types.str; - default = null; - description = "Text of this systemd unit."; - }; - enable = mkOption { - default = true; - type = types.bool; - description = '' - If set to false, this unit will be a symlink to - /dev/null. This is primarily useful to prevent specific - template instances (e.g. serial-getty@ttyS0) - from being started. - ''; - }; - requiredBy = mkOption { - default = []; - type = types.listOf types.string; - description = "Units that require (i.e. depend on and need to go down with) this unit."; - }; - wantedBy = mkOption { - default = []; - type = types.listOf types.string; - description = "Units that want (i.e. depend on) this unit."; - }; - unit = mkOption { - internal = true; - description = "The generated unit."; - }; - linkTarget = mkOption { - default = null; - description = "The file to symlink this target to."; - type = types.nullOr types.path; - }; - extraConfig = mkOption { - default = {}; - example = { "foo@1.conf" = "X-RestartIfChanged=false"; }; - type = types.attrsOf types.lines; - description = '' - Extra files to be appended to the configuration for the unit. - This can be used to override configuration for a unit provided - by systemd or another package, or to override only a single instance - of a template unit. - ''; - }; - }; + { options = concreteUnitOptions; config = { - unit = makeUnit name config; + unit = mkDefault (makeUnit name config); }; }; }; @@ -455,7 +495,7 @@ in systemd.targets = mkOption { default = {}; type = types.attrsOf types.optionSet; - options = [ unitOptions unitConfig ]; + options = [ targetOptions unitConfig ]; description = "Definition of systemd target units."; }; @@ -480,6 +520,13 @@ in description = "Definition of systemd timer units."; }; + systemd.paths = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ pathOptions unitConfig ]; + description = "Definition of systemd path units."; + }; + systemd.mounts = mkOption { default = []; type = types.listOf types.optionSet; @@ -567,6 +614,14 @@ in ''; }; + services.journald.enableHttpGateway = mkOption { + default = false; + type = types.bool; + description = '' + Whether to enable the HTTP gateway to the journal. + ''; + }; + services.logind.extraConfig = mkOption { default = ""; type = types.lines; @@ -590,6 +645,41 @@ in ''; }; + systemd.tmpfiles.rules = mkOption { + type = types.listOf types.str; + default = []; + example = [ "d /tmp 1777 root root 10d" ]; + description = '' + Rules for creating and cleaning up temporary files + automatically. See + tmpfiles.d5 + for the exact format. You should not use this option to create + files required by systemd services, since there is no + guarantee that systemd-tmpfiles runs when + the system is reconfigured using + nixos-rebuild. + ''; + }; + + systemd.user.units = mkOption { + description = "Definition of systemd per-user units."; + default = {}; + type = types.attrsOf types.optionSet; + options = { name, config, ... }: + { options = concreteUnitOptions; + config = { + unit = mkDefault (makeUnit name config); + }; + }; + }; + + systemd.user.services = mkOption { + default = {}; + type = types.attrsOf types.optionSet; + options = [ serviceOptions unitConfig serviceConfig ]; + description = "Definition of systemd per-user service units."; + }; + }; @@ -597,11 +687,20 @@ in config = { - system.build.units = units; + assertions = mapAttrsToList (name: service: { + assertion = service.serviceConfig.Type or "" == "oneshot" -> service.serviceConfig.Restart or "no" == "no"; + message = "${name}: Type=oneshot services must have Restart=no"; + }) cfg.services; + + system.build.units = cfg.units; environment.systemPackages = [ systemd ]; - environment.etc."systemd/system".source = units; + environment.etc."systemd/system".source = + generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants; + + environment.etc."systemd/user".source = + generateUnits "user" cfg.user.units upstreamUserUnits []; environment.etc."systemd/system.conf".text = '' @@ -645,8 +744,11 @@ in ''; # Target for ‘charon send-keys’ to hook into. + users.extraGroups.keys.gid = config.ids.gids.keys; + systemd.targets.keys = { description = "Security Keys"; + unitConfig.X-StopOnReconfiguration = true; }; systemd.units = @@ -654,6 +756,7 @@ in // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers + // mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths // listToAttrs (map (v: let n = escapeSystemdPath v.where; in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts) @@ -661,6 +764,9 @@ in (v: let n = escapeSystemdPath v.where; in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts); + systemd.user.units = + mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services; + system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled [ "CGROUPS" "AUTOFS4_FS" "DEVTMPFS" ]; @@ -673,6 +779,8 @@ in }; users.extraGroups.systemd-journal.gid = config.ids.gids.systemd-journal; + users.extraUsers.systemd-journal-gateway.uid = config.ids.uids.systemd-journal-gateway; + users.extraGroups.systemd-journal-gateway.gid = config.ids.gids.systemd-journal-gateway; # Generate timer units for all services that have a ‘startAt’ value. systemd.timers = @@ -682,43 +790,25 @@ in }) (filterAttrs (name: service: service.startAt != "") cfg.services); - # FIXME: These are borrowed from upstream systemd. - systemd.services."systemd-update-utmp" = - { description = "Update UTMP about System Reboot/Shutdown"; - wantedBy = [ "sysinit.target" ]; - after = [ "systemd-remount-fs.service" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = { - DefaultDependencies = false; - RequiresMountsFor = "/var/log"; - }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${systemd}/lib/systemd/systemd-update-utmp reboot"; - ExecStop = "${systemd}/lib/systemd/systemd-update-utmp shutdown"; - }; - restartIfChanged = false; + systemd.sockets.systemd-journal-gatewayd.wantedBy = + optional config.services.journald.enableHttpGateway "sockets.target"; + + # Provide the systemd-user PAM service, required to run systemd + # user instances. + security.pam.services.systemd-user = + { # Ensure that pam_systemd gets included. This is special-cased + # in systemd to provide XDG_RUNTIME_DIR. + startSession = true; }; - systemd.services."systemd-random-seed" = - { description = "Load/Save Random Seed"; - wantedBy = [ "sysinit.target" "multi-user.target" ]; - after = [ "systemd-remount-fs.service" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = { - DefaultDependencies = false; - RequiresMountsFor = "/var/lib"; - }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${systemd}/lib/systemd/systemd-random-seed load"; - ExecStop = "${systemd}/lib/systemd/systemd-random-seed save"; - }; - }; + environment.etc."tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf"; + + environment.etc."tmpfiles.d/nixos.conf".text = + '' + # This file is created automatically and should not be modified. + # Please change the option ‘systemd.tmpfiles.rules’ instead. + ${concatStringsSep "\n" cfg.tmpfiles.rules} + ''; }; } diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index a8f0a59b6fa9..22d55a9e246c 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -1,8 +1,8 @@ # Management of static files in /etc. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -19,6 +19,8 @@ let sources = map (x: x.source) etc'; targets = map (x: x.target) etc'; modes = map (x: x.mode) etc'; + uids = map (x: x.uid) etc'; + gids = map (x: x.gid) etc'; }; in @@ -87,6 +89,24 @@ in ''; }; + uid = mkOption { + default = 0; + type = types.int; + description = '' + UID of created file. Only takes affect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + + gid = mkOption { + default = 0; + type = types.int; + description = '' + GID of created file. Only takes affect when the file is + copied (that is, the mode is not 'symlink'). + ''; + }; + }; config = { diff --git a/nixos/modules/system/etc/make-etc.sh b/nixos/modules/system/etc/make-etc.sh index 7cf68db9ddce..60d4ba1301a3 100644 --- a/nixos/modules/system/etc/make-etc.sh +++ b/nixos/modules/system/etc/make-etc.sh @@ -6,6 +6,8 @@ set -f sources_=($sources) targets_=($targets) modes_=($modes) +uids_=($uids) +gids_=($gids) set +f for ((i = 0; i < ${#targets_[@]}; i++)); do @@ -35,6 +37,8 @@ for ((i = 0; i < ${#targets_[@]}; i++)); do if test "${modes_[$i]}" != symlink; then echo "${modes_[$i]}" > $out/etc/$target.mode + echo "${uids_[$i]}" > $out/etc/$target.uid + echo "${gids_[$i]}" > $out/etc/$target.gid fi fi diff --git a/nixos/modules/system/etc/setup-etc.pl b/nixos/modules/system/etc/setup-etc.pl index 4b79dbaab89e..8ba9a370b27a 100644 --- a/nixos/modules/system/etc/setup-etc.pl +++ b/nixos/modules/system/etc/setup-etc.pl @@ -60,7 +60,15 @@ sub link { if ($mode eq "direct-symlink") { atomicSymlink readlink("$static/$fn"), $target or warn; } else { + open UID, "<$_.uid"; + my $uid = ; chomp $uid; + close UID; + open GID, "<$_.gid"; + my $gid = ; chomp $gid; + close GID; + copy "$static/$fn", "$target.tmp" or warn; + chown int($uid), int($gid), "$target.tmp" or warn; chmod oct($mode), "$target.tmp" or warn; rename "$target.tmp", $target or warn; } diff --git a/nixos/modules/system/upstart/upstart.nix b/nixos/modules/system/upstart/upstart.nix index aa5c8dfe64b2..5c0461304072 100644 --- a/nixos/modules/system/upstart/upstart.nix +++ b/nixos/modules/system/upstart/upstart.nix @@ -1,7 +1,7 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; -with import ../boot/systemd-unit-options.nix { inherit config pkgs; }; +with lib; +with import ../boot/systemd-unit-options.nix { inherit config lib; }; let @@ -93,7 +93,7 @@ let if job.daemonType == "fork" || job.daemonType == "daemon" then { Type = "forking"; GuessMainPID = true; } else if job.daemonType == "none" then { } else throw "invalid daemon type `${job.daemonType}'") - // optionalAttrs (!job.task && job.respawn) + // optionalAttrs (!job.task && !(job.script == "" && job.exec == "") && job.respawn) { Restart = "always"; } // optionalAttrs job.task { Type = "oneshot"; RemainAfterExit = false; }; diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix index 705ec93a1360..eb1dfe5f6be2 100644 --- a/nixos/modules/tasks/cpu-freq.nix +++ b/nixos/modules/tasks/cpu-freq.nix @@ -1,6 +1,11 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; + +let + cpupower = config.boot.kernelPackages.cpupower; + cfg = config.powerManagement; +in { ###### interface @@ -23,31 +28,28 @@ with pkgs.lib; ###### implementation - config = mkIf (config.powerManagement.cpuFreqGovernor != null) { + config = mkIf (!config.boot.isContainer && config.powerManagement.cpuFreqGovernor != null) { - environment.systemPackages = [ pkgs.cpufrequtils ]; + boot.kernelModules = [ "acpi-cpufreq" "speedstep-lib" "pcc-cpufreq" + "cpufreq_${cfg.cpuFreqGovernor}" + ]; - jobs.cpufreq = - { description = "CPU Frequency Governor Setup"; + environment.systemPackages = [ cpupower ]; - after = [ "systemd-modules-load.service" ]; - wantedBy = [ "multi-user.target" ]; - - unitConfig.ConditionPathIsReadWrite = "/sys/devices/"; - - path = [ pkgs.cpufrequtils ]; - - preStart = '' - for i in $(seq 0 $(($(nproc) - 1))); do - for gov in $(cpufreq-info -c $i -g); do - if [ "$gov" = ${config.powerManagement.cpuFreqGovernor} ]; then - echo "<6>setting governor on CPU $i to ‘$gov’" - cpufreq-set -c $i -g $gov - fi - done - done - ''; + systemd.services.cpufreq = { + description = "CPU Frequency Governor Setup"; + after = [ "systemd-modules-load.service" ]; + wantedBy = [ "multi-user.target" ]; + path = [ cpupower ]; + script = '' + cpupower frequency-set -g ${cfg.cpuFreqGovernor} + ''; + unitConfig.ConditionVirtualization = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = "yes"; }; - }; + }; + }; } diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index b0bcd2eb373e..954d0b0781f7 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -1,6 +1,6 @@ -{ config, pkgs, utils, ... }: +{ config, lib, pkgs, utils, ... }: -with pkgs.lib; +with lib; with utils; let @@ -148,7 +148,7 @@ in system.fsPackages = [ pkgs.dosfstools ]; environment.systemPackages = - [ pkgs.ntfs3g pkgs.cifs_utils ] + [ pkgs.ntfs3g pkgs.cifs_utils pkgs.fuse ] ++ config.system.fsPackages; environment.etc.fstab.text = diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index d95a32e2e3f7..d0a2ac645e0b 100644 --- a/nixos/modules/tasks/filesystems/btrfs.nix +++ b/nixos/modules/tasks/filesystems/btrfs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index 2b720a93b893..e8c3d8ab56d5 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix index f8c6a7000040..a3bfb3fed8ef 100644 --- a/nixos/modules/tasks/filesystems/reiserfs.nix +++ b/nixos/modules/tasks/filesystems/reiserfs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix index 5ca72f142b7d..4cfe6e208f7e 100644 --- a/nixos/modules/tasks/filesystems/vfat.nix +++ b/nixos/modules/tasks/filesystems/vfat.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix index 6800696a05a3..5225b62a88c5 100644 --- a/nixos/modules/tasks/filesystems/xfs.nix +++ b/nixos/modules/tasks/filesystems/xfs.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 7c3c662eeac9..1d75a24692c0 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: # # todo: # - crontab for scrubs, etc @@ -6,23 +6,35 @@ # - /etc/zfs/zpool.cache handling -with pkgs.lib; +with lib; let cfgSpl = config.boot.spl; + cfgSnapshots = config.services.zfs.autoSnapshot; + inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems; inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems; + + enableAutoSnapshots = cfgSnapshots.enable; + enableZfs = inInitrd || inSystem || enableAutoSnapshots; + kernel = config.boot.kernelPackages; + autosnapPkg = pkgs.zfstools.override { + zfs = config.boot.kernelPackages.zfs; + }; + + zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; + in { ###### interface - - options = { - boot.spl.hostid = mkOption { + + options = { + boot.spl.hostid = mkOption { default = ""; example = "0xdeadbeef"; description = '' @@ -34,62 +46,177 @@ in manually import pools. ''; }; + + services.zfs.autoSnapshot = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable the (OpenSolaris-compatible) ZFS auto-snapshotting service. + Note that you must set the com.sun:auto-snapshot + property to true on all datasets which you wish + to auto-snapshot. + + You can override a child dataset to use, or not use auto-snapshotting + by setting its flag with the given interval: + zfs set com.sun:auto-snapshot:weekly=false DATASET + ''; + }; + + frequent = mkOption { + default = 4; + type = types.int; + description = '' + Number of frequent (15-minute) auto-snapshots that you wish to keep. + ''; + }; + + hourly = mkOption { + default = 24; + type = types.int; + description = '' + Number of hourly auto-snapshots that you wish to keep. + ''; + }; + + daily = mkOption { + default = 7; + type = types.int; + description = '' + Number of daily auto-snapshots that you wish to keep. + ''; + }; + + weekly = mkOption { + default = 4; + type = types.int; + description = '' + Number of weekly auto-snapshots that you wish to keep. + ''; + }; + + monthly = mkOption { + default = 12; + type = types.int; + description = '' + Number of monthly auto-snapshots that you wish to keep. + ''; + }; + }; }; ###### implementation - config = mkIf ( inInitrd || inSystem ) { - - boot = { - kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ kernel.zfs kernel.spl ]; - extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' - options spl spl_hostid=${cfgSpl.hostid} - ''; - }; - - boot.initrd = mkIf inInitrd { - kernelModules = [ "spl" "zfs" ] ; - extraUtilsCommands = - '' - cp -v ${kernel.zfs}/sbin/zfs $out/bin - cp -v ${kernel.zfs}/sbin/zdb $out/bin - cp -v ${kernel.zfs}/sbin/zpool $out/bin - cp -pdv ${kernel.zfs}/lib/lib*.so* $out/lib - cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib + config = mkMerge [ + (mkIf enableZfs { + boot = { + kernelModules = [ "spl" "zfs" ] ; + extraModulePackages = [ kernel.zfs kernel.spl ]; + extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' + options spl spl_hostid=${cfgSpl.hostid} ''; - postDeviceCommands = - '' - zpool import -f -a -d /dev - ''; - }; - - systemd.services."zpool-import" = { - description = "Import zpools"; - after = [ "systemd-udev-settle.service" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - restartIfChanged = false; - ExecStart = "${kernel.zfs}/sbin/zpool import -f -a -d /dev"; }; - }; - systemd.services."zfs-mount" = { - description = "Mount ZFS Volumes"; - after = [ "zpool-import.service" ]; - wantedBy = [ "local-fs.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - restartIfChanged = false; - ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; - ExecStop = "${kernel.zfs}/sbin/zfs umount -a"; + boot.initrd = mkIf inInitrd { + kernelModules = [ "spl" "zfs" ] ; + extraUtilsCommands = + '' + cp -v ${kernel.zfs}/sbin/zfs $out/bin + cp -v ${kernel.zfs}/sbin/zdb $out/bin + cp -v ${kernel.zfs}/sbin/zpool $out/bin + cp -pdv ${kernel.zfs}/lib/lib*.so* $out/lib + cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib + ''; + postDeviceCommands = + '' + zpool import -f -a + ''; }; - }; - system.fsPackages = [ kernel.zfs ]; # XXX: needed? zfs doesn't have (need) a fsck - environment.systemPackages = [ kernel.zfs ]; - services.udev.packages = [ kernel.zfs ]; # to hook zvol naming, etc. - }; + systemd.services."zpool-import" = { + description = "Import zpools"; + after = [ "systemd-udev-settle.service" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${kernel.zfs}/sbin/zpool import -f -a"; + }; + restartIfChanged = false; + }; + + systemd.services."zfs-mount" = { + description = "Mount ZFS Volumes"; + after = [ "zpool-import.service" ]; + wantedBy = [ "local-fs.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; + ExecStop = "${kernel.zfs}/sbin/zfs umount -a"; + }; + restartIfChanged = false; + }; + + system.fsPackages = [ kernel.zfs ]; # XXX: needed? zfs doesn't have (need) a fsck + environment.systemPackages = [ kernel.zfs ]; + services.udev.packages = [ kernel.zfs ]; # to hook zvol naming, etc. + }) + + (mkIf enableAutoSnapshots { + systemd.services."zfs-snapshot-frequent" = { + description = "ZFS auto-snapshotting every 15 mins"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} frequent ${toString cfgSnapshots.frequent}"; + }; + restartIfChanged = false; + startAt = "*:15,30,45"; + }; + + systemd.services."zfs-snapshot-hourly" = { + description = "ZFS auto-snapshotting every hour"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} hourly ${toString cfgSnapshots.hourly}"; + }; + restartIfChanged = false; + startAt = "hourly"; + }; + + systemd.services."zfs-snapshot-daily" = { + description = "ZFS auto-snapshotting every day"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} daily ${toString cfgSnapshots.daily}"; + }; + restartIfChanged = false; + startAt = "daily"; + }; + + systemd.services."zfs-snapshot-weekly" = { + description = "ZFS auto-snapshotting every week"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} weekly ${toString cfgSnapshots.weekly}"; + }; + restartIfChanged = false; + startAt = "weekly"; + }; + + systemd.services."zfs-snapshot-monthly" = { + description = "ZFS auto-snapshotting every month"; + after = [ "zpool-import.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${zfsAutoSnap} monthly ${toString cfgSnapshots.monthly}"; + }; + restartIfChanged = false; + startAt = "monthly"; + }; + }) + ]; } diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index 1083fb784fc0..03c42404e5d5 100644 --- a/nixos/modules/tasks/kbd.nix +++ b/nixos/modules/tasks/kbd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -52,19 +52,7 @@ in # /dev/tty0 to prevent putting the X server in non-raw mode, and # it has a restart trigger. systemd.services."systemd-vconsole-setup" = - { description = "Setup Virtual Console"; - wantedBy = [ "sysinit.target" "multi-user.target" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = - { DefaultDependencies = "no"; - ConditionPathExists = "/dev/tty1"; - }; - serviceConfig = - { Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${config.systemd.package}/lib/systemd/systemd-vconsole-setup /dev/tty1"; - }; + { wantedBy = [ "multi-user.target" ]; restartTriggers = [ vconsoleConf ]; }; diff --git a/nixos/modules/tasks/lvm.nix b/nixos/modules/tasks/lvm.nix index 0e0272388c76..d56a8a2f63a8 100644 --- a/nixos/modules/tasks/lvm.nix +++ b/nixos/modules/tasks/lvm.nix @@ -1,10 +1,12 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: + +with lib; { ###### implementation - config = { + config = mkIf (!config.boot.isContainer) { environment.systemPackages = [ pkgs.lvm2 ]; diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 9619f0f5ebe7..9cc8b154324f 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -50,6 +50,26 @@ let ''; }; + ipv6Address = mkOption { + default = null; + example = "2001:1470:fffd:2098::e006"; + type = types.nullOr types.string; + description = '' + IPv6 address of the interface. Leave empty to configure the + interface using NDP. + ''; + }; + + ipv6prefixLength = mkOption { + default = 64; + example = 64; + type = types.int; + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (64). + ''; + }; + macAddress = mkOption { default = null; example = "00:11:22:33:44:55"; @@ -171,6 +191,15 @@ in ''; }; + networking.useHostResolvConf = mkOption { + type = types.bool; + default = false; + description = '' + In containers, whether to use the + resolv.conf supplied by the host. + ''; + }; + networking.localCommands = mkOption { default = ""; example = "text=anything; echo You can put $text here."; @@ -401,9 +430,11 @@ in EOF # Disable or enable IPv6. - if [ -e /proc/sys/net/ipv6/conf/all/disable_ipv6 ]; then - echo ${if cfg.enableIPv6 then "0" else "1"} > /proc/sys/net/ipv6/conf/all/disable_ipv6 - fi + ${optionalString (!config.boot.isContainer) '' + if [ -e /proc/sys/net/ipv6/conf/all/disable_ipv6 ]; then + echo ${if cfg.enableIPv6 then "0" else "1"} > /proc/sys/net/ipv6/conf/all/disable_ipv6 + fi + ''} # Set the default gateway. ${optionalString (cfg.defaultGateway != "") '' @@ -435,6 +466,7 @@ in (let mask = if i.prefixLength != null then toString i.prefixLength else if i.subnetMask != "" then i.subnetMask else "32"; + staticIPv6 = cfg.enableIPv6 && i.ipv6Address != null; in { description = "Configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; @@ -468,11 +500,31 @@ in echo "configuring interface..." ip -4 addr flush dev "${i.name}" ip -4 addr add "${i.ipAddress}/${mask}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" + fi + '' + + optionalString (staticIPv6) + '' + # Only do a flush/add if it's necessary. This is + # useful when the Nix store is accessed via this + # interface (e.g. in a QEMU VM test). + if ! ip -6 -o a show dev "${i.name}" | grep "${i.ipv6Address}/${toString i.ipv6prefixLength}"; then + echo "configuring interface..." + ip -6 addr flush dev "${i.name}" + ip -6 addr add "${i.ipv6Address}/${toString i.ipv6prefixLength}" dev "${i.name}" + restart_network_setup=true + else + echo "skipping configuring interface" + fi + '' + + optionalString (i.ipAddress != null || staticIPv6) + '' + if [ restart_network_setup = true ]; then # Ensure that the default gateway remains set. # (Flushing this interface may have removed it.) ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service - else - echo "skipping configuring interface" fi ${config.systemd.package}/bin/systemctl start ip-up.target '' diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index 071a80865983..a74023dec21a 100644 --- a/nixos/modules/tasks/scsi-link-power-management.nix +++ b/nixos/modules/tasks/scsi-link-power-management.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/testing/minimal-kernel.nix b/nixos/modules/testing/minimal-kernel.nix index 0418de800c8d..0cbca71e1326 100644 --- a/nixos/modules/testing/minimal-kernel.nix +++ b/nixos/modules/testing/minimal-kernel.nix @@ -5,7 +5,7 @@ let (map (builtins.getAttr "configLine") config.system.requiredKernelConfig)) ); - origKernel = pkgs.linuxManualConfig { + origKernel = pkgs.buildLinux { inherit (pkgs.linux) src version; inherit configfile; allowImportFromDerivation = true; diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix index 6f17ed77dad9..dfe8b430e045 100644 --- a/nixos/modules/testing/service-runner.nix +++ b/nixos/modules/testing/service-runner.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index 28494e1c7b2a..9100a433cd63 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -1,9 +1,9 @@ # This module allows the test driver to connect to the virtual machine # via a root shell attached to port 514. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let kernel = config.boot.kernelPackages.kernel; in @@ -86,6 +86,8 @@ let kernel = config.boot.kernelPackages.kernel; in (isEnabled "VIRTIO_CONSOLE") ]; + networking.usePredictableInterfaceNames = false; + }; } diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index abd2a1084bd9..18b18dd4b230 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { imports = [ ../profiles/headless.nix ./ec2-data.nix ]; @@ -164,5 +164,5 @@ with pkgs.lib; # Prevent logging in as root without a password. This doesn't really matter, # since the only PAM services that allow logging in with a null # password are local ones that are inaccessible on EC2 machines. - security.initialRootPassword = "!"; + security.initialRootPassword = mkDefault "!"; } diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix new file mode 100644 index 000000000000..195a8056bf82 --- /dev/null +++ b/nixos/modules/virtualisation/container-config.nix @@ -0,0 +1,91 @@ +{ config, pkgs, lib, ... }: + +with lib; + +{ + + config = mkIf config.boot.isContainer { + + # Disable some features that are not useful in a container. + sound.enable = mkDefault false; + services.udisks2.enable = mkDefault false; + + networking.useHostResolvConf = true; + + # Shut up warnings about not having a boot loader. + system.build.installBootLoader = "${pkgs.coreutils}/bin/true"; + + # Provide a root login prompt on /var/lib/root-login.socket that + # doesn't ask for a password. This socket can only be used by root + # on the host. + systemd.sockets.root-login = + { description = "Root Login Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = + { ListenStream = "/var/lib/root-login.socket"; + SocketMode = "0600"; + Accept = true; + }; + }; + + systemd.services."root-login@" = + { description = "Root Login %i"; + environment.TERM = "linux"; + serviceConfig = + { Type = "simple"; + StandardInput = "socket"; + ExecStart = "${pkgs.socat}/bin/socat -t0 - \"exec:${pkgs.shadow}/bin/login -f root,pty,setsid,setpgid,stderr,ctty\""; + TimeoutStopSec = 1; # FIXME + }; + restartIfChanged = false; + }; + + # Provide a daemon on /var/lib/run-command.socket that reads a + # command from stdin and executes it. + systemd.sockets.run-command = + { description = "Run Command Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = + { ListenStream = "/var/lib/run-command.socket"; + SocketMode = "0600"; # only root can connect + Accept = true; + }; + }; + + systemd.services."run-command@" = + { description = "Run Command %i"; + environment.TERM = "linux"; + serviceConfig = + { Type = "simple"; + StandardInput = "socket"; + TimeoutStopSec = 1; # FIXME + }; + script = + '' + #! ${pkgs.stdenv.shell} -e + source /etc/bashrc + read c + eval "command=($c)" + exec "''${command[@]}" + ''; + restartIfChanged = false; + }; + + systemd.services.container-startup-done = + { description = "Container Startup Notification"; + wantedBy = [ "multi-user.target" ]; + after = [ "multi-user.target" ]; + script = + '' + if [ -p /var/lib/startup-done ]; then + echo done > /var/lib/startup-done + fi + ''; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + restartIfChanged = false; + }; + + }; + +} diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index bcbfaacd703f..4fca872d72eb 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -1,6 +1,31 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; + +let + + runInNetns = pkgs.stdenv.mkDerivation { + name = "run-in-netns"; + unpackPhase = "true"; + buildPhase = '' + mkdir -p $out/bin + gcc ${./run-in-netns.c} -o $out/bin/run-in-netns + ''; + installPhase = "true"; + }; + + nixos-container = pkgs.substituteAll { + name = "nixos-container"; + dir = "bin"; + isExecutable = true; + src = ./nixos-container.pl; + perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; + inherit (pkgs) socat; + }; + + system = config.nixpkgs.system; + +in { options = { @@ -14,19 +39,12 @@ with pkgs.lib; ''; }; - systemd.containers = mkOption { + containers = mkOption { type = types.attrsOf (types.submodule ( { config, options, name, ... }: { options = { - root = mkOption { - type = types.path; - description = '' - The root directory of the container. - ''; - }; - config = mkOption { description = '' A specification of the desired configuration of this @@ -45,21 +63,54 @@ with pkgs.lib; ''; }; + privateNetwork = mkOption { + type = types.bool; + default = false; + description = '' + Whether to give the container its own private virtual + Ethernet interface. The interface is called + eth0, and is hooked up to the interface + c-container-name + on the host. If this option is not set, then the + container shares the network interfaces of the host, + and can bind to any port on any interface. + ''; + }; + + hostAddress = mkOption { + type = types.nullOr types.string; + default = null; + example = "10.231.136.1"; + description = '' + The IPv4 address assigned to the host interface. + ''; + }; + + localAddress = mkOption { + type = types.nullOr types.string; + default = null; + example = "10.231.136.2"; + description = '' + The IPv4 address assigned to eth0 + in the container. + ''; + }; + }; config = mkMerge - [ { root = mkDefault "/var/lib/containers/${name}"; - } - (mkIf options.config.isDefined { + [ (mkIf options.config.isDefined { path = (import ../../lib/eval-config.nix { + inherit system; modules = let extraConfig = { boot.isContainer = true; - security.initialRootPassword = "!"; + security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault name; + networking.useDHCP = false; }; in [ extraConfig config.config ]; - prefix = [ "systemd" "containers" name ]; + prefix = [ "containers" name ]; }).config.system.build.toplevel; }) ]; @@ -69,12 +120,10 @@ with pkgs.lib; example = literalExample '' { webserver = - { root = "/containers/webserver"; - path = "/nix/var/nix/profiles/webserver"; + { path = "/nix/var/nix/profiles/webserver"; }; database = - { root = "/containers/database"; - config = + { config = { config, pkgs, ... }: { services.postgresql.enable = true; services.postgresql.package = pkgs.postgresql92; @@ -94,44 +143,151 @@ with pkgs.lib; }; - config = { + config = mkIf (!config.boot.isContainer) { - systemd.services = mapAttrs' (name: container: nameValuePair "container-${name}" - { description = "Container '${name}'"; + systemd.services."container@" = + { description = "Container '%i'"; - wantedBy = [ "multi-user.target" ]; + unitConfig.RequiresMountsFor = [ "/var/lib/containers/%i" ]; - unitConfig.RequiresMountsFor = [ container.root ]; + path = [ pkgs.iproute ]; + + environment.INSTANCE = "%i"; + environment.root = "/var/lib/containers/%i"; preStart = '' - mkdir -p -m 0755 ${container.root}/etc - if ! [ -e ${container.root}/etc/os-release ]; then - touch ${container.root}/etc/os-release + mkdir -p -m 0755 $root/var/lib + + # Create a named pipe to get a signal when the container + # has finished booting. + rm -f $root/var/lib/startup-done + mkfifo -m 0600 $root/var/lib/startup-done + ''; + + script = + '' + mkdir -p -m 0755 "$root/etc" "$root/var/lib" + if ! [ -e "$root/etc/os-release" ]; then + touch "$root/etc/os-release" fi + + mkdir -p -m 0755 \ + "/nix/var/nix/profiles/per-container/$INSTANCE" \ + "/nix/var/nix/gcroots/per-container/$INSTANCE" + + if [ -f "/etc/containers/$INSTANCE.conf" ]; then + . "/etc/containers/$INSTANCE.conf" + fi + + # Cleanup from last time. + ifaceHost=c-$INSTANCE + ifaceCont=ctmp-$INSTANCE + ns=net-$INSTANCE + ip netns del $ns 2> /dev/null || true + ip link del $ifaceHost 2> /dev/null || true + ip link del $ifaceCont 2> /dev/null || true + + if [ "$PRIVATE_NETWORK" = 1 ]; then + # Create a pair of virtual ethernet devices. On the host, + # we get ‘c- /dev/null; then break; fi - sleep 1 - done - fi + machinectl poweroff "$INSTANCE" ''; - }) config.systemd.containers; + + restartIfChanged = false; + #reloadIfChanged = true; # FIXME + + serviceConfig.ExecReload = pkgs.writeScript "reload-container" + '' + #! ${pkgs.stdenv.shell} -e + SYSTEM_PATH=/nix/var/nix/profiles/system + if [ -f "/etc/containers/$INSTANCE.conf" ]; then + . "/etc/containers/$INSTANCE.conf" + fi + echo $SYSTEM_PATH/bin/switch-to-configuration test | \ + ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - + ''; + + serviceConfig.SyslogIdentifier = "container %i"; + }; + + # Generate a configuration file in /etc/containers for each + # container so that container@.target can get the container + # configuration. + environment.etc = mapAttrs' (name: cfg: nameValuePair "containers/${name}.conf" + { text = + '' + SYSTEM_PATH=${cfg.path} + ${optionalString cfg.privateNetwork '' + PRIVATE_NETWORK=1 + ${optionalString (cfg.hostAddress != null) '' + HOST_ADDRESS=${cfg.hostAddress} + ''} + ${optionalString (cfg.localAddress != null) '' + LOCAL_ADDRESS=${cfg.localAddress} + ''} + ''} + ''; + }) config.containers; + + # FIXME: auto-start containers. + + # Generate /etc/hosts entries for the containers. + networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null) + '' + ${cfg.localAddress} ${name}.containers + '') config.containers); + + environment.systemPackages = [ nixos-container ]; }; -} \ No newline at end of file +} diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix index 5133a98cd962..246d35065317 100644 --- a/nixos/modules/virtualisation/ec2-data.nix +++ b/nixos/modules/virtualisation/ec2-data.nix @@ -2,9 +2,9 @@ # host name of virtual machines running on Amazon EC2, Eucalyptus and # OpenStack Compute (Nova). -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { options = { diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 098c9ede8533..34b8b0e9c1ca 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -1,7 +1,9 @@ -{ config, pkgs, ... }: - -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; +let + diskSize = "100G"; +in { imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ]; @@ -12,7 +14,7 @@ with pkgs.lib; '' mkdir $out diskImage=$out/$diskImageBase - truncate $diskImage --size 10G + truncate $diskImage --size ${diskSize} mv closure xchg/ ''; @@ -20,8 +22,9 @@ with pkgs.lib; '' PATH=$PATH:${pkgs.gnutar}/bin:${pkgs.gzip}/bin pushd $out - tar -Szcf $diskImageBase.tar.gz $diskImageBase - rm $out/$diskImageBase + mv $diskImageBase disk.raw + tar -Szcf $diskImageBase.tar.gz disk.raw + rm $out/disk.raw popd ''; diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw"; @@ -32,7 +35,7 @@ with pkgs.lib; '' # Create partition table ${pkgs.parted}/sbin/parted /dev/vda mklabel msdos - ${pkgs.parted}/sbin/parted /dev/vda mkpart primary ext4 1 10G + ${pkgs.parted}/sbin/parted /dev/vda mkpart primary ext4 1 ${diskSize} ${pkgs.parted}/sbin/parted /dev/vda print . /sys/class/block/vda1/uevent mknod /dev/vda1 b $MAJOR $MINOR @@ -114,7 +117,7 @@ with pkgs.lib; # Prevent logging in as root without a password. This doesn't really matter, # since the only PAM services that allow logging in with a null # password are local ones that are inaccessible on Google Compute machines. - security.initialRootPassword = "!"; + security.initialRootPassword = mkDefault "!"; # Configure default metadata hostnames networking.extraHosts = '' diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index 583b09192e33..d7d700d88412 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -1,8 +1,8 @@ # Systemd services for libvirtd. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -24,6 +24,7 @@ in virtualisation.libvirtd.enable = mkOption { + type = types.bool; default = false; description = '' @@ -36,6 +37,7 @@ in virtualisation.libvirtd.enableKVM = mkOption { + type = types.bool; default = true; description = '' @@ -45,6 +47,7 @@ in virtualisation.libvirtd.extraConfig = mkOption { + type = types.lines; default = ""; description = '' diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl new file mode 100644 index 000000000000..2fd41a340962 --- /dev/null +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -0,0 +1,238 @@ +#! @perl@ + +use strict; +use POSIX; +use File::Path; +use File::Slurp; +use Fcntl ':flock'; +use Getopt::Long qw(:config gnu_getopt); + +my $socat = '@socat@/bin/socat'; + +# Parse the command line. + +sub showHelp { + print < [--config ] [--ensure-unique-name] + nixos-container destroy + nixos-container start + nixos-container stop + nixos-container login + nixos-container root-login + nixos-container run -- args... + nixos-container set-root-password + nixos-container show-ip +EOF + exit 0; +} + +my $ensureUniqueName = 0; +my $extraConfig = ""; + +GetOptions( + "help" => sub { showHelp() }, + "ensure-unique-name" => \$ensureUniqueName, + "config=s" => \$extraConfig + ) or exit 1; + +my $action = $ARGV[0] or die "$0: no action specified\n"; + + +# Execute the selected action. + +mkpath("/etc/containers", 0, 0755); +mkpath("/var/lib/containers", 0, 0700); + +if ($action eq "list") { + foreach my $confFile (glob "/etc/containers/*.conf") { + $confFile =~ /\/([^\/]+).conf$/ or next; + print "$1\n"; + } + exit 0; +} + +my $containerName = $ARGV[1] or die "$0: no container name specified\n"; +$containerName =~ /^[a-zA-Z0-9\-]+$/ or die "$0: invalid container name\n"; + +sub writeNixOSConfig { + my ($nixosConfigFile) = @_; + + my $nixosConfig = <>', $lockFN) or die "$0: opening $lockFN: $!"; + flock($lock, LOCK_EX) or die "$0: could not lock $lockFN: $!"; + + my $confFile = "/etc/containers/$containerName.conf"; + my $root = "/var/lib/containers/$containerName"; + + # Maybe generate a unique name. + if ($ensureUniqueName) { + my $base = $containerName; + for (my $nr = 0; ; $nr++) { + $containerName = "$base-$nr"; + $confFile = "/etc/containers/$containerName.conf"; + $root = "/var/lib/containers/$containerName"; + last unless -e $confFile || -e $root; + } + } + + die "$0: container ‘$containerName’ already exists\n" if -e $confFile; + + # Get an unused IP address. + my %usedIPs; + foreach my $confFile2 (glob "/etc/containers/*.conf") { + my $s = read_file($confFile2) or die; + $usedIPs{$1} = 1 if $s =~ /^HOST_ADDRESS=([0-9\.]+)$/m; + $usedIPs{$1} = 1 if $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m; + } + + my ($ipPrefix, $hostAddress, $localAddress); + for (my $nr = 1; $nr < 255; $nr++) { + $ipPrefix = "10.233.$nr"; + $hostAddress = "$ipPrefix.1"; + $localAddress = "$ipPrefix.2"; + last unless $usedIPs{$hostAddress} || $usedIPs{$localAddress}; + $ipPrefix = undef; + } + + die "$0: out of IP addresses\n" unless defined $ipPrefix; + + my @conf; + push @conf, "PRIVATE_NETWORK=1\n"; + push @conf, "HOST_ADDRESS=$hostAddress\n"; + push @conf, "LOCAL_ADDRESS=$localAddress\n"; + write_file($confFile, \@conf); + + close($lock); + + print STDERR "host IP is $hostAddress, container IP is $localAddress\n"; + + mkpath("$root/etc/nixos", 0, 0755); + + my $nixosConfigFile = "$root/etc/nixos/configuration.nix"; + writeNixOSConfig $nixosConfigFile; + + # The per-container directory is restricted to prevent users on + # the host from messing with guest users who happen to have the + # same uid. + my $profileDir = "/nix/var/nix/profiles/per-container"; + mkpath($profileDir, 0, 0700); + $profileDir = "$profileDir/$containerName"; + mkpath($profileDir, 0, 0755); + + system("nix-env", "-p", "$profileDir/system", + "-I", "nixos-config=$nixosConfigFile", "-f", "", + "--set", "-A", "system") == 0 + or die "$0: failed to build initial container configuration\n"; + + print "$containerName\n" if $ensureUniqueName; + exit 0; +} + +my $root = "/var/lib/containers/$containerName"; +my $profileDir = "/nix/var/nix/profiles/per-container/$containerName"; +my $confFile = "/etc/containers/$containerName.conf"; +die "$0: container ‘$containerName’ does not exist\n" if !-e $confFile; + +sub isContainerRunning { + my $status = `systemctl show 'container\@$containerName'`; + return $status =~ /ActiveState=active/; +} + +sub stopContainer { + system("systemctl", "stop", "container\@$containerName") == 0 + or die "$0: failed to stop container\n"; +} + +if ($action eq "destroy") { + die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n" + unless POSIX::access($confFile, &POSIX::W_OK); + + stopContainer if isContainerRunning; + + rmtree($profileDir) if -e $profileDir; + rmtree($root) if -e $root; + unlink($confFile) or die; +} + +elsif ($action eq "start") { + system("systemctl", "start", "container\@$containerName") == 0 + or die "$0: failed to start container\n"; +} + +elsif ($action eq "stop") { + stopContainer; +} + +elsif ($action eq "update") { + my $nixosConfigFile = "$root/etc/nixos/configuration.nix"; + + # FIXME: may want to be more careful about clobbering the existing + # configuration.nix. + writeNixOSConfig $nixosConfigFile if defined $extraConfig; + + system("nix-env", "-p", "$profileDir/system", + "-I", "nixos-config=$nixosConfigFile", "-f", "", + "--set", "-A", "system") == 0 + or die "$0: failed to build container configuration\n"; + + if (isContainerRunning) { + print STDERR "reloading container...\n"; + system("systemctl", "reload", "container\@$containerName") == 0 + or die "$0: failed to reload container\n"; + } +} + +elsif ($action eq "login") { + exec("machinectl", "login", "--", $containerName); +} + +elsif ($action eq "root-login") { + exec($socat, "unix:$root/var/lib/root-login.socket", "-,echo=0,raw"); +} + +elsif ($action eq "run") { + shift @ARGV; shift @ARGV; + open(SOCAT, "|-", $socat, "unix:$root/var/lib/run-command.socket", "-"); + print SOCAT join(' ', map { "'$_'" } @ARGV), "\n"; + close(SOCAT); +} + +elsif ($action eq "set-root-password") { + # FIXME: don't get password from the command line. + my $password = $ARGV[2] or die "$0: no password given\n"; + open(SOCAT, "|-", $socat, "unix:$root/var/lib/run-command.socket", "-"); + print SOCAT "passwd\n"; + print SOCAT "$password\n"; + print SOCAT "$password\n"; + close(SOCAT); +} + +elsif ($action eq "show-ip") { + my $s = read_file($confFile) or die; + $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m or die "$0: cannot get IP address\n"; + print "$1\n"; +} + +else { + die "$0: unknown action ‘$action’\n"; +} diff --git a/nixos/modules/virtualisation/nova-image.nix b/nixos/modules/virtualisation/nova-image.nix index 5c9481b71278..2523dacc0b56 100644 --- a/nixos/modules/virtualisation/nova-image.nix +++ b/nixos/modules/virtualisation/nova-image.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { imports = [ ../profiles/qemu-guest.nix ../profiles/headless.nix ./ec2-data.nix ]; diff --git a/nixos/modules/virtualisation/nova.nix b/nixos/modules/virtualisation/nova.nix index e0d25183574e..8795b5b52d5a 100644 --- a/nixos/modules/virtualisation/nova.nix +++ b/nixos/modules/virtualisation/nova.nix @@ -1,8 +1,8 @@ # Module for Nova, a.k.a. OpenStack Compute. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 2218e1045eb8..6605b94439bc 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -7,9 +7,9 @@ # the VM in the host. On the other hand, the root filesystem is a # read/writable disk image persistent across VM reboots. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -386,8 +386,7 @@ in # When building a regular system configuration, override whatever # video driver the host uses. - services.xserver.videoDriver = mkVMOverride null; - services.xserver.videoDrivers = mkVMOverride [ "vesa" ]; + hardware.opengl.videoDrivers = mkVMOverride [ "vesa" ]; services.xserver.defaultDepth = mkVMOverride 0; services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ]; services.xserver.monitorSection = @@ -400,6 +399,11 @@ in # Wireless won't work in the VM. networking.wireless.enable = mkVMOverride false; + # Speed up booting by not waiting for ARP. + networking.dhcpcd.extraConfig = "noarp"; + + networking.usePredictableInterfaceNames = false; + system.requiredKernelConfig = with config.lib.kernelConfig; [ (isEnabled "VIRTIO_BLK") (isEnabled "VIRTIO_PCI") diff --git a/nixos/modules/virtualisation/run-in-netns.c b/nixos/modules/virtualisation/run-in-netns.c new file mode 100644 index 000000000000..d375bddf2e6b --- /dev/null +++ b/nixos/modules/virtualisation/run-in-netns.c @@ -0,0 +1,50 @@ +#define _GNU_SOURCE + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char * * argv) +{ + if (argc < 3) { + fprintf(stderr, "%s: missing arguments\n", argv[0]); + return 1; + } + + char nsPath[PATH_MAX]; + + sprintf(nsPath, "/run/netns/%s", argv[1]); + + int fd = open(nsPath, O_RDONLY); + if (fd == -1) { + fprintf(stderr, "%s: opening network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + if (setns(fd, CLONE_NEWNET) == -1) { + fprintf(stderr, "%s: setting network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + umount2(nsPath, MNT_DETACH); + if (unlink(nsPath) == -1) { + fprintf(stderr, "%s: unlinking network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + /* FIXME: Remount /sys so that /sys/class/net reflects the + interfaces visible in the network namespace. This requires + bind-mounting /sys/fs/cgroups etc. */ + + execv(argv[2], argv + 2); + fprintf(stderr, "%s: running command: %s\n", argv[0], strerror(errno)); + return 1; +} diff --git a/nixos/modules/virtualisation/virtualbox-guest.nix b/nixos/modules/virtualisation/virtualbox-guest.nix index 664fd21781cd..96354f1d81d0 100644 --- a/nixos/modules/virtualisation/virtualbox-guest.nix +++ b/nixos/modules/virtualisation/virtualbox-guest.nix @@ -1,8 +1,8 @@ # Module for VirtualBox guests. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -38,6 +38,8 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly... boot.extraModulePackages = [ kernel.virtualboxGuestAdditions ]; + boot.kernelModules = [ "vboxsf" ]; + users.extraGroups.vboxsf.gid = config.ids.gids.vboxsf; systemd.services.virtualbox = @@ -52,7 +54,7 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly... serviceConfig.ExecStart = "@${kernel.virtualboxGuestAdditions}/sbin/VBoxService VBoxService --foreground"; }; - services.xserver.videoDrivers = mkOverride 50 [ "virtualbox" ]; + hardware.opengl.videoDrivers = mkOverride 50 [ "virtualbox" ]; services.xserver.config = '' diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index 71bdf31a98d2..3247881784e4 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { system.build.virtualBoxImage = @@ -92,7 +92,7 @@ with pkgs.lib; --audiocontroller ac97 --audio alsa \ --rtcuseutc on \ --usb on --mouse usbtablet - VBoxManage storagectl "$vmName" --name SATA --add sata --sataportcount 4 --bootable on --hostiocache on + VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \ --medium ${config.system.build.virtualBoxImage}/disk.vdi @@ -111,5 +111,5 @@ with pkgs.lib; # Prevent logging in as root without a password. For NixOps, we # don't need this because the user can login via SSH, and for the # demo images, there is a demo user account that can sudo to root. - security.initialRootPassword = "!"; + security.initialRootPassword = mkDefault "!"; } diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index 40f6929be4f0..566059472c9f 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -1,8 +1,8 @@ # Xen hypervisor (Dom0) support. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index dccc3acbf464..32f523750004 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -44,7 +44,7 @@ in rec { (all nixos.iso_graphical) (all nixos.ova) - #(all nixos.tests.efi-installer.simple) + # (all nixos.tests.efi-installer.simple) (all nixos.tests.firefox) (all nixos.tests.firewall) (all nixos.tests.installer.grub1) @@ -60,6 +60,8 @@ in rec { (all nixos.tests.openssh) (all nixos.tests.printing) (all nixos.tests.proxy) + (all nixos.tests.udisks) + (all nixos.tests.udisks2) (all nixos.tests.xfce) nixpkgs.tarball diff --git a/nixos/release.nix b/nixos/release.nix index ff094cce05fa..4a10ff39ed0c 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -14,6 +14,8 @@ let forAllSystems = pkgs.lib.genAttrs systems; + callTest = fn: args: forAllSystems (system: import fn ({ inherit system; } // args)); + pkgs = import nixpkgs { system = "x86_64-linux"; }; lib = pkgs.lib; @@ -207,13 +209,43 @@ in rec { */ - # Run the tests in ./tests/default.nix for each platform. You can - # run a test by doing e.g. "nix-build -A tests.login.x86_64-linux". - tests = - with lib; - let - testsFor = system: - mapAttrsRecursiveCond (x: !x ? test) (n: v: listToAttrs [(nameValuePair system v.test)]) - (import ./tests { inherit nixpkgs system; }); - in fold recursiveUpdate {} (map testsFor systems); + # Run the tests for each platform. You can run a test by doing + # e.g. ‘nix-build -A tests.login.x86_64-linux’, or equivalently, + # ‘nix-build tests/login.nix -A result’. + tests.avahi = callTest tests/avahi.nix {}; + tests.bittorrent = callTest tests/bittorrent.nix {}; + tests.containers = callTest tests/containers.nix {}; + tests.firefox = callTest tests/firefox.nix {}; + tests.firewall = callTest tests/firewall.nix {}; + tests.gnome3 = callTest tests/gnome3.nix {}; + tests.installer.grub1 = forAllSystems (system: (import tests/installer.nix { inherit system; }).grub1.test); + tests.installer.lvm = forAllSystems (system: (import tests/installer.nix { inherit system; }).lvm.test); + tests.installer.rebuildCD = forAllSystems (system: (import tests/installer.nix { inherit system; }).rebuildCD.test); + tests.installer.separateBoot = forAllSystems (system: (import tests/installer.nix { inherit system; }).separateBoot.test); + tests.installer.simple = forAllSystems (system: (import tests/installer.nix { inherit system; }).simple.test); + tests.ipv6 = callTest tests/ipv6.nix {}; + tests.jenkins = callTest tests/jenkins.nix {}; + tests.kde4 = callTest tests/kde4.nix {}; + tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; + tests.login = callTest tests/login.nix {}; + tests.logstash = callTest tests/logstash.nix {}; + tests.misc = callTest tests/misc.nix {}; + tests.mumble = callTest tests/mumble.nix {}; + tests.munin = callTest tests/munin.nix {}; + tests.mysql = callTest tests/mysql.nix {}; + tests.mysqlReplication = callTest tests/mysql-replication.nix {}; + tests.nat = callTest tests/nat.nix {}; + tests.nfs3 = callTest tests/nfs.nix { version = 3; }; + tests.openssh = callTest tests/openssh.nix {}; + tests.printing = callTest tests/printing.nix {}; + tests.proxy = callTest tests/proxy.nix {}; + tests.quake3 = callTest tests/quake3.nix {}; + tests.rabbitmq = callTest tests/rabbitmq.nix {}; + tests.runInMachine = callTest tests/run-in-machine.nix {}; + tests.simple = callTest tests/simple.nix {}; + tests.tomcat = callTest tests/tomcat.nix {}; + tests.udisks = callTest tests/udisks.nix {}; + tests.udisks2 = callTest tests/udisks2.nix {}; + tests.xfce = callTest tests/xfce.nix {}; + } diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix index d95361dcd83d..4091e7ece501 100644 --- a/nixos/tests/avahi.nix +++ b/nixos/tests/avahi.nix @@ -1,8 +1,7 @@ -{ pkgs, ... }: +# Test whether `avahi-daemon' and `libnss-mdns' work as expected. -with pkgs; +import ./make-test.nix { -{ nodes = { one = { config, pkgs, ... }: { @@ -17,7 +16,6 @@ with pkgs; }; }; - # Test whether `avahi-daemon' and `libnss-mdns' work as expected. testScript = '' startAll; diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 6e67edb0b820..b58657a5ecdb 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -6,7 +6,7 @@ # which only works if the first client successfully uses the UPnP-IGD # protocol to poke a hole in the NAT. -{ pkgs, ... }: +import ./make-test.nix ({ pkgs, ... }: let @@ -33,6 +33,8 @@ in services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.httpd.documentRoot = "/tmp"; + + networking.firewall.enable = false; # FIXME: figure out what ports we actually need }; router = @@ -40,8 +42,9 @@ in { environment.systemPackages = [ pkgs.miniupnpd ]; virtualisation.vlans = [ 1 2 ]; networking.nat.enable = true; - networking.nat.internalIPs = [ "192.168.2.0/24" ]; + networking.nat.internalInterfaces = [ "eth2" ]; networking.nat.externalInterface = "eth1"; + networking.firewall.enable = false; }; client1 = @@ -50,11 +53,13 @@ in virtualisation.vlans = [ 2 ]; networking.defaultGateway = nodes.router.config.networking.interfaces.eth2.ipAddress; + networking.firewall.enable = false; }; client2 = { config, pkgs, ... }: { environment.systemPackages = [ pkgs.transmission ]; + networking.firewall.enable = false; }; }; @@ -66,8 +71,8 @@ in # Enable NAT on the router and start miniupnpd. $router->waitForUnit("nat"); $router->succeed( - "iptables -t nat -N MINIUPNPD", - "iptables -t nat -A PREROUTING -i eth1 -j MINIUPNPD", + "iptables -w -t nat -N MINIUPNPD", + "iptables -w -t nat -A PREROUTING -i eth1 -j MINIUPNPD", "echo 1 > /proc/sys/net/ipv4/ip_forward", "miniupnpd -f ${miniupnpdConf nodes}" ); @@ -75,7 +80,7 @@ in # Create the torrent. $tracker->succeed("mkdir /tmp/data"); $tracker->succeed("cp ${file} /tmp/data/test.tar.bz2"); - $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://tracker:6969/announce -o /tmp/test.torrent"); + $tracker->succeed("transmission-create /tmp/data/test.tar.bz2 -t http://${nodes.tracker.config.networking.interfaces.eth1.ipAddress}:6969/announce -o /tmp/test.torrent"); $tracker->succeed("chmod 644 /tmp/test.torrent"); # Start the tracker. !!! use a less crappy tracker @@ -104,4 +109,4 @@ in $client2->succeed("cmp /tmp/test.tar.bz2 ${file}"); ''; -} +}) diff --git a/nixos/tests/common/user-account.nix b/nixos/tests/common/user-account.nix index 8157cf8d263e..0239a3c4d08a 100644 --- a/nixos/tests/common/user-account.nix +++ b/nixos/tests/common/user-account.nix @@ -7,5 +7,6 @@ createHome = true; useDefaultShell = true; password = "foobar"; + uid = 1000; }; } diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix new file mode 100644 index 000000000000..8ad9cd6e0d79 --- /dev/null +++ b/nixos/tests/containers.nix @@ -0,0 +1,79 @@ +# Test for NixOS' container support. + +import ./make-test.nix { + + machine = + { config, pkgs, ... }: + { imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + virtualisation.memorySize = 768; + + containers.webserver = + { privateNetwork = true; + hostAddress = "10.231.136.1"; + localAddress = "10.231.136.2"; + config = + { services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.firewall.allowPing = true; + }; + }; + + virtualisation.pathsInNixDB = [ pkgs.stdenv ]; + }; + + testScript = + '' + $machine->succeed("nixos-container list") =~ /webserver/ or die; + + # Start the webserver container. + $machine->succeed("nixos-container start webserver"); + + # Since "start" returns after the container has reached + # multi-user.target, we should now be able to access it. + my $ip = $machine->succeed("nixos-container show-ip webserver"); + chomp $ip; + $machine->succeed("ping -c1 $ip"); + $machine->succeed("curl --fail http://$ip/ > /dev/null"); + + # Stop the container. + $machine->succeed("nixos-container stop webserver"); + $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null"); + + # Make sure we have a NixOS tree (required by ‘nixos-container create’). + $machine->succeed("nix-env -qa -A nixos.pkgs.hello >&2"); + + # Create some containers imperatively. + my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name"); + chomp $id1; + $machine->log("created container $id1"); + + my $id2 = $machine->succeed("nixos-container create foo --ensure-unique-name"); + chomp $id2; + $machine->log("created container $id2"); + + die if $id1 eq $id2; + + my $ip1 = $machine->succeed("nixos-container show-ip $id1"); + chomp $ip1; + my $ip2 = $machine->succeed("nixos-container show-ip $id2"); + chomp $ip2; + die if $ip1 eq $ip2; + + # Start one of them. + $machine->succeed("nixos-container start $id1"); + + # Execute commands via the root shell. + $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; + $machine->succeed("nixos-container set-root-password $id1 foobar"); + + # Destroy the containers. + $machine->succeed("nixos-container destroy $id1"); + $machine->succeed("nixos-container destroy $id2"); + + # Destroying a declarative container should fail. + $machine->fail("nixos-container destroy webserver"); + ''; + +} diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix deleted file mode 100644 index 574e1dd2f8b8..000000000000 --- a/nixos/tests/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ nixpkgs ? -, system ? builtins.currentSystem -, minimal ? false -}: - -with import ../lib/testing.nix { inherit system minimal; }; - -{ - avahi = makeTest (import ./avahi.nix); - bittorrent = makeTest (import ./bittorrent.nix); - firefox = makeTest (import ./firefox.nix); - firewall = makeTest (import ./firewall.nix); - installer = makeTests (import ./installer.nix); - efi-installer = makeTests (import ./efi-installer.nix); - ipv6 = makeTest (import ./ipv6.nix); - kde4 = makeTest (import ./kde4.nix); - #kexec = makeTest (import ./kexec.nix); - login = makeTest (import ./login.nix {}); - logstash = makeTest (import ./logstash.nix); - latestKernel.login = makeTest (import ./login.nix ({ config, pkgs, ... }: { boot.kernelPackages = pkgs.linuxPackages_latest; })); - misc = makeTest (import ./misc.nix); - #mpich = makeTest (import ./mpich.nix); - mysql = makeTest (import ./mysql.nix); - mysql_replication = makeTest (import ./mysql-replication.nix); - munin = makeTest (import ./munin.nix); - nat = makeTest (import ./nat.nix); - nfs3 = makeTest (import ./nfs.nix { version = 3; }); - #nfs4 = makeTest (import ./nfs.nix { version = 4; }); - openssh = makeTest (import ./openssh.nix); - #partition = makeTest (import ./partition.nix); - printing = makeTest (import ./printing.nix); - proxy = makeTest (import ./proxy.nix); - quake3 = makeTest (import ./quake3.nix); - simple = makeTest (import ./simple.nix); - #subversion = makeTest (import ./subversion.nix); - tomcat = makeTest (import ./tomcat.nix); - #trac = makeTest (import ./trac.nix); - xfce = makeTest (import ./xfce.nix); - runInMachine.test = import ./run-in-machine.nix { inherit system; }; -} diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index ca634ffcf1e0..b42d473b8025 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, ... }: @@ -16,7 +14,6 @@ $machine->waitForWindow(qr/Valgrind/); $machine->sleep(40); # wait until Firefox has finished loading the page $machine->screenshot("screen"); - ''; -} +}) diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index de32b98e5d2f..d10e10b1d91c 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -1,8 +1,6 @@ # Test the firewall module. -{ pkgs, ... }: - -{ +import ./make-test.nix { nodes = { walled = @@ -17,6 +15,7 @@ { config, pkgs, ... }: { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; + networking.firewall.enable = false; }; }; @@ -33,7 +32,7 @@ $walled->succeed("curl -v http://localhost/ >&2"); # Connections to the firewalled machine should fail. - $attacker->fail("curl -v http://walled/ >&2"); + $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2"); $attacker->fail("ping -c 1 walled >&2"); # Outgoing connections/pings should still work. diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix new file mode 100644 index 000000000000..f1a6ce633313 --- /dev/null +++ b/nixos/tests/gnome3.nix @@ -0,0 +1,29 @@ +import ./make-test.nix { + + machine = + { config, pkgs, ... }: + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager.auto.enable = true; + services.xserver.displayManager.auto.user = "alice"; + services.xserver.desktopManager.gnome3.enable = true; + }; + + testScript = + '' + $machine->waitForX; + $machine->sleep(15); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); + $machine->waitForWindow(qr/Terminal/); + $machine->sleep(10); + $machine->screenshot("screen"); + ''; + +} diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 7581c10a01d0..43bea22d852e 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -1,7 +1,8 @@ -{ pkgs, system, ... }: +{ system ? builtins.currentSystem }: -with pkgs.lib; +with import ../lib/testing.nix { inherit system; }; with import ../lib/qemu-flags.nix; +with pkgs.lib; let @@ -39,7 +40,7 @@ let { imports = [ ./hardware-configuration.nix - "''${modulesPath}/testing/test-instrumentation.nix" + ]; boot.loader.grub.version = ${toString grubVersion}; @@ -48,7 +49,6 @@ let ''} boot.loader.grub.device = "${grubDevice}"; boot.loader.grub.extraConfig = "serial; terminal_output.serial"; - boot.initrd.kernelModules = [ "virtio_console" ]; environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; } @@ -80,6 +80,8 @@ let virtualisation.writableStore = true; virtualisation.pathsInNixDB = channelContents ++ [ pkgs.hello.src ]; virtualisation.memorySize = 768; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; channelContents = [ pkgs.rlwrap ]; @@ -98,7 +100,7 @@ let my $machine = createMachine({ hda => "harddisk", hdaInterface => "${iface}", cdrom => glob("${iso}/iso/*.iso"), - qemuFlags => '${optionalString testChannel (toString (qemuNICFlags 1 1 2))} ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"}'}); + qemuFlags => '${optionalString testChannel (toString (qemuNICFlags 1 1 2))} ${optionalString (iso.system == "x86_64-linux") "-cpu kvm64"}'}); $machine->start; ${optionalString testChannel '' @@ -177,7 +179,7 @@ let # Test nixos-option. $machine->succeed("nixos-option boot.initrd.kernelModules | grep virtio_console"); $machine->succeed("nixos-option -d boot.initrd.kernelModules | grep 'List of modules'"); - $machine->succeed("nixos-option -l boot.initrd.kernelModules | grep /etc/nixos/configuration.nix"); + $machine->succeed("nixos-option -l boot.initrd.kernelModules | grep qemu-guest.nix"); $machine->shutdown; @@ -189,8 +191,10 @@ let ''; - makeTest = { createPartitions, fileSystems, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: - { inherit iso; + makeInstallerTest = + { createPartitions, fileSystems, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: + makeTest { + inherit iso; nodes = if testChannel then { inherit webserver; } else { }; testScript = testScriptFun { inherit createPartitions fileSystems testChannel grubVersion grubDevice; @@ -205,7 +209,7 @@ in { # The (almost) simplest partitioning scheme: a swap partition and # one big filesystem partition. - simple = makeTest + simple = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -224,7 +228,7 @@ in { }; # Same as the previous, but now with a separate /boot partition. - separateBoot = makeTest + separateBoot = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -238,7 +242,7 @@ in { "mkfs.ext3 -L nixos /dev/vda3", "mount LABEL=nixos /mnt", "mkfs.ext3 -L boot /dev/vda1", - "mkdir /mnt/boot", + "mkdir -p /mnt/boot", "mount LABEL=boot /mnt/boot", ); ''; @@ -247,14 +251,14 @@ in { # Create two physical LVM partitions combined into one volume group # that contains the logical swap and root partitions. - lvm = makeTest + lvm = makeInstallerTest { createPartitions = '' $machine->succeed( "parted /dev/vda mklabel msdos", - "parted /dev/vda -- mkpart primary 1M 2048M", # first PV + "parted /dev/vda -- mkpart primary 1M 2048M", # PV1 "parted /dev/vda -- set 1 lvm on", - "parted /dev/vda -- mkpart primary 2048M -1s", # second PV + "parted /dev/vda -- mkpart primary 2048M -1s", # PV2 "parted /dev/vda -- set 2 lvm on", "udevadm settle", "pvcreate /dev/vda1 /dev/vda2", @@ -270,8 +274,7 @@ in { fileSystems = rootFS; }; - /* - swraid = makeTest + swraid = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -303,10 +306,9 @@ in { ''; fileSystems = rootFS + bootFS; }; - */ # Test a basic install using GRUB 1. - grub1 = makeTest + grub1 = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -327,7 +329,7 @@ in { }; # Rebuild the CD configuration with a little modification. - rebuildCD = + rebuildCD = makeTest { inherit iso; nodes = { }; testScript = diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix index 29d675e180a3..eb15363d3c32 100644 --- a/nixos/tests/ipv6.nix +++ b/nixos/tests/ipv6.nix @@ -1,9 +1,7 @@ # Test of IPv6 functionality in NixOS, including whether router # solicication/advertisement using radvd works. -{ pkgs, ... }: - -{ +import ./make-test.nix { nodes = { client = { config, pkgs, ... }: { }; @@ -12,6 +10,7 @@ { config, pkgs, ... }: { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; }; router = diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix new file mode 100644 index 000000000000..9d3f76ca3e15 --- /dev/null +++ b/nixos/tests/jenkins.nix @@ -0,0 +1,41 @@ +# verifies: +# 1. jenkins service starts on master node +# 2. jenkins user can be extended on both master and slave +# 3. jenkins service not started on slave node + +import ./make-test.nix { + + nodes = { + + master = + { config, pkgs, ... }: + { services.jenkins.enable = true; + + # should have no effect + services.jenkinsSlave.enable = true; + + users.extraUsers.jenkins.extraGroups = [ "users" ]; + }; + + slave = + { config, pkgs, ... }: + { services.jenkinsSlave.enable = true; + + users.extraUsers.jenkins.extraGroups = [ "users" ]; + }; + + }; + + testScript = '' + startAll; + + $master->waitForUnit("jenkins"); + print $master->execute("sudo -u jenkins groups"); + $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + print $slave->execute("sudo -u jenkins groups"); + $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); + + $slave->mustFail("systemctl status jenkins.service"); + ''; +} diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix index 3fb35bbab098..725759ab758a 100644 --- a/nixos/tests/kde4.nix +++ b/nixos/tests/kde4.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, ... }: @@ -64,4 +62,4 @@ $machine->screenshot("screen"); ''; -} +}) diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index b8da332b919b..b09287682c01 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -1,8 +1,6 @@ # Test whether fast reboots via kexec work. -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: { virtualisation.vlans = [ ]; }; diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index ed7d97867179..44c53c231c81 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -1,12 +1,16 @@ -config: { pkgs, ... }: +import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: { - machine = config; + machine = + { config, pkgs, lib, ... }: + { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest; + }; testScript = '' - $machine->waitForUnit("default.target"); + $machine->waitForUnit('multi-user.target'); + $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'"); $machine->screenshot("postboot"); subtest "create user", sub { @@ -16,9 +20,11 @@ config: { pkgs, ... }: # Check whether switching VTs works. subtest "virtual console switching", sub { + $machine->fail("pgrep -f 'agetty.*tty2'"); $machine->sendKeys("alt-f2"); $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]"); $machine->waitForUnit('getty@tty2.service'); + $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'"); }; # Log in as alice on a virtual console. @@ -58,4 +64,4 @@ config: { pkgs, ... }: }; ''; -} +}) diff --git a/nixos/tests/logstash.nix b/nixos/tests/logstash.nix index ee309d39f872..e6aba7a10126 100644 --- a/nixos/tests/logstash.nix +++ b/nixos/tests/logstash.nix @@ -1,9 +1,8 @@ -{ pkgs, ... }: +# This test runs logstash and checks if messages flows and +# elasticsearch is started. -# This test runs logstash and checks if messages flows and elasticsearch is -# started +import ./make-test.nix { -{ nodes = { one = { config, pkgs, ... }: @@ -28,10 +27,10 @@ }; }; }; - + testScript = '' startAll; - + $one->waitForUnit("logstash.service"); $one->waitUntilSucceeds("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep flowers"); $one->fail("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep dragons"); diff --git a/nixos/tests/make-test.nix b/nixos/tests/make-test.nix new file mode 100644 index 000000000000..285ca5b71d6e --- /dev/null +++ b/nixos/tests/make-test.nix @@ -0,0 +1,5 @@ +f: { system ? builtins.currentSystem, ... } @ args: + +with import ../lib/testing.nix { inherit system; }; + +makeTest (if builtins.isFunction f then f (args // { inherit pkgs; }) else f) diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index d355d705a24c..363be2cbb357 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -1,8 +1,6 @@ # Miscellaneous small tests that don't warrant their own VM run. -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: @@ -10,6 +8,7 @@ [ { device = "/root/swapfile"; size = 128; } ]; environment.variables.EDITOR = pkgs.lib.mkOverride 0 "emacs"; services.nixosManual.enable = pkgs.lib.mkOverride 0 true; + systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; }; testScript = @@ -65,6 +64,22 @@ $machine->succeed('[ "`hostname`" = machine ]'); $machine->succeed('[ "`hostname -s`" = machine ]'); }; + + # Test whether systemd-udevd automatically loads modules for our hardware. + subtest "udev-auto-load", sub { + $machine->waitForUnit('systemd-udev-settle.service'); + $machine->succeed('lsmod | grep psmouse'); + }; + + # Test whether systemd-tmpfiles-clean works. + subtest "tmpfiles", sub { + $machine->succeed('touch /tmp/foo'); + $machine->succeed('systemctl start systemd-tmpfiles-clean'); + $machine->succeed('[ -e /tmp/foo ]'); + $machine->succeed('date -s "@$(($(date +%s) + 1000000))"'); # move into the future + $machine->succeed('systemctl start systemd-tmpfiles-clean'); + $machine->fail('[ -e /tmp/foo ]'); + }; ''; } diff --git a/nixos/tests/mpich.nix b/nixos/tests/mpich.nix index d57512ebdfed..13cd0960d07c 100644 --- a/nixos/tests/mpich.nix +++ b/nixos/tests/mpich.nix @@ -1,10 +1,6 @@ # Simple example to showcase distributed tests using NixOS VMs. -{ pkgs, ... }: - -with pkgs; - -{ +import ./make-test.nix { nodes = { master = { config, pkgs, ... }: { diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix new file mode 100644 index 000000000000..8896830b0c22 --- /dev/null +++ b/nixos/tests/mumble.nix @@ -0,0 +1,55 @@ +import ./make-test.nix ( + +let + client = { config, pkgs, ... }: { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.mumble ]; + }; +in +{ + nodes = { + server = { config, pkgs, ... }: { + services.murmur.enable = true; + services.murmur.registerName = "NixOS tests"; + networking.firewall.allowedTCPPorts = [ config.services.murmur.port ]; + }; + + client1 = client; + client2 = client; + }; + + testScript = '' + startAll; + + $server->waitForUnit("murmur.service"); + $client1->waitForX; + $client2->waitForX; + + $client1->execute("mumble mumble://client1\@server/test &"); + $client2->execute("mumble mumble://client2\@server/test &"); + + $server->sleep(10); # Wait for Mumble UI to pop up + + # cancel client audio configuration + $client1->sendKeys("esc"); + $client2->sendKeys("esc"); + $server->sleep(1); + + # cancel client cert configuration + $client1->sendKeys("esc"); + $client2->sendKeys("esc"); + $server->sleep(1); + + # accept server certificate + $client1->sendChars("y"); + $client2->sendChars("y"); + + # Find clients in logs + $server->waitUntilSucceeds("grep -q 'client1' /var/log/murmur/murmurd.log"); + $server->waitUntilSucceeds("grep -q 'client2' /var/log/murmur/murmurd.log"); + + $server->sleep(5); # wait to get screenshot + $client1->screenshot("screen1"); + $client2->screenshot("screen2"); + ''; +}) diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 66ae1c0d87f7..acc4b949ab57 100644 --- a/nixos/tests/munin.nix +++ b/nixos/tests/munin.nix @@ -1,13 +1,12 @@ -{ pkgs, ... }: - # This test runs basic munin setup with node and cron job running on the same # machine. -{ - nodes = { +import ./make-test.nix { + + nodes = { one = { config, pkgs, ... }: - { + { services = { munin-node.enable = true; munin-cron = { @@ -20,10 +19,10 @@ }; }; }; - + testScript = '' startAll; - + $one->waitForUnit("munin-node.service"); $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd"); $one->waitForFile("/var/www/munin/one/index.html"); diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix index 28a1187dd184..7d0cf6d85a1a 100644 --- a/nixos/tests/mysql-replication.nix +++ b/nixos/tests/mysql-replication.nix @@ -1,9 +1,10 @@ -{ pkgs, ... }: +import ./make-test.nix ( let replicateUser = "replicate"; replicatePassword = "secret"; in + { nodes = { master = @@ -11,13 +12,15 @@ in { services.mysql.enable = true; - services.mysql.replication.role = "master"; - services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; - services.mysql.initialScript = pkgs.writeText "initmysql" - '' - create user '${replicateUser}'@'%' identified by '${replicatePassword}'; - grant replication slave on *.* to '${replicateUser}'@'%'; - ''; + services.mysql.package = pkgs.mysql; + services.mysql.replication.role = "master"; + services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + services.mysql.initialScript = pkgs.writeText "initmysql" + '' + create user '${replicateUser}'@'%' identified by '${replicatePassword}'; + grant replication slave on *.* to '${replicateUser}'@'%'; + ''; + networking.firewall.allowedTCPPorts = [ 3306 ]; }; slave1 = @@ -25,11 +28,12 @@ in { services.mysql.enable = true; - services.mysql.replication.role = "slave"; - services.mysql.replication.serverId = 2; - services.mysql.replication.masterHost = nodes.master.config.networking.hostName; - services.mysql.replication.masterUser = replicateUser; - services.mysql.replication.masterPassword = replicatePassword; + services.mysql.package = pkgs.mysql; + services.mysql.replication.role = "slave"; + services.mysql.replication.serverId = 2; + services.mysql.replication.masterHost = nodes.master.config.networking.hostName; + services.mysql.replication.masterUser = replicateUser; + services.mysql.replication.masterPassword = replicatePassword; }; slave2 = @@ -37,11 +41,12 @@ in { services.mysql.enable = true; - services.mysql.replication.role = "slave"; - services.mysql.replication.serverId = 3; - services.mysql.replication.masterHost = nodes.master.config.networking.hostName; - services.mysql.replication.masterUser = replicateUser; - services.mysql.replication.masterPassword = replicatePassword; + services.mysql.package = pkgs.mysql; + services.mysql.replication.role = "slave"; + services.mysql.replication.serverId = 3; + services.mysql.replication.masterHost = nodes.master.config.networking.hostName; + services.mysql.replication.masterUser = replicateUser; + services.mysql.replication.masterPassword = replicatePassword; }; }; @@ -54,4 +59,4 @@ in $slave2->sleep(100); # Hopefully this is long enough!! $slave2->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); ''; -} +}) diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix index b48850738b72..566d03baf367 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -1,14 +1,14 @@ -{ pkgs, ... }: +import ./make-test.nix { -{ nodes = { master = { pkgs, config, ... }: { services.mysql.enable = true; - services.mysql.replication.role = "master"; - services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + services.mysql.replication.role = "master"; + services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + services.mysql.package = pkgs.mysql; }; }; diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index a13714d60a94..02981469e106 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -4,14 +4,13 @@ # router connected to both that performs Network Address Translation # for the client. -{ pkgs, ... }: - -{ +import ./make-test.nix { nodes = { client = { config, pkgs, nodes, ... }: { virtualisation.vlans = [ 1 ]; + networking.firewall.allowPing = true; networking.defaultGateway = nodes.router.config.networking.interfaces.eth2.ipAddress; }; @@ -19,6 +18,7 @@ router = { config, pkgs, ... }: { virtualisation.vlans = [ 2 1 ]; + networking.firewall.allowPing = true; networking.nat.enable = true; networking.nat.internalIPs = [ "192.168.1.0/24" ]; networking.nat.externalInterface = "eth1"; @@ -27,6 +27,7 @@ server = { config, pkgs, ... }: { virtualisation.vlans = [ 2 ]; + networking.firewall.enable = false; services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.vsftpd.enable = true; diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index 51abf57e1b75..864d05626b67 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -1,6 +1,4 @@ -{ version }: - -{ pkgs, ... }: +import ./make-test.nix ({ version, ... }: let @@ -13,6 +11,7 @@ let options = "vers=${toString version}"; } ]; + networking.firewall.enable = false; # FIXME: only open statd }; in @@ -31,6 +30,7 @@ in /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0) ''; services.nfs.server.createMountPoints = true; + networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed }; }; @@ -82,4 +82,4 @@ in die "shutdown took too long ($duration seconds)" if $duration > 30; ''; -} +}) diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix index 49d92fbde908..0b9714c275da 100644 --- a/nixos/tests/openssh.nix +++ b/nixos/tests/openssh.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: +import ./make-test.nix ({ pkgs, ... }: { -{ nodes = { server = @@ -35,4 +34,4 @@ $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"); $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"); ''; -} +}) diff --git a/nixos/tests/partition.nix b/nixos/tests/partition.nix index 7126e7255ef4..309afa4ce9d0 100644 --- a/nixos/tests/partition.nix +++ b/nixos/tests/partition.nix @@ -1,4 +1,4 @@ -{ pkgs, system, ... }: +import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; @@ -224,4 +224,4 @@ in { ensureMountPoint("/mnt/boot"); }; ''; -} +}) diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 13cc3115d50e..9b96e3d7b20c 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -1,8 +1,6 @@ # Test printing via CUPS. -{ pkgs, ... }: - -{ +import ./make-test.nix ({pkgs, ... }: { nodes = { @@ -17,6 +15,7 @@ Allow from all ''; + networking.firewall.allowedTCPPorts = [ 631 ]; }; client = @@ -32,12 +31,14 @@ # Make sure that cups is up on both sides. $server->waitForUnit("cupsd.service"); + $server->waitForUnit("network.target"); $client->waitForUnit("cupsd.service"); + $client->waitForUnit("network.target"); $client->succeed("lpstat -r") =~ /scheduler is running/ or die; $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die; $client->succeed("curl --fail http://localhost:631/"); $client->succeed("curl --fail http://server:631/"); - $server->fail("curl --fail http://client:631/"); + $server->fail("curl --fail --connect-timeout 2 http://client:631/"); # Add a HP Deskjet printer connected via USB to the server. $server->succeed("lpadmin -p DeskjetLocal -v usb://HP/Deskjet%205400%20series?serial=TH93I152S123XY -m 'drv:///sample.drv/deskjet.ppd' -E"); @@ -87,4 +88,4 @@ } ''; -} +}) diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index 3b79c16ea2c4..88dbdb2720fb 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -1,16 +1,14 @@ -{ pkgs, ... }: +import ./make-test.nix ( let backend = { config, pkgs, ... }: - { - services.openssh.enable = true; - - services.httpd.enable = true; + { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.httpd.documentRoot = "${pkgs.valgrind}/share/doc/valgrind/html"; + networking.firewall.allowedTCPPorts = [ 80 ]; }; in @@ -21,8 +19,7 @@ in { proxy = { config, pkgs, nodes, ... }: - { - services.httpd.enable = true; + { services.httpd.enable = true; services.httpd.adminAddr = "bar@example.org"; services.httpd.extraModules = ["proxy_balancer"]; @@ -50,6 +47,8 @@ in # For testing; don't want to wait forever for dead backend servers. ProxyTimeout 5 ''; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; backend1 = backend; @@ -91,4 +90,4 @@ in $client->succeed("curl --fail http://proxy/"); ''; -} +}) diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 925011077805..3ff12fd57c06 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let @@ -14,11 +14,13 @@ in rec { + makeCoverageReport = true; + client = { config, pkgs, ... }: { imports = [ ./common/x11.nix ]; - services.xserver.driSupport = true; + hardware.opengl.driSupport = true; services.xserver.defaultDepth = pkgs.lib.mkOverride 0 16; environment.systemPackages = [ pkgs.quake3demo ]; nixpkgs.config.packageOverrides = overrides; @@ -35,6 +37,7 @@ rec { "'+map q3dm7' '+addbot grunt' '+addbot daemia' 2> /tmp/log"; }; nixpkgs.config.packageOverrides = overrides; + networking.firewall.allowedUDPPorts = [ 27960 ]; }; client1 = client; @@ -76,4 +79,4 @@ rec { $server->stopJob("quake3-server"); ''; -} +}) diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix new file mode 100644 index 000000000000..ffcdde9d87f2 --- /dev/null +++ b/nixos/tests/rabbitmq.nix @@ -0,0 +1,17 @@ +# This test runs rabbitmq and checks if rabbitmq is up and running. + +import ./make-test.nix ({ pkgs, ... }: { + + nodes = { + one = { config, pkgs, ... }: { + services.rabbitmq.enable = true; + }; + }; + + testScript = '' + startAll; + + $one->waitForUnit("rabbitmq.service"); + $one->waitUntilSucceeds("su -s ${pkgs.stdenv.shell} rabbitmq -c \"rabbitmqctl status\""); + ''; +}) diff --git a/nixos/tests/run-in-machine.nix b/nixos/tests/run-in-machine.nix index 8efe26c17082..7f6e6a6dc573 100644 --- a/nixos/tests/run-in-machine.nix +++ b/nixos/tests/run-in-machine.nix @@ -2,7 +2,9 @@ with import ../lib/testing.nix { inherit system; }; -runInMachine { - drv = pkgs.patchelf; - machine = { config, pkgs, ... }: { services.sshd.enable = true; }; +{ + test = runInMachine { + drv = pkgs.hello; + machine = { config, pkgs, ... }: { /* services.sshd.enable = true; */ }; + }; } diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix index eee13a101334..e21b919cdf80 100644 --- a/nixos/tests/simple.nix +++ b/nixos/tests/simple.nix @@ -1,11 +1,11 @@ -{ pkgs, ... }: +import ./make-test.nix { -{ machine = { config, pkgs, ... }: { }; testScript = '' startAll; + $machine->waitForUnit("multi-user.target"); $machine->shutdown; ''; } diff --git a/nixos/tests/subversion.nix b/nixos/tests/subversion.nix index 309da90c5df1..e6746dc08287 100644 --- a/nixos/tests/subversion.nix +++ b/nixos/tests/subversion.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let @@ -20,7 +20,7 @@ let # To build the kernel with coverage instrumentation, we need a # special patch to make coverage data available under /proc. linux = pkgs.linux.override (orig: { - stdenv = cleanupBuildTree (keepBuildTree orig.stdenv); + stdenv = overrideInStdenv pkgs.stdenv [ pkgs.keepBuildTree ]; extraConfig = '' GCOV_KERNEL y @@ -114,4 +114,4 @@ in $webserver->stopJob("httpd"); ''; -} +}) diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index 6bc88ec82fa2..3b0b1bb79117 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -1,17 +1,15 @@ -{ pkgs, ... }: +import ./make-test.nix { -{ nodes = { server = { pkgs, config, ... }: - { - services.tomcat.enable = true; + { services.tomcat.enable = true; services.httpd.enable = true; services.httpd.adminAddr = "foo@bar.com"; - services.httpd.extraSubservices = [ - { serviceType = "tomcat-connector"; } - ]; + services.httpd.extraSubservices = + [ { serviceType = "tomcat-connector"; } ]; + networking.firewall.allowedTCPPorts = [ 80 ]; }; client = { }; @@ -26,4 +24,5 @@ $client->succeed("curl --fail http://server/examples/servlets/servlet/HelloWorldExample"); $client->succeed("curl --fail http://server/examples/jsp/jsp2/simpletag/hello.jsp"); ''; + } diff --git a/nixos/tests/trac.nix b/nixos/tests/trac.nix index e0d256f57019..3f17dafaca15 100644 --- a/nixos/tests/trac.nix +++ b/nixos/tests/trac.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: +import ./make-test.nix ({ pkgs, ... }: { -{ nodes = { storage = { config, pkgs, ... }: @@ -68,4 +67,4 @@ $client->screenshot("screen"); ''; -} +}) diff --git a/nixos/tests/udisks.nix b/nixos/tests/udisks.nix new file mode 100644 index 000000000000..b7f2e2c00315 --- /dev/null +++ b/nixos/tests/udisks.nix @@ -0,0 +1,56 @@ +import ./make-test.nix ({ pkgs, ... }: + +let + + stick = pkgs.fetchurl { + url = http://nixos.org/~eelco/nix/udisks-test.img.xz; + sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b"; + }; + +in + +{ + + machine = + { config, pkgs, ... }: + { services.udisks.enable = true; + imports = [ ./common/user-account.nix ]; + + security.polkit.extraConfig = + '' + polkit.addRule(function(action, subject) { + if (subject.user == "alice") return "yes"; + }); + ''; + }; + + testScript = + '' + my $stick = $machine->stateDir . "/usbstick.img"; + system("xz -d < ${stick} > $stick") == 0 or die; + + $machine->succeed("udisks --enumerate | grep /org/freedesktop/UDisks/devices/vda"); + $machine->fail("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + + # Attach a USB stick and wait for it to show up. + $machine->sendMonitorCommand("usb_add disk:$stick"); + $machine->waitUntilSucceeds("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + $machine->succeed("udisks --show-info /dev/sda1 | grep 'label:.*USBSTICK'"); + + # Mount the stick as a non-root user and do some stuff with it. + $machine->succeed("su - alice -c 'udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1'"); + $machine->succeed("su - alice -c 'udisks --mount /dev/sda1'"); + $machine->succeed("su - alice -c 'cat /media/USBSTICK/test.txt'") =~ /Hello World/ or die; + $machine->succeed("su - alice -c 'echo foo > /media/USBSTICK/bar.txt'"); + + # Unmounting the stick should make the mountpoint disappear. + $machine->succeed("su - alice -c 'udisks --unmount /dev/sda1'"); + $machine->fail("[ -d /media/USBSTICK ]"); + + # Remove the USB stick. + $machine->sendMonitorCommand("usb_del 0.3"); # FIXME + $machine->waitUntilFails("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + $machine->fail("[ -e /dev/sda ]"); + ''; + +}) diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix new file mode 100644 index 000000000000..e0c57d7c34d6 --- /dev/null +++ b/nixos/tests/udisks2.nix @@ -0,0 +1,56 @@ +import ./make-test.nix ({ pkgs, ... }: + +let + + stick = pkgs.fetchurl { + url = http://nixos.org/~eelco/nix/udisks-test.img.xz; + sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b"; + }; + +in + +{ + + machine = + { config, pkgs, ... }: + { services.udisks2.enable = true; + imports = [ ./common/user-account.nix ]; + + security.polkit.extraConfig = + '' + polkit.addRule(function(action, subject) { + if (subject.user == "alice") return "yes"; + }); + ''; + }; + + testScript = + '' + my $stick = $machine->stateDir . "/usbstick.img"; + system("xz -d < ${stick} > $stick") == 0 or die; + + $machine->succeed("udisksctl info -b /dev/vda >&2"); + $machine->fail("udisksctl info -b /dev/sda1"); + + # Attach a USB stick and wait for it to show up. + $machine->sendMonitorCommand("usb_add disk:$stick"); + $machine->waitUntilSucceeds("udisksctl info -b /dev/sda1"); + $machine->succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'"); + + # Mount the stick as a non-root user and do some stuff with it. + $machine->succeed("su - alice -c 'udisksctl info -b /dev/sda1'"); + $machine->succeed("su - alice -c 'udisksctl mount -b /dev/sda1'"); + $machine->succeed("su - alice -c 'cat /run/media/alice/USBSTICK/test.txt'") =~ /Hello World/ or die; + $machine->succeed("su - alice -c 'echo foo > /run/media/alice/USBSTICK/bar.txt'"); + + # Unmounting the stick should make the mountpoint disappear. + $machine->succeed("su - alice -c 'udisksctl unmount -b /dev/sda1'"); + $machine->fail("[ -d /run/media/alice/USBSTICK ]"); + + # Remove the USB stick. + $machine->sendMonitorCommand("usb_del 0.3"); # FIXME + $machine->waitUntilFails("udisksctl info -b /dev/sda1"); + $machine->fail("[ -e /dev/sda ]"); + ''; + +}) diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix index 9f9692f8a014..ded37943e51d 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: @@ -17,6 +15,7 @@ testScript = '' + $machine->waitForX; $machine->waitForWindow(qr/xfce4-panel/); $machine->sleep(10); diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix index 9dbdada07d49..c5e35d8867c8 100644 --- a/pkgs/applications/audio/a2jmidid/default.nix +++ b/pkgs/applications/audio/a2jmidid/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index 1dac3f6b853a..b1bcfe869f78 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -22,12 +22,10 @@ stdenv.mkDerivation rec { cmakeFlags = "-DKDE4_BUILD_TESTS=OFF"; - postInstall = '' - mkdir -p $out/nix-support - echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages - ''; + propagatedUserEnvPkgs = [ qtscriptgenerator ]; meta = { + repositories.git = git://anongit.kde.org/amarok.git; description = "Popular music player for KDE"; license = "GPL"; homepage = http://amarok.kde.org; diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix new file mode 100644 index 000000000000..dd23504d3fad --- /dev/null +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, cairo, gtk, gtkmm, lv2, lvtk, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "ams-lv2-${version}"; + version = "1.0.2"; + + src = fetchurl { + url = "https://github.com/blablack/ams-lv2/archive/v${version}.tar.gz"; + sha256 = "0fa1ghf6qahbhj9j1ciyw0hr6nngwksa37hbs651mlz0fn7lz4xm"; + }; + + buildInputs = [ cairo gtk gtkmm lv2 lvtk pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "An LV2 port of the internal modules found in Alsa Modular Synth"; + homepage = http://objectivewave.wordpress.com/ams-lv2; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix deleted file mode 100644 index bf2ee04cbce9..000000000000 --- a/pkgs/applications/audio/ardour/ardour3.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw -, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio -, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf -, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile -, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango -, perl, pkgconfig, python, serd, sord, sratom, suil }: - -let - # Ardour 3.0 tag - rev = "79db9422"; -in - -stdenv.mkDerivation { - name = "ardour-3.0"; - - src = fetchgit { - url = git://git.ardour.org/ardour/ardour.git; - inherit rev; - sha256 = "cdbe4ca6d4b639fcd66a3d1cf9c2816b4755655c9d81bdd2417263f413aa7096"; - }; - - buildInputs = - [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc - glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo - libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate - libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 - makeWrapper pango perl pkgconfig python serd sord sratom suil - ]; - - patchPhase = '' - printf '#include "ardour/svn_revision.h"\nnamespace ARDOUR { const char* svn_revision = \"${rev}\"; }\n' > libs/ardour/svn_revision.cc - sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings - sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl - sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript - ''; - - configurePhase = "python waf configure --prefix=$out"; - - buildPhase = "python waf"; - - # For the custom ardour clearlooks gtk-engine to work, it must be - # moved to a directory called "engines" and added to GTK_PATH - installPhase = '' - python waf install - mkdir -pv $out/gtk2/engines - mv $out/lib/ardour3/libclearlooks.so $out/gtk2/engines/ - wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 - ''; - - meta = with stdenv.lib; { - description = "Multi-track hard disk recording software"; - longDescription = '' - Also read "The importance of Paying Something" on their homepage, please! - ''; - homepage = http://ardour.org/; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = [ maintainers.goibhniu ]; - }; -} diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 3ed650d4ae73..4315a5a7547e 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,50 +1,62 @@ -{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor2 -, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2 -, lilv, lv2, serd, sord, sratom, suil # these are probably optional -, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango -, gtk, glibmm, gtkmm, libgnomecanvas, libgnomecanvasmm, liblo, aubio -, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf, curl }: +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw +, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jackaudio +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango +, perl, pkgconfig, python, serd, sord, sratom, suil }: + +let + tag = "3.5.357"; +in stdenv.mkDerivation rec { - name = "ardour-${version}"; - version = "2.8.16"; + name = "ardour-${tag}"; - src = fetchurl { - url = "mirror://gentoo/distfiles/${name}.tar.bz2"; - sha256 = "0h2y0x4yznalllja53anjil2gmgcb26f39zshc4gl1d1kc8k5vip"; + src = fetchgit { + url = git://git.ardour.org/ardour/ardour.git; + rev = "refs/tags/${tag}"; + sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42"; }; - postPatch = '' - #sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh - echo '#include "ardour/svn_revision.h"' > libs/ardour/svn_revision.cc - echo -e 'namespace ARDOUR {\n extern const char* svn_revision = "2.8.12";\n }\n' >> libs/ardour/svn_revision.cc + buildInputs = + [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc + glibmm gtk gtkmm jackaudio libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python serd sord sratom suil + ]; + + patchPhase = '' + # The funny revision number is from `git describe rev` + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-gce4d125\"; }\n' > libs/ardour/revision.cc + # Note the different version number + sed -i '33i rev = \"3.5-357-gce4d125\"' wscript + sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript + sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings + sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl ''; - buildInputs = [ - scons boost pkgconfig fftw librdf_raptor2 librdf_rasqal jackaudio - flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx - #lilv lv2 serd sord sratom suil - libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas libgnomecanvasmm liblrdf - liblo aubio fftwSinglePrec libmad autoconf automake libtool curl - ]; + configurePhase = "python waf configure --optimize --prefix=$out"; - buildPhase = '' - mkdir -p $out - export CXX=g++ - scons PREFIX=$out SYSLIBS=1 install + buildPhase = "python waf"; + + # For the custom ardour clearlooks gtk-engine to work, it must be + # moved to a directory called "engines" and added to GTK_PATH + installPhase = '' + python waf install + mkdir -pv $out/gtk2/engines + cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/ + wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 ''; - installPhase = ":"; - - meta = { + meta = with stdenv.lib; { description = "Multi-track hard disk recording software"; longDescription = '' - Broken: use ardour3-svn instead Also read "The importance of Paying Something" on their homepage, please! ''; homepage = http://ardour.org/; - license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; }; } diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index d838d29e8be1..409a831727bb 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { source $stdenv/setup # gsettings schemas for file dialogues for file in "$out/bin/"*; do - wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD" + wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD:$GSETTINGS_SCHEMAS_PATH" done ) ''; diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index cf554f83c8b0..4352e2e133a6 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation { description = "A multiplatform music player"; license = licenses.gpl3Plus; platforms = platforms.linux; + maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index fc2453869e55..39f6ae0ded4e 100644 --- a/pkgs/applications/audio/drumkv1/default.nix +++ b/pkgs/applications/audio/drumkv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "drumkv1-${version}"; - version = "0.3.6"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "13prman3jlh3xz56675vnnnghnmmbxpq8gqdhv5llgd8ggzhmyjn"; + sha256 = "0wxbn5qm3dn9spwbm618flgrwvls7bipg0nhgn0lv4za2g823g56"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/ekho/default.nix b/pkgs/applications/audio/ekho/default.nix new file mode 100644 index 000000000000..dd9b830be841 --- /dev/null +++ b/pkgs/applications/audio/ekho/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig +, libsndfile, pulseaudio +}: + +let + version = "5.8.2"; +in stdenv.mkDerivation rec { + name = "ekho-${version}"; + + meta = with stdenv.lib; { + description = "Chinese text-to-speech software"; + homepage = "http://www.eguidedog.net/ekho.php"; + longDescription = '' + Ekho (余音) is a free, open source and multilingual text-to-speech (TTS) + software. It supports Cantonese (Chinese dialect spoken in Hong Kong and + part of Guangdong province), Mandarin (standard Chinese), Zhaoan Hakka + (a dialect in Taiwan), Tibetan, Ngangien (an ancient Chinese before + Yuan Dynasty) and Korean (in trial). + ''; + license = licenses.gpl2Plus; + platforms = platforms.linux; + hydraPlatforms = []; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "mirror://sourceforge/e-guidedog/Ekho/${version}/${name}.tar.xz"; + sha256 = "0ym6lpcpsvwvsiwlzkl1509a2hljwcw7synngrmqjq1n49ww00nj"; + }; + + preConfigure = with stdenv.lib; '' + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${optionalString stdenv.is64bit "-D_x86_64"}" + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DEKHO_DATA_PATH=\"$out/share/ekho-data\"" + ''; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ libsndfile pulseaudio ]; +} diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 0383a1ce0ad5..1c8dc56de61c 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -12,9 +12,10 @@ stdenv.mkDerivation rec { doCheck = true; # takes lots of time but will be run rarely (small build-time closure) - meta = { + meta = with stdenv.lib; { homepage = http://xiph.org/flac/; description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix index be6970f01e16..269b48aebb8f 100644 --- a/pkgs/applications/audio/gigedit/default.nix +++ b/pkgs/applications/audio/gigedit/default.nix @@ -26,5 +26,6 @@ stdenv.mkDerivation rec { description = "Gigasampler file access library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 17d53a621ca6..44b0e9ef0d79 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, jackaudio, libsndfile -, glib, gtk, glibmm, gtkmm, fftw, librdf, ladspaH, boost }: +{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk +, gtkmm, intltool, jackaudio, ladspaH, librdf, libsndfile, lv2 +, pkgconfig, python }: stdenv.mkDerivation rec { name = "guitarix-${version}"; - version = "0.25.2"; + version = "0.28.3"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2"; - sha256 = "1wcg3yc2iy72hj6z9l88393f00by0iwhhn8xrc3q55p4rj0mnrga"; + sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd"; }; - buildInputs = - [ python gettext intltool pkgconfig jackaudio libsndfile glib gtk glibmm - gtkmm fftw librdf ladspaH boost - ]; + buildInputs = [ + avahi boost fftw gettext glib glibmm gtk gtkmm intltool jackaudio + ladspaH librdf libsndfile lv2 pkgconfig python + ]; configurePhase = "python waf configure --prefix=$out"; @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { installPhase = "python waf install"; - meta = { + meta = with stdenv.lib; { description = "A virtual guitar amplifier for Linux running with JACK"; longDescription = '' guitarix is a virtual guitar amplifier for Linux running with @@ -46,8 +47,8 @@ stdenv.mkDerivation rec { crazy sounds never heard before. ''; homepage = http://guitarix.sourceforge.net/; - license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.astsmtl ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ astsmtl goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix new file mode 100644 index 000000000000..73138cc269d0 --- /dev/null +++ b/pkgs/applications/audio/ingen/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, jackaudio, lilv +, lv2, pkgconfig, python, raul, serd, sord, sratom, suil +}: + +stdenv.mkDerivation rec { + name = "ingen-svn-${rev}"; + rev = "5317"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/ingen"; + rev = rev; + sha256 = "0zm3wbv9qsingjyr95nwin3khmnf3wq3fz2xa6p420dpcy6qnl4x"; + }; + + buildInputs = [ + boost ganv glibmm gtk gtkmm jackaudio lilv lv2 pkgconfig python + raul serd sord sratom suil + ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A modular audio processing system using JACK and LV2 or LADSPA plugins"; + homepage = http://drobilla.net/software/ingen; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index 6b15052769be..2baf69cef4fd 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { homepage = http://drobilla.net/software/jalv; license = licenses.isc; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix index 72087c76b05d..ad52e7b2d85c 100644 --- a/pkgs/applications/audio/lash/default.nix +++ b/pkgs/applications/audio/lash/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "LASH Audio Session Handler"; + description = "A Linux Audio Session Handler"; longDescription = '' Session management system for GNU/Linux audio applications. ''; diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix index 324a0b0bebcb..c09d397eefa3 100644 --- a/pkgs/applications/audio/lastwatch/default.nix +++ b/pkgs/applications/audio/lastwatch/default.nix @@ -19,8 +19,6 @@ pythonPackages.buildPythonPackage rec { propagatedBuildInputs = pythonPath; - installCommand = "python setup.py install --prefix=$out"; - meta = { homepage = "https://github.com/aszlig/LastWatch"; description = "An inotify-based last.fm audio scrobbler"; diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix index 1e163391a397..26ea2c7b0b2c 100644 --- a/pkgs/applications/audio/mid2key/default.nix +++ b/pkgs/applications/audio/mid2key/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { description = "A simple tool which maps midi notes to simulated keystrokes"; license = licenses.gpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index 74ae3dcf22bb..5356d4ce298a 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db4, libmodplug, timidity, libid3tag, libtool }: +{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }: stdenv.mkDerivation rec { name = "moc-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { configurePhase = "./configure prefix=$out"; - buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db4 libmodplug timidity libid3tag libtool ]; + buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ]; meta = { description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use."; diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix index 48b0b52c5ea7..08aa7e017b21 100644 --- a/pkgs/applications/audio/monkeys-audio/default.nix +++ b/pkgs/applications/audio/monkeys-audio/default.nix @@ -11,4 +11,9 @@ stdenv.mkDerivation rec { url = "http://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz"; sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz"; }; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = maintainers.mornfall; + }; } diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index b684fee37d56..04393372cf30 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -13,7 +13,7 @@ pythonPackages.buildPythonPackage rec { }; propagatedBuildInputs = with pythonPackages; [ - gst_python pygobject pykka pyspotify pylast cherrypy ws4py + gst_python pygobject pykka pyspotify pylast cherrypy ws4py gst_plugins_base gst_plugins_good ]; # python zip complains about old timestamps @@ -27,8 +27,7 @@ pythonPackages.buildPythonPackage rec { postInstall = '' for p in $out/bin/mopidy $out/bin/mopidy-scan; do wrapProgram $p \ - --prefix GST_PLUGIN_PATH : ${gst_plugins_good}/lib/gstreamer-0.10 \ - --prefix GST_PLUGIN_PATH : ${gst_plugins_base}/lib/gstreamer-0.10 + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" done ''; diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix index bd21550a64cf..ae6d9e0c7e60 100755 --- a/pkgs/applications/audio/mpc/default.nix +++ b/pkgs/applications/audio/mpc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, mpd_clientlib }: stdenv.mkDerivation rec { - version = "0.23"; + version = "0.25"; name = "mpc-${version}"; src = fetchurl { - url = "http://www.musicpd.org/download/mpc/0/${name}.tar.bz2"; - sha256 = "1ir96wfgq5qfdd2s06zfycv38g3bhn3bpndwx9hwf1w507rvifi9"; + url = "http://www.musicpd.org/download/mpc/0/${name}.tar.xz"; + sha256 = "095gmik5vrnab5a1g92qiznn48w7499fr0gldp3s6xd26kvs9kvh"; }; buildInputs = [ mpd_clientlib ]; @@ -24,4 +24,4 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.algorith ]; platforms = stdenv.lib.platforms.linux; }; -} \ No newline at end of file +} diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index f14e2764211e..3edb7ae6793b 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, alsaLib }: stdenv.mkDerivation { - name = "mpg123-1.16.0"; + name = "mpg123-1.19.0"; src = fetchurl { - url = mirror://sourceforge/mpg123/mpg123-1.16.0.tar.bz2; - sha256 = "1lznnfdvg69a9qbbhvhfc9i86hxdmdqx67lvbkqbh8mmhpip43zh"; + url = mirror://sourceforge/mpg123/mpg123-1.19.0.tar.bz2; + sha256 = "06xhd68mj9yp0r6l771aq0d7xgnl402a3wm2mvhxmd3w3ph29446"; }; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix new file mode 100755 index 000000000000..6db80f39e2cf --- /dev/null +++ b/pkgs/applications/audio/ncmpc/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib }: + +stdenv.mkDerivation rec { + version = "0.21"; + name = "ncmpc-${version}"; + + src = fetchurl { + url = "http://www.musicpd.org/download/ncmpc/0/ncmpc-${version}.tar.bz2"; + sha256 = "648e846e305c867cb937dcb467393c2f5a30bf460bdf77b63de7af69fba1fd07"; + }; + + buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]; + + meta = with stdenv.lib; { + description = "Curses-based interface for MPD (music player daemon)"; + homepage = http://www.musicpd.org/clients/ncmpc/; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ _1126 ]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix new file mode 100644 index 000000000000..acdda1799d03 --- /dev/null +++ b/pkgs/applications/audio/pamixer/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchgit, pulseaudio, boost }: + +let + tag = "1.1"; +in + +stdenv.mkDerivation rec { + + name = "pamixer-${tag}"; + + src = fetchgit { + url = git://github.com/cdemoulins/pamixer; + rev = "refs/tags/${tag}"; + sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034"; + }; + + buildInputs = [ pulseaudio boost ]; + + installPhase = '' + mkdir -p $out/bin + cp pamixer $out/bin + ''; + + meta = with stdenv.lib; { + description = "pamixer is like amixer but for pulseaudio."; + longDescription = "Features: + - Get the current volume of the default sink, the default source or a selected one by his id + - Set the volume for the default sink, the default source or any other device + - List the sinks + - List the sources + - Increase / Decrease the volume for a device + - Mute or unmute a device"; + homepage = https://github.com/cdemoulins/pamixer; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers._1126 ]; + }; +} diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix index d5cdffbed952..67848cdc804b 100644 --- a/pkgs/applications/audio/pianobooster/default.nix +++ b/pkgs/applications/audio/pianobooster/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, cmake, qt4 }: +{ stdenv, fetchurl, alsaLib, cmake, mesa, makeWrapper, qt4 }: stdenv.mkDerivation rec { name = "pianobooster-${version}"; @@ -9,14 +9,25 @@ stdenv.mkDerivation rec { sha256 = "1xwyap0288xcl0ihjv52vv4ijsjl0yq67scc509aia4plmlm6l35"; }; + patches = [ + ./pianobooster-0.6.4b-cmake.patch + ./pianobooster-0.6.4b-cmake-gcc4.7.patch + ]; + preConfigure = "cd src"; - buildInputs = [ alsaLib cmake qt4 ]; + buildInputs = [ alsaLib cmake makeWrapper mesa qt4 ]; + + postInstall = '' + wrapProgram $out/bin/pianobooster \ + --prefix LD_LIBRARY_PATH : ${mesa}/lib + ''; meta = with stdenv.lib; { description = "A MIDI file player that teaches you how to play the piano"; homepage = http://pianobooster.sourceforge.net; license = licenses.gpl3; + platforms = platforms.linux; maintainers = [ maintainers.goibhniu ]; }; } diff --git a/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch new file mode 100644 index 000000000000..2b1b28c5a849 --- /dev/null +++ b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake-gcc4.7.patch @@ -0,0 +1,11 @@ +--- pianobooster-src-0.6.4b/src/CMakeLists.txt.orig 2013-04-06 10:48:02.469532914 -0700 ++++ pianobooster-src-0.6.4b/src/CMakeLists.txt 2013-04-06 10:48:12.989532445 -0700 +@@ -203,8 +203,6 @@ + ${PIANOBOOSTER_UI_HDRS} ) + ENDIF(WIN32) + +-SET_TARGET_PROPERTIES(pianobooster PROPERTIES LINK_FLAGS "-mwindows") +- + IF (USE_PCH) + ADD_PRECOMPILED_HEADER( pianobooster ${CMAKE_CURRENT_SOURCE_DIR}/precompile/precompile.h ) + ENDIF (USE_PCH) diff --git a/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch new file mode 100644 index 000000000000..8cdd8738e2b3 --- /dev/null +++ b/pkgs/applications/audio/pianobooster/pianobooster-0.6.4b-cmake.patch @@ -0,0 +1,44 @@ +--- pianobooster-src-0.6.4b/src/CMakeLists.txt.orig ++++ pianobooster-src-0.6.4b/src/CMakeLists.txt +@@ -2,12 +2,6 @@ + # for the debug build type cmake -DCMAKE_BUILD_TYPE=Debug + SET(CMAKE_BUILD_TYPE Release) + SET(CMAKE_VERBOSE_MAKEFILE OFF) +-SET(USE_FLUIDSYNTH OFF) +- +-# The inplace directory is mainly for windows builds +-# SET(FLUIDSYNTH_INPLACE_DIR C:/download/misc/ljb/fluidsynth-1.0.9) +-SET(FLUIDSYNTH_INPLACE_DIR /home/louis/build/fluidsynth-1.0.9) +- + + # Testing precompiled headers it does not work -- leave as OFF. + SET(USE_PCH OFF) +@@ -78,18 +72,7 @@ + ADD_DEFINITIONS(-DPB_USE_FLUIDSYNTH) + MESSAGE("Building using fluidsynth") + SET( PB_BASE_SRCS MidiDeviceFluidSynth.cpp ) +- +- IF(FLUIDSYNTH_INPLACE_DIR) +- INCLUDE_DIRECTORIES(${FLUIDSYNTH_INPLACE_DIR}/include/) +- IF(WIN32) +- LINK_LIBRARIES( ${FLUIDSYNTH_INPLACE_DIR}/src/.libs/libfluidsynth.dll.a) +- ENDIF(WIN32) +- IF(UNIX) +- LINK_LIBRARIES(${FLUIDSYNTH_INPLACE_DIR}/src/.libs/libfluidsynth.so) +- ENDIF(UNIX) +- ELSEIF(FLUIDSYNTH_INPLACE_DIR) +- LINK_LIBRARIES( fluidsynth) +- ENDIF(FLUIDSYNTH_INPLACE_DIR) ++ LINK_LIBRARIES(fluidsynth) + ENDIF(USE_FLUIDSYNTH) + + +@@ -214,8 +197,6 @@ + INSTALL(TARGETS pianobooster RUNTIME DESTINATION bin) + #INSTALL( index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kmidimon ) + +-INSTALL( FILES ../README.txt DESTINATION share/doc/pianobooster ) +- + INSTALL ( FILES images/pianobooster.png DESTINATION share/pixmaps ) + + diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix index f2f196acdd85..b8a283125fc4 100644 --- a/pkgs/applications/audio/praat/default.nix +++ b/pkgs/applications/audio/praat/default.nix @@ -1,14 +1,15 @@ -{stdenv, fetchurl, alsaLib, gtk, pkgconfig }: +{ stdenv, fetchurl, alsaLib, gtk, pkgconfig }: stdenv.mkDerivation { - name = "praat-5323"; + name = "praat-5365"; + src = fetchurl { - url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz; - sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203"; + url = http://www.fon.hum.uva.nl/praat/praat5365_sources.tar.gz; + sha256 = "1w3mcq0mipx88i7ckhvzhmdj0p67nhppnn7kbkp21d01yyyz5rgq"; }; configurePhase = '' - cp makefiles/makefile.defs.linux makefile.defs + cp makefiles/makefile.defs.linux.alsa makefile.defs ''; installPhase = '' @@ -22,5 +23,6 @@ stdenv.mkDerivation { description = "Doing phonetics by computer"; homepage = http://www.fon.hum.uva.nl/praat/; license = "GPLv2+"; # Has some 3rd-party code in it though + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index b1df008398db..d0394b72eddc 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -1,23 +1,28 @@ -{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib -, jackaudio, libX11, libtool, makeWrapper, pkgconfig, tcl, tk +{ stdenv, fetchurl, autoreconfHook, gettext, makeWrapper +, alsaLib, jackaudio, tk }: stdenv.mkDerivation rec { name = "puredata-${version}"; - version = "0.44-0"; + version = "0.45-4"; src = fetchurl { url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz"; - sha256 = "031bvqfnlpfx0y5n0l5rmslziqc6jgmk99x1prgh1rmhjhjdnijw"; + sha256 = "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p"; }; - buildInputs = [ - alsaLib autoconf automake fftw gettext glib jackaudio libX11 - libtool makeWrapper pkgconfig tcl tk - ]; + patchPhase = '' + rm portaudio/configure.in + ''; - preConfigure = '' - ./autogen.sh + nativeBuildInputs = [ autoreconfHook gettext makeWrapper ]; + + buildInputs = [ alsaLib jackaudio ]; + + configureFlags = '' + --enable-alsa + --enable-jack + --disable-portaudio ''; postInstall = '' diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 255c63a5d6d2..a18ef97dd60a 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -28,11 +28,11 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-0.7.3"; + name = "qmmp-0.7.6"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "0qjmnyq3qmrm510g3lsa6vd80nmbz0859pwhnaaa19ah0jhf3r2p"; + sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9"; }; buildInputs = diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix index 7cfe73c9c750..b851517b8724 100644 --- a/pkgs/applications/audio/qsampler/default.nix +++ b/pkgs/applications/audio/qsampler/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { description = "graphical frontend to LinuxSampler"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix index e04ad9ddd14c..c70842c399ad 100644 --- a/pkgs/applications/audio/qtractor/default.nix +++ b/pkgs/applications/audio/qtractor/default.nix @@ -3,12 +3,12 @@ , libtool, libvorbis, pkgconfig, qt4, rubberband, stdenv }: stdenv.mkDerivation rec { - version = "0.5.12"; + version = "0.6.0"; name = "qtractor-${version}"; src = fetchurl { url = "mirror://sourceforge/qtractor/${name}.tar.gz"; - sha256 = "0yf2p9l3hj8pd550v3rbbjqkvxnvn8p6nsnm4aj2v5q4mgg2c8cc"; + sha256 = "0aw6g0biqzysnsk5vd6wx3q1khyav6krhjz7bzk0v7d2160bn40r"; }; buildInputs = diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index c865314cb175..ea8ae88f022e 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject +{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject, intltool , pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }: @@ -18,7 +18,7 @@ buildPythonPackage { # XXX, tests fail doCheck = false; - src = [ + srcs = [ (fetchurl { url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz"; sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z"; @@ -27,14 +27,21 @@ buildPythonPackage { url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz"; sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc"; }) - ]; + ]; + + preConfigure = '' + # TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc + sed -i /distclass/d setup.py + ''; sourceRoot = "quodlibet-${version}"; + postUnpack = '' # the patch searches for plugins in directory ../plugins # so link the appropriate directory there ln -sf quodlibet-plugins-${version} plugins ''; + patches = [ ./quodlibet-package-plugins.patch ]; buildInputs = stdenv.lib.optionals withGstPlugins [ @@ -42,18 +49,13 @@ buildPythonPackage { ]; propagatedBuildInputs = [ - mutagen pygtk pygobject pythonDBus gst_python + mutagen pygtk pygobject pythonDBus gst_python intltool ]; postInstall = stdenv.lib.optionalString withGstPlugins '' # Wrap quodlibet so it finds the GStreamer plug-ins - wrapProgram "$out/bin/quodlibet" --prefix \ - GST_PLUGIN_PATH ":" \ - ${ stdenv.lib.concatStringsSep ":" - (map (s: s+"/lib/gstreamer-0.10") - (stdenv.lib.filter (s: s != null) [ - gst_plugins_base gst_plugins_good gst_plugins_ugly gst_plugins_bad - ])) } + wrapProgram "$out/bin/quodlibet" --prefix \ + GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" \ ''; meta = { diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 8c73928c79a4..f1d3be317d17 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "samplv1-${version}"; - version = "0.3.6"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "1fgy9w3mp0p8i1v41a7gmpzzk268k7bp75d4sgzfprikjihc6ary"; + sha256 = "1cx3qs9vrdwmym2qsghqq53bshnjqgpqypsilr1m2i1cpfnfrr6x"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix index aeb90c09455b..7704397e6d0a 100644 --- a/pkgs/applications/audio/sonic-visualiser/default.nix +++ b/pkgs/applications/audio/sonic-visualiser/default.nix @@ -2,22 +2,25 @@ { stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo , libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate -, libsndfile, makeWrapper, pkgconfig, pulseaudio, qt4, redland -, rubberband, vampSDK +, libsndfile, pkgconfig, pulseaudio, qt5, redland +, rubberband, serd, sord, vampSDK }: stdenv.mkDerivation rec { name = "sonic-visualiser-${version}"; - version = "1.9"; + version = "2.3"; src = fetchurl { - url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz"; - sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq"; + + url = "http://code.soundsoftware.ac.uk/attachments/download/918/${name}.tar.gz"; + sha256 = "1f06w2rin4r2mbi00bg3nmqdi2xdy9vq4jcmfanxzj3ld66ik40c"; }; buildInputs = - [ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband + [ libsndfile qt5 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland + serd + sord pkgconfig # optional jackaudio @@ -28,11 +31,10 @@ stdenv.mkDerivation rec { # fishsound liblo libX11 - makeWrapper ]; buildPhase = '' - for i in sonic-visualiser svapp svcore svgui; + for i in sonic-visualiser svapp svcore svgui; do cd $i && qmake -makefile PREFIX=$out && cd ..; done make @@ -40,19 +42,15 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/{bin,share/sonic-visualiser} - cp sonic-visualiser/sonic-visualiser $out/bin - cp -r sonic-visualiser/samples $out/share/sonic-visualiser/samples - wrapProgram $out/bin/sonic-visualiser --prefix LD_LIBRARY_PATH : ${libX11}/lib + cp sonic-visualiser $out/bin/ + cp -r samples $out/share/sonic-visualiser/ ''; - meta = { + meta = with stdenv.lib; { description = "View and analyse contents of music audio files"; homepage = http://www.sonicvisualiser.org/; - license = "GPLv2"; - maintainers = - [ stdenv.lib.maintainers.marcweber - stdenv.lib.maintainers.goibhniu - ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu maintainers.marcweber ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index c93c4c852256..4037b88ecb7e 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "synthv1-${version}"; - version = "0.3.6"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "1xj4dk1g546f9fv2c4i7g3f1axrxfrxzk9w1nidhj3686j79nyry"; + sha256 = "1j1x8n3rlwrh373wqmm6mj3cgyk3apvnpqygx1700fl4cf249agl"; }; buildInputs = [ qt4 jackaudio lv2 ]; diff --git a/pkgs/applications/audio/vmpk/default.nix b/pkgs/applications/audio/vmpk/default.nix new file mode 100644 index 000000000000..7fffa77b5a39 --- /dev/null +++ b/pkgs/applications/audio/vmpk/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, cmake, pkgconfig +, qt4, jackaudio +}: + +let + version = "0.5.1"; +in stdenv.mkDerivation rec { + name = "vmpk-${version}"; + + meta = with stdenv.lib; { + description = "Virtual MIDI Piano Keyboard"; + homepage = "http://vmpk.sourceforge.net/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "mirror://sourceforge/vmpk/${version}/${name}.tar.bz2"; + sha256 = "11fqnxgs9hr9255d93n7lazxzjwn8jpmn23nywdksh0pb1ffvfrc"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ qt4 jackaudio ]; +} diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 698c8dc0ddad..df0b98cdd9e4 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -6,11 +6,11 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { name = "yoshimi-${version}"; - version = "1.1.0"; + version = "1.2.0"; src = fetchurl { url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; - sha256 = "0rb0q0bqsaaj3imdjgfaigj1kbjqkx1gm91nh2mdgy9i09rygsbv"; + sha256 = "0p4v39kxxzzfvaazzxarx54i164ghpfxq0ljkavlgr8fnix5v3mx"; }; buildInputs = [ diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix index 0b8863752d2a..69f1eef9cecb 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix @@ -10,18 +10,24 @@ let ver_branch = "1.6"; - version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts + version = "1.6.1"; in stdenv.mkDerivation rec { name = "lightdm-gtk-greeter-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz"; - sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc"; + sha256 = "1nb8ljrbrp1zga083g3b633xi3izxxm4jipw1qgial1x16mqc0hz"; }; - patches = [ ./lightdm-gtk-greeter.patch ]; - patchFlags = "-p0"; + patches = [ + ./lightdm-gtk-greeter.patch + (fetchurl { # CVE-2014-0979, https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1266449 + url = "https://launchpadlibrarian.net/161796033/07_fix-NULL-username.patch"; + sha256 = "1sqkhsz1z10k6vlmlrqrfx452lznv30885fmnzc73p2zxdlw9q1a"; + }) + ]; + patchFlags = "-p1"; buildInputs = [ pkgconfig lightdm intltool ] ++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]); @@ -39,5 +45,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://launchpad.net/lightdm-gtk-greeter; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; }; } diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch index 5ae5603b4dd6..ea9e0eaec936 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/lightdm-gtk-greeter.patch @@ -1,13 +1,13 @@ -=== modified file 'src/lightdm-gtk-greeter.c' ---- src/lightdm-gtk-greeter.c 2013-02-09 23:20:39 +0000 -+++ src/lightdm-gtk-greeter.c 2013-03-29 12:21:34 +0000 -@@ -1273,7 +1273,7 @@ - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (session_combo), renderer, TRUE); - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (session_combo), renderer, "text", 0); - model = gtk_combo_box_get_model (session_combo); +diff --git a/src/lightdm-gtk-greeter.c b/src/lightdm-gtk-greeter.c +index cc5f9e1..d615dc1 100644 +--- a/src/lightdm-gtk-greeter.c ++++ b/src/lightdm-gtk-greeter.c +@@ -1716,7 +1716,7 @@ main (int argc, char **argv) + gtk_container_add (GTK_CONTAINER (menuitem), image); + gtk_widget_show (GTK_WIDGET (menuitem)); + - items = lightdm_get_sessions (); + items = lightdm_get_sessions (greeter); + GSList *sessions = NULL; for (item = items; item; item = item->next) { - LightDMSession *session = item->data; - diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 598c42199bec..d4c6f24d69a3 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -3,18 +3,18 @@ let ver_branch = "1.8"; - version = "1.7.0"; + version = "1.8.6"; in stdenv.mkDerivation rec { name = "lightdm-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz"; - sha256 = "0nwwjgc9xvwili6714ag88wsrf0lr5hv1i6z9f0xvin4ym18cbs5"; + sha256 = "17ivc0c4dbnc0fzd581j53cn6hdav34zz2hswjzy8aczbpk605qi"; }; patches = [ ./lightdm.patch ]; - patchFlags = "-p0"; + patchFlags = "-p1"; buildInputs = [ pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://launchpad.net/lightdm; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; }; } diff --git a/pkgs/applications/display-managers/lightdm/lightdm.patch b/pkgs/applications/display-managers/lightdm/lightdm.patch index a6e53bafcc79..d81e0aae56d5 100644 --- a/pkgs/applications/display-managers/lightdm/lightdm.patch +++ b/pkgs/applications/display-managers/lightdm/lightdm.patch @@ -1,7 +1,8 @@ -=== modified file 'liblightdm-gobject/greeter.c' ---- liblightdm-gobject/greeter.c 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/greeter.c 2013-03-29 14:15:58 +0000 -@@ -567,6 +567,21 @@ +diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c +index 9387118..635cea0 100644 +--- a/liblightdm-gobject/greeter.c ++++ b/liblightdm-gobject/greeter.c +@@ -567,6 +567,21 @@ lightdm_greeter_get_default_session_hint (LightDMGreeter *greeter) } /** @@ -23,11 +24,11 @@ * lightdm_greeter_get_hide_users_hint: * @greeter: A #LightDMGreeter * - -=== modified file 'liblightdm-gobject/lightdm/greeter.h' ---- liblightdm-gobject/lightdm/greeter.h 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/lightdm/greeter.h 2013-03-29 11:56:11 +0000 -@@ -93,6 +93,8 @@ +diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h +index 7d8988f..2b54909 100644 +--- a/liblightdm-gobject/lightdm/greeter.h ++++ b/liblightdm-gobject/lightdm/greeter.h +@@ -93,6 +93,8 @@ gboolean lightdm_greeter_get_select_guest_hint (LightDMGreeter *greeter); const gchar *lightdm_greeter_get_autologin_user_hint (LightDMGreeter *greeter); @@ -36,19 +37,19 @@ gboolean lightdm_greeter_get_autologin_guest_hint (LightDMGreeter *greeter); gint lightdm_greeter_get_autologin_timeout_hint (LightDMGreeter *greeter); - -=== modified file 'liblightdm-gobject/lightdm/session.h' ---- liblightdm-gobject/lightdm/session.h 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/lightdm/session.h 2013-03-29 11:59:16 +0000 +diff --git a/liblightdm-gobject/lightdm/session.h b/liblightdm-gobject/lightdm/session.h +index 13ddcd9..cdb2fd6 100644 +--- a/liblightdm-gobject/lightdm/session.h ++++ b/liblightdm-gobject/lightdm/session.h @@ -12,6 +12,7 @@ - #define _LIGHTDM_SESSION_H_ + #define LIGHTDM_SESSION_H_ #include +#include "greeter.h" G_BEGIN_DECLS -@@ -42,9 +43,9 @@ +@@ -42,9 +43,9 @@ typedef struct GType lightdm_session_get_type (void); @@ -60,10 +61,10 @@ const gchar *lightdm_session_get_key (LightDMSession *session); - -=== modified file 'liblightdm-gobject/session.c' ---- liblightdm-gobject/session.c 2013-01-31 20:56:09 +0000 -+++ liblightdm-gobject/session.c 2013-03-29 14:16:48 +0000 +diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c +index 949778f..db5e18a 100644 +--- a/liblightdm-gobject/session.c ++++ b/liblightdm-gobject/session.c @@ -11,6 +11,7 @@ #include #include @@ -72,7 +73,7 @@ #include "lightdm/session.h" enum { -@@ -167,7 +168,7 @@ +@@ -189,7 +190,7 @@ load_sessions (const gchar *sessions_dir) } static void @@ -81,18 +82,17 @@ { GKeyFile *config_key_file = NULL; gchar *config_path = NULL; -@@ -183,8 +184,8 @@ +@@ -205,8 +206,7 @@ update_sessions (void) remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR); /* Use session directory from configuration */ - /* FIXME: This should be sent in the greeter connection */ - config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL); + config_path = g_strdup (lightdm_greeter_get_config_path (greeter)); -+ config_key_file = g_key_file_new (); result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error); - if (error) -@@ -228,9 +229,9 @@ + if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) +@@ -250,9 +250,9 @@ update_sessions (void) * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession **/ GList * @@ -104,7 +104,7 @@ return local_sessions; } -@@ -242,9 +243,9 @@ +@@ -264,9 +264,9 @@ lightdm_get_sessions (void) * Return value: (element-type LightDMSession) (transfer none): A list of #LightDMSession **/ GList * @@ -116,78 +116,29 @@ return remote_sessions; } - -=== modified file 'src/display.c' ---- src/display.c 2013-03-26 22:22:49 +0000 -+++ src/display.c 2013-03-29 12:12:43 +0000 -@@ -62,6 +62,9 @@ - /* Program to run sessions through */ - gchar *session_wrapper; - -+ /* Path to the configuration file that lightdm is running under */ -+ gchar *config_path; +diff --git a/src/lightdm.c b/src/lightdm.c +index 7d35034..910164c 100644 +--- a/src/lightdm.c ++++ b/src/lightdm.c +@@ -1142,6 +1142,9 @@ main (int argc, char **argv) + } + } + g_clear_error (&error); + - /* TRUE if in a user session */ - gboolean in_user_session; - -@@ -213,6 +216,14 @@ - } - - void -+display_set_config_path (Display *display, const gchar *config_path) -+{ -+ g_return_if_fail (display != NULL); -+ g_free (display->priv->config_path); -+ display->priv->config_path = g_strdup (config_path); -+} ++ config_set_string (config_get_instance (), "SeatDefaults", "config-path", config_path); + -+void - display_set_show_remote_login_hint (Display *display, gboolean show_remote_login) - { - g_return_if_fail (display != NULL); -@@ -436,6 +447,7 @@ - greeter_set_hint (display->priv->greeter, "show-remote-login", display->priv->greeter_show_remote_login ? "true" : "false"); - if (display->priv->greeter_is_lock) - greeter_set_hint (display->priv->greeter, "lock-screen", "true"); -+ greeter_set_hint (display->priv->greeter, "config-path", display->priv->config_path); - - /* Run greeter as unprivileged user */ - if (getuid () != 0) - -=== modified file 'src/display.h' ---- src/display.h 2013-03-26 22:22:49 +0000 -+++ src/display.h 2013-03-29 12:12:37 +0000 -@@ -80,6 +80,8 @@ - - void display_set_user_session (Display *display, SessionType type, const gchar *session_name); - -+void display_set_config_path (Display *display, const gchar *config_path); -+ - gboolean display_start (Display *display); - - gboolean display_get_is_ready (Display *display); - -=== modified file 'src/lightdm.c' ---- src/lightdm.c 2013-03-07 21:40:31 +0000 -+++ src/lightdm.c 2013-03-29 11:48:45 +0000 -@@ -1050,6 +1050,7 @@ - g_debug ("Starting Light Display Manager %s, UID=%i PID=%i", VERSION, getuid (), getpid ()); - - g_debug ("Loaded configuration from %s", config_path); -+ config_set_string (config_get_instance (), "LightDM", "config-path", config_path); g_free (config_path); - g_debug ("Using D-Bus name %s", LIGHTDM_BUS_NAME); - -=== modified file 'src/seat.c' ---- src/seat.c 2013-03-26 22:22:49 +0000 -+++ src/seat.c 2013-03-29 12:13:00 +0000 -@@ -536,6 +536,7 @@ - if (!session_name) - session_name = seat_get_string_property (seat, "user-session"); - display_set_user_session (display, SESSION_TYPE_LOCAL, session_name); -+ display_set_config_path (display, config_get_string (config_get_instance (), "LightDM", "config-path")); + /* Set default values */ +diff --git a/src/seat.c b/src/seat.c +index e2b9c2c..a950ea2 100644 +--- a/src/seat.c ++++ b/src/seat.c +@@ -1137,6 +1137,7 @@ create_greeter_session (Seat *seat) + greeter_set_hint (greeter_session, "show-manual-login", seat_get_boolean_property (seat, "greeter-show-manual-login") ? "true" : "false"); + greeter_set_hint (greeter_session, "show-remote-login", seat_get_boolean_property (seat, "greeter-show-remote-login") ? "true" : "false"); + greeter_set_hint (greeter_session, "has-guest-account", seat_get_allow_guest (seat) && seat_get_boolean_property (seat, "greeter-allow-guest") ? "true" : "false"); ++ greeter_set_hint (greeter_session, "config-path", seat_get_string_property (seat, "config-path")); + + g_object_unref (session_config); - seat->priv->displays = g_list_append (seat->priv->displays, display); - g_signal_emit (seat, signals[DISPLAY_ADDED], 0, display); - diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix index 0b5bcccfb21a..bf2c34b9318e 100644 --- a/pkgs/applications/display-managers/slim/default.nix +++ b/pkgs/applications/display-managers/slim/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cmake, pkgconfig, xorg, libjpeg, libpng -, fontconfig, freetype, pam, dbus_libs }: +, fontconfig, freetype, pam, dbus_libs, makeWrapper, pkgs }: stdenv.mkDerivation rec { name = "slim-1.3.6"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ./run-once.patch ]; - preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc --replace /lib $out/lib"; + preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib"; cmakeFlags = [ "-DUSE_PAM=1" ]; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake pkgconfig libjpeg libpng fontconfig freetype pam dbus_libs - xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft + xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper ]; NIX_CFLAGS_LINK = "-lXmu"; diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch index f6811dbe6682..5a8e07bfbf07 100644 --- a/pkgs/applications/display-managers/slim/runtime-paths.patch +++ b/pkgs/applications/display-managers/slim/runtime-paths.patch @@ -1,6 +1,6 @@ -diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp +diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp --- slim-1.3.6-orig/app.cpp 2013-10-02 00:38:05.000000000 +0200 -+++ slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200 ++++ slim-1.3.6/app.cpp 2014-03-30 19:01:04.115414201 +0200 @@ -200,7 +200,9 @@ /* Read configuration and theme */ @@ -23,3 +23,48 @@ diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp themeName = cfg->getOption("current_theme"); string::size_type pos; if ((pos = themeName.find(",")) != string::npos) { +diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt +--- slim-1.3.6-orig/CMakeLists.txt 2013-10-02 00:38:05.000000000 +0200 ++++ slim-1.3.6/CMakeLists.txt 2014-03-30 19:16:48.445069729 +0200 +@@ -23,7 +23,7 @@ + + set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory") + set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim") +-set(SYSCONFDIR "/etc") ++set(SYSCONFDIR "$ENV{out}/etc") + set(LIBDIR "/lib") + set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man") + +@@ -40,7 +40,7 @@ + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"") + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"") + set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"") +-set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"") ++set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"") + + # Flags + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2") +Only in slim-1.3.6: CMakeLists.txt~ +diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp +--- slim-1.3.6-orig/slimlock.cpp 2013-10-02 00:38:05.000000000 +0200 ++++ slim-1.3.6/slimlock.cpp 2014-03-30 19:01:04.115414201 +0200 +@@ -106,13 +106,17 @@ + unsigned int cfg_passwd_timeout; + // Read user's current theme + cfg = new Cfg; +- cfg->readConf(CFGFILE); ++ char *cfgfile = getenv("SLIM_CFGFILE"); ++ if (!cfgfile) cfgfile = CFGFILE; ++ cfg->readConf(cfgfile); + cfg->readConf(SLIMLOCKCFG); + string themebase = ""; + string themefile = ""; + string themedir = ""; + themeName = ""; +- themebase = string(THEMESDIR) + "/"; ++ char *themesdir = getenv("SLIM_THEMESDIR"); ++ if (!themesdir) themesdir = THEMESDIR; ++ themebase = string(themesdir) + "/"; + themeName = cfg->getOption("current_theme"); + string::size_type pos; + if ((pos = themeName.find(",")) != string::npos) { diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index 3e22cfd0412d..88b539d29f5f 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "ed-1.7"; + name = "ed-1.9"; src = fetchurl { url = "mirror://gnu/ed/${name}.tar.gz"; - sha256 = "0c908wb5pm48rjrrfbm5dhrqzys8f1dbvi90dn0vgwjzk80l2hl9"; + sha256 = "122syihsx2hwzj75mkf5a9ssiky2xby748kp4cc00wzhmp7p5cym"; }; /* FIXME: Tests currently fail on Darwin: diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix index c558b483e97b..6ecee37d21e1 100644 --- a/pkgs/applications/editors/emacs-24/default.nix +++ b/pkgs/applications/editors/emacs-24/default.nix @@ -2,7 +2,7 @@ , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls , alsaLib, cairo -, withX ? !stdenv.isDarwin +, withX ? !stdenv.isDarwin, withGTK ? true }: assert (libXft != null) -> libpng != null; # probably a bug @@ -27,11 +27,13 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin cairo; configureFlags = - ( if withX then + ( if withX && withGTK then [ "--with-x-toolkit=gtk" "--with-xft"] + else (if withX then + [ "--with-x-toolkit=lucid" "--with-xft" ] else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" - "--with-gif=no" "--with-tiff=no" ] ) + "--with-gif=no" "--with-tiff=no" ] ) ) # On NixOS, help Emacs find `crt*.o'. ++ stdenv.lib.optional (stdenv ? glibc) [ "--with-crt-dir=${stdenv.glibc}/lib" ]; diff --git a/pkgs/applications/editors/emacs-modes/bbdb/default.nix b/pkgs/applications/editors/emacs-modes/bbdb/default.nix index da92c38d0780..ed96e6892833 100644 --- a/pkgs/applications/editors/emacs-modes/bbdb/default.nix +++ b/pkgs/applications/editors/emacs-modes/bbdb/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, emacs, texinfo, ctags}: -stdenv.mkDerivation { - name = "bbdb-2.35"; +stdenv.mkDerivation rec { + name = "bbdb-2.36"; src = fetchurl { # not using mirror:// because it produces a different file - url = http://bbdb.sourceforge.net/bbdb-2.35.tar.gz; - sha256 = "3fb1316e2ed74d47ca61187fada550e58797467bd9e8ad67343ed16da769f916"; + url = "http://bbdb.sourceforge.net/${name}.tar.gz"; + sha256 = "1rmw94l71ahfbynyy0bijfy488q9bl5ksl4zpvg7j9dbmgbh296r"; }; patches = [ ./install-infodir.patch ]; @@ -28,8 +28,8 @@ stdenv.mkDerivation { ''; meta = { + homepage = "http://bbdb.sourceforge.net/"; description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs"; - homepage = http://bbdb.sourceforge.net/; license = "GPL"; }; } diff --git a/pkgs/applications/editors/emacs-modes/cryptol/default.nix b/pkgs/applications/editors/emacs-modes/cryptol/default.nix new file mode 100644 index 000000000000..3290041178ef --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/cryptol/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchgit, emacs }: + +stdenv.mkDerivation rec { + name = "cryptol-mode-${version}"; + version = "20141010"; + + src = fetchgit { + url = "https://github.com/thoughtpolice/cryptol-mode.git"; + rev = "50075d49d7c4ec4b03ce31b634424410262c1ad4"; + sha256 = "6ecd4904b7f3b1cd0721591ce45f16fe11cd1dd5fd7af8110d1f84b133ed4aec"; + }; + + buildInputs = [ emacs ]; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Emacs major mode for Cryptol"; + homepage = "https://thoughtpolice/cryptol-mode"; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/darcsum/darcs_context b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context new file mode 100644 index 000000000000..7e9de1ed80b5 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/darcsum/darcs_context @@ -0,0 +1,7 @@ + +Context: + +[TAG 1.3 +Simon Michael **20131103203640 + Ignore-this: d12bac373e4aa0e5ffe6c390e1dfe269 +] diff --git a/pkgs/applications/editors/emacs-modes/darcsum/default.nix b/pkgs/applications/editors/emacs-modes/darcsum/default.nix new file mode 100644 index 000000000000..cf2bcc6e30b9 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/darcsum/default.nix @@ -0,0 +1,34 @@ +# To automatically load darcsum when needed, add the following to your emacs init file: +# +# (autoload 'darcsum-changes "darcsum" nil t) +# (autoload 'darcsum-whatsnew "darcsum" nil t) +# (autoload 'darcsum-view "darcsum" nil t) +# +# (These lines were copied from 50darcsum.el in the darcsum repository.) + + +{ fetchdarcs, stdenv }: + +stdenv.mkDerivation { + name = "darcsum-1.3"; + + src = fetchdarcs { + url = http://hub.darcs.net/simon/darcsum; + context = ./darcs_context; + sha256 = "18dyk2apmnjapd604a5njfqwjri1mc7lgjaajy9phicpibgdrwzh"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + install -d "$out/share/emacs/site-lisp" + install darcsum.el "$out/share/emacs/site-lisp" + ''; + + meta = { + description = "A pcl-cvs like interface for managing darcs patches."; + homepage = "http://hub.darcs.net/simon/darcsum"; + license = "GPLv2+"; + maintainers = [ stdenv.lib.maintainers.falsifian ]; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix index 6d10244a8795..b23c6da6123c 100644 --- a/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix +++ b/pkgs/applications/editors/emacs-modes/emacs-clang-complete-async/default.nix @@ -1,4 +1,4 @@ -{ clangStdenv, fetchgit, llvmFull }: +{ clangStdenv, fetchgit, llvm, clang }: clangStdenv.mkDerivation { name = "emacs-clang-complete-async-20130218"; @@ -8,7 +8,7 @@ clangStdenv.mkDerivation { sha256 = "1c8zqi6axbsb951azz9iqx3j52j30nd9ypv396hvids3g02cirrf"; }; - buildInputs = [ llvmFull ]; + buildInputs = [ llvm clang.clang ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix index e0373fca5df5..3ba848affc0d 100644 --- a/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix +++ b/pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix @@ -56,6 +56,6 @@ stdenv.mkDerivation rec { homepage = http://emacs-w3m.namazu.org/; - maintainers = [ ]; + maintainers = [ stdenv.lib.maintainers.mornfall ]; }; } diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix index 4b2692a5e22a..eae338d241de 100644 --- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix +++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el"; - sha256 = "1qqppd1786w8pl1avjb01n23lwihb7m0hr23abjklsxz03gmp4qz"; + sha256 = "10cpzrd588ya52blghxss5zkn6x8hc7bx1h0qbcdlybbmkjgpkxr"; }; phases = [ "buildPhase" "installPhase"]; @@ -26,7 +26,5 @@ stdenv.mkDerivation rec { description = "Displays flymake error msg in minibuffer after delay"; homepage = http://www.emacswiki.org/emacs/flymake-cursor.el; license = stdenv.lib.licenses.publicDomain; - - platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix index 7bd39cd2b4e0..8671a926f677 100644 --- a/pkgs/applications/editors/emacs-modes/idris/default.nix +++ b/pkgs/applications/editors/emacs-modes/idris/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, emacs }: stdenv.mkDerivation rec { - name = "idris-mode-20140106"; + name = "idris-mode-20140405"; src = fetchgit { url = https://github.com/idris-hackers/idris-mode.git; - rev = "47df65dd5b554c1d7cf70a07c3bd06d80867f870"; - sha256 = "55df66d1bace134bea83f0547e01daf068fc96dc080cf88ea8945ddcb2d08ea4"; + rev = "2e2d18fb757da4b42940ebe2a57d7a117175489f"; + sha256 = "d4b52c6c43c038c94a7464cd9c849cd40c01696c440da8b057c00a9be22f9ac0"; }; buildInputs = [ emacs ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "Emacs major mode for Idris"; - homepage = https://github.com/idris-hackers/idris-modehttps://github.com/idris-hackers/idris-mode; + homepage = https://github.com/idris-hackers/idris-mode; license = "GPLv3"; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix new file mode 100644 index 000000000000..a832c7d5942c --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix @@ -0,0 +1,22 @@ +{ cabal, emacs, haskellSrcExts }: + +cabal.mkDerivation (self: { + pname = "structured-haskell-mode"; + version = "1.0.2"; + sha256 = "1lwdhlr38y5hdr78nplplr3q0hrjhryw378f1857qh0lvp03gwl2"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haskellSrcExts ]; + buildTools = [ emacs ]; + postInstall = '' + emacs -L elisp --batch -f batch-byte-compile "elisp/"*.el + install -d $out/share/emacs/site-lisp + install "elisp/"*.el "elisp/"*.elc $out/share/emacs/site-lisp + ''; + meta = { + homepage = "https://github.com/chrisdone/structured-haskell-mode"; + description = "Structured editing Emacs mode for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/applications/editors/emacs-modes/writegood/default.nix b/pkgs/applications/editors/emacs-modes/writegood/default.nix new file mode 100644 index 000000000000..353215a5d485 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/writegood/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, emacs}: + +let version = "1.3"; + +in stdenv.mkDerivation { + name = "writegood-mode-${version}"; + src = fetchurl { + url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz"; + sha256 = "0p34rgawnqg94vk4lcw14x99rrvsd23dmbwkxz2vax5kq6l8y5yf"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs -L . --batch -f batch-byte-compile *.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Emacs minor mode that aids in finding common writing problems"; + homepage = https://github.com/bnbeckwith/writegood-mode; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.pSub ]; + license = "GPL3"; + }; +} diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 74dbaf78dac8..c6301bd8a302 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -5,10 +5,10 @@ let buildIdea = - { name, src, description, license }: + { name, version, build, src, description, license }: stdenv.mkDerivation rec { - inherit name src license; + inherit name build src license; ideaItem = makeDesktopItem { name = "IDEA"; exec = "idea"; @@ -23,27 +23,30 @@ let buildCommand = '' tar xvzf $src mkdir -p $out - cp -a $name $out + cp -a idea-$build $out interpreter=$(echo ${stdenv.glibc}/lib/ld-linux*.so.2) - 7z x $out/$name/lib/snappy-java-1.0.5.jar - rm $out/$name/lib/snappy-java-1.0.5.jar + 7z x $out/idea-$build/lib/snappy-java-1.0.5.jar + rm $out/idea-$build/lib/snappy-java-1.0.5.jar if [ "${stdenv.system}" == "x86_64-linux" ];then - patchelf --set-interpreter $interpreter $out/$name/bin/fsnotifier64 + patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier64 patchelf --set-rpath ${stdenv.gcc.gcc}/lib64/ org/xerial/snappy/native/Linux/amd64/libsnappyjava.so else - patchelf --set-interpreter $interpreter $out/$name/bin/fsnotifier + patchelf --set-interpreter $interpreter $out/idea-$build/bin/fsnotifier patchelf --set-rpath ${stdenv.gcc.gcc}/lib/ org/xerial/snappy/native/Linux/i386/libsnappyjava.so fi - 7z a -tzip $out/$name/lib/snappy-java-1.0.5.jar . + 7z a -tzip $out/idea-$build/lib/snappy-java-1.0.5.jar . mkdir -p $out/bin - makeWrapper $out/$name/bin/idea.sh $out/bin/idea \ + + jdk=${jdk}/lib/openjdk + + makeWrapper $out/idea-$build/bin/idea.sh $out/bin/idea \ --prefix PATH : ${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin \ --prefix LD_RUN_PATH : ${stdenv.gcc.gcc}/lib/ \ - --prefix JDK_HOME : ${jdk} \ - --prefix IDEA_JDK : ${jdk} + --prefix JDK_HOME : $jdk \ + --prefix IDEA_JDK : $jdk mkdir -p $out/share/applications cp ${ideaItem}/share/applications/* $out/share/applications @@ -61,43 +64,27 @@ let in { - idea_community_1301 = buildIdea { - name = "idea-IC-133.331"; + idea_community_1311 = buildIdea rec { + name = "idea-community-${version}"; + version = "13.1.1"; + build = "IC-135.480"; description = "IntelliJ IDEA 13 Community Edition"; license = stdenv.lib.licenses.asl20.shortName; src = fetchurl { - url = http://download-ln.jetbrains.com/idea/ideaIC-13.0.1.tar.gz; - sha256 = "6f268bb1dbe61ed0274fd2ea9b4b7403f50da11bdde208bcfc8c391d235d7c02"; + url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz"; + sha256 = "9e28d3e5682b037c9d6190622ab2a47112fa792539083cc7a4cb24f3f7bf7d22"; }; }; - idea_ultimate_1301 = buildIdea { - name = "idea-IU-133.331"; + idea_ultimate_1311 = buildIdea rec { + name = "idea-ultimate-${version}"; + version = "13.1.1"; + build = "IU-135.480"; description = "IntelliJ IDEA 13 Ultimate Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = http://download-ln.jetbrains.com/idea/ideaIU-13.0.1.tar.gz; - sha256 = "d3638d97b719773459d5027ba096b52695325b241cbf5e31e535165a5f19849d"; - }; - }; - - idea_community_13 = buildIdea { - name = "idea-IC-133.193"; - description = "IntelliJ IDEA 13 Community Edition"; - license = stdenv.lib.licenses.asl20.shortName; - src = fetchurl { - url = http://download-ln.jetbrains.com/idea/ideaIC-13.tar.gz; - sha256 = "5cd88b8effc5e4e55d999df1cec6f54c53b5adf0b88e49400b3a185bef7db13a"; - }; - }; - - idea_ultimate_13 = buildIdea { - name = "idea-IU-133.193"; - description = "IntelliJ IDEA 13 Ultimate Edition"; - license = stdenv.lib.licenses.unfree; - src = fetchurl { - url = http://download-ln.jetbrains.com/idea/ideaIU-13.tar.gz; - sha256 = "211a782654d04f2fe5fce9084043edfb8355a7bc4dc41fee7dc79cfe604d4654"; + url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz"; + sha256 = "d699abcdcace387105a465049e015c1367dedf42f7a5f5a1f7b3d840e98b2658"; }; }; diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix index 14f9c1eb0d49..b815b0523471 100644 --- a/pkgs/applications/editors/kdevelop/default.nix +++ b/pkgs/applications/editors/kdevelop/default.nix @@ -1,28 +1,20 @@ { stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info, - kdebase_workspace, gettext, perl, okteta }: + kdebase_workspace, gettext, perl, okteta, qjson }: stdenv.mkDerivation rec { name = "${pname}-${version}"; - version = "4.3.1"; + version = "4.6.0"; pname = "kdevelop"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2"; - sha256 = "0015hv39rqhyq1w6jw65lx7ls4l5pc3a2asvd5zsd65831vrfxxs"; + url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; + sha256 = "1ee9e7b8c46f575dd29d920cfd6284130f2e738a2e1f52dfd97b075fab2e4c73"; }; - buildInputs = [ kdevplatform kdebase_workspace okteta ]; + buildInputs = [ kdevplatform kdebase_workspace okteta qjson ]; nativeBuildInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ]; - patches = - [ ( fetchurl { - url = https://git.reviewboard.kde.org/r/105211/diff/raw/; - name = "okteta-0.9.patch"; # fixes build with KDE-4.9.x - sha256 = "1mvqhw7jr1vi66l3jgam3slyfafcvwy4g3iapfi69dpfnzhmcxl0"; - } ) - ]; - NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE"; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index f1fd9adbe86a..5a2afebdd5cf 100644 --- a/pkgs/applications/editors/netbeans/default.nix +++ b/pkgs/applications/editors/netbeans/default.nix @@ -11,10 +11,10 @@ let }; in stdenv.mkDerivation { - name = "netbeans-7.2"; + name = "netbeans-7.4"; src = fetchurl { - url = http://download.netbeans.org/netbeans/7.2/final/zip/netbeans-7.2-201207171143-ml.zip; - sha256 = "18ya1w291hdnc35vb12yqnai82wmqm7351wn82fax12kzha5fmci"; + url = http://download.netbeans.org/netbeans/7.4/final/zip/netbeans-7.4-201310111528.zip; + sha256 = "0nrnghnsdix5cmp86xi1gmvarhjk2k8mlbld3dfa9impm8gpv6mx"; }; buildCommand = '' # Unpack and copy the stuff @@ -25,7 +25,9 @@ stdenv.mkDerivation { # Create a wrapper capable of starting it mkdir -p $out/bin makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \ - --prefix PATH : ${jdk}/bin:${which}/bin + --prefix PATH : ${jdk}/bin:${which}/bin \ + --prefix JAVA_HOME : ${jdk}/lib/openjdk \ + --add-flags "--jdkhome ${jdk}/lib/openjdk" # Create desktop item, so we can pick it from the KDE/GNOME menu mkdir -p $out/share/applications diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix new file mode 100644 index 000000000000..234ee1f065e4 --- /dev/null +++ b/pkgs/applications/editors/scite/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, gtk }: + +let + version = "3.3.7"; + + version_short = stdenv.lib.replaceChars [ "." ] [ "" ] "${version}"; +in stdenv.mkDerivation { + name = "scite-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/project/scintilla/SciTE/${version}/scite${version_short}.tgz"; + sha256 = "0x7i6yxq50frsjkrp3lc5zy0d1ssq2n91igjn0dmqajpg7kls2dd"; + }; + + buildInputs = [ pkgconfig gtk ]; + sourceRoot = "scintilla/gtk"; + + buildPhase = '' + make + cd ../../scite/gtk + make prefix=$out/ + ''; + + installPhase = '' + make install prefix=$out/ + ''; + + meta = { + homepage = "http://www.scintilla.org/SciTE.html"; + description = "SCIntilla based Text Editor"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = stdenv.lib.maintainers.rszibele; + }; +} diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix index cfa44d9285cc..c7867ce22af2 100644 --- a/pkgs/applications/editors/sublime/default.nix +++ b/pkgs/applications/editors/sublime/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin mv Sublime* $out/sublime ln -s $out/sublime/sublime_text $out/bin/sublime + ln -s $out/sublime/sublime_text $out/bin/sublime2 echo ${libPath} patchelf \ diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix new file mode 100644 index 000000000000..3d9dec0d8f8a --- /dev/null +++ b/pkgs/applications/editors/sublime3/default.nix @@ -0,0 +1,40 @@ +{ fetchurl, stdenv, glib, xlibs, cairo, gtk, pango}: +let + libPath = stdenv.lib.makeLibraryPath [glib xlibs.libX11 gtk cairo pango]; +in +assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; + +stdenv.mkDerivation rec { + name = "sublimetext3-3.0.59"; + src = + if stdenv.system == "i686-linux" then + fetchurl { + name = "sublimetext-3.0.59.tar.bz2"; + url = http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3059_x32.tar.bz2; + sha256 = "5ee7b42b5db057108e97b86fd408124fc3f7b56662b2851f59d91f8f0c288088"; + } + else + fetchurl { + name = "sublimetext-3.0.59.tar.bz2"; + url = http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3059_x64.tar.bz2; + sha256 = "da3039687664d33a734cea0151b2291ece9c7f35e5b73df5b2b5eac28a20b972"; + }; + buildCommand = '' + tar xvf ${src} + mkdir -p $out/bin + mv sublime_text_3 $out/sublime + ln -s $out/sublime/sublime_text $out/bin/sublime + ln -s $out/sublime/sublime_text $out/bin/sublime3 + + echo ${libPath} + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \ + $out/sublime/sublime_text + ''; + + meta = { + description = "Sophisticated text editor for code, markup and prose"; + license = "unfree"; + }; +} diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index 7dd4a0519ce4..673174904129 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -1,8 +1,10 @@ { stdenv, fetchhg, ncurses, gettext, pkgconfig }: stdenv.mkDerivation rec { - name = "vim-7.4.131"; - + name = "vim-${version}"; + + version = "7.4.131"; + src = fetchhg { url = "https://vim.googlecode.com/hg/"; tag = "v7-4-131"; @@ -10,7 +12,7 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - + buildInputs = [ ncurses pkgconfig ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch index 0e73162d33ef..ed508784813c 100644 --- a/pkgs/applications/editors/vim/ft-nix-support.patch +++ b/pkgs/applications/editors/vim/ft-nix-support.patch @@ -23,7 +23,7 @@ new file mode 100644 index 0000000..a2f9918 --- /dev/null +++ b/runtime/syntax/nix.vim -@@ -0,0 +1,40 @@ +@@ -0,0 +1,47 @@ +" Vim syntax file +" Language: nix +" Maintainer: Marc Weber @@ -46,8 +46,8 @@ index 0000000..a2f9918 + \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList + \ __head __tail __add __sub __lessThan __substring __stringLength + -+syn match nixAttr "\w\+\ze\s*=" -+syn match nixFuncArg "\zs\w\+\ze\s*:" ++syn match nixAttr "[a-zA-Z0-9-_]\+\ze\s*=" ++syn match nixFuncArg "\zs[a-zA-Z0-9-_]\+\ze\s*:" +syn region nixStringParam start=+\${+ end=+}+ +syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+ +syn match nixEndOfLineComment "#.*$" @@ -66,3 +66,10 @@ index 0000000..a2f9918 +hi def link nixEndOfLineComment Comment +hi def link nixAttr Identifier +hi def link nixFuncArg Identifier ++ ++let b:current_syntax = "nix" ++ ++" scan backwards to find begining of multiline statements ++syn sync ccomment nixMultiLineComment minlines=10 maxlines=500 ++syn sync ccomment nixStringIndented minlines=10 maxlines=500 ++syn sync ccomment nixString maxlines=10 diff --git a/pkgs/applications/editors/vim/wrapper.nix b/pkgs/applications/editors/vim/wrapper.nix new file mode 100644 index 000000000000..72e868050537 --- /dev/null +++ b/pkgs/applications/editors/vim/wrapper.nix @@ -0,0 +1,32 @@ +{ stdenv, makeWrapper, writeText, vim, vimrc }: + +let + + vimrcfile = writeText "vimrc" vimrc; + + p = builtins.parseDrvName vim.name; + +in stdenv.mkDerivation rec { + name = "${p.name}-with-vimrc-${p.version}"; + + buildInputs = [ makeWrapper vim vimrcfile ]; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out + cp -r ${vim}/* $out/ + + chmod u+w $out/bin + chmod u+w $out/share/vim + + ln -s ${vimrcfile} $out/share/vim/vimrc + wrapProgram $out/bin/vim --set VIM "$out/share/vim" + ''; + + meta = with stdenv.lib; { + description = "The most popular clone of the VI editor"; + homepage = http://www.vim.org; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix index e2fadcca345d..c7d3f0940164 100644 --- a/pkgs/applications/editors/yi/yi-contrib.nix +++ b/pkgs/applications/editors/yi/yi-contrib.nix @@ -1,10 +1,12 @@ -{ cabal, dataAccessor, filepath, mtl, split, yi }: +{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }: cabal.mkDerivation (self: { pname = "yi-contrib"; - version = "0.7.0"; - sha256 = "12x9ps5yrszr8dlj15kmsm9myq3gzd9x9nacvl3x6cq91wk53mzj"; - buildDepends = [ dataAccessor filepath mtl split yi ]; + version = "0.8.1"; + sha256 = "0jsbga30x302mr708vj5y7cpc961vh85dshpq2zlrf44dh0kmpvf"; + buildDepends = [ + filepath lens mtl split time transformersBase yi + ]; meta = { homepage = "http://haskell.org/haskellwiki/Yi"; description = "Add-ons to Yi, the Haskell-Scriptable Editor"; diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix index 4dfc60bef769..96e4a06965c1 100644 --- a/pkgs/applications/editors/yi/yi.nix +++ b/pkgs/applications/editors/yi/yi.nix @@ -1,32 +1,30 @@ { cabal, alex, binary, Cabal, cautiousFile, concreteTyperep -, dataAccessor, dataAccessorMtl, dataAccessorTemplate, derive, Diff -, dlist, dyre, filepath, fingertree, ghcPaths, glib, gtk, hashable -, hint, HUnit, mtl, pango, parsec, pointedlist, pureMD5, QuickCheck -, random, regexBase, regexTdfa, split, testFramework -, testFrameworkHunit, time, uniplate, unixCompat -, unorderedContainers, utf8String, vty, xdgBasedir +, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree +, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec +, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe +, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase +, uniplate, unixCompat, unorderedContainers, utf8String, vty +, xdgBasedir }: cabal.mkDerivation (self: { pname = "yi"; - version = "0.7.0"; - sha256 = "0mzcjgp12k5mxb37r6chxsk726b1qxds49ch656bpgrg7n22w2j1"; + version = "0.8.1"; + sha256 = "1hyqlydc0na9pkb3fkbp13c6vnp4f80z8237bvrv12wkk5syyn23"; isLibrary = true; isExecutable = true; buildDepends = [ - binary Cabal cautiousFile concreteTyperep dataAccessor - dataAccessorMtl dataAccessorTemplate derive Diff dlist dyre - filepath fingertree ghcPaths glib gtk hashable hint mtl pango - parsec pointedlist pureMD5 QuickCheck random regexBase regexTdfa - split time uniplate unixCompat unorderedContainers utf8String vty - xdgBasedir + binary Cabal cautiousFile concreteTyperep dataDefault derive Diff + dlist dyre filepath fingertree glib gtk hashable hint lens mtl + pango parsec pointedlist QuickCheck random regexBase regexTdfa safe + split time transformersBase uniplate unixCompat unorderedContainers + utf8String vty xdgBasedir ]; testDepends = [ - filepath HUnit QuickCheck testFramework testFrameworkHunit + filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck ]; buildTools = [ alex ]; configureFlags = "-fpango"; - jailbreak = true; doCheck = false; meta = { homepage = "http://haskell.org/haskellwiki/Yi"; diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 66a7f334dbdd..64b1f5b3b2c1 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -18,14 +18,14 @@ }: let - version = "6.8.7-6"; + version = "6.8.9-0"; in stdenv.mkDerivation rec { name = "ImageMagick-${version}"; src = fetchurl { url = "mirror://imagemagick/${name}.tar.xz"; - sha256 = "0cbfhk184kxdxz5czyyqxac29mbfiahygjji6k97z6hp8ngnqlvh"; + sha256 = "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 766696265812..d4983ca04d83 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -9,12 +9,12 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - version = "1.2.3"; + version = "1.4.1"; name = "darktable-${version}"; src = fetchurl { url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz"; - sha256 = "05kkkz13a5rhb246rq1nxv7h91pcvm15filvik8n8gn143h64sv8"; + sha256 = "1pkixhiyyjx5wx4dlkvabga9glcx374f1ic2kxmzzdprfm6kkqfd"; }; buildInputs = diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 0cd340279665..4f52e6dec0fd 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,20 +1,24 @@ -{ stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib +{ stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng, giblib , libXinerama, curl }: stdenv.mkDerivation rec { - name = "feh-2.8"; + name = "feh-2.10"; src = fetchurl { url = "http://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "0zmslchnzvi9ydxj2mgci4x8zpv5mdfkf7kyny3nibbpajibqmrx"; + sha256 = "10ya8j0mxlni08qli3gdkyjhy54g4d2q2kc0hhragmzd9s42ly5w"; }; - buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama curl ]; + buildInputs = [makeWrapper x11 imlib2 giblib libjpeg libpng libXinerama curl ]; preBuild = '' makeFlags="PREFIX=$out" ''; + postInstall = '' + wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin" + ''; + meta = { description = "A light-weight image viewer"; homepage = https://derf.homelinux.org/projects/feh/; diff --git a/pkgs/applications/graphics/freecad/cmake.patch b/pkgs/applications/graphics/freecad/cmake.patch new file mode 100644 index 000000000000..62efaf1e29dc --- /dev/null +++ b/pkgs/applications/graphics/freecad/cmake.patch @@ -0,0 +1,32 @@ +diff -urN freecad-0.13.1830.old/cMake/FreeCadMacros.cmake freecad-0.13.1830/cMake/FreeCadMacros.cmake +--- freecad-0.13.1830.old/cMake/FreeCadMacros.cmake 2013-02-02 18:09:17.000000000 +0100 ++++ freecad-0.13.1830/cMake/FreeCadMacros.cmake 2014-04-20 10:52:17.293599913 +0200 +@@ -201,7 +201,7 @@ + #endmacro(fc_add_resources) + + MACRO (fc_add_resources outfiles ) +- QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN}) ++ QT4_EXTRACT_OPTIONS(rcc_files rcc_options rcc_target ${ARGN}) + + FOREACH (it ${rcc_files}) + GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE) +diff -urN freecad-0.13.1830.old/CMakeLists.txt freecad-0.13.1830/CMakeLists.txt +--- freecad-0.13.1830.old/CMakeLists.txt 2013-02-02 18:09:17.000000000 +0100 ++++ freecad-0.13.1830/CMakeLists.txt 2014-04-20 10:28:41.782536753 +0200 +@@ -314,14 +314,14 @@ + macro(fc_wrap_cpp outfiles ) + # get include dirs + QT4_GET_MOC_FLAGS(moc_flags) +- QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN}) ++ QT4_EXTRACT_OPTIONS(moc_files moc_options moc_target ${ARGN}) + # fixes bug 0000585: bug with boost 1.48 + SET(moc_options ${moc_options} -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + + foreach(it ${moc_files}) + get_filename_component(it ${it} ABSOLUTE) + QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile) +- QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}") ++ QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "") + set(${outfiles} ${${outfiles}} ${outfile}) + add_file_dependencies(${it} ${outfile}) + endforeach(it) diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 37265c954e83..770a7ee8212b 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 ''; - patches = [ ./pythonpath.patch ]; + patches = [ ./pythonpath.patch ./cmake.patch ]; meta = { homepage = http://free-cad.sourceforge.net/; diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index af7d9e3399b0..0f8d6d45f128 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk, glib, gdk_pixbuf , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff , webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper -, python, pygtk, libart_lgpl, libexif, gettext, xlibs }: +, python, pygtk, libart_lgpl, libexif, gettext, xlibs, wrapPython }: stdenv.mkDerivation rec { name = "gimp-2.8.10"; @@ -16,8 +16,13 @@ stdenv.mkDerivation rec { freetype fontconfig lcms libpng libjpeg poppler libtiff webkit libmng librsvg libwmf zlib libzip ghostscript aalib jasper python pygtk libart_lgpl libexif gettext xlibs.libXpm + wrapPython ]; + pythonPath = [ pygtk ]; + + postInstall = ''wrapPythonPrograms''; + passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ? #configureFlags = [ "--disable-print" ]; @@ -29,5 +34,6 @@ stdenv.mkDerivation rec { description = "The GNU Image Manipulation Program"; homepage = http://www.gimp.org/; license = "GPL"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix deleted file mode 100644 index 33d52c6645be..000000000000 --- a/pkgs/applications/graphics/gimp/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gtk, freetype -, fontconfig, libart_lgpl, libtiff, libjpeg, libpng, libexif, zlib, perl -, perlXMLParser, python, pygtk, gettext, xlibs, intltool, babl_0_0_22, gegl_0_0_22 -}: - -stdenv.mkDerivation rec { - name = "gimp-2.6.12"; - - src = fetchurl { - url = "ftp://ftp.gtk.org/pub/gimp/v2.6/${name}.tar.bz2"; - sha256 = "0qpcgaa4pdqqhyyy8vjvzfflxgsrrs25zk79gixzlnbzq3qwjlym"; - }; - - buildInputs = [ - pkgconfig gtk freetype fontconfig - libart_lgpl libtiff libjpeg libpng libexif zlib perl - perlXMLParser python pygtk gettext intltool babl_0_0_22 gegl_0_0_22 - ]; - - passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ? - - configureFlags = [ "--disable-print" ]; - - # "screenshot" needs this. - NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib"; - - meta = { - description = "The GNU Image Manipulation Program"; - homepage = http://www.gimp.org/; - license = "GPL"; - }; -} diff --git a/pkgs/applications/graphics/hoodle/default.nix b/pkgs/applications/graphics/hoodle/default.nix new file mode 100644 index 000000000000..e553875f756c --- /dev/null +++ b/pkgs/applications/graphics/hoodle/default.nix @@ -0,0 +1,20 @@ +{ cabal, cmdargs, configurator, dyre, filepath, hoodleCore, mtl }: + +cabal.mkDerivation (self: { + pname = "hoodle"; + version = "0.2.2.1"; + sha256 = "1qkyyzfmprhniwarnq6cdmv1r6605b3h2lsc1rlalxhq6jh5gamd"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + cmdargs configurator dyre filepath hoodleCore mtl + ]; + jailbreak = true; + meta = { + homepage = "http://ianwookim.org/hoodle"; + description = "Executable for hoodle"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 37905f8a73f6..478a0ff7e50c 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { patches = [ ./configure-python-libs.patch ]; + postPatch = '' + patch -p0 < ${./spuriouscomma.patch} + ''; + propagatedBuildInputs = [ # Python is used at run-time to execute scripts, e.g., those from # the "Effects" menu. diff --git a/pkgs/applications/graphics/inkscape/libpng-1.5.patch b/pkgs/applications/graphics/inkscape/libpng-1.5.patch deleted file mode 100644 index 4c8a7ee5f9b6..000000000000 --- a/pkgs/applications/graphics/inkscape/libpng-1.5.patch +++ /dev/null @@ -1,47 +0,0 @@ -Source: upstream revisions 10061 and 10707 - ---- a/src/sp-image.cpp 2011-02-21 07:59:34 +0000 -+++ b/src/sp-image.cpp 2011-02-21 08:57:28 +0000 -@@ -387,9 +387,13 @@ - - #if defined(PNG_iCCP_SUPPORTED) - { -- char* name = 0; -+ png_charp name = 0; - int compression_type = 0; -- char* profile = 0; -+#if (PNG_LIBPNG_VER < 10500) -+ png_charp profile = 0; -+#else -+ png_bytep profile = 0; -+#endif - png_uint_32 proflen = 0; - if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) { - // g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type); - ---- a/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-27 04:55:51 +0000 -+++ b/src/extension/internal/pdfinput/svg-builder.cpp 2011-10-29 20:34:00 +0000 -@@ -1481,7 +1481,7 @@ - return NULL; - } - // Set error handler -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_write_struct(&png_ptr, &info_ptr); - return NULL; - } - ---- a/src/helper/png-write.cpp 2011-08-07 10:53:12 +0000 -+++ b/src/helper/png-write.cpp 2011-10-29 20:34:00 +0000 -@@ -166,8 +166,8 @@ - /* Set error handling. REQUIRED if you aren't supplying your own - * error hadnling functions in the png_create_write_struct() call. - */ -- if (setjmp(png_ptr->jmpbuf)) { -- /* If we get here, we had a problem reading the file */ -+ if (setjmp(png_jmpbuf(png_ptr))) { -+ // If we get here, we had a problem reading the file - fclose(fp); - png_destroy_write_struct(&png_ptr, &info_ptr); - return false; - diff --git a/pkgs/applications/graphics/inkscape/spuriouscomma.patch b/pkgs/applications/graphics/inkscape/spuriouscomma.patch new file mode 100644 index 000000000000..bc538068f9e3 --- /dev/null +++ b/pkgs/applications/graphics/inkscape/spuriouscomma.patch @@ -0,0 +1,11 @@ +--- src/widgets/desktop-widget.h~ 2011-07-08 13:25:09.000000000 -0500 ++++ src/widgets/desktop-widget.h 2013-02-15 16:04:45.806910365 -0600 +@@ -239,7 +239,7 @@ + private: + GtkWidget *tool_toolbox; + GtkWidget *aux_toolbox; +- GtkWidget *commands_toolbox,; ++ GtkWidget *commands_toolbox; + GtkWidget *snap_toolbox; + + static void init(SPDesktopWidget *widget); diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 8920d243dbf0..9f31d94ac7fb 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { preConfigure = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)" ''; buildInputs = [ diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix index cd5388c1b88f..67b91fd68570 100644 --- a/pkgs/applications/graphics/mirage/default.nix +++ b/pkgs/applications/graphics/mirage/default.nix @@ -9,10 +9,6 @@ buildPythonPackage rec { sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c"; }; - postInstall = '' - mv $out/lib/${python.libPrefix}/site-packages/*.egg/share $out - ''; - doCheck = false; buildInputs = [ stdenv libX11 gettext ]; diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index 8748c808dc07..f63f41a8ed10 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "oiio-${version}"; - version = "1.1.12"; + version = "1.3.12"; src = fetchurl { url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip"; - sha256 = "0v84xna2vp83njxbizlxnindcp2i67xd89kgl9nic1hz6ywlylz6"; + sha256 = "114jx4pcqhzdchzpxbwrfzqmnxr2bm8cw13g4akz1hg8pvr1dhsb"; }; buildInputs = [ diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index a1238fe3dcd9..d831df5d7b66 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -1,17 +1,19 @@ { stdenv, fetchurl, qt4, bison, flex, eigen, boost, mesa, glew, opencsg, cgal -, mpfr, gmp +, mpfr, gmp, glib, pkgconfig }: stdenv.mkDerivation rec { - version = "2013.06"; + version = "2014.03"; name = "openscad-${version}"; src = fetchurl { - url = "https://openscad.googlecode.com/files/${name}.src.tar.gz"; - sha256 = "01r013l8zyfkgmqn05axh3rlfsjwd6j403w5ffl7nby4i2spiw1f"; + url = "http://files.openscad.org/${name}.src.tar.gz"; + sha256 = "1hv1lmq1ayhlvrz5sqipg650xryq25a9k22ysdw0dsrwg9ixqpw6"; }; - buildInputs = [ qt4 bison flex eigen boost mesa glew opencsg cgal gmp mpfr ]; + buildInputs = [ + qt4 bison flex eigen boost mesa glew opencsg cgal mpfr gmp glib pkgconfig + ]; configurePhase = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${eigen}/include/eigen*) " diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix index 257ee681db61..61e3f666dca7 100644 --- a/pkgs/applications/graphics/photivo/default.nix +++ b/pkgs/applications/graphics/photivo/default.nix @@ -2,15 +2,25 @@ lcms2, lensfun, pkgconfig, libjpeg, exiv2, liblqr1 }: stdenv.mkDerivation rec { - name = "photivo-2013-05-20"; + name = "photivo-2014-01-25"; src = fetchhg { url = "http://code.google.com/p/photivo/"; - tag = "6256ff175312"; - sha256 = "0pyvkijr7wwik21hdp1zwbbyqnhc07kf0m48ih1rws78fq3h86cc"; + tag = "d687864489da"; + sha256 = "0f6y18k7db2ci6xn664zcwm1g1k04sdv7gg1yd5jk41bndjb7z8h"; }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ qt4 fftw graphicsmagick_q16 lcms2 lensfun libjpeg exiv2 liblqr1 ]; + patchPhase = '' # kinda icky + sed -e '/("@INSTALL@")/d' \ + -e s,@INSTALL@,$out/share/photivo, \ + -i Sources/ptSettings.cpp + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = maintainers.mornfall; + }; } diff --git a/pkgs/applications/graphics/sane/backends.nix b/pkgs/applications/graphics/sane/backends.nix index 3b5077a14e2a..3d95dcd81ee8 100644 --- a/pkgs/applications/graphics/sane/backends.nix +++ b/pkgs/applications/graphics/sane/backends.nix @@ -12,7 +12,10 @@ stdenv.mkDerivation rec { name = "sane-backends-${version}"; src = fetchurl { - url = "https://alioth.debian.org/frs/download.php/file/3958/${name}.tar.gz"; + urls = [ + "http://pkgs.fedoraproject.org/repo/pkgs/sane-backends/sane-backends-1.0.24.tar.gz/1ca68e536cd7c1852322822f5f6ac3a4/${name}.tar.gz" + "https://alioth.debian.org/frs/download.php/file/3958/${name}.tar.gz" + ]; curlOpts = "--insecure"; sha256 = "0ba68m6bzni54axjk15i51rya7hfsdliwvqyan5msl7iaid0iir7"; }; diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix new file mode 100644 index 000000000000..1953f951d169 --- /dev/null +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -0,0 +1,62 @@ +{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite, webkit +, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib, gettext, desktop_file_utils +, lcms2, gdk_pixbuf, librsvg, makeWrapper, gnome_doc_utils }: + +# for dependencies see http://www.yorba.org/projects/shotwell/install/ + +let + rest = stdenv.mkDerivation rec { + name = "rest-0.7.12"; + + src = fetchurl { + url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz"; + sha256 = "0fmg7fq5fx0jg3ryk71kwdkspsvj42acxy9imk7vznkqj29a9zqn"; + }; + + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; + + buildInputs = [ pkgconfig glib libsoup ]; + }; +in stdenv.mkDerivation rec { + version = "0.18.0"; + name = "shotwell-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/shotwell/0.18/${name}.tar.xz"; + sha256 = "0cq0zs13f3f4xyz46yvj4qfpm5nh4ypds7r53pkqm4a3n8ybf5v7"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + + configureFlags = [ "--disable-gsettings-convert-install" ]; + + preConfigure = '' + patchShebangs . + ''; + + postInstall = '' + mkdir -p $out/share/gsettings-schemas/$name + mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/ + ''; + + preFixup = '' + wrapProgram "$out/bin/shotwell" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + + buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkit pkgconfig + gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2 + libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg + makeWrapper gnome_doc_utils ]; + + meta = with stdenv.lib; { + description = "Popular photo organizer for the GNOME desktop"; + homepage = http://www.yorba.org/projects/shotwell/; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [iElectric]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix new file mode 100644 index 000000000000..034a147b7874 --- /dev/null +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchurl, boost, cairo, gettext, glibmm, gtk, gtkmm +, libsigcxx, libtool, libxmlxx, pango, pkgconfig, imagemagick +, intltool +}: + +let + version = "0.64.1"; + + ETL = stdenv.mkDerivation rec { + name = "ETL-0.04.17"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/${name}.tar.gz"; + sha256 = "13kpiswgcpsif9fwcplqr0405aqavqn390cjnivkn3pxv0d2q8iy"; + }; + }; + + synfig = stdenv.mkDerivation rec { + name = "synfig-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/synfig-${version}.tar.gz"; + sha256 = "1b4ksxnqbaq4rxlvasmrvk7z4jvjbsg4ns3cns2qcnz64dyvbgda"; + }; + + patches = [ ./synfig-cstring.patch ]; + + buildInputs = [ + ETL boost cairo gettext glibmm libsigcxx libtool libxmlxx pango + pkgconfig + ]; + + configureFlags = [ "--with-boost-libdir=${boost}/lib" ]; + }; +in +stdenv.mkDerivation rec { + name = "synfigstudio-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/synfig/${name}.tar.gz"; + sha256 = "0nl6vpsn5dcjd5qhbrmd0j4mr3wddvymkg9414m77cdpz4l8b9v2"; + }; + + buildInputs = [ + ETL boost cairo gettext glibmm gtk gtkmm imagemagick intltool + intltool libsigcxx libtool libxmlxx pkgconfig synfig + ]; + + meta = with stdenv.lib; { + description = "A 2D animation program"; + homepage = http://www.synfig.org; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch new file mode 100644 index 000000000000..51eb77042161 --- /dev/null +++ b/pkgs/applications/graphics/synfigstudio/synfig-cstring.patch @@ -0,0 +1,12 @@ +http://www.synfig.org/issues/thebuggenie/synfig/issues/438 +--- a/src/modules/mod_png/trgt_png.cpp ++++ b/src/modules/mod_png/trgt_png.cpp +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + #endif + + diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix index 99e1ec1c169b..aa09fb705f1c 100644 --- a/pkgs/applications/graphics/viewnior/default.nix +++ b/pkgs/applications/graphics/viewnior/default.nix @@ -2,11 +2,11 @@ , intltool, gettext, shared_mime_info, glib, gdk_pixbuf, perl}: stdenv.mkDerivation rec { - name = "viewnior-1.3"; + name = "viewnior-1.4"; src = fetchurl { - url = "http://cloud.github.com/downloads/xsisqox/Viewnior/${name}.tar.gz"; - sha256 = "46c97c1a85361519b42fe008cfb8911e66f709f3a3a988c11047ab3726889f10"; + url = "https://www.dropbox.com/s/zytq0suabesv933/${name}.tar.gz"; + sha256 = "0vv1133phgfzm92md6bbccmcvfiqb4kz28z1572c0qj971yz457a"; }; buildInputs = @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { shared_mime_info glib gdk_pixbuf perl ]; + preFixup = '' + rm $out/share/icons/*/icon-theme.cache + ''; + meta = { description = "Viewnior is a fast and simple image viewer for GNU/Linux"; longDescription = diff --git a/pkgs/applications/ike/default.nix b/pkgs/applications/ike/default.nix index 7bba42152e8c..1414310ebf33 100644 --- a/pkgs/applications/ike/default.nix +++ b/pkgs/applications/ike/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { installPhase = '' make install for file in "$out"/bin/* "$out"/sbin/*; do - wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.gcc}/lib:${libedit}/lib:${qt4}/lib" + wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl}/lib:${gcc.gcc}/lib:${stdenv.glibc}/lib::${gcc.gcc}/lib64:${stdenv.glibc}/lib64:${libedit}/lib:${qt4}/lib" done ''; @@ -40,6 +40,6 @@ stdenv.mkDerivation rec { description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems"; platforms = platforms.unix; maintainers = [ maintainers.iElectric ]; - license = "sleepycat"; + license = licenses.sleepycat; }; } diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 50aa92f8d293..570699fb619e 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,48 +1,31 @@ -{ composableDerivation, lib, fetchurl, alsaLib, libao, lame, libmad }: - -let inherit (composableDerivation) edf; in - -composableDerivation.composableDerivation {} { - name = "sox-14.3.0"; +{ stdenv, fetchurl +, enableAlsa ? true, alsaLib ? null +, enableLibao ? true, libao ? null +, enableLame ? false, lame ? null +, enableLibmad ? true, libmad ? null +, enableLibogg ? true, libogg ? null, libvorbis ? null +}: +let + inherit (stdenv.lib) optional optionals; +in stdenv.mkDerivation rec { + name = "sox-14.4.1"; src = fetchurl { - url = mirror://sourceforge/sox/sox-14.3.0.tar.gz; - sha256 = "15r39dq9nlwrypm0vpxmbxyqqv0bd6284djbi1fdfrlkjhf43gws"; + url = "mirror://sourceforge/sox/${name}.tar.gz"; + sha256 = "16x8gykfjdhxg0kdxwzcwgwpm5caa08y2mx18siqsq0ywmpjr34s"; }; - flags = - # are these options of interest? We'll see - #--disable-fftw disable usage of FFTW - #--enable-debug enable debugging - #--disable-cpu-clip disable tricky cpu specific clipper - edf { name = "alsa"; enable = { buildInputs = [alsaLib]; }; } - // edf { name = "libao"; enable = { buildInputs = [libao]; }; } - // edf { name = "oss"; } - // edf { name = "sun_audio"; } - // edf { name = "dl-lame"; enable.buildInputs = [ lame ]; } # use shared library - // edf { name = "lame"; enable.buildInputs = [ lame ]; } - // edf { name = "dl-mad"; enable.buildInputs = [ libmad ]; } # use shared library - // edf { name = "mad"; enable.buildInputs =[ libmad ]; } - ; - - cfg = { - ossSupport = false; - sun_audioSupport = false; - } // lib.listToAttrs - [ { name = "dl-lameSupport"; value = true; } - { name = "dl-madSupport"; value = true; } - ]; - - configureFlags = ["-enable-dl-lame"]; - - optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame" - /* "amr-wb" "amr-nb" */ - "libsamplerate" /* "ladspa" */ ]; + buildInputs = + (optional enableAlsa alsaLib) ++ + (optional enableLibao libao) ++ + (optional enableLame lame) ++ + (optional enableLibmad libmad) ++ + (optionals enableLibogg [ libogg libvorbis ]); meta = { description = "Sample Rate Converter for audio"; homepage = http://www.mega-nerd.com/SRC/index.html; - maintainers = [lib.maintainers.marcweber]; + maintainers = [stdenv.lib.maintainers.marcweber stdenv.lib.maintainers.shlevy]; # you can choose one of the following licenses: license = [ "GPL" diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix index 9e20be0dcbcd..118b56c55b07 100644 --- a/pkgs/applications/misc/bitcoin/default.nix +++ b/pkgs/applications/misc/bitcoin/default.nix @@ -1,26 +1,39 @@ -{ fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }: +{ fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux +, pkgconfig, protobuf, qrencode }: stdenv.mkDerivation rec { - version = "0.8.6"; + version = "0.9.1"; name = "bitcoin-${version}"; src = fetchurl { - url = "mirror://sourceforge/bitcoin/${name}-linux.tar.gz"; - sha256 = "036xx06gyrfh65rpdapff3viz1f38vzkj7lnhil6fc0s7pjmsjbk"; + url = "https://bitcoin.org/bin/${version}/${name}-linux.tar.gz"; + sha256 = "3fabc1c629007b465a278525883663d41a2ba62699f2773536a8bf59ca210425"; }; - buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ]; + # hexdump from utillinux is required for tests + buildInputs = [ + openssl db48 boost zlib miniupnpc qt4 utillinux pkgconfig protobuf qrencode + ]; - configurePhase = '' - cd src - qmake + unpackPhase = '' + mkdir tmp-extract && (cd tmp-extract && tar xf $src) + tar xf tmp-extract/bitcoin*/src/bitcoin*.tar* + cd bitcoin* ''; - installPhase = '' - mkdir -p $out/bin - cp bitcoin-qt $out/bin + configureFlags = [ + "--with-boost=${boost}" + ]; + + preCheck = '' + # At least one test requires writing in $HOME + HOME=$TMPDIR ''; + doCheck = true; + + enableParallelBuilding = true; + meta = { description = "Bitcoin is a peer-to-peer currency"; longDescription= '' diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 0951340ee945..2e9cf46bf864 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "blender-2.67"; + name = "blender-2.70"; src = fetchurl { url = "http://download.blender.org/source/${name}.tar.gz"; - sha256 = "066lwrm85455gs187bxr3jhqidc2f6f0791b4216jkagbszd9a8l"; + sha256 = "0j73yfpavcrzg5v54kcha7sig6179g5ykrlhih8d288pnb5c7596"; }; buildInputs = [ @@ -35,11 +35,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "3D Creation/Animation/Publishing System"; homepage = http://www.blender.org; # They comment two licenses: GPLv2 and Blender License, but they # say: "We've decided to cancel the BL offering for an indefinite period." - license = "GPLv2+"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; + }; } diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 1e16e22c0fe6..c2d8e7979e45 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-1.17.0"; + name = "calibre-1.31.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "1g0kwfr0v4hgwik7hpajdvg1ganyi7hlq6wvq4r5218yvdq5mkzn"; + sha256 = "1fl42y8ppw8s51v66dqsrg1ib28yi6z5779r9wfvdbl9v1clilfc"; }; inherit python; diff --git a/pkgs/applications/misc/cgminer/default.nix b/pkgs/applications/misc/cgminer/default.nix index 54650d395c2b..3247cb609fa6 100644 --- a/pkgs/applications/misc/cgminer/default.nix +++ b/pkgs/applications/misc/cgminer/default.nix @@ -1,5 +1,5 @@ -{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake, - curl, ncurses, amdappsdk, amdadlsdk, xorg, jansson }: +{ fetchgit, stdenv, pkgconfig, libtool, autoconf, automake +, curl, ncurses, amdappsdk, amdadlsdk, xorg, jansson }: stdenv.mkDerivation rec { version = "3.7.2"; @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/ckolivas/cgminer"; license = licenses.gpl3; maintainers = [ maintainers.offline ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix new file mode 100644 index 000000000000..937025c08403 --- /dev/null +++ b/pkgs/applications/misc/cura/default.nix @@ -0,0 +1,71 @@ +{ stdenv, python27Packages, curaengine, makeDesktopItem, fetchgit }: +let + py = python27Packages; +in +stdenv.mkDerivation rec { + name = "cura"; + + src = fetchgit { + url = "https://github.com/daid/Cura"; + rev = "58414695269d60ca9b165e8cbc3424933ed79403"; + sha256 = "1nxrrz8sjjx9i9cyvz15vay6yarnywp3vlk7qzr65sw88lzxgq23"; + fetchSubmodules = false; + }; + + desktopItem = makeDesktopItem { + name = "Cura"; + exec = "cura"; + icon = "cura"; + comment = "Cura"; + desktopName = "Cura"; + genericName = "3D printing host software"; + categories = "GNOME;GTK;Utility;"; + }; + + python_deps = [ py.pyopengl py.pyserial py.numpy py.wxPython30 py.power py.setuptools ]; + + pythonPath = python_deps; + + propagatedBuildInputs = python_deps; + + buildInputs = [ curaengine py.wrapPython ]; + + configurePhase = ""; + buildPhase = ""; + + installPhase = '' + # Install Python code. + site_packages=$out/lib/python2.7/site-packages + mkdir -p $site_packages + cp -r Cura $site_packages/ + + # Install resources. + resources=$out/share/cura + mkdir -p $resources + cp -r resources/* $resources/ + sed -i 's|os.path.join(os.path.dirname(__file__), "../../resources")|"'$resources'"|g' $site_packages/Cura/util/resources.py + + # Install executable. + mkdir -p $out/bin + cp Cura/cura.py $out/bin/cura + chmod +x $out/bin/cura + sed -i 's|#!/usr/bin/python|#!/usr/bin/env python|' $out/bin/cura + wrapPythonPrograms + + # Make it find CuraEngine. + echo "def getEngineFilename(): return '${curaengine}/bin/CuraEngine'" >> $site_packages/Cura/util/sliceEngine.py + + # Install desktop item. + mkdir -p "$out"/share/applications + cp "$desktopItem"/share/applications/* "$out"/share/applications/ + mkdir -p "$out"/share/icons + ln -s "$resources/images/c.png" "$out"/share/icons/cura.png + ''; + + meta = with stdenv.lib; { + description = "3D printing host software"; + homepage = https://github.com/daid/Cura; + license = licenses.agpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix new file mode 100644 index 000000000000..256d337f679e --- /dev/null +++ b/pkgs/applications/misc/curaengine/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchgit }: +stdenv.mkDerivation { + name = "curaengine"; + + src = fetchgit { + url = "https://github.com/Ultimaker/CuraEngine"; + rev = "62667ff2e7479b55d75e3d1dc9136242adf4a6a0"; + sha256 = "0c68xmnq4c49vzg2cyqb375kc72rcnghj21wp3919w8sfwil00vr"; + }; + + installPhase = '' + mkdir -p $out/bin + cp CuraEngine $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "Engine for processing 3D models into 3D printing instructions"; + homepage = https://github.com/Ultimaker/CuraEngine; + license = licenses.agpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix new file mode 100644 index 000000000000..c35a2c7ff821 --- /dev/null +++ b/pkgs/applications/misc/electrum/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pythonPackages, slowaes, ecdsa, pyqt4 }: + +pythonPackages.buildPythonPackage rec { + name = "electrum-${version}"; + version = "1.9.8"; + + src = fetchurl { + url = "https://download.electrum.org/Electrum-${version}.tar.gz"; + sha256 = "8fc144a32013e4a747fea27fff981762a6b9e14cde9ffb405c4c721975d846ff"; + }; + + buildInputs = [ slowaes ecdsa ]; + + propagatedBuildInputs = [ + slowaes + ecdsa + pyqt4 + ]; + + postPatch = '' + mkdir -p $out/share + sed -i 's@usr_share = .*@usr_share = os.getenv("out")+"/share"@' setup.py + ''; + + meta = { + description = "Bitcoin thin-wallet"; + long-description = "Electrum is an easy to use Bitcoin client. It protects you from losing coins in a backup mistake or computer failure, because your wallet can be recovered from a secret phrase that you can write on paper or learn by heart. There is no waiting time when you start the client, because it does not download the Bitcoin blockchain."; + homepage = "https://electrum.org"; + license = stdenv.lib.licenses.gpl3; + maintainers = [ "emery@vfemail.net" ]; + }; +} \ No newline at end of file diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix index d5ed057f56b8..33d8585bb2dd 100644 --- a/pkgs/applications/misc/freicoin/default.nix +++ b/pkgs/applications/misc/freicoin/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }: +{ fetchurl, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, unzip }: stdenv.mkDerivation rec { version = "0.8.3-1"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { # I think that openssl and zlib are required, but come through other # packages - buildInputs = [ db4 boost gmp mpfr miniupnpc qt4 unzip ]; + buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ]; configurePhase = "qmake"; diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix index 7af8cbeccc63..4db4e4b10916 100644 --- a/pkgs/applications/misc/girara/default.nix +++ b/pkgs/applications/misc/girara/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, gtk, gettext }: stdenv.mkDerivation rec { - name = "girara-0.1.9"; + name = "girara-0.2.0"; src = fetchurl { url = "http://pwmt.org/projects/girara/download/${name}.tar.gz"; - sha256 = "1kd20dalnpy07hajv0rkmkbsym4bpfxh0gby7j2mvkvl5qr3vx70"; + sha256 = "0k8p5sgazqw7r78ssqh8bm2hn98xjml5w76l9awa66yq0k5m8jyi"; }; buildInputs = [ pkgconfig gtk gettext ]; diff --git a/pkgs/applications/misc/gnome_terminator/default.nix b/pkgs/applications/misc/gnome_terminator/default.nix deleted file mode 100644 index b394719611de..000000000000 --- a/pkgs/applications/misc/gnome_terminator/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, python, pygtk, vte, gettext, intltool, makeWrapper }: - -stdenv.mkDerivation rec { - name = "gnome-terminator-0.96"; - - src = fetchurl { - url = "https://launchpad.net/terminator/trunk/0.96/+download/terminator_0.96.tar.gz"; - sha256 = "d708c783c36233fcafbd0139a91462478ae40f5cf696ef4acfcaf5891a843201"; - }; - - buildInputs = - [ python pygtk vte gettext intltool makeWrapper - ]; - - phases = "unpackPhase installPhase"; - - installPhase = '' - python setup.py --without-icon-cache install --prefix=$out - for i in $(cd $out/bin && ls); do - wrapProgram $out/bin/$i \ - --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" - done - ''; - - meta = { - description = "Gnome terminal emulator with support for tiling and tabs"; - homepage = http://www.tenshu.net/p/terminator.html; - license = "GPLv2"; - }; -} diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix new file mode 100644 index 000000000000..2e9d74c2441d --- /dev/null +++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchgit, cmake, pkgconfig, boost, gnuradio, rtl-sdr, uhd +, makeWrapper +, pythonSupport ? true, python, swig +}: + +assert pythonSupport -> python != null && swig != null; + +stdenv.mkDerivation rec { + name = "gnuradio-osmosdr-${version}"; + version = "0.1.0"; + + src = fetchgit { + url = "git://git.osmocom.org/gr-osmosdr"; + rev = "refs/tags/v${version}"; + sha256 = "112zfvnr6fjvhdc06ihi2sb0dp441qy7jq8rvr81nbyv3r8jspj4"; + }; + + buildInputs = [ + cmake pkgconfig boost gnuradio rtl-sdr uhd makeWrapper + ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; + + postInstall = '' + for prog in "$out"/bin/*; do + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") + done + ''; + + meta = with stdenv.lib; { + description = "Gnuradio block for OsmoSDR and rtl-sdr"; + homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 08d2b29a92a8..1a0dea586d0e 100644 --- a/pkgs/applications/misc/gnuradio/default.nix +++ b/pkgs/applications/misc/gnuradio/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { name = "gnuradio-${version}"; - version = "3.7.1"; + version = "3.7.3"; src = fetchurl { url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz"; - sha256 = "1kfni8vpgr6v9rdiz3zsmwc07qj6zka9x22z2y0y4rak2xnzdxz9"; + sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w"; }; buildInputs = [ @@ -51,9 +51,9 @@ stdenv.mkDerivation rec { postInstall = '' printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc" - for file in "$out"/bin/*; do + for file in "$out"/bin/* "$out"/share/gnuradio/examples/*/*.py; do wrapProgram "$file" \ - --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") \ + --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \ --set MATPLOTLIBRC "$out/share/gnuradio" done ''; diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix index f7b8a511bc66..717d0a012a2c 100644 --- a/pkgs/applications/misc/goldendict/default.nix +++ b/pkgs/applications/misc/goldendict/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { cd ${name}-src tar xf ${src} ''; - patches = [ ./goldendict-paths.diff ]; + patches = [ ./goldendict-paths.diff ./gcc47.patch ]; patchFlags = "-p 0"; configurePhase = '' qmake diff --git a/pkgs/applications/misc/goldendict/gcc47.patch b/pkgs/applications/misc/goldendict/gcc47.patch new file mode 100644 index 000000000000..311dad4f6487 --- /dev/null +++ b/pkgs/applications/misc/goldendict/gcc47.patch @@ -0,0 +1,40 @@ +From b00d081da20b9a6b257573c6b23a6bc640c4dab1 Mon Sep 17 00:00:00 2001 +From: Michael Palimaka +Date: Fri, 20 Jul 2012 03:27:38 +1000 +Subject: [PATCH] Fix build with GCC 4.7 by adding missing includes. + +--- + processwrapper.cc | 4 ++++ + qtsingleapplication/src/qtlocalpeer.cpp | 1 + + 2 files changed, 5 insertions(+) + +diff --git processwrapper.cc processwrapper.cc +index f7f3f19..86b985d 100644 +--- processwrapper.cc ++++ processwrapper.cc +@@ -2,6 +2,10 @@ + + #include + ++#if defined(Q_OS_UNIX) ++#include ++#endif ++ + #ifdef Q_OS_WIN32 + + #include +diff --git qtsingleapplication/src/qtlocalpeer.cpp qtsingleapplication/src/qtlocalpeer.cpp +index 382d182..506c142 100644 +--- qtsingleapplication/src/qtlocalpeer.cpp ++++ qtsingleapplication/src/qtlocalpeer.cpp +@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0; + #endif + #if defined(Q_OS_UNIX) + #include ++#include + #endif + + namespace QtLP_Private { +-- +1.7.11.1 + diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix index cba54bf8013c..7ff253fd4e8d 100644 --- a/pkgs/applications/misc/gphoto2/default.nix +++ b/pkgs/applications/misc/gphoto2/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "gphoto2-2.5.2"; + name = "gphoto2-2.5.3"; src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "16c8k1cxfypg7v5h8xi87grclw7a5ayaamn548ys3zkj727r5fcf"; + sha256 = "0i6qjyvgn3aaspiblmiwv51mfy92gm73xpbd3z41ki8mw7plg53i"; }; nativeBuildInputs = [ pkgconfig gettext ]; diff --git a/pkgs/applications/misc/gqrx/default.nix b/pkgs/applications/misc/gqrx/default.nix new file mode 100644 index 000000000000..a52081077509 --- /dev/null +++ b/pkgs/applications/misc/gqrx/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, qt4, gnuradio, boost, gnuradio-osmosdr +# drivers (optional): +, rtl-sdr +, pulseaudioSupport ? true, pulseaudio +}: + +assert pulseaudioSupport -> pulseaudio != null; + +stdenv.mkDerivation rec { + name = "gqrx-${version}"; + version = "2.2.0"; + + src = fetchurl { + url = "mirror://sourceforge/project/gqrx/${version}/${name}-src.tar.gz"; + sha256 = "15ncx2shh43skph7sj3jvmkls9cbbbysld49c8xd23fhdsxanj9x"; + }; + + buildInputs = [ + qt4 gnuradio boost gnuradio-osmosdr rtl-sdr + ] ++ stdenv.lib.optionals pulseaudioSupport [ pulseaudio ]; + + configurePhase = ''qmake PREFIX="$out"''; + + meta = with stdenv.lib; { + description = "Software defined radio (SDR) receiver"; + longDescription = '' + Gqrx is a software defined radio receiver powered by GNU Radio and the Qt + GUI toolkit. It can process I/Q data from many types of input devices, + including Funcube Dongle Pro/Pro+, rtl-sdr, HackRF, and Universal + Software Radio Peripheral (USRP) devices. + ''; + homepage = http://gqrx.dk/; + # Some of the code comes from the Cutesdr project, with a BSD license, but + # it's currently unknown which version of the BSD license that is. + license = licenses.gpl3Plus; + platforms = platforms.linux; # should work on Darwin / OS X too + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 6e5eece5d34d..b347f971ee0f 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null); let name = "ikiwiki"; - version = "3.20140102"; + version = "3.20140227"; lib = stdenv.lib; in @@ -32,7 +32,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; - sha256 = "0nsyfq7j03cg4qq73kw7cxnc7wgbr2m75fqmmll77wyl9cb661lj"; + sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3"; }; buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix index 24edc0e128a7..fe4c0287fdd2 100644 --- a/pkgs/applications/misc/jigdo/default.nix +++ b/pkgs/applications/misc/jigdo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, db4, gtk, bzip2 }: +{ stdenv, fetchurl, db, gtk, bzip2 }: stdenv.mkDerivation { name = "jigdo-0.7.3"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { sha256 = "0jnlzm9m2hjlnw0zs2fv456ml5r2jj2q1lncqbrgg52lq18f6fa3"; }; - buildInputs = [ db4 gtk bzip2 ]; + buildInputs = [ db gtk bzip2 ]; configureFlags = "--without-libdb"; diff --git a/pkgs/applications/misc/kde-wacomtablet/default.nix b/pkgs/applications/misc/kde-wacomtablet/default.nix index 22587a1bae04..3e652c717ec4 100644 --- a/pkgs/applications/misc/kde-wacomtablet/default.nix +++ b/pkgs/applications/misc/kde-wacomtablet/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, kdelibs, gettext }: +{ stdenv, fetchurl, kdelibs, gettext, xf86_input_wacom }: stdenv.mkDerivation rec { - name = "wacomtablet-1.3.5"; + name = "wacomtablet-2.0"; src = fetchurl { - url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-v1.3.5.tar.bz2"; - sha256 = "0dgsp3izx2v44f6j8mhxc6zybjn5sj9038w6b4v2fgix47fri0ja"; + url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-2.0.tar.bz2"; + sha256 = "1vqdmkfl0awsjxl6p8bihz198hlc75d3zn7xwwryc674l76s25ax"; }; - buildInputs = [ kdelibs ]; + buildInputs = [ kdelibs xf86_input_wacom ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix new file mode 100644 index 000000000000..1a79af7cb577 --- /dev/null +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }: + +stdenv.mkDerivation { + name = "keepassx2-2.0alpha5"; + src = fetchurl { + url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz"; + sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm"; + }; + + buildInputs = [ cmake libgcrypt qt4 xlibs.libXtst ]; + + meta = { + description = "Qt password manager compatible with its Win32 and Pocket PC versions"; + homepage = http://www.keepassx.org/; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [qknight]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/misc/keepassx/default.nix b/pkgs/applications/misc/keepassx/default.nix index 375a1ae2419a..fc089f4fa5b7 100644 --- a/pkgs/applications/misc/keepassx/default.nix +++ b/pkgs/applications/misc/keepassx/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { qmake PREFIX=$out ''; + patches = [ ./random.patch ]; + buildInputs = [ bzip2 qt4 libX11 xextproto libXtst ]; meta = { diff --git a/pkgs/applications/misc/keepassx/random.patch b/pkgs/applications/misc/keepassx/random.patch new file mode 100644 index 000000000000..0a0b26f6e8c9 --- /dev/null +++ b/pkgs/applications/misc/keepassx/random.patch @@ -0,0 +1,13 @@ +--- a/src/lib/random.cpp 2014-01-21 21:15:55.829312723 +0000 ++++ b/src/lib/random.cpp 2014-01-21 21:16:36.752535839 +0000 +@@ -28,6 +28,10 @@ + #include + #include + #endif ++#ifndef Q_WS_WIN ++ #include ++ #include ++#endif + + #include + #include diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix index bd86501c30e2..83c21da0e542 100644 --- a/pkgs/applications/misc/krusader/default.nix +++ b/pkgs/applications/misc/krusader/default.nix @@ -7,6 +7,7 @@ stdenv.mkDerivation rec { sha256 = "1q1m4cjzz2m41pdpxnwrsiczc7990785b700lv64midjjgjnr7j6"; }; buildInputs = [ gettext kdelibs kde_baseapps ]; + NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions meta = { description = "Norton/Total Commander clone for KDE"; license = "GPL"; diff --git a/pkgs/applications/misc/librecad/2.0.nix b/pkgs/applications/misc/librecad/2.0.nix index 2394d116314e..2f140db93973 100644 --- a/pkgs/applications/misc/librecad/2.0.nix +++ b/pkgs/applications/misc/librecad/2.0.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, qt4, muparser, which, boost}: +{ stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }: stdenv.mkDerivation { - name = "librecad-2.0.0beta1"; + name = "librecad-2.0.2"; src = fetchurl { - url = https://github.com/LibreCAD/LibreCAD/tarball/2.0.0beta1; - name = "librecad-2.0.0beta1.tar.gz"; - sha256 = "8bf969b79be115f3b3ff72cc030a4c21fe93164dd0cb19ddfb78a7d66b8bc770"; + url = https://github.com/LibreCAD/LibreCAD/tarball/2.0.2; + name = "librecad-2.0.2.tar.gz"; + sha256 = "0a5rs1h4n74d4bnrj91ij6y6wzc8d6nbrg9lfwjx8icjjl6hqikm"; }; patchPhase = '' @@ -25,12 +25,14 @@ stdenv.mkDerivation { ''; buildInputs = [ qt4 muparser which boost ]; + nativeBuildInputs = [ pkgconfig ]; enableParallelBuilding = true; meta = { description = "A 2D CAD package based upon Qt"; homepage = http://librecad.org; + repositories.git = git://github.com/LibreCAD/LibreCAD.git; license = "GPLv2"; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index 59bd4888e4a6..b225519f4868 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, qt4, muparser, which}: stdenv.mkDerivation { - name = "librecad-1.0.2"; + name = "librecad-1.0.4"; src = fetchurl { - url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.2; - name = "librecad-1.0.2.tar.gz"; - sha256 = "13ee7e401e4f5fbc68c2e017b7189bec788038f4f6e77f559861ceb8cfb1907d"; + url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.4; + name = "librecad-1.0.4.tar.gz"; + sha256 = "00nzbijw7pn1zkj4256da501xcm6rkcvycpa79y6dr2p6c43yc6m"; }; patchPhase = '' diff --git a/pkgs/applications/misc/lxappearance/default.nix b/pkgs/applications/misc/lxappearance/default.nix new file mode 100644 index 000000000000..9295eaabf322 --- /dev/null +++ b/pkgs/applications/misc/lxappearance/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk }: + +stdenv.mkDerivation rec { + name = "lxappearance-0.5.5"; + src = fetchurl{ + url = "http://downloads.sourceforge.net/project/lxde/LXAppearance/${name}.tar.xz"; + sha256 = "8cae82e6425ba8a0267774e4d10096df2d91b0597520058331684a5ece068b4c"; + }; + buildInputs = [ intltool libX11 pkgconfig gtk ]; + meta = { + description = "A lightweight program for configuring the theme and fonts of gtk applications"; + maintainers = [ stdenv.lib.maintainers.hinton ]; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.gpl2; + homepage = "http://lxappearance.sourceforce.net/"; + }; +} diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index fd2e7c3ac426..1ea4f06c9273 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "2.0.6"; + version = "2.0.7"; name = "lyx-${version}"; src = fetchurl { url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz"; - sha256 = "1llah9d9ymvdk8asmqslcwnicycxrwb27k8si184n5bfxvnjpjx5"; + sha256 = "0qp8xqmlafib4hispjgl1friln0w3s05mi20sjfzaxnl6jkvv5q5"; }; configureFlags = [ diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix index 6d10cbb8c21f..e6636415b5ef 100644 --- a/pkgs/applications/misc/merkaartor/default.nix +++ b/pkgs/applications/misc/merkaartor/default.nix @@ -1,17 +1,17 @@ -{stdenv, fetchurl, qt4, boost}: +{stdenv, fetchurl, qt4, boost, proj, gdal}: stdenv.mkDerivation rec { - name = "merkaartor-0.17.2"; + name = "merkaartor-0.18.1"; src = fetchurl { - url = "http://merkaartor.be/attachments/download/253/merkaartor-0.17.2.tar.bz2"; - sha256 = "0akhp9czzn39132mgj9h38nlh4l9ibzn3vh93bfs685zxyn4yps2"; + url = "http://merkaartor.be/attachments/download/301/merkaartor-0.18.1.tar.bz2"; + sha256 = "17qk45pmlxqigla1915dvn9pp91y85d2bkcaap4g3m8mk1crcsix"; }; configurePhase = '' qmake -makefile PREFIX=$out ''; - buildInputs = [ qt4 boost ]; + buildInputs = [ qt4 boost proj gdal ]; meta = { description = "An openstreetmap editor"; diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index 17b86910de07..ef7571f5d14f 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -8,6 +8,13 @@ stdenv.mkDerivation rec { sha256 = "0y247nka5gkr1ajn47jrlp5rcnf6h4ff7dfsprma3h4wxqdv7a5b"; }; + patches = [(fetchurl { + name = "CVE-2014-2013.patch"; + url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;" + + "h=60dabde18d7fe12b19da8b509bdfee9cc886aafc"; + sha256 = "1walj3wir9x50i6lph33bx14c8593r9xrn08gkd3v7r6d15lmjps"; + })]; + buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ]; enableParallelBuilding = true; @@ -32,6 +39,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://mupdf.com/; + repositories.git = git://git.ghostscript.com/mupdf.git; description = "Lightweight PDF viewer and toolkit written in portable C"; license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [ viric ]; diff --git a/pkgs/applications/misc/nc-indicators/default.nix b/pkgs/applications/misc/nc-indicators/default.nix new file mode 100644 index 000000000000..a33cfbdf159a --- /dev/null +++ b/pkgs/applications/misc/nc-indicators/default.nix @@ -0,0 +1,16 @@ +{ cabal, attoparsec, gtk, hflags, lens, pipes, stm }: + +cabal.mkDerivation (self: { + pname = "nc-indicators"; + version = "0.1"; + sha256 = "19amwfcbwfxcj0gr7w0vgxl427l43q3l2s3n3zsxhqwkfblxmfy5"; + isLibrary = false; + isExecutable = true; + buildDepends = [ attoparsec gtk hflags lens pipes stm ]; + meta = { + homepage = "https://github.com/nilcons/nc-indicators/issues"; + description = "CPU load and memory usage indicators for i3bar"; + license = self.stdenv.lib.licenses.asl20; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 92cd0de8b312..3e972f672cc2 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { "--without-powerman" # Until we have it ... "--without-cgi" "--without-hal" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udev-dir=$(out)/etc/udev" ]; diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix new file mode 100644 index 000000000000..f71800979619 --- /dev/null +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }: + +stdenv.mkDerivation { + name = "pcmanfm-1.2.0"; + src = fetchurl { + url = "mirror://sourceforge/pcmanfm/pcmanfm-1.2.0.tar.xz"; + sha256 = "1cmskj7dpjgrrn89z7cc1h1nsmd6qq3bakf207ldrhrxxv3fxl2j"; + }; + + buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ]; + + meta = with stdenv.lib; { + homepage = "http://blog.lxde.org/?cat=28/"; + license = licenses.gpl2Plus; + description = "File manager with GTK+ interface"; + maintainers = [ maintainers.ttuegel ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix new file mode 100644 index 000000000000..dc258d653280 --- /dev/null +++ b/pkgs/applications/misc/printrun/default.nix @@ -0,0 +1,36 @@ +{ stdenv, python27Packages, fetchgit }: +let + py = python27Packages; +in +py.buildPythonPackage rec { + name = "printrun"; + + src = fetchgit { + url = "https://github.com/kliment/Printrun"; + rev = "0a7f2335d0c02c3cc283200867b41f8b337b1387"; + sha256 = "1zvh5ih89isv51sraljm29z9k00srrdnklwkyp27ymxzlbcwq6gv"; + }; + + propagatedBuildInputs = [ py.wxPython py.pyserial py.dbus py.psutil ]; + + doCheck = false; + + postPatch = '' + sed -i -r "s|/usr(/local)?/share/|$out/share/|g" printrun/utils.py + sed -i "s|distutils.core|setuptools|" setup.py + sed -i "s|distutils.command.install |setuptools.command.install |" setup.py + ''; + + postInstall = '' + for f in $out/share/applications/*.desktop; do + sed -i -e "s|/usr/|$out/|g" "$f" + done + ''; + + meta = with stdenv.lib; { + description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software"; + homepage = https://github.com/kliment/Printrun; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix index 0d61d3d74cfb..d4ffe2a4afd7 100644 --- a/pkgs/applications/misc/pstree/default.nix +++ b/pkgs/applications/misc/pstree/default.nix @@ -16,5 +16,6 @@ stdenv.mkDerivation rec { meta = { description = "Show the set of running processes as a tree"; license = "GPL"; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index ae983aedc679..88d6e7a7cf94 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation rec { license = "GPLv3+"; homepage = "http://jonls.dk/redshift"; platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix new file mode 100644 index 000000000000..e6e762493883 --- /dev/null +++ b/pkgs/applications/misc/rtl-sdr/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, cmake, pkgconfig, libusb1 }: + +stdenv.mkDerivation rec { + name = "rtl-sdr-${version}"; + version = "0.5.3"; + + src = fetchgit { + url = "git://git.osmocom.org/rtl-sdr.git"; + rev = "refs/tags/v${version}"; + sha256 = "00r5d08r12zzkd0xggd7l7p4r2278rzdhqdaihwjlajmr9qd3hs1"; + }; + + buildInputs = [ cmake pkgconfig libusb1 ]; + + # Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to + # /etc/udev/rules.d/, and there is no option to install elsewhere. So install + # rules manually. + postInstall = '' + mkdir -p "$out/etc/udev/rules.d/" + cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules" + ''; + + meta = with stdenv.lib; { + description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; + homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index 640ace40277d..2e3ef9f0d10e 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation (rec { outputs = [ "out" "terminfo" ]; + patches = [ ./rxvt-unicode-9.06-font-width.patch ]; + preConfigure = '' mkdir -p $terminfo/share/terminfo @@ -41,5 +43,6 @@ stdenv.mkDerivation (rec { meta = { description = "A clone of the well-known terminal emulator rxvt"; homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; + maintainers = stdenv.lib.maintainers.mornfall; }; }) diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch new file mode 100644 index 000000000000..636083218fa5 --- /dev/null +++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-9.06-font-width.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } \ No newline at end of file diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix index 6d52f63ff6b4..7dbe723d9eb2 100644 --- a/pkgs/applications/misc/spacefm/default.nix +++ b/pkgs/applications/misc/spacefm/default.nix @@ -3,21 +3,21 @@ }: let - version = "0.9.2"; + version = "0.9.4"; in stdenv.mkDerivation rec { name = "spacefm-${version}"; src = fetchurl { url = "https://github.com/IgnorantGuru/spacefm/blob/pkg/${version}/${name}.tar.xz?raw=true"; - sha256 = "3767137d74aa78597ffb42a6121784e91a4276efcd5d718b3793b9790f82268c"; + sha256 = "0marwa031jk24q8hy90dr7yw6rv5hn1shar404zpb1k57v4nr23m"; }; buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/spacefm" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index 41575ce35a69..fda89f1cd3dd 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, writeText, libX11, ncurses, libXext, libXft, fontconfig +{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig , conf? null}: with stdenv.lib; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; - buildInputs = [ libX11 ncurses libXext libXft fontconfig ]; + buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ]; NIX_LDFLAGS = "-lfontconfig"; diff --git a/pkgs/applications/misc/surf/default.nix b/pkgs/applications/misc/surf/default.nix index 42792ba8f91d..651cfcca4067 100644 --- a/pkgs/applications/misc/surf/default.nix +++ b/pkgs/applications/misc/surf/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "01b8hq8z2wd7ssym5bypx2b15mrs1lhgkrcgxf700kswxvxcrhgx"; }; - buildInputs = [ gtk makeWrapper webkit pkgconfig glib libsoup ]; + buildInputs = [ gtk makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ]; # Allow users set their own list of patches inherit patches; @@ -21,9 +21,12 @@ stdenv.mkDerivation rec { preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ]; installPhase = '' make PREFIX=/ DESTDIR=$out install + ''; + + preFixup = '' wrapProgram "$out/bin/surf" \ --prefix GIO_EXTRA_MODULES : ${glib_networking}/lib/gio/modules \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/misc/synergy/cryptopp.patch b/pkgs/applications/misc/synergy/cryptopp.patch index d0aebb872610..1c296423acd6 100644 --- a/pkgs/applications/misc/synergy/cryptopp.patch +++ b/pkgs/applications/misc/synergy/cryptopp.patch @@ -1,32 +1,30 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3b61fc0..2206646 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -133,6 +133,9 @@ if (UNIX) +diff -urN synergy-1.4.17-Source/CMakeLists.txt synergy-1.4.17-Source-fix/CMakeLists.txt +--- synergy-1.4.17-Source/CMakeLists.txt 2014-03-14 21:34:19.000000000 +0100 ++++ synergy-1.4.17-Source-fix/CMakeLists.txt 2014-04-11 13:37:18.839338710 +0200 +@@ -145,6 +145,9 @@ check_type_size(long SIZEOF_LONG) check_type_size(short SIZEOF_SHORT) -+ # let's just assume cryptopp exists (provided by the Nix expression) -+ list(APPEND libs cryptopp) ++ # let's just assume cryptopp exists (provided by the Nix expression) ++ list(APPEND libs cryptopp) + # pthread is used on both Linux and Mac check_library_exists("pthread" pthread_create "" HAVE_PTHREAD) if (HAVE_PTHREAD) -@@ -303,7 +306,6 @@ if (VNC_SUPPORT) +@@ -317,7 +320,6 @@ endif() add_subdirectory(src) --add_subdirectory(tools) +-add_subdirectory(ext) if (WIN32) - # add /analyze in order to unconver potential bugs in the source code -diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h -index 9b7e8ad..0d659ac 100644 ---- a/src/lib/io/CCryptoMode.h -+++ b/src/lib/io/CCryptoMode.h -@@ -17,9 +17,9 @@ - - #pragma once + # TODO: consider using /analyze to uncover potential bugs in the source code. +diff -urN synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h +--- synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h 2014-02-28 13:36:45.000000000 +0100 ++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h 2014-04-11 13:36:01.111985556 +0200 +@@ -25,6 +25,6 @@ + # pragma GCC system_header + #endif -#include -#include @@ -34,21 +32,14 @@ index 9b7e8ad..0d659ac 100644 +#include +#include +#include - #include "ECryptoMode.h" - #include "CString.h" +diff -urN synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h +--- synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h 2014-02-28 13:36:45.000000000 +0100 ++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h 2014-04-11 13:36:07.173013005 +0200 +@@ -25,5 +25,5 @@ + # pragma GCC system_header + #endif -diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h -index 104b1f6..09c4dc4 100644 ---- a/src/lib/io/CCryptoStream.h -+++ b/src/lib/io/CCryptoStream.h -@@ -20,8 +20,8 @@ - #include "BasicTypes.h" - #include "CStreamFilter.h" - #include "CCryptoMode.h" -#include -#include +#include +#include - - class CCryptoOptions; - diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index c01d67943e57..834b514148b6 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,29 +1,31 @@ -{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput -, cryptopp ? null, unzip ? null }: +{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput, curl +, cryptopp ? null, unzip }: assert stdenv.isLinux -> cryptopp != null; -assert !stdenv.isLinux -> unzip != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.4.15"; + name = "synergy-1.4.17"; src = fetchurl { - url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; - sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4"; + url = "http://fossfiles.com/synergy/${name}-r2055-Source.tar.gz"; + sha256 = "1mwaapvq9vsm0rdpq99fyzcw6wbp83rg6cylcqcgjjd21c6y9iwm"; }; patches = optional stdenv.isLinux ./cryptopp.patch; - postPatch = if stdenv.isLinux then '' + postPatch = (if stdenv.isLinux then '' sed -i -e '/HAVE_X11_EXTENSIONS_XRANDR_H/c \ set(HAVE_X11_EXTENSIONS_XRANDR_H true)' CMakeLists.txt '' else '' - ${unzip}/bin/unzip -d tools/cryptopp562 tools/cryptopp562.zip + ${unzip}/bin/unzip -d ext/cryptopp562 ext/cryptopp562.zip + '') + '' + ${unzip}/bin/unzip -d ext/gmock-1.6.0 ext/gmock-1.6.0.zip + ${unzip}/bin/unzip -d ext/gtest-1.6.0 ext/gtest-1.6.0.zip ''; - buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput ] + buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput curl ] ++ optional stdenv.isLinux cryptopp; # At this moment make install doesn't work for synergy diff --git a/pkgs/applications/misc/taffybar/default.nix b/pkgs/applications/misc/taffybar/default.nix new file mode 100644 index 000000000000..a92e7e32f048 --- /dev/null +++ b/pkgs/applications/misc/taffybar/default.nix @@ -0,0 +1,25 @@ +{ cabal, cairo, dbus, dyre, filepath, gtk, gtkTraymanager +, HStringTemplate, HTTP, mtl, network, parsec, split, stm, text +, time, transformers, utf8String, X11, xdgBasedir, xmonad +, xmonadContrib +}: + +cabal.mkDerivation (self: { + pname = "taffybar"; + version = "0.3.0"; + sha256 = "02vpfbwfprca997ykk746ih7id0ls3i5pnb33gj3nrfgc59fkz7v"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + cairo dbus dyre filepath gtk gtkTraymanager HStringTemplate HTTP + mtl network parsec split stm text time transformers utf8String X11 + xdgBasedir xmonad xmonadContrib + ]; + pkgconfigDepends = [ gtk ]; + meta = { + homepage = "http://github.com/travitch/taffybar"; + description = "A desktop bar similar to xmobar, but with more GUI"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix new file mode 100644 index 000000000000..c337cd329c92 --- /dev/null +++ b/pkgs/applications/misc/terminator/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, python, pygtk, notify, keybinder, vte, gettext, intltool +, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "terminator-${version}"; + version = "0.97"; + + src = fetchurl { + url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz"; + sha256 = "1xykpx10g2zssx0ss6351ca6vmmma7zwxxhjz0fg28ps4dq88cci"; + }; + + buildInputs = [ + python pygtk notify keybinder vte gettext intltool makeWrapper + ]; + + installPhase = '' + python setup.py --without-icon-cache install --prefix="$out" + + for file in "$out"/bin/*; do + wrapProgram "$file" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" + done + ''; + + meta = with stdenv.lib; { + description = "Terminal emulator with support for tiling and tabs"; + longDescription = '' + The goal of this project is to produce a useful tool for arranging + terminals. It is inspired by programs such as gnome-multi-term, + quadkonsole, etc. in that the main focus is arranging terminals in grids + (tabs is the most common default method, which Terminator also supports). + ''; + homepage = http://gnometerminator.blogspot.no/p/introduction.html; + license = licenses.gpl2; + maintainers = [ maintainers.bjornfor ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix new file mode 100644 index 000000000000..65c2ccb5ff0b --- /dev/null +++ b/pkgs/applications/misc/twmn/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv, fetchgit, qt4, pkgconfig, boost, dbus }: + +stdenv.mkDerivation rec { + rev = "9f52882688ba03d7aaab2e3fd83cb05cfbf1a374"; + name = "twmn-${rev}"; + + src = fetchgit { + inherit rev; + url = "https://github.com/sboli/twmn.git"; + sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3"; + }; + + buildInputs = [ qt4 pkgconfig boost ]; + propagatedBuildInputs = [ dbus ]; + + configurePhase = "qmake"; + + installPhase = '' + mkdir -p "$out/bin" + cp bin/* "$out/bin" + ''; + + meta = { + description = "A notification system for tiling window managers"; + homepage = "https://github.com/sboli/twmn"; + platforms = with stdenv.lib.platforms; linux; + maintainers = [ stdenv.lib.maintainers.matejc ]; + }; +} diff --git a/pkgs/applications/misc/xmobar/add-freeration-variable.patch b/pkgs/applications/misc/xmobar/add-freeration-variable.patch deleted file mode 100644 index a8c10e1a30d6..000000000000 --- a/pkgs/applications/misc/xmobar/add-freeration-variable.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/readme.md b/readme.md -index f4f07e8..de679c7 100644 ---- a/readme.md -+++ b/readme.md -@@ -645,7 +645,7 @@ something like: - - Args: default monitor arguments - - Variables that can be used with the `-t`/`--template` argument: - `total`, `free`, `buffer`, `cache`, `rest`, `used`, -- `usedratio`, `usedbar`, `freebar` -+ `usedratio`, `usedbar`, `freeratio`, `freebar` - - Default template: `Mem: % (M)` - - ### `Swap Args RefreshRate` -diff --git a/src/Plugins/Monitors/Mem.hs b/src/Plugins/Monitors/Mem.hs -index 5c55ee2..3cf46c7 100644 ---- a/src/Plugins/Monitors/Mem.hs -+++ b/src/Plugins/Monitors/Mem.hs -@@ -19,8 +19,8 @@ import Plugins.Monitors.Common - memConfig :: IO MConfig - memConfig = mkMConfig - "Mem: % (M)" -- template -- ["usedbar", "freebar", "usedratio", "total", -- "free", "buffer", "cache", "rest", "used"] -- available replacements -+ ["usedbar", "freebar", "usedratio", "freeratio", "total", -+ "free", "buffer", "cache", "rest", "used"] -- available replacements - - fileMEM :: IO String - fileMEM = readFile "/proc/meminfo" -@@ -33,7 +33,8 @@ parseMEM = - rest = free + buffer + cache - used = total - rest - usedratio = used / total -- return [usedratio, total, free, buffer, cache, rest, used] -+ freeratio = free / total -+ return [usedratio, freeratio, total, free, buffer, cache, rest, used, freeratio] - - totalMem :: IO Float - totalMem = fmap ((*1024) . (!!1)) parseMEM -@@ -42,15 +43,16 @@ usedMem :: IO Float - usedMem = fmap ((*1024) . (!!6)) parseMEM - - formatMem :: [Float] -> Monitor [String] --formatMem (r:xs) = -+formatMem (r:fr:xs) = - do let f = showDigits 0 - rr = 100 * r - ub <- showPercentBar rr r - fb <- showPercentBar (100 - rr) (1 - r) - rs <- showPercentWithColors r -+ fs <- showPercentWithColors fr - s <- mapM (showWithColors f) xs -- return (ub:fb:rs:s) --formatMem _ = return $ replicate 9 "N/A" -+ return (ub:fb:rs:fs:s) -+formatMem _ = return $ replicate 10 "N/A" - - runMem :: [String] -> Monitor String - runMem _ = diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix index 7eacaf15b625..a7aeed339e24 100644 --- a/pkgs/applications/misc/xmobar/default.nix +++ b/pkgs/applications/misc/xmobar/default.nix @@ -1,15 +1,16 @@ -{ cabal, alsaCore, alsaMixer, filepath, libXrandr, mtl, parsec -, regexCompat, stm, time, utf8String, wirelesstools, X11, X11Xft +{ cabal, alsaCore, alsaMixer, filepath, HTTP, libXrandr, mtl +, parsec, regexCompat, stm, time, utf8String, wirelesstools, X11 +, X11Xft }: cabal.mkDerivation (self: { pname = "xmobar"; - version = "0.19"; - sha256 = "1lwbww9vpqscip16lqiax2qvfyksxms5xx4n0s61mzw7v61hyxq2"; + version = "0.20.1"; + sha256 = "16jfgn6ciqxrwj6qjhbcpms7mzlbxfaxyxfxp64xvnw626xlpjvk"; isLibrary = false; isExecutable = true; buildDepends = [ - alsaCore alsaMixer filepath mtl parsec regexCompat stm time + alsaCore alsaMixer filepath HTTP mtl parsec regexCompat stm time utf8String X11 X11Xft ]; extraLibraries = [ libXrandr wirelesstools ]; diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index 1d050182da33..ac2f6dd7756f 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }: stdenv.mkDerivation rec { - name = "xterm-300"; + name = "xterm-303"; src = fetchurl { url = "ftp://invisible-island.net/xterm/${name}.tgz"; - sha256 = "1k8p7q4d1gpk6zikb8hys8b30yq2v001nlp3r9g40my31ij9al31"; + sha256 = "0n7hay16aam9kfn642ri0wj5yzilbjm3l8znxc2p5dx9pn3rkwla"; }; buildInputs = diff --git a/pkgs/applications/misc/ykpers/default.nix b/pkgs/applications/misc/ykpers/default.nix new file mode 100644 index 000000000000..e7bfa8ded50e --- /dev/null +++ b/pkgs/applications/misc/ykpers/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, pkgconfig, libusb1, libyubikey}: + +stdenv.mkDerivation rec +{ + version = "1.15.0"; + name = "ykpers-${version}"; + + src = fetchurl + { + url = "http://opensource.yubico.com/yubikey-personalization/releases/${name}.tar.gz"; + sha256 = "1n4s8kk31q5zh2rm7sj9qmv86yl8ibimdnpvk9ny391a88qlypyd"; + }; + + buildInputs = [pkgconfig libusb1 libyubikey]; + + meta = + { + homepage = "http://opensource.yubico.com/yubikey-personalization/"; + description = "YubiKey Personalization cross-platform library and tool"; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix index 00e1e6cd28a1..933882c940bb 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper }: +{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper, zathura_icon }: stdenv.mkDerivation rec { - version = "0.2.6"; + version = "0.2.7"; name = "zathura-core-${version}"; src = fetchurl { url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz"; - sha1 = "d84878388969d523027a1661f49fd29638bd460b"; + sha256 = "ef43be7705612937d095bfbe719a03503bf7e45493ea9409cb43a45cf96f0daf"; }; buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ]; @@ -21,7 +21,12 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ]; postInstall = '' - wrapProgram "$out/bin/zathura" --prefix PATH ":" "${file}/bin" + wrapProgram "$out/bin/zathura" \ + --prefix PATH ":" "${file}/bin" \ + --prefix XDG_CONFIG_DIRS ":" "$out/etc" + + mkdir -pv $out/etc + echo "set window-icon ${zathura_icon}" > $out/etc/zathurarc ''; meta = { diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index 74288657fb35..f943bff7bf0c 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -3,8 +3,11 @@ rec { inherit (pkgs) stdenv; + icon = ./icon.xpm; + zathura_core = callPackage ./core { gtk = pkgs.gtk3; + zathura_icon = icon; }; zathura_pdf_poppler = callPackage ./pdf-poppler { }; @@ -19,7 +22,7 @@ rec { zathuraWrapper = stdenv.mkDerivation { - inherit zathura_core; + inherit zathura_core icon; name = "zathura-${zathura_core.version}"; @@ -29,10 +32,10 @@ rec { zathura_ps ]; - icon = ./icon.xpm; - builder = ./builder.sh; + preferLocalBuild = true; + meta = { homepage = http://pwmt.org/projects/zathura/; description = "A highly customizable and functional PDF viewer"; diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix index 71c418f168c4..ce4894e6c0f1 100644 --- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix +++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }: stdenv.mkDerivation rec { - version = "0.2.4"; + version = "0.2.5"; name = "zathura-pdf-poppler-${version}"; src = fetchurl { url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz"; - sha256 = "1x1n21naixb87g1knznjfjfibazzwbn1cv7d42kxgwlnf1p1wbzm"; + sha256 = "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0"; }; buildInputs = [ pkgconfig poppler gettext zathura_core girara ]; diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix index 895ebd7911be..d0611d5b6024 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/default.nix @@ -1,47 +1,42 @@ { stdenv, fetchurl, patchelf }: -# this package contains the daemon version of bittorrent sync -# it's unfortunately closed source. - let - # TODO: arm, ppc, osx - arch = if stdenv.system == "x86_64-linux" then "x64" else if stdenv.system == "i686-linux" then "i386" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" - else if stdenv.system == "i686-linux" then "ld-linux.so.2" + + sha256 = if stdenv.system == "x86_64-linux" then "16jdnip51fsnc2g0vib2zb4f06z5p1myzv9brrp42lq63l4skylj" + else if stdenv.system == "i686-linux" then "15bspn9frm2n7bzj7pdgbpd7gjjcxp0yx2sksa4ly6wmlv9lvf1j" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - version = "1.2.82"; - sha256 = if stdenv.system == "x86_64-linux" then "0cqrscav57xwz7rag6wy06xw6z7ca97xailprgg6jdjv4pnc91ra" - else if stdenv.system == "i686-linux" then "1b9rnfk0wkhj1zybvfqwgd9dcqnxwdnp7m0vf6lhrgi75cydj7is" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; +in +stdenv.mkDerivation rec { + name = "btsync-${version}"; + version = "1.3.87"; -in stdenv.mkDerivation { - name = "btsync-bin-${version}"; - src = fetchurl { - url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; + src = fetchurl { + url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; inherit sha256; }; - sourceRoot = "."; + dontStrip = true; # Don't strip, otherwise patching the rpaths breaks + sourceRoot = "."; + buildInputs = [ patchelf ]; installPhase = '' ensureDir "$out/bin/" cp -r "btsync" "$out/bin/" - patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \ - "$out/bin/btsync" + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${libPath} "$out/bin/btsync" ''; - buildInputs = [ patchelf ]; - meta = { - homepage = "http://labs.bittorrent.com/experiments/sync.html"; description = "Automatically sync files via secure, distributed technology"; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.iElectric ]; + homepage = "http://www.bittorrent.com/sync"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ]; }; } diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 87cdf673041a..213e75ee6efa 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -8,7 +8,7 @@ , libusb1, libexif, pciutils , python, pythonPackages, perl, pkgconfig -, nspr, udev, krb5, file +, nspr, udev, krb5 , utillinux, alsaLib , gcc, bison, gperf , glib, gtk, dbus_glib @@ -40,6 +40,8 @@ let inherit url sha256; }; + buildInputs = [ python ]; # cannot patch shebangs otherwise + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; opensslPatches = optional useOpenSSL openssl.patches; @@ -49,15 +51,19 @@ let patches = singleton ./sandbox_userns_31.patch; postPatch = '' - sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi - '' + (if versionOlder version "32.0.0.0" then '' - sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi - '' else '' + sed -i -r \ + -e 's/-f(stack-protector)(-all)?/-fno-\1/' \ + -e 's|/bin/echo|echo|' \ + -e "/python_arch/s/: *'[^']*'/: '""'/" \ + build/common.gypi chrome/chrome_tests.gypi + sed -i '/not RunGN/,+1d' build/gyp_chromium sed -i -e 's|/usr/bin/gcc|gcc|' \ third_party/WebKit/Source/build/scripts/scripts.gypi \ third_party/WebKit/Source/build/scripts/preprocessor.pm - '') + optionalString useOpenSSL '' + '' + optionalString useOpenSSL '' cat $opensslPatches | patch -p1 -d third_party/openssl/openssl + '' + optionalString (!versionOlder version "34.0.0.0") '' + sed -i '/import.*depot/d' build/gyp_chromium ''; outputs = [ "out" "sandbox" "bundled" "main" ]; @@ -160,8 +166,7 @@ in stdenv.mkDerivation rec { nspr udev (if useOpenSSL then openssl else nss) utillinux alsaLib - gcc bison gperf - krb5 file + gcc bison gperf krb5 glib gtk dbus_glib libXScrnSaver libXcursor libXtst mesa pciutils protobuf speechd libXdamage @@ -218,8 +223,10 @@ in stdenv.mkDerivation rec { ffmpeg_branding = "Chrome"; } // optionalAttrs (stdenv.system == "x86_64-linux") { target_arch = "x64"; + python_arch = "x86-64"; } // optionalAttrs (stdenv.system == "i686-linux") { target_arch = "ia32"; + python_arch = "ia32"; }); configurePhase = '' @@ -241,6 +248,9 @@ in stdenv.mkDerivation rec { installPhase = '' ensureDir "${libExecPath}" cp -v "${buildPath}/"*.pak "${libExecPath}/" + ${optionalString (!versionOlder src.version "34.0.0.0") '' + cp -v "${buildPath}/icudtl.dat" "${libExecPath}/" + ''} cp -vR "${buildPath}/locales" "${buildPath}/resources" "${libExecPath}/" cp -v ${buildPath}/libffmpegsumo.so "${libExecPath}/" @@ -270,7 +280,7 @@ in stdenv.mkDerivation rec { meta = { description = "An open source web browser from Google"; homepage = http://www.chromium.org/; - maintainers = with maintainers; [ goibhniu chaoflow aszlig ]; + maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ]; license = licenses.bsd3; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index b7a30ef63f7d..49b5e2b42215 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { dev = { - version = "33.0.1712.4"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1712.4.tar.xz"; - sha256 = "1c1m0y3nnz2lclqi21j6hgqmb46p1hv7c22zz9fn7dax7jkimydk"; + version = "35.0.1883.0"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-35.0.1883.0.tar.xz"; + sha256 = "0qbv6prxl18y5824pfd13ng9798g561gzb6nypwp502hqr45jvb6"; }; beta = { - version = "32.0.1700.19"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1700.19.tar.xz"; - sha256 = "0d0kgy160pyg472ka43gxk7n09pqhhs9nd93jyxrp9qsyllfc425"; + version = "34.0.1847.60"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.60.tar.xz"; + sha256 = "1na5d6z4a0wkabn7cj62vyiv3mmvcb6qdvrkyy6fj79h7gk2hb7k"; }; stable = { - version = "32.0.1700.77"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1700.77.tar.xz"; - sha256 = "1mwqa5k32d168swpw0bdcnhglxwcqdsx766fq0iz22h3hd4ccdwa"; + version = "34.0.1847.116"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.116.tar.xz"; + sha256 = "04cpfav5rqa117igvzmrw0045r2ljxg5fqb46qgqvkgff30pjrfx"; }; } diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix index fc84f7fcecc2..79402c31f8b6 100644 --- a/pkgs/applications/networking/browsers/conkeror/default.nix +++ b/pkgs/applications/networking/browsers/conkeror/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, unzip, xulrunner, makeWrapper }: stdenv.mkDerivation { - name = "conkeror-1.0pre-20131116-1"; + name = "conkeror-1.0pre-20140212"; src = fetchgit { url = git://repo.or.cz/conkeror.git; - rev = "refs/tags/debian-1.0--pre+git131116-1"; - sha256 = "6fe0f30487c5bb8f2183dc7c2e15cf29df7cc8b1950b5fc15c26510c74a1f7d3"; + rev = "07064d76d10e0978c6de535e21f4597d44560fbd"; + sha256 = "b03a7debee8583ff7a3f2d95474f60e956f0e24dbd1a8fd22412de1d6627f322"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix new file mode 100644 index 000000000000..0cf23f38b0f0 --- /dev/null +++ b/pkgs/applications/networking/browsers/dillo/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl +, fltk +, openssl +, libjpeg, libpng +, perl +, libXcursor, libXi, libXinerama +}: + +stdenv.mkDerivation rec { + version = "3.0.4"; + name = "dillo-${version}"; + + src = fetchurl { + url = "http://www.dillo.org/download/${name}.tar.bz2"; + sha256 = "0ffz481vgl7f12f575pmbagm8swgxgv9s9c0p8c7plhd04jsnazf"; + }; + + buildInputs = with stdenv.lib; + [ fltk openssl libjpeg libpng libXcursor libXi libXinerama ]; + + nativeBuildInputs = [ perl ]; + + configureFlags = "--enable-ssl"; + + meta = { + homepage = http://www.dillo.org/; + description = "A fast graphical web browser with a small footprint"; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index 0421a8a6c6a8..010dbd168a8d 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -2,25 +2,25 @@ m4, glib_networking, gsettings_desktop_schemas }: stdenv.mkDerivation { - name = "dwb-0.1"; + name = "dwb-2014-04-20"; src = fetchgit { url = "https://bitbucket.org/portix/dwb.git"; - rev = "84a8621787baded72e84afdd5cdda278cb81e007"; - sha256 = "5a32f3c21ad59b43935a16108244f84d260fafaea9b93d41e8de9ba9089ee7b0"; + rev = "117a6a8cdb84b30b0c084dee531b650664d09ba2"; + sha256 = "1k1nax3ij64b2hbn9paqj128yyzy41b61xd2m1ayq9y17k9als0b"; }; - buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; + buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkit gtk3 gnutls json_c m4 ]; # There are Xlib and gtk warnings therefore I have set Wno-error preBuild='' makeFlagsArray=(CPPFLAGS="-Wno-error" GTK=3 PREFIX=$out); ''; - postInstall='' + preFixup='' wrapProgram "$out/bin/dwb" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" wrapProgram "$out/bin/dwbem" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" ''; diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix index 142e5a65df6c..61db2656a409 100644 --- a/pkgs/applications/networking/browsers/elinks/default.nix +++ b/pkgs/applications/networking/browsers/elinks/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, perl, ncurses, x11, bzip2, zlib, openssl , spidermonkey, gpm -, enableGuile ? true, guile ? null +, enableGuile ? false, guile ? null # Incompatible licenses, LGPLv3 - GPLv2 , enablePython ? false, python ? null }: @@ -43,5 +43,6 @@ stdenv.mkDerivation rec { meta = { description = "Full-featured text-mode web browser"; homepage = http://elinks.or.cz; + license = "GPLv2"; }; } diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 27363482be09..b45fb4bbae75 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -17,9 +17,9 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null; rec { - firefoxVersion = "26.0"; + firefoxVersion = "27.0.1"; - xulVersion = "26.0"; # this attribute is used by other packages + xulVersion = "27.0.1"; # this attribute is used by other packages src = fetchurl { @@ -29,7 +29,7 @@ rec { # Fall back to this url for versions not available at releases.mozilla.org. "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2" ]; - sha1 = "f7c6642d6f62aea8d4eced48dd27aba0634edcd5"; + sha256 = "13qd53yf8dn9m03p4x5ml9h3mys60nba5nz82lcvaq7ycp1pl1bn"; }; commonConfigureFlags = @@ -82,7 +82,7 @@ rec { "--disable-javaxpcom" ] ++ commonConfigureFlags; - enableParallelBuilding = true; + #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282 preConfigure = '' @@ -116,6 +116,7 @@ rec { for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir" done + rm -f $out/bin/run-mozilla.sh ''; # */ @@ -162,13 +163,20 @@ rec { "SYSTEM_LIBXUL=1" ]; - # Hack to work around make's idea of -lbz2 dependency + # Because preConfigure runs configure from a subdirectory. + configureScript = "../configure"; + preConfigure = '' + # Hack to work around make's idea of -lbz2 dependency find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${ stdenv.lib.concatStringsSep ":" (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc])) }' ';' + + # Building directly in the main source directory is not allowed. + mkdir obj_dir + cd obj_dir ''; postInstall = @@ -187,7 +195,7 @@ rec { meta = { description = "Mozilla Firefox - the browser, reloaded"; homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = [ stdenv.lib.maintainers.eelco ]; + maintainers = with stdenv.lib.maintainers; [ eelco wizeman ]; }; passthru = { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index bf4c7f3e7d22..6a00dfcd8c19 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -2,8 +2,10 @@ , browserName, desktopName, nameSuffix, icon }: +let p = builtins.parseDrvName browser.name; in + stdenv.mkDerivation { - name = browser.name + "-with-plugins"; + name = "${p.name}-with-plugins-${p.version}"; desktopItem = makeDesktopItem { name = browserName; @@ -40,6 +42,8 @@ stdenv.mkDerivation { echo ${browser} > $out/nix-support/propagated-user-env-packages ''; + preferLocalBuild = true; + # Let each plugin tell us (through its `mozillaPlugin') attribute # where to find the plugin in its tree. plugins = map (x: x + x.mozillaPlugin) plugins; diff --git a/pkgs/applications/networking/browsers/icecat-3/default.nix b/pkgs/applications/networking/browsers/icecat-3/default.nix index 84269a290e9a..ef2c69422b62 100644 --- a/pkgs/applications/networking/browsers/icecat-3/default.nix +++ b/pkgs/applications/networking/browsers/icecat-3/default.nix @@ -105,7 +105,7 @@ stdenv.mkDerivation { ''; homepage = http://www.gnu.org/software/gnuzilla/; - licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ]; + license = [ "GPLv2+" "LGPLv2+" "MPLv1+" ]; maintainers = [ ]; platforms = stdenv.lib.platforms.gnu; diff --git a/pkgs/applications/networking/browsers/kwebkitpart/default.nix b/pkgs/applications/networking/browsers/kwebkitpart/default.nix index e9babf787bd1..5ced048fe649 100644 --- a/pkgs/applications/networking/browsers/kwebkitpart/default.nix +++ b/pkgs/applications/networking/browsers/kwebkitpart/default.nix @@ -1,12 +1,13 @@ { stdenv, fetchgit, kdelibs }: stdenv.mkDerivation rec { - name = "kwebkitpart-1.3.2"; + name = "kwebkitpart-${version}"; + version = "1.3.3"; src = fetchgit { url = git://anongit.kde.org/kwebkitpart; - rev = "292f32fda933b2ead5a61ff1ec457f839fad5c85"; - sha256 = "1b2jar9b1yb3gy9fnq8dn2n4z8lffb6pfrj9jc4rjzv5b3rwh1ak"; + rev = "refs/tags/v${version}"; + sha256 = "0kszffgg3zpf319lmzlmdba5gq8kdr5xwb69xwy4s2abc9nvwvbi"; }; buildInputs = [ kdelibs ]; diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix index 7efdf7ed015e..9b9d9ab6db17 100644 --- a/pkgs/applications/networking/browsers/links2/default.nix +++ b/pkgs/applications/networking/browsers/links2/default.nix @@ -8,12 +8,12 @@ }: stdenv.mkDerivation rec { - version = "2.5"; + version = "2.8"; name = "links2-${version}"; src = fetchurl { url = "${meta.homepage}/download/links-${version}.tar.bz2"; - sha256 = "1wlmj8s6bxgznh0pnawihyvhffzryciz3lkagcxhf7fp64zz5izm"; + sha256 = "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r"; }; buildInputs = diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index b2ca7c42e76c..d3135e0be8e3 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -3,8 +3,11 @@ , glib_networking, gsettings_desktop_schemas }: +let + version = "0.5.7"; +in stdenv.mkDerivation rec { - name = "midori-0.5.6"; + name = "midori-${version}"; meta = { description = "Lightweight WebKitGTK+ web browser"; @@ -15,8 +18,8 @@ stdenv.mkDerivation rec { }; src = fetchurl { - url = "${meta.homepage}/downloads/midori_0.5.6_all_.tar.bz2"; - sha256 = "0jpj8cw0dzamzylzslayamjhv0is0xd99dyaql4nyxrkk5fipgn5"; + url = "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2"; + sha256 = "0k8bppicgzm97g5x8ahvpw9wvg2f1mq093qp8biwr858m0mbnx98"; }; buildInputs = [ @@ -29,9 +32,9 @@ stdenv.mkDerivation rec { -DUSE_ZEITGEIST=OFF ''; - postInstall = '' + preFixup = '' wrapProgram $out/bin/midori \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index d4d95f7e5b99..a78ab7d27f72 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -35,6 +35,8 @@ }: let + # -> http://get.adobe.com/flashplayer/ + version = "11.2.202.350"; src = if stdenv.system == "x86_64-linux" then @@ -43,10 +45,9 @@ let # http://labs.adobe.com/technologies/flashplayer10/faq.html throw "no x86_64 debugging version available" else rec { - # -> http://labs.adobe.com/downloads/flashplayer10.html - version = "11.2.202.310"; + inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "03r9r7h3l4i15hw62k9il6pjzq122nldbgxr37b4y10xp08a9izj"; + sha256 = "0f5y05c0acvdzd7a7qi93kd17byazf9swm6gml5rph5bc25aw77l"; } else if stdenv.system == "i686-linux" then if debug then { @@ -55,9 +56,9 @@ let url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz; sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk"; } else rec { - version = "11.2.202.310"; + inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0qf09p92silp81pjfcg2vcfcfi1padizmb58q5iaarnapgkawlbh"; + sha256 = "0nsrj56xbpn8r4365zby8qbc38cl2anb5ky0h7jwyh7xyrs9xmml"; } else throw "Flash Player is not supported on this platform"; @@ -87,5 +88,7 @@ stdenv.mkDerivation { meta = { description = "Adobe Flash Player browser plugin"; homepage = http://www.adobe.com/products/flashplayer/; + maintainer = with stdenv.lib.maintainers; [ wizeman ]; + license = "unfree"; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index 66bd28424c0e..8cda5ad5762f 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = { description = "A browser plugin to manage Swedish BankID:s"; homepage = http://fribid.se; - licenses = [ "GPLv2" "MPLv1" ]; + license = [ "GPLv2" "MPLv1" ]; maintainers = [ stdenv.lib.maintainers.edwtjo ]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index 4f7d3feb8ad6..e1bc4e977f6a 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -45,20 +45,22 @@ in stdenv.mkDerivation rec { name = "google-talk-plugin-${version}"; - # Use the following to determine the current upstream version: - # curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | sed -nr 's/^Version: *([^ ]+)-1$/\1/p' - version = "4.2.1.0"; + + # You can get the upstream version and SHA-1 hash from the following URLs: + # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages + # http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages + version = "5.1.5.0"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb"; - sha256 = "1g7kpz2lzzz1gri5rd3isp7cfyls6gzwcw2kc8jgrgrixq9iixfd"; + sha1 = "fc830f4c7f5816f4578ec73e6d4aef059ad4a0b1"; } else if stdenv.system == "i686-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_i386.deb"; - sha256 = "1z0zbblzlky9nyifxmnl49v4zafpqp3l08b9v1486sinm35rf58r"; + sha1 = "9b7043c3585b3479ba11aabb7b8af755a61df963"; } else throw "Google Talk does not support your platform."; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix index 6ee1735f76c7..5b6b2176d47e 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix @@ -34,6 +34,6 @@ stdenv.mkDerivation rec { meta = { description = "A browser plugin that uses mplayer to play digital media from websites"; homepage = http://mplayerplug-in.sourceforge.net/; - licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ]; + license = [ "GPLv2+" "LGPLv2+" "MPLv1+" ]; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix index 7cb1abf31537..51511621dce6 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { buildInputs = [which pkgconfig file glib gtk2 gtk3 curl]; + preferLocalBuild = true; + meta = { description = ''A wrapper to run browser plugins out-of-process''; homepage = "http://nspluginwrapper.org/"; diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 4c6458d909fd..81b4f5c01d9a 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -1,45 +1,39 @@ -a : -let - fetchgit = a.fetchgit; +{ stdenv, fetchurl, pkgconfig, python, makeWrapper, pygtk +, webkit, glib_networking, gsettings_desktop_schemas +}: - buildInputs = with a; [ - libsoup pkgconfig webkit gtk makeWrapper - kbproto glib pango cairo gdk_pixbuf atk - python3 - ]; -in -rec { - src = fetchgit { - url = "https://github.com/Dieterbe/uzbl.git"; - rev = "refs/tags/2012.05.14"; - sha256 = "1crvikb0qqsx5qb003i4w7ywh72psl37gjslrj5hx2fd2f215l0l"; - }; +stdenv.mkDerivation rec { + name = "uzbl-20120514"; - name = "uzbl-git"; - - inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["addInputs" "setVars" "doMakeInstall" "doWrap"]; - - setVars = a.noDepEntry ('' - export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11" - ''); - - doWrap = a.makeManyWrappers "$out/bin/uzbl-core" - '' - --prefix GST_PLUGIN_PATH : ${a.webkit.gstreamer}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_base}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_good}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_ffmpeg}/lib/gstreamer-* \ - --prefix GIO_EXTRA_MODULES : ${a.glib_networking}/lib/gio/modules - ''; - - installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\""; - - meta = { + meta = with stdenv.lib; { description = "Tiny externally controllable webkit browser"; - maintainers = [a.lib.maintainers.raskin]; + homepage = "http://uzbl.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; }; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz"; + sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn"; + }; + + preConfigure = '' + makeFlags="$makeFlags PREFIX=$out" + makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out" + ''; + + preFixup = '' + for f in $out/bin/*; do + wrapProgram $f \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" + done + ''; + + nativeBuildInputs = [ pkgconfig python makeWrapper ]; + + buildInputs = [ webkit pygtk ]; } diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix new file mode 100644 index 000000000000..6cb52be775c6 --- /dev/null +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk, glib_networking +, gsettings_desktop_schemas, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "vimb-${version}"; + version = "2.2"; + + src = fetchurl { + url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz"; + sha256 = "18gig6rcxv0i4a8mz3jv29zpj0323zw45jsg1ycx61a08rzag60m"; + }; + + # Nixos default ca bundle + patchPhase = '' + sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, src/default.h + ''; + + buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + preFixup = '' + wrapProgram "$out/bin/vimb" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = { + description = "A Vim-like browser"; + longDescription = '' + A fast and lightweight vim like web browser based on the webkit web + browser engine and the GTK toolkit. Vimb is modal like the great vim + editor and also easily configurable during runtime. Vimb is mostly + keyboard driven and does not detract you from your daily work. + ''; + homepage = "http://fanglingsu.github.io/vimb/"; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index ee8e4b8434a4..8e1e00795d24 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -2,25 +2,28 @@ pkgconfig, webkit, gsettings_desktop_schemas }: stdenv.mkDerivation rec { - version = "1.2.1"; + version = "1.4.2"; name = "vimprobable2-${version}"; src = fetchurl { url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2"; - sha256 = "19zx1k3s2gnhzzd2wpyqsk151w9p52ifl64xaz9a6qkgvrxlli8p"; + sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr"; }; # Nixos default ca bundle patchPhase = '' - sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ca-bundle.crt, config.h + sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, config.h ''; - buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit ]; + buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ]; installPhase = '' make PREFIX=/ DESTDIR=$out install + ''; + + preFixup = '' wrapProgram "$out/bin/vimprobable2" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index 5953111fad59..5f046f7b7328 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -39,8 +39,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; - meta = { + meta = with stdenv.lib; { homepage = http://w3m.sourceforge.net/; description = "A text-mode web browser"; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index ef2f16e31936..f6e86c6289cf 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "hadoop-2.0.2-alpha"; + name = "hadoop-2.2.0"; src = fetchurl { url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz"; - sha256 = "1r7ailmqhny3pl5nb8bcblnhckszy6hb9n58kwa3s4b8qfk87gkb"; + sha256 = "0r0kx8arsrvmcfy0693hpv4cz3i0razvk1xa3yhlf3ybb80a8106"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix new file mode 100644 index 000000000000..61f2d0c6e202 --- /dev/null +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -0,0 +1,127 @@ +{ stdenv, fetchurl, jre, bash, simpleBuildTool, python27Packages }: + +stdenv.mkDerivation rec { + name = "spark-${version}"; + version = "0.9.0"; + + src = fetchurl { + url = "http://d3kbcqa49mib13.cloudfront.net/${name}-incubating-bin-cdh4.tgz"; + sha256 = "0dgirq2ws25accijijanqij6d1mwxkrcqkmq1xsslfpz26svs1w1"; + }; + + unpackPhase = ''tar zxf $src''; + + untarDir = "spark-${version}-incubating-bin-cdh4"; + installPhase = '' + set -x + mkdir -p $out/lib $out/bin + mv ${untarDir} $out/lib + + cat > $out/bin/spark-class < []" >&2 + exit 1 + fi + + export SPARK_MEM=\''${SPARK_MEM:-1024m} + + JAVA_OPTS="" + JAVA_OPTS="\$JAVA_OPTS -Djava.library.path=\"\$SPARK_LIBRARY_PATH\"" + JAVA_OPTS="\$JAVA_OPTS -Xms\$SPARK_MEM -Xmx\$SPARK_MEM" + export JAVA_OPTS + + CLASSPATH=\`$out/lib/${untarDir}/bin/compute-classpath.sh\` + export CLASSPATH + + exec ${jre}/bin/java -cp "\$CLASSPATH" \$JAVA_OPTS "\$@" + EOF + chmod +x $out/bin/spark-class + + cat > $out/bin/spark-shell </dev/null) + if [[ ! \$? ]]; then + saved_stty="" + fi + + $out/bin/spark-class \$OPTIONS org.apache.spark.repl.Main "\$@" + + exit_status=\$? + onExit + EOF + chmod +x $out/bin/spark-shell + + cat > $out/bin/pyspark < $out/bin/spark-upload-scala < $out/bin/spark-upload-python <. patches = [ ./find-ca-bundle.patch ]; postInstall = '' @@ -19,12 +20,11 @@ stdenv.mkDerivation { chmod 555 "$out/bin/snipe" ''; - meta = { + meta = with stdenv.lib; { description = "Simple, lightweight tool for sniping eBay auctions"; - homepage = "http://esnipe.rsourceforge.net"; - license = "GPLv2"; - - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.simons ]; + homepage = http://esnipe.rsourceforge.net; + license = licenses.gpl2; + maintainers = with maintainers; [ lovek323 simons ]; + platforms = platforms.all; }; } diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix index 029a6f8e6339..e5f18f72cedc 100644 --- a/pkgs/applications/networking/feedreaders/newsbeuter/default.nix +++ b/pkgs/applications/networking/feedreaders/newsbeuter/default.nix @@ -1,23 +1,24 @@ -{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json_c, ncurses +{ stdenv, fetchurl, sqlite, curl, pkgconfig, libxml2, stfl, json-c-0-11, ncurses , gettext, libiconvOrEmpty, makeWrapper, perl }: stdenv.mkDerivation rec { - name = "newsbeuter-2.7"; + name = "newsbeuter-2.8"; src = fetchurl { url = "http://www.newsbeuter.org/downloads/${name}.tar.gz"; - sha256 = "0flhzzlbdirjmrq738gmcxqqnifg3kb7plcwqcxshpizmjkhswp6"; + sha256 = "013qi8yghpms2qq1b3xbrlmfgpj0ybgk0qhj245ni4kpxila0wn8"; + }; buildInputs # use gettext instead of libintlOrEmpty so we have access to the msgfmt # command - = [ pkgconfig sqlite curl libxml2 stfl json_c ncurses gettext perl ] + = [ pkgconfig sqlite curl libxml2 stfl json-c-0-11 ncurses gettext perl ] ++ libiconvOrEmpty ++ stdenv.lib.optional stdenv.isDarwin makeWrapper; preBuild = '' - sed -i -e 104,108d config.sh + sed -i -e 110,114d config.sh sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl export LDFLAGS=-lncursesw ''; diff --git a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix index 17e97d92b897..4390360ff9e8 100644 --- a/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix +++ b/pkgs/applications/networking/feedreaders/newsbeuter/dev.nix @@ -2,11 +2,12 @@ , gettext, libiconvOrEmpty, makeWrapper, perl }: stdenv.mkDerivation rec { - name = "newsbeuter-dev-20131118"; + name = "newsbeuter-dev-20140309"; src = fetchgit { url = "https://github.com/akrennmair/newsbeuter.git"; - rev = "18b73f7d44a99a698d4878fe7d226f55842132c2"; + rev = "1427bdb0705806368db39576a9b803df82fa0415"; + sha256 = "b29a304a46bf56b439d0d35ea586f7fd0fbf1a5565dca95de76e774885d8b64b"; }; buildInputs @@ -17,7 +18,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin makeWrapper; preBuild = '' - sed -i -e 104,108d config.sh + sed -i -e 110,114d config.sh sed -i "1 s%^.*$%#!${perl}/bin/perl%" txt2h.pl export LDFLAGS=-lncursesw ''; diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index b7c9a76e151f..a8b4cfaf9266 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext +{ stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext , pkgconfig, xdg_utils, gtk2, sqlite }: let version = "3.7.3"; in @@ -15,7 +15,7 @@ stdenv.mkDerivation { ]; buildInputs = [ - dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite + dbus gnutls wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix index 276df1ae7a15..9de14cae6f0f 100644 --- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix +++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix @@ -2,7 +2,7 @@ x@{builderDefsPackage , cyrus_sasl, gettext, openldap, ptlib, opal, GConf, libXv, rarian, intltool , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, automake - , autoconf, pkgconfig, libxml2, videoproto, unixODBC, db4, nspr, nss, zlib + , autoconf, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib , libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle , ...}: builderDefsPackage diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix new file mode 100644 index 000000000000..e6dd6569a55f --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, makeDesktopItem, unzip, ant, jdk }: + +stdenv.mkDerivation rec { + + name = "jitsi-${version}"; + version = "2.4.4997"; + + src = fetchurl { + url = "https://download.jitsi.org/jitsi/src/jitsi-src-${version}.zip"; + sha256 = "f1c2688d7d6bf1916fed3b8b105a785662980c5b297dcab3c9e7d272647ef825"; + }; + + patches = [ ./jitsi.patch ]; + + jitsiItem = makeDesktopItem { + name = "Jitsi"; + exec = "jitsi"; + comment = "VoIP and Instant Messaging client"; + desktopName = "Jitsi"; + genericName = "Instant Messaging"; + categories = "Application;Internet;"; + }; + + buildInputs = [unzip ant jdk]; + + buildPhase = ''ant make''; + + installPhase = '' + mkdir -p $out + cp -a lib $out/ + cp -a sc-bundles $out/ + mkdir $out/bin + cp resources/install/generic/run.sh $out/bin/jitsi + chmod +x $out/bin/jitsi + sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi + patchShebangs $out + ''; + + meta = { + homepage = https://jitsi.org/; + description = "Open Source Video Calls and Chat"; + license = stdenv.lib.licenses.lgpl21Plus.shortName; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch new file mode 100644 index 000000000000..9163cecd175b --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jitsi/jitsi.patch @@ -0,0 +1,27 @@ +--- /home/dario/Downloads/jitsi/resources/install/generic/run.sh 2013-11-01 15:37:21.000000000 +0000 ++++ jitsi/resources/install/generic/run.sh 2014-03-04 11:52:30.796397567 +0000 +@@ -1,4 +1,9 @@ +-mkdir -p $HOME/.sip-communicator/log ++#! /bin/bash ++# A modified version of the generic run.sh ++ ++#mkdir -p $HOME/.sip-communicator/log ++ ++cd "$( dirname "$( dirname "${BASH_SOURCE[0]}" )" )" + + # Get architecture + ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/` +@@ -6,10 +11,12 @@ + # Additionnal JVM arguments + CLIENTARGS="" + ++NATIVELIBS="lib/native/linux-64" + if [ $ARCH -eq 32 ] + then + CLIENTARGS="-client -Xmx256m" ++ NATIVELIBS="lib/native/linux" + fi + + export PATH=$PATH:native +-java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator ++exec java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator diff --git a/pkgs/applications/networking/instant-messengers/kadu/cmake.patch b/pkgs/applications/networking/instant-messengers/kadu/cmake.patch new file mode 100644 index 000000000000..bb2d2d39d25a --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/kadu/cmake.patch @@ -0,0 +1,13 @@ +diff -ru kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt +--- kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt 2012-08-30 16:13:17.000000000 +0200 ++++ kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt 2014-02-15 10:20:33.368716013 +0100 +@@ -26,7 +26,7 @@ + get_filename_component (_basename ${_current_MOC} NAME_WE) + set (_header ${_abs_FILE}) + set (_moc ${_abs_PATH}/${_current_MOC}) +- QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "") ++ QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "" "") + MACRO_ADD_FILE_DEPENDENCIES (${_abs_FILE} ${_moc}) + endforeach (_current_MOC_INC) + endif (_match) +Only in kadu-0.12.2/plugins/jabber_protocol/3rdparty: CMakeLists.txt~ diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix index 03cbb1ce0737..4e176ec56dcb 100644 --- a/pkgs/applications/networking/instant-messengers/kadu/default.nix +++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation { sed -i -e '/mpd_mediaplayer/d' \ -e '/encryption_ng/d' \ -e '/encryption_ng_simlite/d' Plugins.cmake + patch -p1 < ${./cmake.patch} ''; NIX_LDFLAGS="-lX11"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index d0652adcb0d6..6e6fd6d0eb6c 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -21,10 +21,10 @@ } : stdenv.mkDerivation rec { - name = "pidgin-2.10.7"; + name = "pidgin-2.10.9"; src = fetchurl { url = "mirror://sourceforge/pidgin/${name}.tar.bz2"; - sha256 = "14piyx4xpc3l8286x4nh5pna2wfyn9cv0qa29br1q3d2xja2k8zb"; + sha256 = "06gka47myl9f5x0flkq74ml75akkf28rx9sl8pm3wqkzazc2wdnw"; }; inherit nss ncurses; @@ -51,8 +51,11 @@ stdenv.mkDerivation rec { configureFlags="--with-nspr-includes=${nspr}/include/nspr --with-nspr-libs=${nspr}/lib --with-nss-includes=${nss}/include/nss --with-nss-libs=${nss}/lib --with-ncurses-headers=${ncurses}/include --disable-meanwhile --disable-nm --disable-tcl" + (lib.optionalString (gnutls != null) " --enable-gnutls=yes --enable-nss=no") ; - meta = { + meta = with stdenv.lib; { description = "Pidgin IM - XMPP(Jabber), AIM/ICQ, IRC, SIP etc client"; homepage = http://pidgin.im; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.vcunat ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix index 2401d796bfdc..a31a682abf88 100644 --- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix @@ -75,8 +75,10 @@ rec { ''; # gtk3 programs have the runtime dependency on XDG_DATA_DIRS - postInstall = '' - wrapProgram $out/bin/sflphone* --prefix XDG_DATA_DIRS ":" ${gtk}/share + preFixup = '' + for f in "$out/bin/sflphone" "$out/bin/sflphone-client-gnome"; do + wrapProgram $f --prefix XDG_DATA_DIRS ":" "${gtk}/share:$GSETTINGS_SCHEMAS_PATH" + done ''; buildInputs = [ daemon pkgconfig gtk glib dbus_glib libnotify intltool makeWrapper ]; diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix index ebd84ff47b89..20a304952a7a 100644 --- a/pkgs/applications/networking/instant-messengers/skype/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype/default.nix @@ -5,11 +5,11 @@ assert stdenv.system == "i686-linux"; stdenv.mkDerivation rec { - name = "skype-4.2.0.11"; + name = "skype-4.2.0.13"; src = fetchurl { url = "http://download.skype.com/linux/${name}.tar.bz2"; - sha256 = "0kh66p50m3x4ql6j8ciz73c30npcizd00ya9qrhid711rar0mlw7"; + sha256 = "137kp6c0v4z7n7pp4hwrx4gjgk4knwj815dc6swh44lb5cj1c5m5"; }; buildInputs = diff --git a/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix new file mode 100644 index 000000000000..51639f6050dc --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/telegram-cli/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchgit, libconfig, lua5_2, openssl, readline, zlib +}: + +stdenv.mkDerivation rec { + name = "telegram-cli"; + + src = fetchgit { + url = "https://github.com/vysheng/tg.git"; + rev = "ac6079a00ac66bb37a3179a82af130b41ec39bc9"; + sha256 = "1rpwnyzmqk7p97n5pd00m5c6rypc39mb3hs94qxxrdcpwpgcb73q"; + }; + + buildInputs = [ libconfig lua5_2 openssl readline zlib ]; + + installPhase = '' + mkdir -p $out/bin + cp ./telegram $out/bin/telegram-wo-key + cp ./tg.pub $out/ + cat > $out/bin/telegram < $out/share/applications/thunderbird.desktop < jackaudio != null; +assert speechdSupport -> speechd != null; +let + optional = stdenv.lib.optional; + optionalString = stdenv.lib.optionalString; +in stdenv.mkDerivation rec { name = "mumble-" + version; - version = "1.2.4"; + version = "1.2.5"; src = fetchurl { url = "mirror://sourceforge/mumble/${name}.tar.gz"; - sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1"; + sha256 = "1bsgains6xgpgpd1b5bq682z0kswp5fcjh2cir4c4qkndya5clci"; }; - patchPhase = '' - patch -p1 < ${ ./mumble-jack-support.patch } - ''; + patches = optional jackSupport ./mumble-jack-support.patch; configurePhase = '' qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \ CONFIG+=no-embed-qt-translations CONFIG+=packaged \ CONFIG+=bundled-celt CONFIG+=no-bundled-opus \ + ${optionalString (!speechdSupport) "CONFIG+=no-speechd"} \ + ${optionalString jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"} \ CONFIG+=no-bundled-speex - '' - + stdenv.lib.optionalString jackSupport '' - CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio ''; - buildInputs = [ qt4 boost speechd protobuf libsndfile speex + buildInputs = [ qt4 boost protobuf libsndfile speex libopus avahi pkgconfig ] - ++ (stdenv.lib.optional jackSupport jackaudio); + ++ (optional jackSupport jackaudio) + ++ (optional speechdSupport speechd); installPhase = '' mkdir -p $out cp -r ./release $out/bin ''; - meta = { - homepage = http://mumble.sourceforge.net/; + meta = with stdenv.lib; { + homepage = "http://mumble.sourceforge.net/"; description = "Low-latency, high quality voice chat software"; - license = "BSD"; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ viric ]; }; } diff --git a/pkgs/applications/networking/mumble/murmur.nix b/pkgs/applications/networking/mumble/murmur.nix index b40632384c2b..b886896c071f 100644 --- a/pkgs/applications/networking/mumble/murmur.nix +++ b/pkgs/applications/networking/mumble/murmur.nix @@ -1,30 +1,46 @@ -{ stdenv, fetchurl, qt4, boost, protobuf, avahi, libcap, pkgconfig }: +{ stdenv, fetchurl, qt4, boost, protobuf +, avahi, libcap, pkgconfig +, iceSupport ? false +, zeroc_ice ? null +}: +assert iceSupport -> zeroc_ice != null; + +let + optional = stdenv.lib.optional; + optionalString = stdenv.lib.optionalString; +in stdenv.mkDerivation rec { name = "murmur-" + version; - version = "1.2.4"; + version = "1.2.5"; src = fetchurl { url = "mirror://sourceforge/mumble/mumble-${version}.tar.gz"; - sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1"; + sha256 = "1bsgains6xgpgpd1b5bq682z0kswp5fcjh2cir4c4qkndya5clci"; }; - configurePhase = '' - qmake CONFIG+=no-client CONFIG+=no-ice CONFIG+=no-embed-qt + patchPhase = optional iceSupport '' + sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g' src/murmur/murmur.pro ''; - buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ]; + configurePhase = '' + qmake CONFIG+=no-client CONFIG+=no-embed-qt \ + ${optionalString (!iceSupport) "CONFIG+=no-ice"} + ''; + + buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ] + ++ optional iceSupport [ zeroc_ice ]; installPhase = '' mkdir -p $out cp -r ./release $out/bin ''; - meta = { - homepage = http://mumble.sourceforge.net/; + meta = with stdenv.lib; { + homepage = "http://mumble.sourceforge.net/"; description = "Low-latency, high quality voice chat software"; - license = "BSD"; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ viric ]; }; } diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 093b801401dc..650e3237fe41 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -1,30 +1,57 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk2, gnome2 /*just GConf*/ -, libsoup, libunique, libxslt, webkit_gtk2, json_glib -, libnotify /*optional*/ }: +{ stdenv, fetchurl, pkgconfig, intltool, python, pygobject3 +, glib, gnome3, pango, libxml2, libxslt, sqlite, libsoup, glib_networking +, webkitgtk, json_glib, gobjectIntrospection, gst_all_1 +, libnotify +, makeWrapper +}: -let version = "1.8.15"; +let pname = "liferea"; + version = "1.10.8"; in stdenv.mkDerivation rec { - name = "liferea-${version}"; + name = "${pname}-${version}"; src = fetchurl { - url = "mirror://sourceforge/liferea/Liferea%20Stable/${version}/${name}.tar.bz2"; - sha256 = "12hhdl5biwcvr9ds7pdhhvlp4vggjix6xm4z5pnfaz53ai2dnc99"; + url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2"; + sha256 = "1d3icma90mj0nai20pfhxp4k4l33iwkkkcddb9vg5hi4yq4wpmwx"; }; - buildInputs = [ - pkgconfig intltool gtk2 gnome2.GConf - libsoup libunique libxslt webkit_gtk2 json_glib + buildInputs = with gst_all_1; [ + pkgconfig intltool python + glib gnome3.gtk pango libxml2 libxslt sqlite libsoup + webkitgtk json_glib gobjectIntrospection gnome3.gsettings_desktop_schemas + gnome3.libpeas gnome3.dconf + gst-plugins-base gst-plugins-good gst-plugins-bad + gnome3.libgnome_keyring libnotify + makeWrapper ]; preFixup = '' - rm $out/share/icons/hicolor/icon-theme.cache''; + rm $out/share/icons/hicolor/icon-theme.cache + + for f in "$out"/bin/*; do + wrapProgram "$f" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ + --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + done + ''; meta = { description = "A GTK-based news feed agregator"; homepage = http://lzone.de/liferea/; - maintainers = [ stdenv.lib.maintainers.vcunat ]; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ vcunat romildo ]; platforms = stdenv.lib.platforms.linux; + + longDescription = '' + Liferea (Linux Feed Reader) is an RSS/RDF feed reader. + It's intended to be a clone of the Windows-only FeedReader. + It can be used to maintain a list of subscribed feeds, + browse through their items, and show their contents. + ''; }; } diff --git a/pkgs/applications/networking/newsreaders/slrn/default.nix b/pkgs/applications/networking/newsreaders/slrn/default.nix new file mode 100644 index 000000000000..c933460af43b --- /dev/null +++ b/pkgs/applications/networking/newsreaders/slrn/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, +slang, ncurses +}: + +let version = "1.0.1"; in + +stdenv.mkDerivation { + name = "slrn-${version}"; + + src = fetchurl { + url = "http://www.jedsoft.org/slrn/download/slrn-1.0.1.tar.gz"; + sha256 = "1rmaprfwvshzkv0c5vi43839cz3laqjpl306b9z0ghwyjdha1d06"; + }; + + preConfigure = '' + sed -i -e "s|-ltermcap|-lncurses|" configure + sed -i autoconf/Makefile.in src/Makefile.in \ + -e "s|/bin/cp|cp|" \ + -e "s|/bin/rm|rm|" + ''; + + configureFlags = "--with-slang=${slang}"; + + buildInputs = [ slang ncurses ]; + + meta = { + description = "The slrn (S-Lang read news) newsreader"; + homepage = http://slrn.sourceforge.net/index.html; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/applications/networking/notbit/default.nix b/pkgs/applications/networking/notbit/default.nix new file mode 100644 index 000000000000..db900f9ff256 --- /dev/null +++ b/pkgs/applications/networking/notbit/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit, autoconf, automake, pkgconfig, openssl }: + +stdenv.mkDerivation rec { + name = "notbit-0.2-28-g06f9160"; + + src = fetchgit { + url = "git://git.busydoingnothing.co.uk/notbit"; + rev = "06f916081836de12f8e57a9f50c95d4d1b51627f"; + sha256 = "d5c38eea1d9ca213bfbea5c88350478a5088b5532e939de9680d72e60aa65288"; + }; + + buildInputs = [ autoconf automake pkgconfig openssl ]; + + preConfigure = "autoreconf -vfi"; + + meta = with stdenv.lib; { + homepage = http://busydoingnothing.co.uk/notbit/; + description = "A minimal bitmessage client"; + license = licenses.mit; + + # This is planned to change when the project officially supports other platforms + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 045e6557730e..bbb3561bae97 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -4,11 +4,11 @@ , makeWrapper }: stdenv.mkDerivation rec { - name = "gnunet-0.10.0"; + name = "gnunet-0.10.1"; src = fetchurl { url = "mirror://gnu/gnunet/${name}.tar.gz"; - sha256 = "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"; + sha256 = "04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"; }; buildInputs = [ diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix index b408f20b7110..e53fda089111 100644 --- a/pkgs/applications/networking/p2p/ktorrent/default.nix +++ b/pkgs/applications/networking/p2p/ktorrent/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = pname + "-" + version; pname = "ktorrent"; - version = "4.2.1"; + version = "4.3.1"; src = fetchurl { url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2"; - sha256 = "1b6w7i1vvq8mlw9yrlxvb51hvaj6rpl8lv9b9zagyl3wcanz73zd"; + sha256 = "66094f6833347afb0c49e332f0ec15ec48db652cbe66476840846ffd5ca0e4a1"; }; patches = [ ./find-workspace.diff ]; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { meta = { description = "KDE integrated BtTorrent client"; - homepage = http://ktorrent.org; + homepage = http://ktorrent.pwsp.net; maintainers = with stdenv.lib.maintainers; [ sander urkud ]; inherit (libktorrent.meta) platforms; }; diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix index 2f739b056d4f..57ea62485310 100644 --- a/pkgs/applications/networking/p2p/mldonkey/default.nix +++ b/pkgs/applications/networking/p2p/mldonkey/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ocaml, zlib, bzip2, ncurses, file, gd, libpng }: stdenv.mkDerivation (rec { - name = "mldonkey-3.1.3"; + name = "mldonkey-3.1.5"; src = fetchurl { url = "mirror://sourceforge/mldonkey/${name}.tar.bz2"; - sha256 = "1qnr0qzliw4aynf2zhmm5hmrc9bd5vhdq3bi8n88j4nc86gry9bw"; + sha256 = "1jqik6b09p27ckssppfiqpph7alxbgpnf9w1s0lalmi3qyyd9ybl"; }; meta = { diff --git a/pkgs/applications/networking/p2p/ncdc/default.nix b/pkgs/applications/networking/p2p/ncdc/default.nix new file mode 100644 index 000000000000..794f6fe43087 --- /dev/null +++ b/pkgs/applications/networking/p2p/ncdc/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, ncurses, zlib, bzip2, sqlite, pkgconfig, glib, gnutls }: + +stdenv.mkDerivation rec { + name = "ncdc-${version}"; + version = "1.19"; + + src = fetchurl { + url = "http://dev.yorhel.nl/download/ncdc-1.19.tar.gz"; + sha256 = "1wgvqwfxq9kc729h2r528n55821w87sfbm4h21mr6pvkpfw30hf2"; + }; + + buildInputs = [ ncurses zlib bzip2 sqlite pkgconfig glib gnutls ]; + + meta = { + description = "modern and lightweight direct connect client with a friendly ncurses interface"; + homepage = http://dev.yorhel.nl/ncdc; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; # arbitrary + maintainers = [ stdenv.lib.maintainers.emery ]; + }; +} diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index d4e3aa91cc0b..3ae4f2a74838 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -1,28 +1,38 @@ -{stdenv, fetchurl, qt, libupnp, gpgme, libgnome_keyring, glib}: - -throw "still fails to build" +{ stdenv, fetchurl, cmake, qt, libupnp, gpgme, gnome3, glib, libssh, pkgconfig, protobuf, bzip2 +, libXScrnSaver, speex, curl, libxml2, libxslt }: stdenv.mkDerivation { - name = "retroshare-0.5.1d"; + name = "retroshare-0.5.5c"; src = fetchurl { - url = mirror://sourceforge/retroshare/RetroShare-v0.5.1d.tar.gz; - sha256 = "15971wxx8djwcxn170jyn0mlh7cfzqsf031aa849wr9z234gwrcn"; + url = mirror://sourceforge/project/retroshare/RetroShare/0.5.5c/retroshare_0.5.5-0.7068.tar.gz; + sha256 = "0l2n4pr1hq66q6qa073hrdx3s3d7iw54z8ay1zy82zhk2rwhsavp"; }; - buildInputs = [ qt libupnp gpgme libgnome_keyring glib ]; + NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2"; - buildPhase = '' - cd libbitdht/src - qmake libbitdht.pro PREFIX=$out - make - cd ../.. - cd libretroshare/src - qmake libretroshare.pro PREFIX=$out - make - cd ../../src - qmake libretroshare.pro PREFIX=$out - make + patchPhase = "sed -i 's/UpnpString_get_String(es_event->PublisherUrl)/es_event->PublisherUrl/' libretroshare/src/upnp/UPnPBase.cpp"; + + buildInputs = [ speex qt libupnp gpgme gnome3.libgnome_keyring glib libssh pkgconfig + protobuf bzip2 libXScrnSaver curl libxml2 libxslt ]; + + sourceRoot = "retroshare-0.5.5/src"; + + configurePhase = '' + qmake PREFIX=$out DESTDIR=$out RetroShare.pro ''; + postInstall = '' + mkdir -p $out/bin + ln -s $out/retroshare-nogui $out/bin + ln -s $out/RetroShare $out/bin + ''; + + meta = with stdenv.lib; { + description = ""; + homepage = http://retroshare.sourceforge.net/; + #license = licenses.bsd2; + platforms = platforms.linux; + maintainers = [ maintainers.iElectric ]; + }; } diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix index 894b1363cd04..968aba20754a 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix @@ -1,15 +1,20 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk, json_glib, curl }: +{ stdenv, makeWrapper, fetchurl, pkgconfig, intltool, gtk3, json_glib, curl }: stdenv.mkDerivation rec { - name = "transmission-remote-gtk-1.0.1"; + name = "transmission-remote-gtk-1.1.1"; src = fetchurl { url = "http://transmission-remote-gtk.googlecode.com/files/${name}.tar.gz"; - sha256 = "b1ae032dd52b2d7975656913e4fe39e7f74d29ef8138292d8b82318ff9afed6f"; + sha256 = "1jbh2pm4i740cmzqd2r7zxnqqipvv2v2ndmnmk53nqrxcbgc4nlz"; }; - buildInputs = [ pkgconfig intltool gtk json_glib curl ]; + buildInputs = [ makeWrapper pkgconfig intltool gtk3 json_glib curl ]; + + preFixup = '' + wrapProgram "$out/bin/transmission-remote-gtk" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; meta = { description = "GTK remote control for the Transmission BitTorrent client"; diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index cb439ddb4624..29fb558c83d6 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -27,10 +27,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-systemd-daemon" ] ++ optional enableGTK3 "--with-gtk"; - postInstall = optionalString enableGTK3 /* gsettings schemas for file dialogues */ '' + preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ '' rm "$out/share/icons/hicolor/icon-theme.cache" wrapProgram "$out/bin/transmission-gtk" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.transmissionbt.com/; license = licenses.gpl2; # parts are under MIT - maintainers = with maintainers; [ astsmtl vcunat ]; + maintainers = with maintainers; [ astsmtl vcunat wizeman ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index 8f89d70405ad..8785837fbb93 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -61,7 +61,5 @@ stdenv.mkDerivation rec { homepage = http://www.freerdp.com/; license = "free-non-copyleft"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix index cce3d23d1945..6c133e9dbb49 100644 --- a/pkgs/applications/networking/remote/freerdp/unstable.nix +++ b/pkgs/applications/networking/remote/freerdp/unstable.nix @@ -70,8 +70,6 @@ stdenv.mkDerivation rec { homepage = http://www.freerdp.com/; license = "free-non-copyleft"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/applications/networking/remote/rdesktop/default.nix b/pkgs/applications/networking/remote/rdesktop/default.nix index c8c72160b341..9ba9e3aa3fc4 100644 --- a/pkgs/applications/networking/remote/rdesktop/default.nix +++ b/pkgs/applications/networking/remote/rdesktop/default.nix @@ -2,17 +2,21 @@ stdenv.mkDerivation (rec { pname = "rdesktop"; - version = "1.7.1"; + version = "1.8.1"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0yc4xz95w40m8ailpjgqp9h7bkc758vp0dlq4nj1pvr3xfnl7sni"; + sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n"; }; buildInputs = [openssl libX11]; - configureFlags = [ "--with-openssl=${openssl}" ]; + configureFlags = [ + "--with-openssl=${openssl}" + "--disable-credssp" + "--disable-smartcard" + ]; meta = { description = "rdesktop is an open source client for Windows Terminal Services"; diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix index b2c9b7c3e73a..619925354f06 100644 --- a/pkgs/applications/networking/remote/ssvnc/default.nix +++ b/pkgs/applications/networking/remote/ssvnc/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, imake, zlib, openjdk, libX11, libXt, libXmu, libXaw, libXext, libXpm, openjpeg, openssl }: +{ stdenv, fetchurl, imake, zlib, openjdk, libX11, libXt, libXmu +, libXaw, libXext, libXpm, openjpeg, openssl, tcl, tk }: -let version = "1.0.29"; in stdenv.mkDerivation rec { name = "ssvnc-${version}"; + version = "1.0.29"; src = fetchurl { url = "mirror://sourceforge/ssvnc/${name}.src.tar.gz"; @@ -13,6 +14,10 @@ stdenv.mkDerivation rec { configurePhase = "makeFlags=PREFIX=$out"; + postInstall = '' + sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/lib/ssvnc/util/ssvnc.tcl + ''; + meta = { description = "VNC viewer that adds encryption security to VNC connections"; homepage = "http://www.karlrunge.com/x11vnc/ssvnc.html"; diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 8c6295197643..1bf40eabfae4 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper -, bash }: +, bash, findutils, coreutils }: assert stdenv.system == "i686-linux"; let @@ -31,6 +31,13 @@ stdenv.mkDerivation { cat > $out/bin/teamviewer << EOF #!${bash}/bin/sh + # Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those + # paths become garbage collected, teamviewer crashes upon start because of + # those broken symlinks. An easy workaround to this behaviour is simply to + # delete all symlinks before we start teamviewer. Teamviewer will fixup the + # symlinks, just like it did the first time the user ran it. + ${findutils}/bin/find "\$HOME"/.teamviewer/*/*/"Program Files/TeamViewer/" -type l -print0 | ${findutils}/bin/xargs -0 ${coreutils}/bin/rm + export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} export PATH=${topath}\''${PATH:+:\$PATH} $out/share/teamviewer/wrapper wine "c:\Program Files\TeamViewer\Version7\TeamViewer.exe" "\$@" diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix new file mode 100644 index 000000000000..d24437aabb6b --- /dev/null +++ b/pkgs/applications/networking/seafile-client/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl, writeScript, pkgconfig, cmake, qt4, seafile-shared, ccnet, makeWrapper}: + +stdenv.mkDerivation rec +{ + version = "2.1.1"; + name = "seafile-client-${version}"; + + src = fetchurl + { + url = "https://github.com/haiwen/seafile-client/archive/v${version}.tar.gz"; + sha256 = "d98515ea229df702cbe973d85ec0bd5cf3f5282ef1022ba0157d5301b521c8e0"; + }; + + buildInputs = [ pkgconfig cmake qt4 seafile-shared makeWrapper ]; + + builder = writeScript "${name}-builder.sh" '' + source $stdenv/setup + + tar xvfz $src + cd seafile-client-* + + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_INSTALL_PREFIX="$out" . + make -j1 + + make install + + wrapProgram $out/bin/seafile-applet \ + --suffix PATH : ${ccnet}/bin:${seafile-shared}/bin + ''; + + meta = + { + homepage = "https://github.com/haiwen/seafile-clients"; + description = "Desktop client for Seafile, the Next-generation Open Source Cloud Storage"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index ed2ce4c12c00..256681ec54e2 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation { geoip libnl c-ares gtk python ]; + preConfigure = '' + sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .) + ''; + configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl"; desktopItem = makeDesktopItem { diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 5447b21009ff..5265faf87b6f 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -6,16 +6,17 @@ assert enableACLs -> acl != null; stdenv.mkDerivation rec { - name = "rsync-3.0.9"; + name = "rsync-${version}"; + version = "3.1.0"; mainSrc = fetchurl { - url = http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz; - sha256 = "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h"; + url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz"; + sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1"; }; patchesSrc = fetchurl { - url = http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.9.tar.gz; - sha256 = "0c1e9b56e99667dfc47641124460bac61a04c5d2ee89f575c6bc78c7a69005a9"; + url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz"; + sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p"; }; srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc; @@ -30,6 +31,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ]; }; } diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index 35dd2d2a7d02..744c8c01efa5 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -3,10 +3,10 @@ stdenv.mkDerivation (rec { - name = "unison-2.40.63"; + name = "unison-2.40.102"; src = fetchurl { - url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/${name}/${name}.tar.gz"; - sha256 = "17fd2bg5jxwbib87j6j2bjpwdm66whqm1fq46v70hfby79j00vkf"; + url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz"; + sha256 = "0m78q5vnsric1virvkmxxx32ipaq0cnj0kbirdbg36395gq94jix"; }; buildInputs = [ ocaml makeWrapper ncurses ]; diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix new file mode 100644 index 000000000000..50bc61eeeff0 --- /dev/null +++ b/pkgs/applications/networking/syncthing/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, fetchgit, go }: + +stdenv.mkDerivation rec { + name = "syncthing-${version}"; + version = "0.7.1"; + + src = fetchgit { + url = "git://github.com/calmh/syncthing.git"; + rev = "refs/tags/v${version}"; + sha256 = "1rja837kimiq15km8cridbm5yxvkm6mkvkwywdi76qf9rm0pcjl1"; + }; + + buildInputs = [ go ]; + + buildPhase = '' + mkdir -p "./dependencies/src/github.com/calmh/syncthing" + + cp -r "./auto" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./buffers" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./cid" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./discover" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./files" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./lamport" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./protocol" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./scanner" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./mc" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./xdr" "./dependencies/src/github.com/calmh/syncthing" + + export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies" + + go test -cpu=1,2,4 ./... + + mkdir ./bin + + go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing + go build -o ./bin/stcli -ldflags "-w -X main.Version v${version}" ./cmd/stcli + ''; + + installPhase = '' + ensureDir $out/bin + cp -r ./bin $out + ''; + + meta = { + homepage = http://syncthing.net/; + description = "Syncthing replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; + license = with stdenv.lib.licenses; mit; + maintainers = with stdenv.lib.maintainers; [ matejc ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/networking/yafc/default.nix b/pkgs/applications/networking/yafc/default.nix index bdbb53d1675f..752a7824e6f0 100644 --- a/pkgs/applications/networking/yafc/default.nix +++ b/pkgs/applications/networking/yafc/default.nix @@ -1,13 +1,13 @@ -{stdenv, fetchurl, readline, libssh, intltool}: +{stdenv, fetchurl, readline, libssh, intltool, libbsd}: stdenv.mkDerivation rec { - name = "yafc-1.2.3"; + name = "yafc-1.3.2"; src = fetchurl { - url = "https://github.com/downloads/sebastinas/yafc/${name}.tar.xz"; - sha256 = "11h5r9ragfpil338kq981wxnifacflqfwgydhmy00b3fbdlnxzsi"; + url = "http://www.yafc-ftp.com/upload/${name}.tar.xz"; + sha256 = "0rrhik00xynxg5s3ffqlyynvy8ssv8zfaixkpb77baxa274gnbd7"; }; - buildInputs = [ readline libssh intltool ]; + buildInputs = [ readline libssh intltool libbsd ]; meta = { description = "ftp/sftp client with readline, autocompletion and bookmarks"; diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index a43d8fa9d11d..dbf886de9786 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, openssl, pkgconfig +{ stdenv, fetchurl, openssl, pkgconfig , withPerl ? false, perl , withPython ? false, python3 , withTcl ? false, tcl @@ -7,10 +7,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "znc-1.0"; + name = "znc-1.2"; + src = fetchurl { url = "http://znc.in/releases/${name}.tar.gz"; - sha256 = "0ah6890ngvj97kah3x7fd8yzi6dpdgrxw1b2skj2cyv98bd3jmd8"; + sha256 = "07bh306wl5494sqsgz4a526wvyrylkc8vpnbr5pkxwjg90mcv8nr"; }; buildInputs = [ openssl pkgconfig ] @@ -24,11 +25,11 @@ stdenv.mkDerivation rec { + optionalString withTcl "--enable-tcl --with-tcl=${tcl}/lib " + optionalString withCyrus "--enable-cyrus "; - meta = { + meta = with stdenv.lib; { description = "Advanced IRC bouncer"; homepage = http://wiki.znc.in/ZNC; - maintainers = [ stdenv.lib.maintainers.viric ]; - license = "ASL2.0"; - platforms = stdenv.lib.platforms.unix; + maintainers = with maintainers; [ viric ]; + license = licenses.asl20; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix index 137e7be019fa..e87053d53264 100644 --- a/pkgs/applications/office/calligra/default.nix +++ b/pkgs/applications/office/calligra/default.nix @@ -6,11 +6,11 @@ }: stdenv.mkDerivation rec { - name = "calligra-2.7.2"; + name = "calligra-2.7.5"; src = fetchurl { url = "mirror://kde/stable/${name}/${name}.tar.xz"; - sha256 = "1awnvv62fp5bjhi6fys37s6lpzxaig4v15m1zjlgxq82ig61w6sq"; + sha256 = "0png8ac10xywxsml1z18as18kc9k9162l6an67hi6lgx0rv27ldi"; }; nativeBuildInputs = [ cmake perl pkgconfig ]; diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index c8ebe6e2b12c..ee0475d45ec0 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade -, libgsf, libart_lgpl, perlPackages +, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar }: /* If you experience GConf errors when running GnuCash on NixOS, see @@ -21,10 +21,10 @@ stdenv.mkDerivation rec { pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml libgnomeprint goffice enchant gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl - perlPackages.DateManip perlPackages.FinanceQuote + perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar ]; - configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx"; + configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking"; postInstall = '' # Auto-updaters don't make sense in Nix. diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 0108f934693e..014aa5bf0fd2 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "gnumeric-1.12.9"; + name = "gnumeric-1.12.12"; src = fetchurl { url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz"; - sha256 = "1rv2ifw6rp0iza4fkf3bffvdkyi77dwvzdnvcbpqcyn2kxfsvlsc"; + sha256 = "096i9x6b4i6x24vc4lsxx8fg2n2pjs2jb6x3bkg3ppa2c60w1jq0"; }; preConfigure = ''sed -i 's/\(SUBDIRS.*\) doc/\1/' Makefile.in''; # fails when installing docs @@ -20,9 +20,12 @@ stdenv.mkDerivation rec { goffice gtk3 makeWrapper ]; - postInstall = '' - wrapProgram "$out"/bin/gnumeric-* \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome_icon_theme}/share" + preFixup = '' + for f in "$out"/bin/gnumeric-*; do + wrapProgram $f \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index d531a327d7cc..5e5c98e82601 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -2,7 +2,7 @@ let download_root = "http://homebank.free.fr/public/"; - name = "homebank-4.5.4"; + name = "homebank-4.5.5"; lastrelease = download_root + name + ".tar.gz"; oldrelease = download_root + "old/" + name + ".tar.gz"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { urls = [ lastrelease oldrelease ]; - sha256 = "10xh76mxwbl56xp118gg3b4isv16yvhsvqxwqc28pqqxkpr7vpdk"; + sha256 = "05k4497qsb6fzr662h9yxz1amsavd287wh0sabrpr9jdbh3jcfkg"; }; buildInputs = [ pkgconfig gtk libofx intltool ]; diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index d55c66a26246..87e3bfd53126 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -1,20 +1,22 @@ { stdenv, fetchurl, cmake, kdelibs, automoc4, kdepimlibs, gettext, pkgconfig -, shared_mime_info, perl, boost, gpgme, gmpxx, libalkimia, libofx, libical }: +, shared_mime_info, perl, boost, gpgme, gmpxx, libalkimia, libofx, libical +, doxygen }: stdenv.mkDerivation rec { - name = "kmymoney-4.6.2"; + name = "kmymoney-4.6.4"; src = fetchurl { - url = "mirror://sourceforge/kmymoney2/${name}.tar.bz2"; - sha256 = "0x9bl4h2mk8dv49nnn7drv528fnl5ynvvyy7q4m22k0d5yxarn5d"; + url = "mirror://sourceforge/kmymoney2/${name}.tar.xz"; + sha256 = "04n0lgi2yrx67bgjzbdbcm10pxs7l53srmp240znzw59njnjyll9"; }; - buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical ]; + buildInputs = [ kdepimlibs perl boost gpgme gmpxx libalkimia libofx libical + doxygen ]; nativeBuildInputs = [ cmake automoc4 gettext shared_mime_info pkgconfig ]; KDEDIRS = libalkimia; - patches = [ ./qgpgme.patch ./qt-4.8.patch ]; + patches = [ ./qgpgme.patch ]; meta = { homepage = http://kmymoney2.sourceforge.net/; diff --git a/pkgs/applications/office/kmymoney/qt-4.8.patch b/pkgs/applications/office/kmymoney/qt-4.8.patch deleted file mode 100644 index 7e9a44337cd9..000000000000 --- a/pkgs/applications/office/kmymoney/qt-4.8.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Christoph Feck -Date: Thu, 10 Nov 2011 11:34:20 +0000 -Subject: Fix compile with Qt 4.8 -X-Git-Url: http://quickgit.kde.org/?p=kmymoney.git&a=commitdiff&h=8324cfb9657d8c03f83691402386e8c5bfb29981 ---- -Fix compile with Qt 4.8 - -Sideported commits f42a0a3d878afebb298609c9886851858c56cc15 and -fe74b25bf3b78c42e95569fe467a397876bc9c04 from massif-visualizer ---- - - ---- a/libkdchart/src/KDChartBackgroundAttributes.cpp -+++ b/libkdchart/src/KDChartBackgroundAttributes.cpp -@@ -22,6 +22,7 @@ - - #include "KDChartBackgroundAttributes.h" - #include -+#include - - #include - -@@ -150,7 +151,7 @@ QDebug operator<<(QDebug dbg, const KDCh - << "visible="<) + + get_target_property(TARGETS_PUBLIC_HEADERS ${target} PUBLIC_HEADER) ++ set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON) + if (EXISTS "${TARGETS_PUBLIC_HEADERS}") + list(APPEND stp_public_headers "${TARGETS_PUBLIC_HEADERS}") + message("Adding public header(s) ${TARGETS_PUBLIC_HEADERS} to target libstp") +diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt +index 0735137..73039f5 100644 +--- a/src/main/CMakeLists.txt ++++ b/src/main/CMakeLists.txt +@@ -3,12 +3,6 @@ include_directories(${CMAKE_BINARY_DIR}/src/AST/) + + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/GitSHA1.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" @ONLY) + +-add_library(globalstp OBJECT +- Globals.cpp +- ${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp +-) +-add_dependencies(globalstp ASTKind_header) +- + # ----------------------------------------------------------------------------- + # Create binary + # ----------------------------------------------------------------------------- diff --git a/pkgs/applications/science/logic/stp/fixrefs.diff b/pkgs/applications/science/logic/stp/fixrefs.diff new file mode 100644 index 000000000000..60ad4949f076 --- /dev/null +++ b/pkgs/applications/science/logic/stp/fixrefs.diff @@ -0,0 +1,192 @@ +commit 53b6043e25b2eba264faab845077fbf6736cf22f +Author: Petr Rockai +Date: Tue Jan 7 13:30:07 2014 +0100 + + aig: Comment out unused functions with undefined references in them. + +diff --git a/src/extlib-abc/aig/aig/aigPart.c b/src/extlib-abc/aig/aig/aigPart.c +index a4cc116..5bd5f08 100644 +--- a/src/extlib-abc/aig/aig/aigPart.c ++++ b/src/extlib-abc/aig/aig/aigPart.c +@@ -869,6 +869,7 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize ) + { + extern int Cmd_CommandExecute( void * pAbc, char * sCommand ); +@@ -981,6 +982,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize ) + Aig_ManMarkValidChoices( pAig ); + return pAig; + } ++#endif + + + //////////////////////////////////////////////////////////////////////// +diff --git a/src/extlib-abc/aig/aig/aigShow.c b/src/extlib-abc/aig/aig/aigShow.c +index ae8fa8b..f04eedc 100644 +--- a/src/extlib-abc/aig/aig/aigShow.c ++++ b/src/extlib-abc/aig/aig/aigShow.c +@@ -326,6 +326,7 @@ void Aig_WriteDotAig( Aig_Man_t * pMan, char * pFileName, int fHaig, Vec_Ptr_t * + SeeAlso [] + + ***********************************************************************/ ++#if 0 + void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold ) + { + extern void Abc_ShowFile( char * FileNameDot ); +@@ -347,7 +348,7 @@ void Aig_ManShow( Aig_Man_t * pMan, int fHaig, Vec_Ptr_t * vBold ) + // visualize the file + Abc_ShowFile( FileNameDot ); + } +- ++#endif + + //////////////////////////////////////////////////////////////////////// + /// END OF FILE /// +diff --git a/src/extlib-abc/aig/dar/darRefact.c b/src/extlib-abc/aig/dar/darRefact.c +index d744b4f..23fc3d5 100644 +--- a/src/extlib-abc/aig/dar/darRefact.c ++++ b/src/extlib-abc/aig/dar/darRefact.c +@@ -340,6 +340,7 @@ printf( "\n" ); + SeeAlso [] + + ***********************************************************************/ ++#if 0 + int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, int Required ) + { + Vec_Ptr_t * vCut; +@@ -428,6 +429,7 @@ int Dar_ManRefactorTryCuts( Ref_Man_t * p, Aig_Obj_t * pObj, int nNodesSaved, in + } + return p->GainBest; + } ++#endif + + /**Function************************************************************* + +@@ -461,6 +463,7 @@ int Dar_ObjCutLevelAchieved( Vec_Ptr_t * vCut, int nLevelMin ) + SeeAlso [] + + ***********************************************************************/ ++#if 0 + int Dar_ManRefactor( Aig_Man_t * pAig, Dar_RefPar_t * pPars ) + { + // Bar_Progress_t * pProgress; +@@ -583,6 +586,7 @@ p->timeOther = p->timeTotal - p->timeCuts - p->timeEval; + return 1; + + } ++#endif + + //////////////////////////////////////////////////////////////////////// + /// END OF FILE /// +diff --git a/src/extlib-abc/aig/dar/darScript.c b/src/extlib-abc/aig/dar/darScript.c +index e60df00..1b9c24f 100644 +--- a/src/extlib-abc/aig/dar/darScript.c ++++ b/src/extlib-abc/aig/dar/darScript.c +@@ -64,6 +64,7 @@ Aig_Man_t * Dar_ManRewriteDefault( Aig_Man_t * pAig ) + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose ) + //alias rwsat "st; rw -l; b -l; rw -l; rf -l" + { +@@ -108,7 +109,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose ) + + return pAig; + } +- ++#endif + + /**Function************************************************************* + +@@ -121,6 +122,7 @@ Aig_Man_t * Dar_ManRwsat( Aig_Man_t * pAig, int fBalance, int fVerbose ) + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose ) + //alias compress2 "b -l; rw -l; rwz -l; b -l; rwz -l; b -l" + { +@@ -180,6 +182,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i + + return pAig; + } ++#endif + + /**Function************************************************************* + +@@ -192,6 +195,7 @@ Aig_Man_t * Dar_ManCompress( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, i + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose ) + //alias compress2 "b -l; rw -l; rf -l; b -l; rw -l; rwz -l; b -l; rfz -l; rwz -l; b -l" + { +@@ -285,6 +289,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, + } + return pAig; + } ++#endif + + /**Function************************************************************* + +@@ -297,6 +302,7 @@ Aig_Man_t * Dar_ManCompress2( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateLevel, int fVerbose ) + //alias resyn "b; rw; rwz; b; rwz; b" + //alias resyn2 "b; rw; rf; b; rw; rwz; b; rfz; rwz; b" +@@ -311,6 +317,7 @@ Vec_Ptr_t * Dar_ManChoiceSynthesis( Aig_Man_t * pAig, int fBalance, int fUpdateL + Vec_PtrPush( vAigs, pAig ); + return vAigs; + } ++#endif + + /**Function************************************************************* + +diff --git a/src/extlib-abc/aig/kit/kitAig.c b/src/extlib-abc/aig/kit/kitAig.c +index de301f2..7e5df0f 100644 +--- a/src/extlib-abc/aig/kit/kitAig.c ++++ b/src/extlib-abc/aig/kit/kitAig.c +@@ -95,6 +95,7 @@ Aig_Obj_t * Kit_GraphToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, Kit_Graph_t + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * pTruth, int nVars, Vec_Int_t * vMemory ) + { + Aig_Obj_t * pObj; +@@ -113,6 +114,7 @@ Aig_Obj_t * Kit_TruthToAig( Aig_Man_t * pMan, Aig_Obj_t ** pFanins, unsigned * p + Kit_GraphFree( pGraph ); + return pObj; + } ++#endif + + //////////////////////////////////////////////////////////////////////// + /// END OF FILE /// +diff --git a/src/extlib-abc/aig/kit/kitGraph.c b/src/extlib-abc/aig/kit/kitGraph.c +index 39ef587..0485c66 100644 +--- a/src/extlib-abc/aig/kit/kitGraph.c ++++ b/src/extlib-abc/aig/kit/kitGraph.c +@@ -349,6 +349,7 @@ unsigned Kit_GraphToTruth( Kit_Graph_t * pGraph ) + SeeAlso [] + + ***********************************************************************/ ++#if 0 + Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemory ) + { + Kit_Graph_t * pGraph; +@@ -365,6 +366,7 @@ Kit_Graph_t * Kit_TruthToGraph( unsigned * pTruth, int nVars, Vec_Int_t * vMemor + pGraph = Kit_SopFactor( vMemory, RetValue, nVars, vMemory ); + return pGraph; + } ++#endif + + /**Function************************************************************* + diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix new file mode 100644 index 000000000000..eeef03eb1619 --- /dev/null +++ b/pkgs/applications/science/logic/z3/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, python, unzip, autoreconfHook }: + +stdenv.mkDerivation rec { + name = "z3-${version}"; + version = "4.3.1"; + src = fetchurl { + url = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=89c1785b73225a1b363c0e485f854613121b70a7"; + name = "${name}.zip"; + sha256 = "3b94465c52ec174350d8707dd6a1fb0cef42f0fa23f148cc1808c14f3c2c7f76"; + }; + + buildInputs = [ python unzip autoreconfHook ]; + enableParallelBuilding = true; + + # The zip file doesn't unpack a directory, just the code itself. + unpackPhase = "mkdir ${name} && cd ${name} && unzip $src"; + postConfigure = '' + python scripts/mk_make.py + cd build + ''; + + # z3's install phase is stupid because it tries to calculate the + # python package store location itself, meaning it'll attempt to + # write files into the nix store, and fail. + soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so"; + installPhase = '' + mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include + cp ../src/api/z3.h $out/include + cp ../src/api/z3_api.h $out/include + cp ../src/api/z3_v1.h $out/include + cp ../src/api/z3_macros.h $out/include + cp ../src/api/c++/z3++.h $out/include + cp z3 $out/bin + cp libz3${soext} $out/lib + cp libz3${soext} $out/lib/${python.libPrefix}/site-packages + cp z3*.pyc $out/lib/${python.libPrefix}/site-packages + ''; + + meta = { + description = "Z3 is a high-performance theorem prover and SMT solver"; + homepage = "http://z3.codeplex.com"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 6c8ec9e68c53..4a58c15941c8 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "R-3.0.2"; + name = "R-3.1.0"; src = fetchurl { url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "0jq2vk6bgksbvgmdjvv7vfj6llp091d0nhl5j825aya4c2nhavlm"; + sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a"; }; buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix new file mode 100644 index 000000000000..1817c43ed7be --- /dev/null +++ b/pkgs/applications/science/math/fricas/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }: + +stdenv.mkDerivation rec { + name = "fricas-1.2.2"; + + src = fetchurl { + url = "http://sourceforge.net/projects/fricas/files/fricas/1.2.2/${name}-full.tar.bz2"; + sha256 = "87db64a1fd4211f3b776793acea931b4271d2e7a28396414c7d7397d833defe1"; + }; + + buildInputs = [ sbcl libX11 libXpm libICE libSM libXt libXau libXdmcp ]; + + dontStrip = true; + + meta = { + homepage = http://fricas.sourceforge.net/; + description = "Fricas CAS"; + license = stdenv.lib.licenses.bsd3; + + hydraPlatforms = stdenv.lib.platforms.linux; + maintainers = stdenv.lib.maintainers.sprock; + }; +} diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 684ac321900f..7123b476f356 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -2,7 +2,7 @@ let name = "maxima"; - version = "5.32.1"; + version = "5.33.0"; searchPath = stdenv.lib.makeSearchPath "bin" @@ -13,7 +13,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "0krxha1jckgw5s52bjasf7bnkcnq81qyi2k1bcglgqzfp79b44gw"; + sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2"; }; buildInputs = [sbcl texinfo perl makeWrapper]; diff --git a/pkgs/applications/science/math/pssp/default.nix b/pkgs/applications/science/math/pssp/default.nix index 587f41fe998b..0a9e0e4735d0 100644 --- a/pkgs/applications/science/math/pssp/default.nix +++ b/pkgs/applications/science/math/pssp/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "pspp-0.8.1"; + name = "pspp-0.8.2"; src = fetchurl { url = "mirror://gnu/pspp/${name}.tar.gz"; - sha256 = "0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x"; + sha256 = "1w7h3dglgx0jlq1wb605b8pgfsk2vr1q2q2rj7bsajh9ihbcsixr"; }; buildInputs = [ libxml2 readline zlib perl cairo gtk gsl pkgconfig diff --git a/pkgs/applications/science/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix new file mode 100644 index 000000000000..1e318bd8a79f --- /dev/null +++ b/pkgs/applications/science/math/sloane/default.nix @@ -0,0 +1,21 @@ +{ cabal, ansiTerminal, cmdargs, HTTP, terminalSize, url }: + +cabal.mkDerivation (self: { + pname = "sloane"; + version = "1.6"; + sha256 = "0my3j53bda3s8zxnm6is1align4k082wwsfg2y1i75js5z9kwmzy"; + isLibrary = false; + isExecutable = true; + buildDepends = [ ansiTerminal cmdargs HTTP terminalSize url ]; + postInstall = '' + mkdir -p $out/share/man/man1 + cp sloane.1 $out/share/man/man1/ + ''; + meta = { + homepage = "http://github.com/akc/sloane"; + description = "A command line interface to Sloane's On-Line Encyclopedia of Integer Sequences"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ akc ]; + }; +}) diff --git a/pkgs/applications/science/misc/megam/default.nix b/pkgs/applications/science/misc/megam/default.nix new file mode 100644 index 000000000000..a0ee505dc97f --- /dev/null +++ b/pkgs/applications/science/misc/megam/default.nix @@ -0,0 +1,46 @@ +{ fetchurl, stdenv, ocaml, makeWrapper, ncurses }: + +let version = "0.92"; in +stdenv.mkDerivation rec { + name = "megam-${version}"; + + src = fetchurl { + url = "http://hal3.name/megam/megam_src.tgz"; + sha256 = "dc0e9f59ff8513449fe3bd40b260141f89c88a4edf6ddc8b8a394c758e49724e"; + }; + + patches = [ ./ocaml-includes.patch ./ocaml-3.12.patch ]; + + buildInputs = [ ocaml ncurses ]; + + nativeBuildInputs = [ makeWrapper ]; + + makeFlags = "CAML_INCLUDES=${ocaml}/lib/ocaml/caml"; + + # see https://bugzilla.redhat.com/show_bug.cgi?id=435559 + dontStrip = true; + + installPhase = '' + mkdir -pv $out/bin + cp -Rv megam $out/bin + ''; + + + meta = { + description = "MEGA Model Optimization Package"; + + longDescription = + '' The software here is an implementation of maximum likelihood + and maximum a posterior optimization of the parameters of + these models. The algorithms used are much more efficient + than the iterative scaling techniques used in almost every + other maxent package out there. ''; + + homepage = http://www.umiacs.umd.edu/~hal/megam; + + license = "non-commercial"; + + maintainers = [ ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/applications/science/misc/megam/ocaml-3.12.patch b/pkgs/applications/science/misc/megam/ocaml-3.12.patch new file mode 100644 index 000000000000..8265acf6e4a7 --- /dev/null +++ b/pkgs/applications/science/misc/megam/ocaml-3.12.patch @@ -0,0 +1,12 @@ +diff -ru megam_0.92/Makefile megam_0.92-b/Makefile +--- megam_0.92/Makefile 2007-10-08 18:06:04.000000000 +0100 ++++ megam_0.92-b/Makefile 2013-11-25 10:14:20.000000000 +0000 +@@ -59,7 +59,7 @@ + + WITHUNIX =unix.cma -cclib -lunix + +-WITHSTR =str.cma -cclib -lstr ++WITHSTR =str.cma -cclib -lcamlstr + + WITHBIGARRAY =bigarray.cma -cclib -lbigarray + diff --git a/pkgs/applications/science/misc/megam/ocaml-includes.patch b/pkgs/applications/science/misc/megam/ocaml-includes.patch new file mode 100644 index 000000000000..b3a56643448c --- /dev/null +++ b/pkgs/applications/science/misc/megam/ocaml-includes.patch @@ -0,0 +1,21 @@ +diff -ru megam_0.92/Makefile megam_0.92-b/Makefile +--- megam_0.92/Makefile 2007-10-08 18:06:04.000000000 +0100 ++++ megam_0.92-b/Makefile 2013-11-25 10:14:20.000000000 +0000 +@@ -41,7 +41,7 @@ + # + # The Caml compilers. # + # You may fix here the path to access the Caml compiler on your machine +-CAMLC = ocamlc -g ++CAMLC = ocamlc -g $(WITHCLIBS) + CAMLOPT = ocamlopt -unsafe -ccopt -O4 -ccopt -ffast-math -inline 99999 + CAMLDEP = ocamldep + CAMLLEX = ocamllex +@@ -70,7 +70,7 @@ + WITHDBM =dbm.cma -cclib -lmldbm -cclib -lndbm + + #WITHCLIBS =-I /usr/lib/ocaml/3.09.2/caml +-WITHCLIBS =-I /usr/lib/ocaml/caml ++WITHCLIBS =-I $(CAML_INCLUDES) + + ################ End of user's variables ##################### + diff --git a/pkgs/applications/science/misc/root/cmake.patch b/pkgs/applications/science/misc/root/cmake.patch new file mode 100644 index 000000000000..b6efd7444fe9 --- /dev/null +++ b/pkgs/applications/science/misc/root/cmake.patch @@ -0,0 +1,11 @@ +--- cmake/modules/RootBuildOptions.cmake 1969-12-31 20:30:01.000000000 -0330 ++++ cmake/modules/RootBuildOptions.cmake 2014-01-10 14:09:29.424937408 -0330 +@@ -149,7 +149,7 @@ + + #---General Build options---------------------------------------------------------------------- + # use, i.e. don't skip the full RPATH for the build tree +-set(CMAKE_SKIP_BUILD_RPATH FALSE) ++set(CMAKE_SKIP_BUILD_RPATH TRUE) + # when building, don't use the install RPATH already (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + # add the automatically determined parts of the RPATH diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix new file mode 100644 index 000000000000..53a045ac6f0e --- /dev/null +++ b/pkgs/applications/science/misc/root/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, cmake, mesa, libX11, gfortran, libXpm, libXft, libXext, zlib }: + +stdenv.mkDerivation rec { + name = "root-${version}"; + version = "5.34.15"; + + src = fetchurl { + url = "ftp://root.cern.ch/root/root_v${version}.source.tar.gz"; + sha256 = "1bkiggcyya39a794d3d2rzzmmkbdymf86hbqhh0l1pl4f38xvp6i"; + }; + + buildInputs = [ cmake gfortran mesa libX11 libXpm libXft libXext zlib ]; + + # CMAKE_INSTALL_RPATH_USE_LINK_PATH is set to FALSE in + # /cmake/modules/RootBuildOptions.cmake. + # This patch sets it to TRUE. + patches = [ ./cmake.patch ]; + patchFlags = "-p0"; + + enableParallelBuilding = true; + + meta = { + homepage = "http://root.cern.ch/drupal/"; + description = "A data analysis framework"; + platforms = stdenv.lib.platforms.mesaPlatforms; + }; +} diff --git a/pkgs/applications/taxes/aangifte-2005/builder.sh b/pkgs/applications/taxes/aangifte-2005/builder.sh deleted file mode 100644 index 8d284176d444..000000000000 --- a/pkgs/applications/taxes/aangifte-2005/builder.sh +++ /dev/null @@ -1,17 +0,0 @@ -source $stdenv/setup - -buildPhase() { - for i in bin/*; do - patchelf \ - --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $libX11/lib:$libXext/lib \ - $i - done -} - -installPhase() { - mkdir -p $out - cp -prvd * $out/ -} - -genericBuild diff --git a/pkgs/applications/taxes/aangifte-2005/default.nix b/pkgs/applications/taxes/aangifte-2005/default.nix deleted file mode 100644 index 03ba20b11dae..000000000000 --- a/pkgs/applications/taxes/aangifte-2005/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, libX11, libXext}: - -stdenv.mkDerivation { - name = "aangifte2005-1"; - builder = ./builder.sh; - - src = fetchurl { - url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2005_linux.tar.gz; - md5 = "9cc709b8ad041f4b20154ff1491d0436"; - }; - - inherit libX11 libXext; -} diff --git a/pkgs/applications/taxes/aangifte-2006/default.nix b/pkgs/applications/taxes/aangifte-2006/default.nix index 8bf5ddeee40d..72d6999fa1d7 100644 --- a/pkgs/applications/taxes/aangifte-2006/default.nix +++ b/pkgs/applications/taxes/aangifte-2006/default.nix @@ -14,5 +14,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2006"; url = "http://www.belastingdienst.nl/download/1341.html"; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2007/default.nix b/pkgs/applications/taxes/aangifte-2007/default.nix index 3cd472b51c25..15c826feb6e7 100644 --- a/pkgs/applications/taxes/aangifte-2007/default.nix +++ b/pkgs/applications/taxes/aangifte-2007/default.nix @@ -17,5 +17,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2007"; url = "http://www.belastingdienst.nl/download/1341.html"; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2008/default.nix b/pkgs/applications/taxes/aangifte-2008/default.nix index 85d5b3045be0..905471cb76b8 100644 --- a/pkgs/applications/taxes/aangifte-2008/default.nix +++ b/pkgs/applications/taxes/aangifte-2008/default.nix @@ -18,5 +18,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2008 (Dutch Tax Return Program)"; url = http://www.belastingdienst.nl/particulier/aangifte2008/aangifte_2008/aangifte_2008.html; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2009/default.nix b/pkgs/applications/taxes/aangifte-2009/default.nix index eeeb4a1d1e53..9aa7a8172711 100644 --- a/pkgs/applications/taxes/aangifte-2009/default.nix +++ b/pkgs/applications/taxes/aangifte-2009/default.nix @@ -33,5 +33,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2009 (Dutch Tax Return Program)"; url = http://www.belastingdienst.nl/particulier/aangifte2009/download/; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2010/default.nix b/pkgs/applications/taxes/aangifte-2010/default.nix index 65ff561ee9ef..23338c01ec3e 100644 --- a/pkgs/applications/taxes/aangifte-2010/default.nix +++ b/pkgs/applications/taxes/aangifte-2010/default.nix @@ -33,5 +33,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2010 (Dutch Tax Return Program)"; url = http://www.belastingdienst.nl/particulier/aangifte2009/download/; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2011/default.nix b/pkgs/applications/taxes/aangifte-2011/default.nix index 0bffad95d50b..e5bc233affa0 100644 --- a/pkgs/applications/taxes/aangifte-2011/default.nix +++ b/pkgs/applications/taxes/aangifte-2011/default.nix @@ -33,5 +33,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2011 (Dutch Tax Return Program)"; url = http://www.belastingdienst.nl/particulier/aangifte2009/download/; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2012/default.nix b/pkgs/applications/taxes/aangifte-2012/default.nix index 8f36fd485ddd..544fe4ec55f9 100644 --- a/pkgs/applications/taxes/aangifte-2012/default.nix +++ b/pkgs/applications/taxes/aangifte-2012/default.nix @@ -34,5 +34,8 @@ stdenv.mkDerivation { meta = { description = "Elektronische aangifte IB 2012 (Dutch Tax Return Program)"; url = http://www.belastingdienst.nl/particulier/aangifte2012/download/; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/applications/taxes/aangifte-2013/default.nix b/pkgs/applications/taxes/aangifte-2013/default.nix new file mode 100644 index 000000000000..5cf90320adc7 --- /dev/null +++ b/pkgs/applications/taxes/aangifte-2013/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }: + +stdenv.mkDerivation { + name = "aangifte2013-1"; + + src = fetchurl { + url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2013_linux.tar.gz; + sha256 = "05biqxz39gwln960xj31yg8s2chdn9vs0lzm4rlcwcavxy8lam1c"; + }; + + dontStrip = true; + dontPatchELF = true; + + buildInputs = [ makeWrapper ]; + + buildPhase = + '' + for i in bin/*; do + patchelf \ + --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \ + $i + done + ''; + + installPhase = + '' + mkdir -p $out + cp -prvd * $out/ + wrapProgram $out/bin/ib2013ux --prefix PATH : ${xdg_utils}/bin \ + --prefix LD_PRELOAD : $(cat $NIX_GCC/nix-support/orig-gcc)/lib/libgcc_s.so.1 + ''; + + meta = { + description = "Elektronische aangifte IB 2013 (Dutch Tax Return Program)"; + url = http://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/themaoverstijgend/programmas_en_formulieren/aangifteprogramma_2013_linux; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; + }; +} diff --git a/pkgs/applications/version-management/bazaar/add_certificates.patch b/pkgs/applications/version-management/bazaar/add_certificates.patch new file mode 100644 index 000000000000..332f42aa89cc --- /dev/null +++ b/pkgs/applications/version-management/bazaar/add_certificates.patch @@ -0,0 +1,11 @@ +diff -ru orig/bzrlib/transport/http/_urllib2_wrappers.py bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py +--- orig/bzrlib/transport/http/_urllib2_wrappers.py 2013-07-27 13:50:53.000000000 +0200 ++++ bzr-2.6.0/bzrlib/transport/http/_urllib2_wrappers.py 2014-02-04 18:34:15.838622492 +0100 +@@ -86,6 +86,7 @@ + u"/usr/local/share/certs/ca-root-nss.crt", # FreeBSD + # XXX: Needs checking, can't trust the interweb ;) -- vila 2012-01-25 + u'/etc/openssl/certs/ca-certificates.crt', # Solaris ++ u'@certPath@', + ] + def default_ca_certs(): + if sys.platform == 'win32': diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix index 1eb114ecd8ce..2ea916052a38 100644 --- a/pkgs/applications/version-management/bazaar/default.nix +++ b/pkgs/applications/version-management/bazaar/default.nix @@ -1,20 +1,28 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, pythonPackages, cacert }: stdenv.mkDerivation rec { - version = "2.5"; - release = ".1"; + version = "2.6"; + release = ".0"; name = "bazaar-${version}${release}"; src = fetchurl { url = "http://launchpad.net/bzr/${version}/${version}${release}/+download/bzr-${version}${release}.tar.gz"; - sha256 = "10krjbzia2avn09p0cdlbx2wya0r5v11w5ymvyl72af5dkx4cwwn"; + sha256 = "1c6sj77h5f97qimjc14kr532kgc0jk3wq778xrkqi0pbh9qpk509"; }; - buildInputs = [ pythonPackages.python pythonPackages.wrapPython ]; + buildInputs = [ pythonPackages.python pythonPackages.wrapPython cacert ]; # Readline support is needed by bzrtools. pythonPath = [ pythonPackages.readline ]; + # Bazaar can't find the certificates alone + patches = [ ./add_certificates.patch ]; + postPatch = '' + substituteInPlace bzrlib/transport/http/_urllib2_wrappers.py \ + --subst-var-by "certPath" "${cacert}/etc/ca-bundle.crt" + ''; + + installPhase = '' python setup.py install --prefix=$out wrapPythonPrograms diff --git a/pkgs/applications/version-management/codeville/0.8.0.nix b/pkgs/applications/version-management/codeville/0.8.0.nix index 5c1910d6c6f6..0c0f3c4c19c0 100644 --- a/pkgs/applications/version-management/codeville/0.8.0.nix +++ b/pkgs/applications/version-management/codeville/0.8.0.nix @@ -1,6 +1,6 @@ args : with args; -if (! python ? db4Support) || (! python.db4Support) then +if (! python ? dbSupport) || (! python.dbSupport) then throw ''Python DB4 support is required for codeville.'' else diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index 2a669729a9c6..c2793190e892 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}: stdenv.mkDerivation { - name = "fossil-1.27"; + name = "fossil-1.28"; src = fetchurl { - url = http://www.fossil-scm.org/download/fossil-src-20130911114349.tar.gz; - sha256 = "0n40z8bx2311i11zjx2x15lw3q8vzjwvfqzikrjlqnpal4vzd72f"; + url = http://www.fossil-scm.org/download/fossil-src-20140127173344.tar.gz; + sha256 = "105a3f3wiqshmkw8q7f7ask3nm0jkjf0h3h2283qiqlsqfkwb9xc"; }; buildInputs = [ zlib openssl readline sqlite ]; diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index ce4d9f98596f..47fa80cb9013 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -4,20 +4,23 @@ }: stdenv.mkDerivation rec { - name = "cgit-0.10"; + name = "cgit-${version}"; + version = "0.10.1"; src = fetchurl { url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; - sha256 = "0ynywva0lrsasdm3nlk3dmd8k5bnrd9qlvmk4n42dfw9g1xj5i4h"; + sha256 = "0bci1p9spf79wirc4lk36cndcx2b9wj0fq1l58rlp6r563is77l3"; }; # cgit is is tightly coupled with git and needs a git source tree to build. # The cgit-0.10 Makefile has GIT_VER = 1.8.5, so use that version. # IMPORTANT: Remember to check which git version cgit needs on every version # bump. + # NOTE: as of 0.10.1, the git version is compatible from 1.9.0 to + # 1.9.2 (see the repository history) gitSrc = fetchurl { - url = https://git-core.googlecode.com/files/git-1.8.5.tar.gz; - sha256 = "08vbq8y3jx1da417hkqmrkdkysac1sqjvrjmaj1v56dmkghm43w7"; + url = "https://www.kernel.org/pub/software/scm/git/git-1.9.2.tar.xz"; + sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13"; }; buildInputs = [ @@ -53,6 +56,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://git.zx2c4.com/cgit/about/; + repositories.git = git://git.zx2c4.com/cgit; description = "Web frontend for git repositories"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index ee1de54a4fb0..96e4631889c7 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -4,10 +4,8 @@ args: with args; with pkgs; let inherit (pkgs) stdenv fetchgit fetchurl subversion; -in -rec { - git = lib.makeOverridable (import ./git) { + gitBase = lib.makeOverridable (import ./git) { inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl tk makeWrapper subversionClient gzip; @@ -24,6 +22,9 @@ rec { ]; }; +in +rec { + # support for bugzilla gitBz = import ./git-bz { inherit fetchgit stdenv makeWrapper python asciidoc xmlto # docbook2x docbook_xsl docbook_xml_dtd_45 libxslt @@ -31,17 +32,19 @@ rec { inherit (pythonPackages) pysqlite; }; + git = appendToName "minimal" gitBase; + # Git with SVN support, but without GUI. - gitSVN = lowPrio (appendToName "with-svn" (git.override { + gitSVN = lowPrio (appendToName "with-svn" (gitBase.override { svnSupport = true; })); # The full-featured Git. - gitFull = appendToName "full" (git.override { + gitFull = gitBase.override { svnSupport = true; guiSupport = true; sendEmailSupport = !stdenv.isDarwin; - }); + }; gitAnnex = pkgs.haskellPackages.gitAnnex; diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index 28b64c118bae..dcf76160ec61 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -1,34 +1,37 @@ -{ cabal, aeson, async, blazeBuilder, bloomfilter, bup +{ cabal, aeson, async, blazeBuilder, bloomfilter, bup, byteable , caseInsensitive, clientsession, cryptoApi, cryptohash, curl , dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance -, extensibleExceptions, feed, filepath, git, gnupg1, gnutls, hamlet -, hinotify, hS3, hslogger, HTTP, httpConduit, httpTypes, IfElse -, json, lsof, MissingH, MonadCatchIOTransformers, monadControl, mtl -, network, networkConduit, networkInfo, networkMulticast -, networkProtocolXmpp, openssh, perl, QuickCheck, random, regexTdfa -, rsync, SafeSemaphore, SHA, stm, tasty, tastyHunit -, tastyQuickcheck, text, time, transformers, unixCompat, utf8String -, uuid, wai, waiLogger, warp, which, xmlConduit, xmlTypes, yesod -, yesodCore, yesodDefault, yesodForm, yesodStatic +, extensibleExceptions, fdoNotify, feed, filepath, git, gnupg1 +, gnutls, hamlet, hinotify, hS3, hslogger, HTTP, httpClient +, httpConduit, httpTypes, IfElse, json, liftedBase, lsof, MissingH +, MonadCatchIOTransformers, monadControl, mtl, network +, networkConduit, networkInfo, networkMulticast +, networkProtocolXmpp, openssh, optparseApplicative, perl +, QuickCheck, random, regexTdfa, rsync, SafeSemaphore, securemem +, SHA, stm, tasty, tastyHunit, tastyQuickcheck, tastyRerun, text +, time, transformers, unixCompat, utf8String, uuid, wai, waiLogger +, warp, warpTls, which, xmlTypes, yesod, yesodCore, yesodDefault +, yesodForm, yesodStatic }: cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140108"; - sha256 = "17j1avmg66lda52p93689n4mas46rfbjdvss1rvmdh10cj7hg8jy"; + version = "5.20140405"; + sha256 = "0nbfnv9z2jhx2jr2nma0y1znvbaa09rv1drl6wk27j6xsbiq3p3k"; isLibrary = false; isExecutable = true; buildDepends = [ - aeson async blazeBuilder bloomfilter caseInsensitive clientsession - cryptoApi cryptohash dataDefault dataenc DAV dbus dlist dns - editDistance extensibleExceptions feed filepath gnutls hamlet - hinotify hS3 hslogger HTTP httpConduit httpTypes IfElse json - MissingH MonadCatchIOTransformers monadControl mtl network - networkConduit networkInfo networkMulticast networkProtocolXmpp - QuickCheck random regexTdfa SafeSemaphore SHA stm tasty tastyHunit - tastyQuickcheck text time transformers unixCompat utf8String uuid - wai waiLogger warp xmlConduit xmlTypes yesod yesodCore yesodDefault - yesodForm yesodStatic + aeson async blazeBuilder bloomfilter byteable caseInsensitive + clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus + dlist dns editDistance extensibleExceptions fdoNotify feed filepath + gnutls hamlet hinotify hS3 hslogger HTTP httpClient httpConduit + httpTypes IfElse json liftedBase MissingH MonadCatchIOTransformers + monadControl mtl network networkConduit networkInfo + networkMulticast networkProtocolXmpp optparseApplicative QuickCheck + random regexTdfa SafeSemaphore securemem SHA stm tasty tastyHunit + tastyQuickcheck tastyRerun text time transformers unixCompat + utf8String uuid wai waiLogger warp warpTls xmlTypes yesod yesodCore + yesodDefault yesodForm yesodStatic ]; buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ]; configureFlags = "-fS3 @@ -51,6 +54,7 @@ cabal.mkDerivation (self: { cp dist/build/git-annex/git-annex git-annex ./git-annex test ''; + propagatedUserEnvPkgs = [git lsof]; meta = { homepage = "http://git-annex.branchable.com/"; description = "manage files with git, without checking their contents into git"; diff --git a/pkgs/applications/version-management/git-and-tools/git/cert-path.patch b/pkgs/applications/version-management/git-and-tools/git/cert-path.patch new file mode 100644 index 000000000000..846752f5bfe3 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/cert-path.patch @@ -0,0 +1,12 @@ +diff -ru -x '*~' git-1.9.2-orig/git-send-email.perl git-1.9.2/git-send-email.perl +--- git-1.9.2-orig/git-send-email.perl 2014-04-09 21:09:34.000000000 +0200 ++++ git-1.9.2/git-send-email.perl 2014-04-16 18:35:05.861132282 +0200 +@@ -1094,6 +1094,8 @@ + return; + } + ++ $smtp_ssl_cert_path //= $ENV{'OPENSSL_X509_CERT_FILE'}; ++ + if (!defined $smtp_ssl_cert_path) { + # use the OpenSSL defaults + return (SSL_verify_mode => SSL_VERIFY_PEER()); diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index dd8821711de1..861030bae994 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -10,7 +10,7 @@ let - version = "1.8.5.2"; + version = "1.9.2"; svn = subversionClient.override { perlBindings = true; }; @@ -20,11 +20,11 @@ stdenv.mkDerivation { name = "git-${version}"; src = fetchurl { - url = "http://git-core.googlecode.com/files/git-${version}.tar.gz"; - sha256 = "12iyj6f89dmb1cn2pvym5lrf23g4m71mp9pwkbi1zscb9d998ih2"; + url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; + sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13"; }; - patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ]; + patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ]; buildInputs = [curl openssl zlib expat gettext cpio makeWrapper] ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x @@ -35,7 +35,10 @@ stdenv.mkDerivation { NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; makeFlags = "prefix=\${out} sysconfdir=/etc/ PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} " - + (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1"); + + (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1") + + (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "") + + (if stdenv.isDarwin then " NO_APPLE_COMMON_CRYPTO=1" else ""); + # FIXME: "make check" requires Sparse; the Makefile must be tweaked # so that `SPARSE_FLAGS' corresponds to the current architecture... @@ -46,8 +49,7 @@ stdenv.mkDerivation { postInstall = '' notSupported() { - echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1" - chmod +x $1 + unlink $1 || true } # Install git-subtree. @@ -65,7 +67,7 @@ stdenv.mkDerivation { mkdir -p $out/etc/bash_completion.d ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/ - # grep is a runtime dependence, need to patch so that it's found + # grep is a runtime dependency, need to patch so that it's found substituteInPlace $out/libexec/git-core/git-sh-setup \ --replace ' grep' ' ${gnugrep}/bin/grep' \ --replace ' egrep' ' ${gnugrep}/bin/egrep' @@ -76,7 +78,7 @@ stdenv.mkDerivation { -e 's| perl -e| ${perl}/bin/perl -e|g' \ $out/libexec/git-core/{git-am,git-submodule} - # gzip (and optionally bzip2, xz, zip) are a runtime dependencies for + # gzip (and optionally bzip2, xz, zip) are runtime dependencies for # gitweb.cgi, need to patch so that it's found sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \ $out/share/gitweb/gitweb.cgi @@ -93,7 +95,7 @@ stdenv.mkDerivation { --set GITPERLLIB "$gitperllib" \ --prefix PATH : "${svn}/bin" '' else '' # replace git-svn by notification script - notSupported $out/libexec/git-core/git-svn "reinstall with config git = { svnSupport = true } set" + notSupported $out/libexec/git-core/git-svn '') + (if sendEmailSupport then @@ -105,7 +107,7 @@ stdenv.mkDerivation { wrapProgram $out/libexec/git-core/git-send-email \ --set GITPERLLIB "$gitperllib" '' else '' # replace git-send-email by notification script - notSupported $out/libexec/git-core/git-send-email "reinstall with config git = { sendEmailSupport = true } set" + notSupported $out/libexec/git-core/git-send-email '') + stdenv.lib.optionalString withManual ''# Install man pages and Info manual @@ -122,8 +124,7 @@ stdenv.mkDerivation { '' else '' # Don't wrap Tcl/Tk, replace them by notification scripts for prog in bin/gitk libexec/git-core/git-gui; do - notSupported "$out/$prog" \ - "reinstall with config git = { guiSupport = true; } set" + notSupported "$out/$prog" done ''); diff --git a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix index 26a7826d4f0c..0898345c30b6 100644 --- a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix +++ b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "gitflow-${version}"; - version = "1.6.1"; + version = "1.7.0"; src = fetchurl { url = "https://github.com/petervanderdoes/gitflow/archive/${version}.tar.gz"; - sha256 = "1f4879ahi8diddn7qvhr0dkj96gh527xnfihbf1ha83fn9cvvcls"; + sha256 = "0rppgyqgk0drip6852bdm2479zks16cb3mj1jdw6jq80givrqnjx"; }; preBuild = '' diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix index b9a053211fae..28484322d351 100644 --- a/pkgs/applications/version-management/git-and-tools/hub/default.nix +++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hub-${version}"; - version = "1.10.6"; + version = "1.12.0"; src = fetchurl { url = "https://github.com/github/hub/archive/v${version}.tar.gz"; - sha256 = "0vfl1iq1927in81vd7zvp7yqqzay7pciyj87s83qfxrqyjpxn609"; + sha256 = "1lbl4dl7483q320qw4jm6mqq4dbbk3xncypxgg86zcdigxvw6igv"; }; buildInputs = [ rake makeWrapper ]; diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix index 6518f32ef7c6..d4b74390c4cc 100644 --- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, git }: let - name = "stgit-0.16"; + name = "stgit-0.17.1"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "http://download.gna.org/stgit/${name}.tar.gz"; - sha256 = "0hla6401g2kicaakz4awk67yf8fhqbw1shn1p9ma5x6ca29s3w82"; + sha256 = "1pka0ns9x0kabn036zsf0mwmwiynckhnva51kgxsch9fqah6acyl"; }; buildInputs = [ python git ]; diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix index 0053a1dfafbe..b0cfcaeb1108 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, ruby, makeWrapper, git }: let - version = "2.2.2"; + version = "2.2.5"; in stdenv.mkDerivation { name = "svn2git-${version}"; src = fetchurl { url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz"; - sha256 = "14zinkpgybz15jvbfw0sb432w6f5w4sa5pdqycjwva8v8lxqn9mh"; + sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh"; }; buildInputs = [ ruby makeWrapper ]; diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix index 23009efdbd54..fd9011130e34 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { description = "Text-mode interface for git"; maintainers = with maintainers; [ garbas bjornfor iElectric ]; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix index 3b6d19e8fcf2..13c554767743 100644 --- a/pkgs/applications/version-management/gource/default.nix +++ b/pkgs/applications/version-management/gource/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { configureFlags = "--with-boost-libdir=${boost}/lib"; + NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions + meta = { homepage = "http://code.google.com/p/gource/"; description = "software version control visualization tool"; diff --git a/pkgs/applications/version-management/kdesvn/default.nix b/pkgs/applications/version-management/kdesvn/default.nix index 6373eb9f7f97..60f5d8bb9e08 100644 --- a/pkgs/applications/version-management/kdesvn/default.nix +++ b/pkgs/applications/version-management/kdesvn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs, expat }: +{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db, kdelibs, expat }: # the homepage mentions this is the final release. # from now on, kdesvn will be part of the official kde software distribution @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sed -i -e "s|/usr|${subversion}|g" src/svnqt/cmakemodules/FindSubversion.cmake ''; - buildInputs = [ apr aprutil subversion db4 kdelibs expat ]; + buildInputs = [ apr aprutil subversion db kdelibs expat ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index fae0c6a5ed6b..5fdafe8ac2aa 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -2,7 +2,7 @@ , guiSupport ? false, tk ? null, curses }: let - name = "mercurial-2.8.2"; + name = "mercurial-2.9.2"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://mercurial.selenic.com/release/${name}.tar.gz"; - sha256 = "0vxyxx91k6z0knfqslbwxswbc52abrg2pdf395kwvij026ibm9f8"; + sha256 = "0lwgncim4cy91ly8389h2bbhl4nbi8xjgp0kx37kgq8q2lx2nil6"; }; inherit python; # pass it so that the same version can be used in hg2git diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix index 9e8024d7b191..e89cea6aadce 100644 --- a/pkgs/applications/version-management/mr/default.nix +++ b/pkgs/applications/version-management/mr/default.nix @@ -17,13 +17,14 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -pv $out/bin $out/share/man/man1 + mkdir -pv $out/bin $out/share/man/man1 $out/share/mr cp -v mr $out/bin cp -v webcheckout $out/bin cp -v mr.1 $out/share/man/man1 cp -v webcheckout.1 $out/share/man/man1 + cp -v lib/* $out/share/mr ''; - + meta = { description = "Multiple Repository management tool"; longDescription = ''The mr(1) command can checkout, update, or perform other actions on a @@ -53,4 +54,3 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.antono ]; }; } - diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix index 5f88bbc74cc6..90bca9b07124 100644 --- a/pkgs/applications/version-management/rcs/default.nix +++ b/pkgs/applications/version-management/rcs/default.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, ed }: stdenv.mkDerivation rec { - name = "rcs-5.8.2"; + name = "rcs-5.9.2"; src = fetchurl { - url = "mirror://gnu/rcs/${name}.tar.gz"; - sha256 = "1p4kqqrvc7plc3n6ls4xwp6d3mw1jcx9p36pilwd65q31mgbs07a"; + url = "mirror://gnu/rcs/${name}.tar.xz"; + sha256 = "0wdmmplga9k05d9k7wjqv4zb6xvvzsli8hmn206pvangki1g66k5"; }; + buildInputs = [ ed ]; + doCheck = true; meta = { diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 67346ef8389b..e699b82f2b0a 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null; stdenv.mkDerivation rec { - version = "1.8.5"; + version = "1.8.8"; name = "subversion-${version}"; src = fetchurl { url = "mirror://apache/subversion/${name}.tar.bz2"; - sha256 = "0r3mxrrlr1l9s2nh829bf0qmrfaafkq3di6ndr10j76sxkqjnlpx"; + sha256 = "1cqxwydjidyf59y4lgkxl7bra1sy28abqm2mi5971qjsv0f96s8m"; }; buildInputs = [ zlib apr aprutil sqlite ] @@ -77,6 +77,6 @@ stdenv.mkDerivation rec { description = "A version control system intended to be a compelling replacement for CVS in the open source community"; homepage = http://subversion.apache.org/; maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ]; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/applications/version-management/vcsh/default.nix b/pkgs/applications/version-management/vcsh/default.nix new file mode 100644 index 000000000000..d438cb1bc6cd --- /dev/null +++ b/pkgs/applications/version-management/vcsh/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchgit}: + +stdenv.mkDerivation rec { + rev = "75c4c554eefbefb714fabd356933858edbce3b1e"; + version = "1.20131229"; + name = "vcsh-${version}_${rev}"; + + src = fetchgit { + inherit rev; + url = "https://github.com/RichiH/vcsh"; + sha256 = "0rc82a8vnnk9q6q88z9s10873gqgdpppbpwy2yw8a7hydqrpn0hs"; + }; + + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out/bin + cp vcsh $out/bin + ''; + + meta = { + description = "Version Control System for $HOME"; + homepage = https://github.com/RichiH/vcsh; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix index cbbb23b04a05..9bbc7c9e7395 100644 --- a/pkgs/applications/video/aegisub/default.nix +++ b/pkgs/applications/video/aegisub/default.nix @@ -5,7 +5,7 @@ , libass, fftw, ffms , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies , spellChecking ? true, hunspell ? null -, automationSupport ? true, lua ? null +, automationSupport ? true, lua ? null , openalSupport ? false, openal ? null , alsaSupport ? true, alsaLib ? null , pulseaudioSupport ? true, pulseaudio ? null @@ -39,11 +39,11 @@ stdenv.mkDerivation rec { ; NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm"; - - preConfigure = "cd aegisub"; - + + preConfigure = "cd aegisub"; + postInstall = "ln -s $out/bin/aegisub-3.0 $out/bin/aegisub"; - + meta = { description = "An advanced subtitle editor"; longDescription = '' @@ -53,7 +53,12 @@ stdenv.mkDerivation rec { built-in real-time video preview. ''; homepage = http://www.aegisub.org/; - license = "BSD"; # The Aegisub sources are itself BSD/ISC, but they are linked against GPL'd softwares + license = stdenv.lib.licenses.bsd3; + # The Aegisub sources are itself BSD/ISC, + # but they are linked against GPL'd softwares + # - so the resulting program will be GPL + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index d706d16241ce..485d8c54eb36 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,20 +1,23 @@ {stdenv, fetchurl, cmake, pkgconfig, libxml2, qt4, gtk, gettext, SDL, libXv, pixman, libpthreadstubs, libXau, libXdmcp, libxslt, x264, -alsaLib, lame, faac, faad2, libvorbis, yasm, libvpx, xvidcore, libva }: +alsaLib, lame, faad2, libvorbis, yasm, libvpx, xvidcore, libva, +faac ? null, faacSupport ? false }: assert stdenv ? glibc; +assert faacSupport -> faac != null; stdenv.mkDerivation { name = "avidemux-2.5.6"; - + src = fetchurl { url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz; sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn"; }; - + buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv - pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib - lame faac faad2 libvorbis yasm libvpx xvidcore libva ]; + pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib + lame faad2 libvorbis yasm libvpx xvidcore libva + ] ++ stdenv.lib.optional faacSupport faac; cmakeFlags = "-DPTHREAD_INCLUDE_DIR=${stdenv.glibc}/include" + " -DGETTEXT_INCLUDE_DIR=${gettext}/include" + @@ -34,7 +37,7 @@ stdenv.mkDerivation { make install ''; - meta = { + meta = { homepage = http://fixounet.free.fr/avidemux/; description = "Free video editor designed for simple video editing tasks"; maintainers = with stdenv.lib.maintainers; [viric]; diff --git a/pkgs/applications/video/bangarang/default.nix b/pkgs/applications/video/bangarang/default.nix index 5dde88076a1e..1058243c0e08 100644 --- a/pkgs/applications/video/bangarang/default.nix +++ b/pkgs/applications/video/bangarang/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ]; nativeBuildInputs = [ cmake ]; + patches = [ ./gcc-4.7.patch ]; + meta = with stdenv.lib; { description = "A media player for KDE based on Nepomuk and Phonon"; longDescription = '' diff --git a/pkgs/applications/video/bangarang/gcc-4.7.patch b/pkgs/applications/video/bangarang/gcc-4.7.patch new file mode 100644 index 000000000000..d4f650b9caf5 --- /dev/null +++ b/pkgs/applications/video/bangarang/gcc-4.7.patch @@ -0,0 +1,45 @@ +commit b893fcdb7ddfc8c59fd29a29b7265a713c3dbab1 +Author: Alex Fiestas +Date: Thu Mar 29 10:09:22 2012 +0200 + + Build fix: Add unistd.h include since sleep is defined there + +diff --git a/src/platform/infofetchers/lastfminfofetcher.cpp b/src/platform/infofetchers/lastfminfofetcher.cpp +index 0c49d69..fcc4cd3 100644 +--- a/src/platform/infofetchers/lastfminfofetcher.cpp ++++ b/src/platform/infofetchers/lastfminfofetcher.cpp +@@ -32,6 +32,8 @@ + #include + #include + ++#include ++ + LastfmInfoFetcher::LastfmInfoFetcher(QObject *parent) : + InfoFetcher(parent) + { +diff --git a/src/platform/infofetchers/tmdbinfofetcher.cpp b/src/platform/infofetchers/tmdbinfofetcher.cpp +index 7801644..3c01960 100644 +--- a/src/platform/infofetchers/tmdbinfofetcher.cpp ++++ b/src/platform/infofetchers/tmdbinfofetcher.cpp +@@ -30,6 +30,8 @@ + #include + #include + ++#include ++ + TMDBInfoFetcher::TMDBInfoFetcher(QObject *parent) : + InfoFetcher(parent) + { +diff --git a/src/platform/infofetchers/tvdbinfofetcher.cpp b/src/platform/infofetchers/tvdbinfofetcher.cpp +index ff351b0..670ed18 100644 +--- a/src/platform/infofetchers/tvdbinfofetcher.cpp ++++ b/src/platform/infofetchers/tvdbinfofetcher.cpp +@@ -30,6 +30,8 @@ + #include + #include + ++#include ++ + TVDBInfoFetcher::TVDBInfoFetcher(QObject *parent) : + InfoFetcher(parent) + { diff --git a/pkgs/applications/video/dvswitch/default.nix b/pkgs/applications/video/dvswitch/default.nix deleted file mode 100644 index 8803fe0a7868..000000000000 --- a/pkgs/applications/video/dvswitch/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, alsaLib, boost, cmake, gtkmm, libXau, libXdmcp -, libXv, libav, pixman, libpthreadstubs, pkgconfig -}: - -stdenv.mkDerivation rec { - name = "dvswitch-${version}"; - version = "0.8.3.6"; - - src = fetchurl { - url = "https://alioth.debian.org/frs/download.php/3615/${name}.tar.gz"; - sha256 = "7bd196389f9913ae08e12a29e168d79324c508bb545eab114df77b0375cd87f0"; - }; - - buildInputs = [ - alsaLib boost cmake gtkmm libXau libXdmcp libXv libav - libpthreadstubs pixman pkgconfig - ]; - - patchPhase = '' - sed -e "s@prefix /usr/local@prefix $out@" -i CMakeLists.txt - ''; - - meta = with stdenv.lib; { - description = "interactive live video mixer for DV streams"; - homepage = "http://dvswitch.alioth.debian.org"; - license = licenses.gpl2Plus; - maintainers = [ maintainers.goibhniu ]; - }; -} diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix index 4f2addcc99b0..ef40d614a397 100644 --- a/pkgs/applications/video/gnash/default.nix +++ b/pkgs/applications/video/gnash/default.nix @@ -10,7 +10,13 @@ assert stdenv ? glibc; -let version = "0.8.10"; in +let version = "0.8.10"; + patch_CVE = fetchurl { + url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527"; + sha256 = "1g7ymbq9vxi0mwcgs2dpyd2sf30gaam7blza0ywiwj32f5wk62v1"; + name = "CVE-2012-1175.patch"; + }; +in stdenv.mkDerivation rec { name = "gnash-${version}"; @@ -21,6 +27,8 @@ stdenv.mkDerivation rec { }; patchPhase = '' + patch -p1 < ${patch_CVE} + # Add all libs to `macros/libslist', a list of library search paths. for lib in ${lib.concatStringsSep " " (map (lib: "\"${lib}\"/lib") @@ -73,6 +81,8 @@ stdenv.mkDerivation rec { echo "\$GST_PLUGIN_PATH set to \`$GST_PLUGIN_PATH'" ''; + postConfigure = "echo '#define nullptr NULL' >> gnashconfig.h"; + # Make sure `gtk-gnash' gets `libXext' in its `RPATH'. NIX_LDFLAGS="-lX11 -lXext"; @@ -87,9 +97,7 @@ stdenv.mkDerivation rec { # (e.g., gst-ffmpeg is needed to watch movies such as YouTube's). for prog in "$out/bin/"* do - wrapProgram "$prog" --prefix \ - GST_PLUGIN_PATH ":" \ - "${gst_plugins_base}/lib/gstreamer-0.10:${gst_plugins_good}/lib/gstreamer-0.10:${gst_ffmpeg}/lib/gstreamer-0.10" + wrapProgram "$prog" --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" done ''; diff --git a/pkgs/applications/video/kazam/bug_1190693.patch b/pkgs/applications/video/kazam/bug_1190693.patch new file mode 100644 index 000000000000..9f00c6b60791 --- /dev/null +++ b/pkgs/applications/video/kazam/bug_1190693.patch @@ -0,0 +1,14 @@ +=== modified file 'kazam/frontend/indicator.py' +--- a/kazam/frontend/indicator.py 2013-01-26 01:53:53 +0000 ++++ b/kazam/frontend/indicator.py 2013-06-13 18:18:37 +0000 +@@ -291,3 +291,9 @@ + def start_recording(self): + logger.debug("Recording started.") + self.indicator.set_from_icon_name("kazam-recording") ++ ++ def hide_it(self): ++ self.indicator.set_visible(False) ++ ++ def show_it(self): ++ self.indicator.set_visible(True) + diff --git a/pkgs/applications/video/kazam/datadir.patch b/pkgs/applications/video/kazam/datadir.patch new file mode 100644 index 000000000000..114d4228be2d --- /dev/null +++ b/pkgs/applications/video/kazam/datadir.patch @@ -0,0 +1,11 @@ +--- a/bin/kazam 2014-02-03 23:11:38.465614061 +0100 ++++ b/bin/kazam-1 2014-02-03 23:12:28.447058700 +0100 +@@ -68,7 +68,7 @@ + # when base install path is not /usr + curpath = os.path.abspath(__file__) + curpath = os.path.realpath(curpath) +- datadir = curpath.split('bin/')[0] + "share/kazam/" ++ datadir = os.path.realpath(os.path.join(curpath, "./../../", "share/kazam/")) + + try: + import platform diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix new file mode 100644 index 000000000000..17bf282a459a --- /dev/null +++ b/pkgs/applications/video/kazam/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, python3Packages, gst_all_1, makeWrapper, gobjectIntrospection +, gtk3, libwnck3, keybinder, intltool, libcanberra }: + + +python3Packages.buildPythonPackage rec { + name = "kazam-${version}"; + version = "1.4.3"; + namePrefix = ""; + + src = fetchurl { + url = "https://launchpad.net/kazam/stable/${version}/+download/kazam-${version}.tar.gz"; + sha256 = "00bcn0yj9xrv87sf6xd3wpilsjgjpsj15zzpjh351ffpjnr0ica8"; + }; + + # TODO: keybinder, appindicator3 + buildInputs = with python3Packages; + [ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra + intltool dbus ]; + + # TODO: figure out why PYTHONPATH is not passed automatically for those programs + pythonPath = with python3Packages; + [ pygobject3 pyxdg pycairo dbus ]; + + patches = [ ./datadir.patch ./bug_1190693.patch ]; + prePatch = '' + rm setup.cfg + substituteInPlace kazam/backend/grabber.py --replace "/usr/bin/canberra-gtk-play" "${libcanberra}/bin/canberra-gtk-play" + ''; + + # no tests + doCheck = false; + + preFixup = '' + wrapProgram $out/bin/kazam \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${gtk3}/lib:${gst_all_1.gstreamer}/lib:${keybinder}/lib" \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share" \ + --set GST_REGISTRY "/tmp/kazam.gstreamer.registry"; + ''; + + + meta = with stdenv.lib; { + description = "Cross-platform, Friend-2-Friend and secure decentralised communication platform"; + homepage = https://code.launchpad.net/kazam; + #license = licenses.bsd2; + platforms = platforms.linux; + maintainers = [ maintainers.iElectric ]; + }; +} diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix index 5ca6c80dc7c1..528eeff7e239 100644 --- a/pkgs/applications/video/miro/default.nix +++ b/pkgs/applications/video/miro/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, python, buildPythonPackage, pythonPackages, pkgconfig -, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkit_gtk2, libsoup, pygtk +, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk , taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk -, libtorrentRasterbar +, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg }: @@ -22,9 +22,6 @@ buildPythonPackage rec { patches = [ ./gconf.patch ]; postPatch = '' - sed -i -e '2i import os; os.environ["GST_PLUGIN_PATH"] = \\\ - '"'$GST_PLUGIN_PATH'" miro.real - sed -i -e 's/\$(shell which python)/python/' Makefile sed -i -e 's|/usr/bin/||' -e 's|/usr||' \ -e 's/BUILD_TIME[^,]*/BUILD_TIME=0/' setup.py @@ -40,10 +37,6 @@ buildPythonPackage rec { plat/resources.py ''; - installCommand = '' - python setup.py install --prefix= --root="$out" - ''; - # Disabled for now, because it requires networking and even if we skip those # tests, the whole test run takes around 10-20 minutes. doCheck = false; @@ -51,12 +44,22 @@ buildPythonPackage rec { HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest ''; + preInstall = '' + # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix + ${python}/bin/${python.executable} setup.py install_data --root=$out + sed -i '/data_files=data_files/d' setup.py + ''; + postInstall = '' mv "$out/bin/miro.real" "$out/bin/miro" + wrapProgram "$out/bin/miro" \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" ''; buildInputs = [ - pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkit_gtk2 libsoup + pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup pygtk taglib ]; diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index a20dc0cf590e..903b9afdc4a7 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, fetchgit, freetype, pkgconfig, freefont_ttf, ffmpeg, libass -, lua5, perl, libpthreadstubs +, lua, perl, libpthreadstubs +, lua5_sockets , python3, docutils, which , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null , xineramaSupport ? true, libXinerama ? null @@ -46,26 +47,25 @@ assert cacaSupport -> libcaca != null; # but by purity reasons it should be avoided; thanks the-kenny to point it out! # Now, it will just download and package Waf, mimetizing bootstrap.py behaviour -let +let waf = fetchurl { - url = https://waf.googlecode.com/files/waf-1.7.13; - sha256 = "03cc750049350ee01cdbc584b70924e333fcc17ba4a2d04648dab1535538a873"; + url = https://waf.googlecode.com/files/waf-1.7.15; + sha256 = "e5ae7028f9b2d8ce1acb9fe1092e8010a90ba764d3ac065ea4e846743290b1d6"; }; - version = "0.3.2"; - in stdenv.mkDerivation rec { name = "mpv-${version}"; + version = "0.3.7"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "1vzdhzry2adyp2yh2dmy1qznqhnzar7g24rhi0vv624jgd20qax2"; + sha256 = "1qmwmjvgdwh88l2caw2xy1d2h1cdg2w1hl4q5iwx2c0q7a99h41m"; }; buildInputs = with stdenv.lib; - [ waf freetype pkgconfig ffmpeg libass docutils which libpthreadstubs ] + [ waf freetype pkgconfig ffmpeg libass docutils which libpthreadstubs lua5_sockets ] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ] ++ optional alsaSupport alsaLib ++ optional xvSupport libXv @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { ++ optional cacaSupport libcaca ; - nativeBuildInputs = [ python3 lua5 perl ]; + nativeBuildInputs = [ python3 lua perl ]; # There are almost no need of "configure flags", but some libraries @@ -109,7 +109,7 @@ stdenv.mkDerivation rec { python3 ${waf} install # Maybe not needed, but it doesn't hurt anyway: a standard font mkdir -p $out/share/mpv - ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf + ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf ''; meta = { @@ -118,7 +118,8 @@ stdenv.mkDerivation rec { mpv is a free and open-source general-purpose video player, based on the MPlayer and mplayer2 projects, with great improvements above both. ''; homepage = "http://mpv.io"; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; platforms = stdenv.lib.platforms.linux; }; } @@ -126,6 +127,6 @@ stdenv.mkDerivation rec { # Heavily based on mplayer2 expression # TODO: Wayland support -# TODO: investigate libquvi support: it isn't detected by Waf script! -# TODO: investigate caca support: it isn't detected by Waf script! -# TODO: a more systematic way to test this package +# TODO: investigate libquvi support +# TODO: investigate caca support +# TODO: investigate lua5_sockets bug diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix new file mode 100644 index 000000000000..7f53aa07db60 --- /dev/null +++ b/pkgs/applications/video/pitivi/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper +, pythonPackages, gst, clutter-gst, clutter-gtk +, gobjectIntrospection, clutter, gtk3, librsvg +, gnome_icon_theme, gnome_icon_theme_symbolic, gnome3 +}: + +let + version = "0.93"; +in stdenv.mkDerivation rec { + name = "pitivi-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz"; + sha256 = "0z89dwrd7akhkap270i372yszqib8yqcymv78lhdmn3a8bsa7jhp"; + }; + + meta = with stdenv.lib; { + description = "Non-Linear video editor utilizing the power of GStreamer"; + homepage = "http://pitivi.org/"; + longDescription = '' + Pitivi is a video editor built upon the GStreamer Editing Services. + It aims to be an intuitive and flexible application + that can appeal to newbies and professionals alike. + ''; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ]; + + buildInputs = [ + gobjectIntrospection clutter-gst clutter-gtk librsvg + ] ++ (with gst; [ + gst-python gst-editing-services + gst-plugins-base gst-plugins-good + gst-plugins-bad gst-plugins-ugly gst-libav + ]) ++ (with pythonPackages; [ + python pygobject3 pyxdg numpy pycairo sqlite3 + ]); + + preFixup = with stdenv.lib; with gst; let + libraryPath = makeLibraryPath [ + gstreamer gst-editing-services + clutter-gst clutter-gtk clutter gtk3 + gnome3.gnome_desktop + ]; + in '' + wrapProgram "$out/bin/pitivi" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix LD_LIBRARY_PATH : "${libraryPath}" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "\$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; +} diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix index 49207ad06615..0fdd78fe1068 100644 --- a/pkgs/applications/video/quvi/library.nix +++ b/pkgs/applications/video/quvi/library.nix @@ -1,15 +1,15 @@ -{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts}: +{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libproxy, libgcrypt}: stdenv.mkDerivation rec { name = "libquvi-${version}"; - version="0.4.0"; + version="0.9.4"; src = fetchurl { - url = "mirror://sourceforge/quvi/libquvi-${version}.tar.gz"; - sha256 = "15cm9j8dssn2zhplqvlw49piwfw511lia6b635byiwfniqf6dnwp"; + url = "mirror://sourceforge/quvi/libquvi-${version}.tar.xz"; + sha256 = "1cl1kbgxl1jnx2nwx4z90l0lap09lnnj1fg7hxsxk3m6aj4y4grd"; }; - buildInputs = [ pkgconfig lua5 curl quvi_scripts ]; + buildInputs = [ pkgconfig lua5 curl quvi_scripts libproxy libgcrypt ]; meta = { description = "Web video downloader"; diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix index cc82158ae829..68b61fc453de 100644 --- a/pkgs/applications/video/quvi/scripts.nix +++ b/pkgs/applications/video/quvi/scripts.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "quvi-scripts-${version}"; - version="0.4.0"; + version="0.9.20131130"; src = fetchurl { - url = "mirror://sourceforge/quvi/libquvi-scripts-${version}.tar.gz"; - sha256 = "14p1sn7id4n35isaw3i3h8vsgfqlym09fih9k5xfqwsg6n7xdvq5"; + url = "mirror://sourceforge/quvi/libquvi-scripts-${version}.tar.xz"; + sha256 = "1qvp6z5k1qgcys7vf7jd6fm0g07xixmciwj14ypn1kqhmjgizwhp"; }; buildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix index f8b6aad43106..807e3954d6fe 100644 --- a/pkgs/applications/video/quvi/tool.nix +++ b/pkgs/applications/video/quvi/tool.nix @@ -1,22 +1,25 @@ -{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi}: +{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi, lua5_sockets, glib, makeWrapper}: stdenv.mkDerivation rec { name = "quvi-${version}"; - version="0.4.0"; + version="0.9.5"; src = fetchurl { - url = "mirror://sourceforge/quvi/quvi-${version}.tar.gz"; - sha256 = "0qzyj55py4z7pg97794jjycq8nvrlr02072rgjzg8jgknw49hgfv"; + url = "mirror://sourceforge/quvi/quvi-${version}.tar.xz"; + sha256 = "1h52s265rp3af16dvq1xlscp2926jqap2l4ah94vrfchv6m1hffb"; }; - buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi ]; + buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi glib makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/quvi --set LUA_PATH "${lua5_sockets}/share/lua/${lua5.luaversion}/?.lua" + ''; - meta = { + meta = { description = "Web video downloader"; homepage = http://quvi.sf.net; license = "LGPLv2.1+"; platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.mornfall ]; + maintainers = [ stdenv.lib.maintainers.mornfall ]; }; } diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix new file mode 100644 index 000000000000..3251127c7a19 --- /dev/null +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, alsaLib, ffmpeg, jackaudio, libX11, libXext +, libXfixes, mesa, pkgconfig, pulseaudio, qt4 +}: + +stdenv.mkDerivation rec { + name = "simplescreenrecorder-${version}"; + version = "0.2.2"; + + src = fetchurl { + url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz"; + sha256 = "0k1r1ilpk05qmwpnld95zxxk57qvyaq2r9f4i3la7y0xh9bz1gls"; + }; + + buildInputs = [ + alsaLib ffmpeg jackaudio libX11 libXext libXfixes mesa pkgconfig + pulseaudio qt4 + ]; + + meta = with stdenv.lib; { + description = "A screen recorder for Linux"; + homepage = http://www.maartenbaert.be/simplescreenrecorder; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; + }; +} diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index d75cca14b3a0..2c5b53c596a6 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -6,15 +6,16 @@ , mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus +, libvdpau }: stdenv.mkDerivation rec { name = "vlc-${version}"; - version = "2.1.2"; + version = "2.1.4"; src = fetchurl { url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz"; - sha256 = "1i4fzjv2x8mzx0bg52mgh1rrlircmb81jr58z90blbmww4mq36r1"; + sha256 = "1lymhbb2bns73qivdaqanhggjjhyc9fwfgf5ikhng0a74msnqmiy"; }; buildInputs = @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib libkate libtiger libv4l samba liboggz libass libdvbpsi libva xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms - libdc1394 libraw1394 libopus libebml libmatroska + libdc1394 libraw1394 libopus libebml libmatroska libvdpau ]; nativeBuildInputs = [ pkgconfig ]; @@ -33,6 +34,8 @@ stdenv.mkDerivation rec { [ "--enable-alsa" "--with-kde-solid=$out/share/apps/solid/actions" "--enable-dc1394" + "--enable-ncurses" + "--enable-vdpau" ]; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; @@ -49,5 +52,6 @@ stdenv.mkDerivation rec { description = "Cross-platform media player and streaming server"; homepage = http://www.videolan.org/vlc/; platforms = platforms.linux; + license = licenses.lgpl21Plus; }; } diff --git a/pkgs/applications/virtualization/8086tiny/builder.sh b/pkgs/applications/virtualization/8086tiny/builder.sh new file mode 100644 index 000000000000..36c381bececc --- /dev/null +++ b/pkgs/applications/virtualization/8086tiny/builder.sh @@ -0,0 +1,19 @@ + +source $stdenv/setup + +mkdir -p ./$name $out/bin $out/share/$name $out/share/doc/$name/images + +cd $name +tar xf $src +make 8086tiny + +install 8086tiny $out/bin +install bios $out/share/$name/8086tiny-bios +install fd.img $out/share/$name/8086tiny-floppy.img +install bios_source/bios.asm $out/share/$name/8086tiny-bios-src.asmn +install docs/8086tiny.css $out/share/doc/$name +install docs/doc.html $out/share/doc/$name +for i in docs/images/*.gif +do + install $i $out/share/doc/$name/images +done diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix new file mode 100644 index 000000000000..8e5108b44109 --- /dev/null +++ b/pkgs/applications/virtualization/8086tiny/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl +, localBios ? false, nasm ? null +, sdlSupport ? true, SDL ? null +}: + + +assert sdlSupport -> (SDL != null); + + +stdenv.mkDerivation rec { + + name = "8086tiny-${version}"; + version = "1.20"; + + src = fetchurl { + url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_120.tar.bz2"; + sha256 = "0yapnr8wvlx7h1q1w98yfy2vsbf0rlp4wd99r3xb0b7l70b36mpw"; + }; + + buildInputs = with stdenv.lib; + optionals localBios [ nasm ] + ++ optionals sdlSupport [ SDL ]; + + builder = ./builder.sh; + + meta = { + description = "An open-source 8086 emulator"; + longDescription = '' + 8086tiny is a tiny, open source (MIT), portable (little-endian hosts) Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny emulates a "late 80's era" PC XT-type machine. + + 8086tiny is based on an IOCCC 2013 winning entry. In fact that is the "unobfuscated" version :) + ''; + homepage = http://www.megalith.co.uk/8086tiny/index.html; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} + +# TODO: add support for a locally made BIOS diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index e6d0b7cb40dd..54d697d42751 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -12,7 +12,7 @@ let in stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" { - name = "OVMF-2012-10-09"; + name = "OVMF-2014-02-01"; unpackPhase = '' for file in \ diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index 6b8cf5dc0356..75afcb41f808 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { url = "http://downloads.sourceforge.net/project/bochs/bochs/${version}/${name}.tar.gz"; sha256 = "042blm1xb9ig4fh2bv8nrrfpgkcxy4hq8yrkx7mrdpm5g4mvfwyr"; }; - + buildInputs = with stdenv.lib; [ libX11 mesa ] ++ optionals sdlSupport [ SDL ] @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ++ optionals curlSupport [ curl ]; configureFlags = '' - --with-x11 + --with-x11 --with-term=${if termSupport then "yes" else "no"} --with-sdl=${if sdlSupport then "yes" else "no"} --with-svga=no @@ -42,11 +42,11 @@ stdenv.mkDerivation rec { --enable-plugins=no --enable-disasm --enable-debugger - --enable-ne2000 - --enable-e1000 - --enable-sb16 - --enable-voodoo - --enable-usb + --enable-ne2000 + --enable-e1000 + --enable-sb16 + --enable-voodoo + --enable-usb --enable-pnic ''; @@ -56,7 +56,8 @@ stdenv.mkDerivation rec { Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. ''; homepage = http://bochs.sourceforge.net/; - license = "LGPL"; + license = stdenv.lib.licenses.lgpl2Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix new file mode 100644 index 000000000000..40385d9d36af --- /dev/null +++ b/pkgs/applications/virtualization/docker/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper, +btrfsProgs, iptables, bash}: + +stdenv.mkDerivation rec { + name = "docker-${version}"; + version = "0.9.1"; + + src = fetchurl { + url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz"; + sha256 = "0m4s21dxd1bj08xrmi7iw77djj3cpxvjsin12p6v6v1qnigm18ww"; + }; + + phases = ["unpackPhase" "preBuild" "buildPhase" "installPhase"]; + + buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables ]; + + preBuild = '' + patchShebangs ./hack + ''; + + buildPhase = '' + export AUTO_GOPATH=1 + export DOCKER_GITCOMMIT="867b2a90c228f62cdcd44907ceef279a2d8f1ac5" + ./hack/make.sh dynbinary + ''; + + installPhase = '' + install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker + install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit + wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin" + + # systemd + install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service + + # completion + install -Dm644 ./contrib/completion/bash/docker $out/share/bash-completion/completions/docker + install -Dm644 ./contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker + ''; + + meta = with stdenv.lib; { + homepage = http://www.docker.io/; + description = "An open source project to pack, ship and run any application as a lightweight container"; + license = licenses.asl20; + maintainers = with maintainers; [ offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index dcf5b4e50097..b6e28d444111 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -1,29 +1,29 @@ { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman -, attr, libcap, vde2, alsaLib, texinfo, libuuid +, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison , makeWrapper , sdlSupport ? true, SDL , vncSupport ? true, libjpeg, libpng -, spiceSupport ? true, spice, spice_protocol +, spiceSupport ? true, spice, spice_protocol, usbredir , x86Only ? false }: -let n = "qemu-1.5.2"; in +let n = "qemu-1.7.1"; in stdenv.mkDerivation rec { name = n + (if x86Only then "-x86-only" else ""); src = fetchurl { url = "http://wiki.qemu.org/download/${n}.tar.bz2"; - sha256 = "0l52jwlxmwp9g3jpq0g7ix9dq4qgh46nd2h58lh47f0a35yi8qgn"; + sha256 = "1x5y06zhp0gc97g1sb98vf7dkawg63xywv0mbnpfnbi20jh452fn"; }; buildInputs = [ python zlib pkgconfig glib ncurses perl pixman attr libcap - vde2 alsaLib texinfo libuuid makeWrapper + vde2 alsaLib texinfo libuuid flex bison makeWrapper ] ++ stdenv.lib.optionals sdlSupport [ SDL ] ++ stdenv.lib.optionals vncSupport [ libjpeg libpng ] - ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ]; + ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice usbredir ]; enableParallelBuilding = true; @@ -43,11 +43,11 @@ stdenv.mkDerivation rec { fi ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.qemu.org/; description = "A generic and open source machine emulator and virtualizer"; - license = "GPLv2+"; - maintainers = with stdenv.lib.maintainers; [ viric shlevy eelco ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ viric shlevy eelco ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index fb2dde66442f..dba0d11b425a 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,74 +1,67 @@ { stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python , makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte -, spiceSupport ? true, spice_gtk +, gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib +, avahi, dconf, spiceSupport ? true, spice_gtk }: with stdenv.lib; +with pythonPackages; -let version = "0.9.5"; in - -stdenv.mkDerivation rec { +buildPythonPackage rec { name = "virt-manager-${version}"; + version = "1.0.1"; + namePrefix = ""; src = fetchurl { - url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz"; - sha256 = "0gc06cdbq6c2a06l939516lvjii7lr0wng90kqgl1i5q5wlgnajx"; + url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz"; + sha256 = "1n248kack1fni8y17ysgq5xhvffcgy4l62hnd0zvr4kjw0579qq8"; }; - pythonPath = with pythonPackages; - [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes + propagatedBuildInputs = + [ eventlet greenlet gflags netaddr sqlalchemy carrot routes paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 - # !!! should libvirt be a build-time dependency? Note that - # libxml2Python is a dependency of libvirt.py. - libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python - gtkvnc vte + urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 + libvirt libxml2Python ipaddr vte ] ++ optional spiceSupport spice_gtk; buildInputs = - [ pythonPackages.python - pythonPackages.wrapPython - pythonPackages.mox - pythonPackages.urlgrabber + [ mox intltool - pyGtkGlade - pythonDBus - gnome_python gtkvnc - ] ++ pythonPath; + gtk3 + libvirt-glib + avahi + glib + gobjectIntrospection + ]; - buildPhase = "make"; - - nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ]; - - # TODO - # virt-manager -> import gtk.glade -> No module named glade --> fixed by removing 'pygtk' and by only using pyGtkGlade - # -> import gconf -> ImportError: No module named gconf - # -> pfad um gtk-2.0 erweitern in virt-manger runner -> /nix/store/hnyxc9i4yz2mc42n44ms13mn8n486s5h-gnome-python-2.28.1/lib/python2.7/site-packages/gtk-2.0 - # -> Error starting Virtual Machine Manager: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) - -#Traceback (most recent call last): -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 383, in -# main() -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 315, in main -# config = virtManager.config.vmmConfig(appname, appversion, glade_dir) -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virtManager/config.py", line 98, in __init__ -# self.conf.add_dir(self.conf_dir, gconf.CLIENT_PRELOAD_NONE) -#GError: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) -# -> fixed by http://nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications & a restart - # virt-manager-tui -> ImportError: No module named newt_syrup.dialogscreen - - installPhase = '' - make install - - # A hack, but the most reliable method so far - echo "#!/usr/bin/env python" | cat - src/virt-manager.py > $out/bin/virt-manager - echo "#!/usr/bin/env python" | cat - src/virt-manager-tui.py > $out/bin/virt-manager-tui - - wrapPythonPrograms + configurePhase = '' + sed -i 's/from distutils.core/from setuptools/g' setup.py + sed -i 's/from distutils.command.install/from setuptools.command.install/g' setup.py + python setup.py configure --prefix=$out ''; - meta = { + buildPhase = "true"; + + postInstall = '' + # GI_TYPELIB_PATH is needed at runtime for GObject stuff to work + for file in "$out"/bin/*; do + wrapProgram "$file" \ + --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \ + --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \ + --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \ + --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \ + --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:\$XDG_DATA_DIRS" + done + + ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas + ''; + + # Failed tests + doCheck = false; + + meta = with stdenv.lib; { homepage = http://virt-manager.org; description = "Desktop user interface for managing virtual machines"; longDescription = '' @@ -76,7 +69,7 @@ stdenv.mkDerivation rec { virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (linux containers). ''; - license = "GPLv2"; - maintainers = with stdenv.lib.maintainers; [qknight]; + license = licenses.gpl2; + maintainers = with maintainers; [qknight offline]; }; } diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 2ce134090fe5..266ab11a39fb 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext , libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2 -, which, alsaLib, curl, gawk +, which, alsaLib, curl, libvpx, gawk , xorriso, makeself, perl, pkgconfig , javaBindings ? false, jdk ? null , pythonBindings ? false, python ? null @@ -11,7 +11,7 @@ with stdenv.lib; let - version = "4.2.18"; # changes ./guest-additions as well + version = "4.3.10"; # changes ./guest-additions as well forEachModule = action: '' for mod in \ @@ -31,13 +31,13 @@ let ''; # See https://github.com/NixOS/nixpkgs/issues/672 for details - extpackRevision = "88780"; + extpackRevision = "93012"; extensionPack = requireFile rec { name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack"; # IMPORTANT: Hash must be base16 encoded because it's used as an input to # VBoxExtPackHelperApp! - # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.2.18/SHA256SUMS - sha256 = "1d1737b59d0f30f5d42beeabaff168bdc0a75b8b28df685979be6173e5adbbba"; + # Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/SHA256SUMS + sha256 = "ec3f2a98373d5e228acb4756ac07f44212c4d53f6b83deee81b791abb0d2608a"; message = '' In order to use the extension pack, you need to comply with the VirtualBox Personal Use and Evaluation License (PUEL) by downloading the related binaries from: @@ -56,12 +56,12 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74"; + sha256 = "739835aee3274a663b23eeb748bd0430e8a5d8ba2f4d0eae5dc47ff2c485e23b"; }; buildInputs = [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL - libcap glib lvm2 python alsaLib curl pam xorriso makeself perl + libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl pkgconfig which libXmu ] ++ optional javaBindings jdk ++ optional pythonBindings python; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 805e0b867d97..5fc755904170 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "f11a7f13dfe7bf9f246fb877144bb467fe6deadcd876568ec79b6ccd3b59d767"; + sha256 = "247e15e9a205dcd4761f6cb547ceca2a61e8d6905c1930870939fd323f4cd1ae"; }; KERN_DIR = "${kernel.dev}/lib/modules/*/build"; diff --git a/pkgs/applications/window-managers/dwm/confnotify-6.0.patch b/pkgs/applications/window-managers/dwm/confnotify-6.0.patch deleted file mode 100644 index 5b5e2ebb68a7..000000000000 --- a/pkgs/applications/window-managers/dwm/confnotify-6.0.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix SDL fullscreen problems when the resolution changes: -https://groups.google.com/d/msg/wmii/nJBrSjrnnq8/ZEYWOWE5pj4J - -diff -r ec4baab78314 dwm.c ---- a/dwm.c Mon Dec 19 15:38:30 2011 +0100 -+++ b/dwm.c Sat Jan 14 12:35:50 2012 +0100 -@@ -397,9 +397,10 @@ - showhide(m->stack); - else for(m = mons; m; m = m->next) - showhide(m->stack); -- if(m) -+ if(m) { - arrangemon(m); -- else for(m = mons; m; m = m->next) -+ restack(m); -+ } else for(m = mons; m; m = m->next) - arrangemon(m); - } - -@@ -408,7 +409,6 @@ - strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol); - if(m->lt[m->sellt]->arrange) - m->lt[m->sellt]->arrange(m); -- restack(m); - } - - void -@@ -1827,6 +1827,8 @@ - .event_mask = ButtonPressMask|ExposureMask - }; - for(m = mons; m; m = m->next) { -+ if (m->barwin) -+ continue; - m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen), - CopyFromParent, DefaultVisual(dpy, screen), - CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa); diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix index 82eb9e56935f..b69dd9d8a492 100644 --- a/pkgs/applications/window-managers/dwm/default.nix +++ b/pkgs/applications/window-managers/dwm/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { prePatch = ''sed -i "s@/usr/local@$out@" config.mk''; # Allow users set their own list of patches - patches = [ ./confnotify-6.0.patch ] ++ patches; + inherit patches; buildPhase = " make "; diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index f6d2dc4cfe5e..ebdc7b143c37 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -1,18 +1,18 @@ { fetchurl, stdenv, which, pkgconfig, libxcb, xcbutilkeysyms, xcbutil, xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl, - libXcursor, coreutils, perl, pango }: + xcb-util-cursor, coreutils, perl, pango }: stdenv.mkDerivation rec { name = "i3-${version}"; - version = "4.6"; + version = "4.7.2"; src = fetchurl { url = "http://i3wm.org/downloads/${name}.tar.bz2"; - sha256 = "1qand44hjqz84f2xzd0mmyk9vpsm7iwz6446s4ivdj6f86213lpm"; + sha256 = "14zkn5jgm0b7ablvxcxh9gdzq6mjdd6i1kl9dbmifl2a6rg5dr3g"; }; buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil xcbutilwm - libstartup_notification libX11 pcre libev yajl libXcursor perl pango ]; + libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango ]; patchPhase = '' patchShebangs . diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix index 487a8a5b387a..56a5f0e3e2ce 100644 --- a/pkgs/applications/window-managers/openbox/default.nix +++ b/pkgs/applications/window-managers/openbox/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig , libxml2, libXinerama, libXcursor, libXau, libXrandr -, imlib2, pango, libstartup_notification }: +, imlib2, pango, libstartup_notification, makeWrapper}: stdenv.mkDerivation rec { name = "openbox-3.5.2"; @@ -9,6 +9,7 @@ stdenv.mkDerivation rec { pkgconfig libxml2 libXinerama libXcursor libXau libXrandr imlib2 pango libstartup_notification + makeWrapper ]; src = fetchurl { @@ -16,6 +17,14 @@ stdenv.mkDerivation rec { sha256 = "0cxgb334zj6aszwiki9g10i56sm18i7w1kw52vdnwgzq27pv93qj"; }; + # Openbox needs XDG_DATA_DIRS set or it can't find its default theme + postInstall = '' + wrapProgram "$out/bin/openbox" --prefix XDG_DATA_DIRS : "$out/share" + wrapProgram "$out/bin/openbox-session" --prefix XDG_DATA_DIRS : "$out/share" + wrapProgram "$out/bin/openbox-gnome-session" --prefix XDG_DATA_DIRS : "$out/share" + wrapProgram "$out/bin/openbox-kde-session" --prefix XDG_DATA_DIRS : "$out/share" + ''; + meta = { description = "X window manager for non-desktop embedded systems"; homepage = http://openbox.org/; diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix index b8ecf81f7fc7..9b9017420c02 100644 --- a/pkgs/applications/window-managers/trayer/default.nix +++ b/pkgs/applications/window-managers/trayer/default.nix @@ -20,8 +20,6 @@ stdenv.mkDerivation rec { description = "A lightweight GTK2-based systray for UNIX desktop"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; - platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index 913235287ac5..4880029119eb 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,20 +1,20 @@ { stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon , cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev -, libjpeg, pam, autoconf, automake, libtool }: +, libjpeg, pam, autoconf, automake, libtool, dbus }: -let version = "1.3.1"; in +let version = "1.4.0"; in stdenv.mkDerivation rec { name = "weston-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1isvh66irrz707r69495767n5yxp07dvy0xx6mj1mbj1n4s1657p"; + sha256 = "0r7dz72ys9p3f697ajgmihkar2da36bnjna6yanb3kg9k2fk38kl"; }; buildInputs = [ pkgconfig wayland mesa libxkbcommon - cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam + cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam dbus.libs ]; NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm"; diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix index 54ef0b274aa8..c80c8f1c9db0 100644 --- a/pkgs/applications/window-managers/xmonad/default.nix +++ b/pkgs/applications/window-managers/xmonad/default.nix @@ -10,8 +10,9 @@ cabal.mkDerivation (self: { extensibleExceptions filepath mtl utf8String X11 ]; postInstall = '' + shopt -s globstar mkdir -p $out/share/man/man1 - mv $out/share/xmonad-*/man/*.1 $out/share/man/man1/ + mv "$out/"**"/man/"*.1 $out/share/man/man1/ ''; patches = [ diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 8756c4835b29..2f3aa14c6a0f 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -1,10 +1,12 @@ {stdenv, glibc, glibcLocales, gcc, coreutils, diffutils, findutils, gnused, gnugrep, gnutar, gzip, bzip2, -bashInteractive, xz, shadow, gawk, less, buildEnv}: +bashInteractive, xz, shadow, gawk, less, su, buildEnv}: {name, pkgs ? [], profile ? ""}: let - basePkgs = [ glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar gzip bzip2 -bashInteractive xz shadow gawk less ]; + basePkgs = [ + glibc glibcLocales gcc coreutils diffutils findutils gnused gnugrep gnutar + gzip bzip2 bashInteractive xz shadow gawk less su + ]; # Compose a global profile for the chroot environment profilePkg = stdenv.mkDerivation { @@ -31,16 +33,16 @@ bashInteractive xz shadow gawk less ]; mountSh = ./mount.sh.in; loadSh = ./load.sh.in; umountSh = ./umount.sh.in; - destroySh = ./destroy.sh.in; -in -stdenv.mkDerivation { - name = "${name}-chrootenv"; - buildCommand = '' - mkdir -p $out/sw - cd $out/sw - - for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var} - do + destroySh = ./destroy.sh.in; +in +stdenv.mkDerivation { + name = "${name}-chrootenv"; + buildCommand = '' + mkdir -p $out/sw + cd $out/sw + + for i in ${staticUsrProfile}/{etc,bin,lib{,32,64},sbin,var} + do if [ -x "$i" ] then ln -s "$i" diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix new file mode 100644 index 000000000000..d84497e8019c --- /dev/null +++ b/pkgs/build-support/build-pecl.nix @@ -0,0 +1,9 @@ +{ stdenv, php, autoreconfHook }: + +args: stdenv.mkDerivation (args // { + buildInputs = [ php autoreconfHook ] ++ args.buildInputs or []; + + makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ args.makeFlags or []; + + autoreconfPhase = "phpize"; +}) diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix index 6dc83963d19d..ed7ca30db132 100644 --- a/pkgs/build-support/cabal/default.nix +++ b/pkgs/build-support/cabal/default.nix @@ -195,10 +195,6 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; done done - ${optionalString self.enableSharedExecutables '' - configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"; - ''} - echo "configure flags: $extraConfigureFlags $configureFlags" ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \ --libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \ @@ -220,7 +216,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ./Setup build ${self.buildTarget} export GHC_PACKAGE_PATH=$(${ghc.GHCPackages}) - test -n "$noHaddock" || ./Setup haddock + test -n "$noHaddock" || ./Setup haddock --html --hoogle eval "$postBuild" ''; diff --git a/pkgs/build-support/clang-wrapper/default.nix b/pkgs/build-support/clang-wrapper/default.nix index 05b8194697e1..4b2a5a1182ea 100644 --- a/pkgs/build-support/clang-wrapper/default.nix +++ b/pkgs/build-support/clang-wrapper/default.nix @@ -18,21 +18,21 @@ let clangVersion = (builtins.parseDrvName clang.name).version; clangName = (builtins.parseDrvName clang.name).name; - + in stdenv.mkDerivation { name = (if name != "" then name else clangName + "-wrapper") + (if clang != null && clangVersion != "" then "-" + clangVersion else ""); - + builder = ./builder.sh; setupHook = ./setup-hook.sh; clangWrapper = ./clang-wrapper.sh; ldWrapper = ./ld-wrapper.sh; utils = ./utils.sh; addFlags = ./add-flags; - + inherit nativeTools nativeLibc nativePrefix clang clangVersion libcxx; libcxxabi = libcxx.abi or null; @@ -42,7 +42,7 @@ stdenv.mkDerivation { binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; - + langC = true; langCC = true; shell = if shell == "" then stdenv.shell else @@ -65,7 +65,7 @@ stdenv.mkDerivation { if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else abort "don't know the name of the dynamic linker for this platform"); }; - + meta = let clang_ = if clang != null then clang else {}; in (if clang_ ? meta then removeAttrs clang.meta ["priority"] else {}) // @@ -84,4 +84,6 @@ stdenv.mkDerivation { if stdenv.system == "mips64el-linux" then "ld.so.1" else abort "don't know the name of the dynamic linker for this platform") else ""; + + preferLocalBuild = true; } diff --git a/pkgs/build-support/clang-wrapper/setup-hook.sh b/pkgs/build-support/clang-wrapper/setup-hook.sh index 74365a527043..f7687651eaf6 100644 --- a/pkgs/build-support/clang-wrapper/setup-hook.sh +++ b/pkgs/build-support/clang-wrapper/setup-hook.sh @@ -1,6 +1,6 @@ addCVars () { if test -d $1/include; then - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include" fi if test -d $1/lib64; then @@ -31,3 +31,6 @@ fi if test -n "@coreutils@"; then addToSearchPath PATH @coreutils@/bin fi + +: ${CXX:=clang++} +export CXX diff --git a/pkgs/build-support/fetchgit/builder.sh b/pkgs/build-support/fetchgit/builder.sh index 5c7d92698cc3..9050cce6ee8f 100644 --- a/pkgs/build-support/fetchgit/builder.sh +++ b/pkgs/build-support/fetchgit/builder.sh @@ -6,6 +6,8 @@ source $stdenv/setup header "exporting $url (rev $rev) into $out" -$fetcher --builder --url "$url" --out "$out" --rev "$rev" ${leaveDotGit:+--leave-dotGit} +$fetcher --builder --url "$url" --out "$out" --rev "$rev" \ + ${leaveDotGit:+--leave-dotGit} \ + ${fetchSubmodules:+--fetch-submodules} stopNest diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix index e94e4185936b..a17daf9a2c57 100644 --- a/pkgs/build-support/fetchgit/default.nix +++ b/pkgs/build-support/fetchgit/default.nix @@ -1,5 +1,5 @@ {stdenv, git, cacert}: -{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false }: +{url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false, fetchSubmodules ? true}: /* NOTE: fetchgit has one problem: git fetch only works for refs. @@ -23,6 +23,8 @@ server admins start using the new version? */ +assert md5 != "" || sha256 != ""; + stdenv.mkDerivation { name = "git-export"; builder = ./builder.sh; @@ -33,7 +35,7 @@ stdenv.mkDerivation { outputHashMode = "recursive"; outputHash = if sha256 == "" then md5 else sha256; - inherit url rev leaveDotGit; + inherit url rev leaveDotGit fetchSubmodules; GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt"; @@ -44,5 +46,7 @@ stdenv.mkDerivation { # by definition pure. "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ]; + + preferLocalBuild = true; } diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 8d0de055c756..6e79f82eae86 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -6,6 +6,7 @@ expHash= hashType=$NIX_HASH_ALGO deepClone=$NIX_PREFETCH_GIT_DEEP_CLONE leaveDotGit=$NIX_PREFETCH_GIT_LEAVE_DOT_GIT +fetchSubmodules= builder= if test -n "$deepClone"; then @@ -33,6 +34,7 @@ for arg; do --deepClone) deepClone=true;; --no-deepClone) deepClone=false;; --leave-dotGit) leaveDotGit=true;; + --fetch-submodules) fetchSubmodules=true;; --builder) builder=true;; *) argi=$(($argi + 1)) @@ -66,6 +68,7 @@ Options: --deepClone Clone submodules recursively. --no-deepClone Do not clone submodules. --leave-dotGit Keep the .git directories. + --fetch-submodules Fetch submodules. --builder Clone as fetchgit does, but url, rev, and out option are mandatory. " exit 1 @@ -178,7 +181,9 @@ clone(){ ) # Checkout linked sources. - init_submodules; + if test -n "$fetchSubmodules"; then + init_submodules; + fi if [ -z "$builder" -a -f .topdeps ]; then if tg help 2>&1 > /dev/null diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 30625a758f8c..228a5eaa5804 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -40,4 +40,6 @@ stdenv.mkDerivation { # by definition pure. "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ]; + + preferLocalBuild = true; } diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 294d9a43ef7d..af4a6700153c 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -66,6 +66,7 @@ in showURLs ? false }: +assert builtins.isList urls; assert urls != [] -> url == ""; assert url != "" -> urls == []; diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index c6c294d55042..c4841c50d94c 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -159,7 +159,7 @@ rec { # Debian. debian = [ - #ftp://ftp.au.debian.org/debian/ + ftp://ftp.au.debian.org/debian/ ftp://ftp.de.debian.org/debian/ ftp://ftp.es.debian.org/debian/ ftp://ftp.fr.debian.org/debian/ diff --git a/pkgs/build-support/gcc-cross-wrapper/builder.sh b/pkgs/build-support/gcc-cross-wrapper/builder.sh index 5a5bd45a8f81..2dfa315d168f 100644 --- a/pkgs/build-support/gcc-cross-wrapper/builder.sh +++ b/pkgs/build-support/gcc-cross-wrapper/builder.sh @@ -87,6 +87,8 @@ mkGccWrapper $out/bin/$crossConfig-gcc $gccPath/$crossConfig-gcc mkGccWrapper $out/bin/$crossConfig-g++ $gccPath/$crossConfig-g++ ln -s $crossConfig-g++ $out/bin/$crossConfig-c++ +mkGccWrapper $out/bin/$crossConfig-cpp $gccPath/$crossConfig-cpp + mkGccWrapper $out/bin/$crossConfig-g77 $gccPath/$crossConfig-g77 ln -s $crossConfig-g77 $out/bin/$crossConfig-f77 diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh index ed7ad0a50b73..c79680712ee7 100644 --- a/pkgs/build-support/gcc-wrapper/builder.sh +++ b/pkgs/build-support/gcc-wrapper/builder.sh @@ -66,13 +66,23 @@ else echo "$gccCFlags" > $out/nix-support/gcc-cflags gccPath="$gcc/bin" - ldPath="$binutils/bin" + # On Illumos/Solaris we might prefer native ld + if test -n "$nativePrefix"; then + ldPath="$nativePrefix/bin" + else + ldPath="$binutils/bin" + fi; fi doSubstitute() { local src=$1 local dst=$2 + local ld="$ldPath/ld" + if $ld -V 2>&1 |grep Solaris; then + # Use Solaris specific linker wrapper + ld="$out/bin/ld-solaris" + fi # Can't use substitute() here, because replace may not have been # built yet (in the bootstrap). sed \ @@ -85,7 +95,7 @@ doSubstitute() { -e "s^@binutils@^$binutils^g" \ -e "s^@coreutils@^$coreutils^g" \ -e "s^@libc@^$libc^g" \ - -e "s^@ld@^$ldPath/ld^g" \ + -e "s^@ld@^$ld^g" \ < "$src" > "$dst" } @@ -144,6 +154,8 @@ then ln -sv g++ $out/bin/c++ fi +mkGccWrapper $out/bin/cpp $gccPath/cpp || true + if mkGccWrapper $out/bin/gfortran $gccPath/gfortran then ln -sv gfortran $out/bin/g77 @@ -174,6 +186,13 @@ ln -s $ldPath/as $out/bin/as doSubstitute "$ldWrapper" "$out/bin/ld" chmod +x "$out/bin/ld" +# Copy solaris ld wrapper if needed +if $ldPath/ld -V 2>&1 |grep Solaris; then + # Use Solaris specific linker wrapper + sed -e "s^@ld@^$ldPath/ld^g" < "$ldSolarisWrapper" > "$out/bin/ld-solaris" + chmod +x "$out/bin/ld-solaris" +fi + # Emit a setup hook. Also store the path to the original GCC and # Glibc. diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 992c0f9af371..8e8b0b909454 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -29,22 +29,23 @@ stdenv.mkDerivation { name = (if name != "" then name else gccName + "-wrapper") + (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); - + builder = ./builder.sh; setupHook = ./setup-hook.sh; gccWrapper = ./gcc-wrapper.sh; gnatWrapper = ./gnat-wrapper.sh; gnatlinkWrapper = ./gnatlink-wrapper.sh; ldWrapper = ./ld-wrapper.sh; + ldSolarisWrapper = ./ld-solaris-wrapper.sh; utils = ./utils.sh; addFlags = ./add-flags; - + inherit nativeTools nativeLibc nativePrefix gcc; libc = if nativeLibc then null else libc; binutils = if nativeTools then null else binutils; # The wrapper scripts use 'cat', so we may need coreutils coreutils = if nativeTools then null else coreutils; - + langC = if nativeTools then true else gcc.langC; langCC = if nativeTools then true else gcc.langCC; langFortran = if nativeTools then false else gcc ? langFortran; @@ -71,7 +72,9 @@ stdenv.mkDerivation { if stdenv.lib.hasSuffix "pc-gnu" stdenv.cross.config then "ld.so.1" else abort "don't know the name of the dynamic linker for this platform"); }; - + + preferLocalBuild = true; + meta = let gcc_ = if gcc != null then gcc else {}; in (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) // diff --git a/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh new file mode 100644 index 000000000000..5a7b92b5ad7d --- /dev/null +++ b/pkgs/build-support/gcc-wrapper/ld-solaris-wrapper.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e +set -u + +# I've also tried adding -z direct and -z lazyload, but it gave too many problems with C++ exceptions :'( +# Also made sure libgcc would not be lazy-loaded, as suggested here: https://www.illumos.org/issues/2534#note-3 +# but still no success. +cmd="@ld@ -z ignore" + +args=("$@"); + +# This loop makes sure all -L arguments are before -l arguments, or ld may complain it cannot find a library. +# GNU binutils does not have this problem: +# http://stackoverflow.com/questions/5817269/does-the-order-of-l-and-l-options-in-the-gnu-linker-matter +i=0; +while [[ $i -lt $# ]]; do + case "${args[$i]}" in + -L) cmd="$cmd ${args[$i]} ${args[($i+1)]}"; i=($i+1); ;; + -L*) cmd="$cmd ${args[$i]}" ;; + *) ;; + esac + i=($i+1); +done + +i=0; +while [[ $i -lt $# ]]; do + case "${args[$i]}" in + -L) i=($i+1); ;; + -L*) ;; + *) cmd="$cmd ${args[$i]}" ;; + esac + i=($i+1); +done + +# Trace: +set -x +exec $cmd + +exit 0 diff --git a/pkgs/build-support/gcc-wrapper/setup-hook.sh b/pkgs/build-support/gcc-wrapper/setup-hook.sh index 513ab8053a7e..298ade21d1f5 100644 --- a/pkgs/build-support/gcc-wrapper/setup-hook.sh +++ b/pkgs/build-support/gcc-wrapper/setup-hook.sh @@ -1,6 +1,6 @@ addCVars () { if test -d $1/include; then - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$1/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem $1/include" fi if test -d $1/lib64; then diff --git a/pkgs/build-support/kdewrapper/default.nix b/pkgs/build-support/kdewrapper/default.nix index be90011f4939..6dcf68a324a2 100644 --- a/pkgs/build-support/kdewrapper/default.nix +++ b/pkgs/build-support/kdewrapper/default.nix @@ -39,4 +39,6 @@ stdenv.mkDerivation { chmod +x $PROG done ''; + + preferLocalBuild = true; } diff --git a/pkgs/build-support/kernel/cpio-clean.pl b/pkgs/build-support/kernel/cpio-clean.pl new file mode 100644 index 000000000000..ddc6435a5a81 --- /dev/null +++ b/pkgs/build-support/kernel/cpio-clean.pl @@ -0,0 +1,17 @@ +use strict; + +# Make inode number, link info and mtime consistent in order to get a consistent hash. +# +# Author: Alexander Kjeldaas + +use Archive::Cpio; + +my $cpio = Archive::Cpio->new; +my $IN = \*STDIN; +my $ino = 1; +$cpio->read_with_handler($IN, sub { + my ($e) = @_; + $e->{mtime} = 1; + $cpio->write_one(\*STDOUT, $e); + }); +$cpio->write_trailer(\*STDOUT); diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 4ddf0706e03e..0582ca553012 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -12,10 +12,10 @@ # `contents = {object = ...; symlink = /init;}' is a typical # argument. -{stdenv, perl, cpio, contents, ubootChooser, compressor}: +{stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor}: let - inputsFun = ubootName : [perl cpio] + inputsFun = ubootName : [perl cpio perlArchiveCpio ] ++ stdenv.lib.optional (ubootName != null) [ (ubootChooser ubootName) ]; makeUInitrdFun = ubootName : (ubootName != null); in @@ -35,6 +35,7 @@ stdenv.mkDerivation { exportReferencesGraph = map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents; pathsFromGraph = ./paths-from-graph.pl; + cpioClean = ./cpio-clean.pl; crossAttrs = { nativeBuildInputs = inputsFun stdenv.cross.platform.uboot; diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index f6cadaf02819..17b261f98407 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -36,7 +36,7 @@ storePaths=$(perl $pathsFromGraph closure-*) # Put the closure in a gzipped cpio archive. mkdir -p $out -(cd root && find * -print0 | cpio -o -H newc --null | $compressor > $out/initrd) +(cd root && find * -print0 | cpio -o -H newc --null | perl $cpioClean | $compressor > $out/initrd) if [ -n "$makeUInitrd" ]; then mv $out/initrd $out/initrd.gz diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix index ba7be86a6c1e..168b44ad74c7 100644 --- a/pkgs/build-support/release/debian-build.nix +++ b/pkgs/build-support/release/debian-build.nix @@ -51,7 +51,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( ''; installPhase = '' - eval "$preInstall" + eval "$preInstall" export LOGNAME=root ${checkinstall}/sbin/checkinstall --nodoc -y -D \ @@ -59,6 +59,8 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( --requires="${concatStringsSep "," debRequires}" \ --provides="${concatStringsSep "," debProvides}" \ ${optionalString (src ? version) "--pkgversion=$(echo ${src.version} | tr _ -)"} \ + ''${debMaintainer:+--maintainer="'$debMaintainer'"} \ + $checkInstallFlags \ make install mkdir -p $out/debs @@ -79,7 +81,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( echo "file deb-extra $(ls $i/debs/*.deb | sort | head -1)" >> $out/nix-support/hydra-build-products done - eval "$postInstall" + eval "$postInstall" ''; # */ meta = (if args ? meta then args.meta else {}) // { diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix index 3d593f0b6bb7..6288935ec2a5 100644 --- a/pkgs/build-support/release/default.nix +++ b/pkgs/build-support/release/default.nix @@ -27,10 +27,14 @@ rec { } // args); coverageAnalysis = args: nixBuild ( - { inherit lcov; + { inherit lcov enableGCOVInstrumentation makeGCOVReport; doCoverageAnalysis = true; } // args); + gcovReport = args: import ./gcov-report.nix ( + { inherit runCommand lcov rsync; + } // args); + rpmBuild = args: import ./rpm-build.nix ( { inherit vmTools; } // args); diff --git a/pkgs/build-support/release/gcov-report.nix b/pkgs/build-support/release/gcov-report.nix new file mode 100644 index 000000000000..8ce5c0488a7d --- /dev/null +++ b/pkgs/build-support/release/gcov-report.nix @@ -0,0 +1,49 @@ +{ runCommand, lcov, rsync, coverageRuns, lcovFilter ? [ "/nix/store/*" ], baseDirHack ? false }: + +runCommand "coverage" + { buildInputs = [ lcov rsync ]; + inherit lcovFilter baseDirHack; + } + '' + mkdir -p $TMPDIR/gcov $out/nix-support $out/coverage + info=$out/coverage/full.info + + for p in ${toString coverageRuns}; do + if [ -f $p/nix-support/hydra-build-products ]; then + cat $p/nix-support/hydra-build-products >> $out/nix-support/hydra-build-products + fi + + [ ! -e $p/nix-support/failed ] || touch $out/nix-support/failed + + opts= + for d in $p/coverage-data/*; do + for i in $(cd $d/nix/store && ls); do + if ! [ -e /nix/store/$i/.build ]; then continue; fi + if [ -e $TMPDIR/gcov/nix/store/$i ]; then continue; fi + echo "copying $i..." + rsync -a /nix/store/$i/.build/* $TMPDIR/gcov/ + if [ -n "$baseDirHack" ]; then + opts="-b $TMPDIR/gcov/$(cd /nix/store/$i/.build && ls)" + fi + done + + for i in $(cd $d/nix/store && ls); do + rsync -a $d/nix/store/$i/.build/* $TMPDIR/gcov/ --include '*/' --include '*.gcda' --exclude '*' + done + done + + chmod -R u+w $TMPDIR/gcov + + echo "producing info..." + geninfo --ignore-errors source,gcov $TMPDIR/gcov --output-file $TMPDIR/app.info $opts + cat $TMPDIR/app.info >> $info + done + + echo "making report..." + set -o noglob + lcov --remove $info ''$lcovFilter > $info.tmp + set +o noglob + mv $info.tmp $info + genhtml --show-details $info -o $out/coverage + echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products + '' diff --git a/pkgs/build-support/release/maven-build.nix b/pkgs/build-support/release/maven-build.nix index 39f069cd57f0..6b47bb9cae90 100644 --- a/pkgs/build-support/release/maven-build.nix +++ b/pkgs/build-support/release/maven-build.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation ( rec { zip=$(ls target/*.zip| head -1) releaseName=$(basename $zip .zip) - releaseName="$releaseName-r${toString src.rev}" + releaseName="$releaseName-r${toString src.rev or "0"}" cp $zip $out/release/$releaseName.zip echo "$releaseName" > $out/nix-support/hydra-release-name diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 88bafd84faa3..8ebae24c6733 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -15,6 +15,7 @@ , failureHook ? null , prePhases ? [] , postPhases ? [] +, buildInputs ? [] , ... } @ args: stdenv.mkDerivation ( @@ -61,13 +62,6 @@ stdenv.mkDerivation ( . ${./functions.sh} origSrc=$src src=$(findTarballs $src | head -1) - - # Set GCC flags for coverage analysis, if desired. - if test -n "${toString doCoverageAnalysis}"; then - export NIX_CFLAGS_COMPILE="-O0 --coverage $NIX_CFLAGS_COMPILE" - export CFLAGS="-O0" - export CXXFLAGS="-O0" - fi ''; initPhase = '' @@ -85,30 +79,13 @@ stdenv.mkDerivation ( prePhases = ["initPhase"] ++ prePhases; - # In the report phase, create a coverage analysis report. - coverageReportPhase = if doCoverageAnalysis then '' - ${args.lcov}/bin/lcov --directory . --capture --output-file app.info - set -o noglob - ${args.lcov}/bin/lcov --remove app.info $lcovFilter > app2.info - set +o noglob - mv app2.info app.info - - mkdir $out/coverage - ${args.lcov}/bin/genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log - - # Grab the overall coverage percentage for use in release overviews. - grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate - - echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products - '' else ""; - + buildInputs = buildInputs ++ stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport; lcovFilter = ["/nix/store/*"] ++ lcovFilter; inherit lcovExtraTraceFiles; - postPhases = postPhases ++ - (stdenv.lib.optional doCoverageAnalysis "coverageReportPhase") ++ ["finalPhase"]; + postPhases = postPhases ++ ["finalPhase"]; meta = (if args ? meta then args.meta else {}) // { description = if doCoverageAnalysis then "Coverage analysis" else "Nix package for ${stdenv.system}"; diff --git a/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh new file mode 100644 index 000000000000..7175b408b02f --- /dev/null +++ b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh @@ -0,0 +1,31 @@ +postPhases+=" cleanupBuildDir" + +# Force GCC to build with coverage instrumentation. Also disable +# optimisation, since it may confuse things. +export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" + +# FIXME: Handle the case where postUnpack is already set. +postUnpack() { + # This is an uberhack to prevent libtool from remoaving gcno + # files. This has been fixed in libtool, but there are packages + # out there with old ltmain.sh scripts. See + # http://www.mail-archive.com/libtool@gnu.org/msg10725.html + for i in $(find -name ltmain.sh); do + substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)' + done +} + +# Get rid of everything that isn't a gcno file or a C source file. +# Also strip the `.tmp_' prefix from gcno files. (The Linux kernel +# creates these.) +cleanupBuildDir() { + if ! [ -e $out/.build ]; then return; fi + + find $out/.build/ -type f -a ! \ + \( -name "*.c" -o -name "*.cc" -o -name "*.cpp" -o -name "*.h" -o -name "*.hh" -o -name "*.y" -o -name "*.l" -o -name "*.gcno" \) \ + | xargs rm -f -- + + for i in $(find $out/.build/ -name ".tmp_*.gcno"); do + mv "$i" "$(echo $i | sed s/.tmp_//)" + done +} diff --git a/pkgs/build-support/setup-hooks/keep-build-tree.sh b/pkgs/build-support/setup-hooks/keep-build-tree.sh new file mode 100644 index 000000000000..754900bfc337 --- /dev/null +++ b/pkgs/build-support/setup-hooks/keep-build-tree.sh @@ -0,0 +1,6 @@ +prePhases+=" moveBuildDir" + +moveBuildDir() { + mkdir -p $out/.build + cd $out/.build +} diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh new file mode 100644 index 000000000000..4b8abb61ace5 --- /dev/null +++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh @@ -0,0 +1,18 @@ +postPhases+=" coverageReportPhase" + +coverageReportPhase() { + lcov --directory . --capture --output-file app.info + set -o noglob + lcov --remove app.info ${lcovFilter:-"/nix/store/*"} > app2.info + set +o noglob + mv app2.info app.info + + mkdir -p $out/coverage + genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log + + # Grab the overall coverage percentage for use in release overviews. + mkdir -p $out/nix-support + grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate + + echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products +} diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 5ae2e7b4fc9b..c08a6c3a265f 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -33,6 +33,7 @@ rec { # Shorthands for `writeTextFile'. writeText = name: text: writeTextFile {inherit name text;}; + writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";}; writeScript = name: text: writeTextFile {inherit name text; executable = true;}; writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";}; diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 625f93c874f2..274cd05024bd 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -2,7 +2,7 @@ , kernel ? pkgs.linux_3_10 , img ? "bzImage" , rootModules ? - [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" ] + [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ] }: with pkgs; @@ -57,6 +57,7 @@ rec { mknod ${dev}/random c 1 8 mknod ${dev}/urandom c 1 9 mknod ${dev}/tty c 5 0 + mknod ${dev}/rtc c 254 0 . /sys/class/block/${hd}/uevent mknod ${dev}/${hd} b $MAJOR $MINOR ''; @@ -159,6 +160,10 @@ rec { #! ${bash}/bin/sh source /tmp/xchg/saved-env + # Set the system time from the hardware clock. Works around an + # apparent KVM > 1.5.2 bug. + ${pkgs.utillinux}/sbin/hwclock -s + export NIX_STORE=/nix/store export NIX_BUILD_TOP=/tmp export TMPDIR=/tmp @@ -924,6 +929,32 @@ rec { packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; }; + fedora17i386 = { + name = "fedora-17-i386"; + fullName = "Fedora 17 (i386)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/17/Everything/i386/os/repodata/82dc1ea6d26e53a367dc6e7472113c4454c9a8ac7c98d4bfb11fd0b6f311450f-primary.xml.gz; + sha256 = "03s527rvdl0zn6zx963wmjlcjm247h8p4x3fviks6lvfsak1xp42"; + }; + urlPrefix = mirror://fedora/linux/releases/17/Everything/i386/os; + archs = ["noarch" "i386" "i586" "i686"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + + fedora17x86_64 = { + name = "fedora-17-x86_64"; + fullName = "Fedora 17 (x86_64)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/17/Everything/x86_64/os/repodata/7009de56f1a1c399930fa72094a310a40d38153c96d0b5af443914d3d6a7d811-primary.xml.gz; + sha256 = "04fqlzbd651r8jpvbl4n7hakh3d422ir88571y9rkhx1y5bdw2bh"; + }; + urlPrefix = mirror://fedora/linux/releases/17/Everything/x86_64/os; + archs = ["noarch" "x86_64"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + fedora18i386 = { name = "fedora-18-i386"; fullName = "Fedora 18 (i386)"; @@ -1505,22 +1536,22 @@ rec { debian70x86_64 = debian7x86_64; debian7i386 = { - name = "debian-7.3-wheezy-i386"; - fullName = "Debian 7.3 Wheezy (i386)"; + name = "debian-7.4-wheezy-i386"; + fullName = "Debian 7.4 Wheezy (i386)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; - sha256 = "037637520ce371a50beb5446fd27a731f30b51bc362c2f4a5dcfce9c7e30ffb6"; + sha256 = "9f19822c82e25cd149f82b0d16fdbc00d1080db7f34e41de456498dc7c54f2b4"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian7x86_64 = { - name = "debian-7.3-wheezy-amd64"; - fullName = "Debian 7.3 Wheezy (amd64)"; + name = "debian-7.4-wheezy-amd64"; + fullName = "Debian 7.4 Wheezy (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; - sha256 = "c2ed55a2a263d482826c934b97ad910984fa5695ab1c480841741b828d0590a5"; + sha256 = "160ee0917693bc2e8f69b233c220857f35a70d906540d99d2779def576daf5f7"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; @@ -1688,5 +1719,4 @@ rec { }; }; - -} +} // import ./windows pkgs diff --git a/pkgs/build-support/vm/windows/bootstrap.nix b/pkgs/build-support/vm/windows/bootstrap.nix new file mode 100644 index 000000000000..47afce5b5a37 --- /dev/null +++ b/pkgs/build-support/vm/windows/bootstrap.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, vmTools, writeScript, writeText, runCommand, makeInitrd +, python, perl, coreutils, dosfstools, gzip, mtools, netcat, openssh, qemu +, samba, socat, vde2, cdrkit, pathsFromGraph +}: + +{ isoFile, productKey, arch ? null }: + +with stdenv.lib; + +let + controller = import ./controller { + inherit stdenv writeScript vmTools makeInitrd; + inherit samba vde2 openssh socat netcat coreutils gzip; + }; + + mkCygwinImage = import ./cygwin-iso { + inherit stdenv fetchurl runCommand python perl cdrkit pathsFromGraph; + arch = let + defaultArch = if stdenv.is64bit then "x86_64" else "i686"; + in if arch == null then defaultArch else arch; + }; + + installer = import ./install { + inherit controller mkCygwinImage; + inherit stdenv runCommand openssh qemu writeText dosfstools mtools; + }; +in rec { + installedVM = installer { + inherit isoFile productKey; + }; + + runInVM = img: attrs: controller (attrs // { + inherit (installedVM) sshKey; + qemuArgs = attrs.qemuArgs or [] ++ [ + "-boot order=c" + "-drive file=${img},index=0,media=disk" + ]; + }); + + runAndSuspend = let + drives = { + s = { + source = "nixstore"; + target = "/nix/store"; + }; + x = { + source = "xchg"; + target = "/tmp/xchg"; + }; + }; + + genDriveCmds = letter: { source, target }: [ + "net use ${letter}: '\\\\192.168.0.2\\${source}' /persistent:yes" + "mkdir -p '${target}'" + "mount -o bind '/cygdrive/${letter}' '${target}'" + "echo '/cygdrive/${letter} ${target} none bind 0 0' >> /etc/fstab" + ]; + in runInVM "winvm.img" { + command = concatStringsSep " && " ([ + "net config server /autodisconnect:-1" + ] ++ concatLists (mapAttrsToList genDriveCmds drives)); + suspendTo = "state.gz"; + }; + + suspendedVM = stdenv.mkDerivation { + name = "cygwin-suspended-vm"; + buildCommand = '' + ${qemu}/bin/qemu-img create \ + -b "${installedVM}/disk.img" \ + -f qcow2 winvm.img + ${runAndSuspend} + ensureDir "$out" + cp winvm.img "$out/disk.img" + cp state.gz "$out/state.gz" + ''; + }; + + resumeAndRun = command: runInVM "${suspendedVM}/disk.img" { + resumeFrom = "${suspendedVM}/state.gz"; + qemuArgs = singleton "-snapshot"; + inherit command; + }; +} diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix new file mode 100644 index 000000000000..fe4b5b7f6c24 --- /dev/null +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -0,0 +1,229 @@ +{ stdenv, writeScript, vmTools, makeInitrd +, samba, vde2, openssh, socat, netcat, coreutils, gzip +}: + +{ sshKey +, qemuArgs ? [] +, command ? "sync" +, suspendTo ? null +, resumeFrom ? null +, installMode ? false +}: + +with stdenv.lib; + +let + preInitScript = writeScript "preinit.sh" '' + #!${vmTools.initrdUtils}/bin/ash -e + export PATH=${vmTools.initrdUtils}/bin + mount -t proc none /proc + mount -t sysfs none /sys + for arg in $(cat /proc/cmdline); do + if [ "x''${arg#command=}" != "x$arg" ]; then + command="''${arg#command=}" + fi + done + + for i in $(cat ${modulesClosure}/insmod-list); do + insmod $i + done + + mkdir -p /dev /fs + + mount -t tmpfs none /dev + mknod /dev/null c 1 3 + mknod /dev/zero c 1 5 + mknod /dev/random c 1 8 + mknod /dev/urandom c 1 9 + mknod /dev/tty c 5 0 + + ifconfig lo up + ifconfig eth0 up 192.168.0.2 + + mount -t tmpfs none /fs + mkdir -p /fs/nix/store /fs/xchg /fs/dev /fs/sys /fs/proc /fs/etc /fs/tmp + + mount -o bind /dev /fs/dev + mount -t sysfs none /fs/sys + mount -t proc none /fs/proc + + mount -t 9p \ + -o trans=virtio,version=9p2000.L,msize=262144,cache=loose \ + store /fs/nix/store + + mount -t 9p \ + -o trans=virtio,version=9p2000.L,msize=262144,cache=loose \ + xchg /fs/xchg + + echo root:x:0:0::/root:/bin/false > /fs/etc/passwd + + set +e + chroot /fs $command $out + echo $? > /fs/xchg/in-vm-exit + + poweroff -f + ''; + + initrd = makeInitrd { + contents = singleton { + object = preInitScript; + symlink = "/init"; + }; + }; + + shellEscape = x: "'${replaceChars ["'"] [("'\\'" + "'")] x}'"; + + loopForever = "while :; do ${coreutils}/bin/sleep 1; done"; + + initScript = writeScript "init.sh" ('' + #!${stdenv.shell} + ${coreutils}/bin/cp -L "${sshKey}" /ssh.key + ${coreutils}/bin/chmod 600 /ssh.key + '' + (if installMode then '' + echo -n "Waiting for Windows installation to finish..." + while ! ${netcat}/bin/netcat -z 192.168.0.1 22; do + echo -n . + # Print a dot every 10 seconds only to shorten line length. + ${coreutils}/bin/sleep 10 + done + echo " success." + # Loop forever, because this VM is going to be killed. + ${loopForever} + '' else '' + ${coreutils}/bin/mkdir -p /etc/samba /etc/samba/private \ + /var/lib/samba /var/log /var/run + ${coreutils}/bin/cat > /etc/samba/smb.conf < saved-env + XCHG_DIR="$(${coreutils}/bin/mktemp -d nix-vm.XXXXXXXXXX --tmpdir)" + ${coreutils}/bin/mv saved-env "$XCHG_DIR/" + + eval "$preVM" + + QEMU_VDE_SOCKET="$(pwd)/vde.ctl" + MONITOR_SOCKET="$(pwd)/monitor" + ${vde2}/bin/vde_switch -s "$QEMU_VDE_SOCKET" & + echo 'alive?' | ${socat}/bin/socat - \ + UNIX-CONNECT:$QEMU_VDE_SOCKET/ctl,retry=20 + ''; + + bgBoth = optionalString (suspendTo != null) " &"; + + vmExec = if installMode then '' + ${vmTools.qemuProg} ${controllerQemuArgs} & + ${vmTools.qemuProg} ${cygwinQemuArgs}${bgBoth} + '' else '' + ${vmTools.qemuProg} ${cygwinQemuArgs} & + ${vmTools.qemuProg} ${controllerQemuArgs}${bgBoth} + ''; + + postVM = if suspendTo != null then '' + while ! test -e "$XCHG_DIR/suspend_now"; do sleep 1; done + ${socat}/bin/socat - UNIX-CONNECT:$MONITOR_SOCKET < '${suspendTo}'" + quit + CMD + wait %- + + eval "$postVM" + exit 0 + '' else if installMode then '' + eval "$postVM" + exit 0 + '' else '' + if ! test -e "$XCHG_DIR/in-vm-exit"; then + echo "Virtual machine didn't produce an exit code." + exit 1 + fi + + eval "$postVM" + exit $(< "$XCHG_DIR/in-vm-exit") + ''; + +in writeScript "run-cygwin-vm.sh" '' + #!${stdenv.shell} -e + ${preVM} + ${vmExec} + ${postVM} +'' diff --git a/pkgs/build-support/vm/windows/cygwin-iso/default.nix b/pkgs/build-support/vm/windows/cygwin-iso/default.nix new file mode 100644 index 000000000000..d9801428a887 --- /dev/null +++ b/pkgs/build-support/vm/windows/cygwin-iso/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph +, arch ? "x86_64" +}: + +{ packages ? [] +, mirror ? "http://ftp.gwdg.de/pub/linux/sources.redhat.com/cygwin" +, extraContents ? [] +}: + +let + cygPkgList = if arch == "x86_64" then fetchurl { + url = "${mirror}/x86_64/setup.ini"; + sha256 = "0ljsxdkx9s916wp28kcvql3bjx80zzzidan6jicby7i9s3sm96n9"; + } else fetchurl { + url = "${mirror}/x86/setup.ini"; + sha256 = "1slyj4qha7x649ggwdski9spmyrbs04z2d46vgk8krllg0kppnjv"; + }; + + cygwinCross = (import ../../../../top-level/all-packages.nix { + inherit (stdenv) system; + crossSystem = { + libc = "msvcrt"; + platform = {}; + openssl.system = "mingw64"; + inherit arch; + config = "${arch}-w64-mingw32"; + }; + }).windows.cygwinSetup.crossDrv; + + makeCygwinClosure = { packages, packageList }: let + expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } '' + python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out" + ''); + gen = { url, md5 }: { + source = fetchurl { + url = "${mirror}/${url}"; + inherit md5; + }; + target = url; + }; + in map gen expr; + +in import { + inherit stdenv perl cdrkit pathsFromGraph; + contents = [ + { source = "${cygwinCross}/bin/setup.exe"; + target = "setup.exe"; + } + { source = cygPkgList; + target = "setup.ini"; + } + ] ++ makeCygwinClosure { + packages = cygPkgList; + packageList = packages; + } ++ extraContents; +} diff --git a/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py b/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py new file mode 100644 index 000000000000..48d569a6bd3e --- /dev/null +++ b/pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py @@ -0,0 +1,78 @@ +# Ugliest Python code I've ever written. -- aszlig +import sys + +def get_plist(path): + in_pack = False + in_str = False + current_key = None + buf = "" + packages = {} + package_name = None + package_attrs = {} + with open(path, 'r') as setup: + for line in setup: + if in_str and line.rstrip().endswith('"'): + package_attrs[current_key] = buf + line.rstrip()[:-1] + in_str = False + continue + elif in_str: + buf += line + continue + + if line.startswith('@'): + in_pack = True + package_name = line[1:].strip() + package_attrs = {} + elif in_pack and ':' in line: + key, value = line.split(':', 1) + if value.lstrip().startswith('"'): + if value.lstrip()[1:].rstrip().endswith('"'): + value = value.strip().strip('"') + else: + in_str = True + current_key = key.strip().lower() + buf = value.lstrip()[1:] + continue + package_attrs[key.strip().lower()] = value.strip() + elif in_pack: + in_pack = False + packages[package_name] = package_attrs + return packages + +def main(): + packages = get_plist(sys.argv[1]) + to_include = set() + + def traverse(package): + to_include.add(package) + attrs = packages.get(package, {}) + deps = attrs.get('requires', '').split() + for new_dep in set(deps) - to_include: + traverse(new_dep) + + map(traverse, sys.argv[2:]) + + sys.stdout.write('[\n') + for package, attrs in packages.iteritems(): + if package not in to_include: + cats = [c.lower() for c in attrs.get('category', '').split()] + if 'base' not in cats: + continue + + install_line = attrs.get('install') + if install_line is None: + continue + + url, size, md5 = install_line.split(' ', 2) + + pack = [ + ' {', + ' url = "{0}";'.format(url), + ' md5 = "{0}";'.format(md5), + ' }', + ]; + sys.stdout.write('\n'.join(pack) + '\n') + sys.stdout.write(']\n') + +if __name__ == '__main__': + main() diff --git a/pkgs/build-support/vm/windows/default.nix b/pkgs/build-support/vm/windows/default.nix new file mode 100644 index 000000000000..f9b44d450d99 --- /dev/null +++ b/pkgs/build-support/vm/windows/default.nix @@ -0,0 +1,48 @@ +pkgs: + +let + bootstrapper = import ./bootstrap.nix { + inherit (pkgs) stdenv vmTools writeScript writeText runCommand makeInitrd; + inherit (pkgs) coreutils dosfstools gzip mtools netcat openssh qemu samba; + inherit (pkgs) socat vde2 fetchurl python perl cdrkit pathsFromGraph; + }; + + builder = '' + source /tmp/xchg/saved-env 2> /dev/null || true + export NIX_STORE=/nix/store + export NIX_BUILD_TOP=/tmp + export TMPDIR=/tmp + export PATH=/empty + cd "$NIX_BUILD_TOP" + exec $origBuilder $origArgs + ''; + +in { + runInWindowsVM = drv: let + newDrv = drv.override { + stdenv = drv.stdenv.override { + shell = "/bin/sh"; + }; + }; + in pkgs.lib.overrideDerivation drv (attrs: let + bootstrap = bootstrapper attrs.windowsImage; + in { + requiredSystemFeatures = [ "kvm" ]; + builder = "${pkgs.stdenv.shell}"; + args = ["-e" (bootstrap.resumeAndRun builder)]; + windowsImage = bootstrap.suspendedVM; + origArgs = attrs.args; + origBuilder = if attrs.builder == attrs.stdenv.shell + then "/bin/sh" + else attrs.builder; + + postHook = '' + PATH=/usr/bin:/bin:/usr/sbin:/sbin + SHELL=/bin/sh + eval "$origPostHook" + ''; + + origPostHook = attrs.postHook or ""; + fixupPhase = ":"; + }); +} diff --git a/pkgs/build-support/vm/windows/install/default.nix b/pkgs/build-support/vm/windows/install/default.nix new file mode 100644 index 000000000000..10690bf6b287 --- /dev/null +++ b/pkgs/build-support/vm/windows/install/default.nix @@ -0,0 +1,74 @@ +{ stdenv, runCommand, openssh, qemu, controller, mkCygwinImage +, writeText, dosfstools, mtools +}: + +{ isoFile +, productKey +}: + +let + bootstrapAfterLogin = runCommand "bootstrap.sh" {} '' + cat > "$out" < ~/.ssh/authorized_keys <> $out/etc/X11/xkb/symbols/us - ''; -} diff --git a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl deleted file mode 100644 index 76905b7b77be..000000000000 --- a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl +++ /dev/null @@ -1,95 +0,0 @@ - -// Grabbed from http://lists.freedesktop.org/archives/xorg/2007-July/026686.html -// Submitted there by Adriaan van Nijendaal, he says he submitted it to X.org -// for inclusion, so it should be OK to use it as if it were part of X.org - -// The keyboard section in the X-server config file -// (/etc/X11/xorg.conf on my system) looks like this: -// -// Section "InputDevice" -// Driver "kbd" -// Identifier "Keyboard[0]" -// Option "XkbModel" "pc101" -// Option "XkbLayout" "us" -// Option "XkbVariant" "altgr-intl" -// EndSection -// -// To be effective, you need to install this file, change the X config -// file and restart the X-server. Or, alternatively, you can do this -// run-time: -// -// setxkbmap -v -rules xorg -model pc101 -layout us -variant altgr-intl -// -// Once the X-server has loaded the new config, a keyboard can be -// displayed with: (if you change "-ll 1" into "-ll 2", you'll see -// the special keys ONLY.) -// -// xkbcomp -o /tmp/keyboard.xkm -opt cgkst -xkb $DISPLAY -// xkbprint -o /tmp/keyboard.xkm.ps -kc -nkg 2 -ntg 4 -lg 1 -ll 1 \ -// -lc en_US.iso885915 -level2 -mono -label symbols -w 3 $DISPLAY; -// gv -seascape /tmp/keyboard.xkm.ps -// rm -f /tmp/keyboard.xkm.ps /tmp/keyboard.xkm -// - -partial hidden alphanumeric_keys -xkb_symbols "altgr-intl-rich" { - - name[Group1]= "U.S. English - International (AltGr dead keys)"; - - include "us(basic)" - - key { [ grave, asciitilde, dead_grave, dead_tilde ] }; - key { [ 1, exclam, onesuperior, exclamdown ] }; - key { [ 2, at, twosuperior, dead_doubleacute] }; - key { [ 3, numbersign, threesuperior, dead_macron ] }; - key { [ 4, dollar, currency, sterling ] }; - key { [ 5, percent, EuroSign, approxeq ] }; - key { [ 6, asciicircum, dead_circumflex, dead_stroke ] }; - key { [ 7, ampersand, dead_horn ] }; - key { [ 8, asterisk, dead_ogonek, infinity ] }; - key { [ 9, parenleft, leftsinglequotemark,dead_breve ] }; - key { [ 0, parenright,rightsinglequotemark,dead_abovering ] }; - key { [ minus, underscore, yen, dead_belowdot ] }; - key { [ equal, plus, multiply, division ] }; - - key { [ q, Q, adiaeresis, Adiaeresis ] }; - key { [ w, W, aring, Aring ] }; - key { [ e, E, eacute, Eacute ] }; - key { [ r, R, ediaeresis, Ediaeresis ] }; - key { [ t, T, thorn, THORN ] }; - key { [ y, Y, udiaeresis, Udiaeresis ] }; - key { [ u, U, uacute, Uacute ] }; - key { [ i, I, iacute, Iacute ] }; - key { [ o, O, oacute, Oacute ] }; - key { [ p, P, odiaeresis, Odiaeresis ] }; - key { [ bracketleft, braceleft, guillemotleft, lessthanequal ] }; - key { [ bracketright,braceright, guillemotright, greaterthanequal] }; - - key { [ a, A, aacute, Aacute ] }; - key { [ s, S, ssharp, section ] }; - key { [ d, D, eth, ETH ] }; - key { [ f, F, union, intersection ] }; - key { [ g, G, eng, ENG ] }; - key { [ h, H, hyphen, nobreakspace ] }; - key { [ j, J, idiaeresis, Idiaeresis ] }; - key { [ k, K ] }; - key { [ l, L, oslash, Ooblique ] }; - key { [semicolon, colon, paragraph, degree ] }; - key { [apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; - - key { [ z, Z, ae, AE ] }; - key { [ x, X, oe, OE ] }; - key { [ c, C, copyright, cent ] }; - key { [ v, V, registered, trademark ] }; - key { [ b, B, emdash, endash ] }; - key { [ n, N, nu, numerosign ] }; - key { [ m, M, mu, plusminus ] }; - key { [ comma, less, ccedilla, Ccedilla ] }; - key { [ period, greater, dead_abovedot, dead_caron ] }; - key { [ slash, question, questiondown, dead_hook ] }; - key { [backslash, bar, notsign, brokenbar ] }; - - // Let's have free choice - //include "level3(ralt_switch)" -}; - diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix index c143ce166983..bfe454a49fe1 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "docbook-xsl-ns-1.75.2"; + name = "docbook-xsl-ns-1.78.1"; src = fetchurl { url = "mirror://sourceforge/docbook/${name}.tar.bz2"; - sha256 = "1pr7m0hmqilk25hjx33kq2vqn2xf6cx6zhxqm35fdvnjccazlxg2"; + sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng"; }; buildPhase = "true"; diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix index c54d8f304b62..981aa59369de 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "docbook-xsl-1.72.0"; + name = "docbook-xsl-1.78.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/docbook/docbook-xsl-1.72.0.tar.bz2; - sha256 = "1cnrfgqz8pc9wnlgqjch2338ad7jki6d4h6b2fhaxn1a2201df5k"; + url = mirror://sourceforge/docbook/docbook-xsl-1.78.1.tar.bz2; + sha256 = "0rxl013ncmz1n6ymk2idvx3hix9pdabk8xn01cpcv32wmfb753y9"; }; } diff --git a/pkgs/desktops/cinnamon/automount-plugin.patch b/pkgs/desktops/cinnamon/automount-plugin.patch new file mode 100644 index 000000000000..3d90da99f088 --- /dev/null +++ b/pkgs/desktops/cinnamon/automount-plugin.patch @@ -0,0 +1,448 @@ + +diff -Naur cinnamon-settings-daemon-2.0.1.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in cinnamon-settings-daemon-2.0.1/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in +--- cinnamon-settings-daemon-2.0.6.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in 2013-11-03 10:50:04.000000000 -0500 ++++ cinnamon-settings-daemon-2.0.6/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in 2013-11-05 15:33:21.112912392 -0500 +@@ -2,6 +2,7 @@ + + + ++ + + + +@@ -42,6 +43,18 @@ + <_summary>Priority to use for this plugin + <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue + ++ ++ ++ ++ true ++ <_summary>Activation of this plugin ++ <_description>Whether this plugin would be activated by cinnamon-settings-daemon or not ++ ++ ++ 97 ++ <_summary>Priority to use for this plugin ++ <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue ++ + + + +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,8 @@ ++[Cinnamon Settings Plugin] ++Module=automount ++IAge=0 ++_Name=Automount ++_Description=Automounter plugin ++Authors=Tomas Bzatek ++Copyright=Copyright © 2010 Red Hat, Inc. ++Website= +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,65 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2010 Red Hat, Inc. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA +- * +- * Author: Tomas Bzatek +- */ +- +-#include "config.h" +- +-#include +-#include +-#include +-#include +- +-#include "csd-automount-manager.h" +- +-int +-main (int argc, +- char **argv) +-{ +- GMainLoop *loop; +- CsdAutomountManager *manager; +- GError *error = NULL; +- +- g_type_init (); +- gtk_init (&argc, &argv); +- +- bindtextdomain (GETTEXT_PACKAGE, CINNAMON_SETTINGS_LOCALEDIR); +- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); +- textdomain (GETTEXT_PACKAGE); +- +- loop = g_main_loop_new (NULL, FALSE); +- manager = csd_automount_manager_new (); +- +- csd_automount_manager_start (manager, &error); +- +- if (error != NULL) { +- g_printerr ("Unable to start the mount manager: %s", +- error->message); +- +- g_error_free (error); +- _exit (1); +- } +- +- g_main_loop_run (loop); +- +- csd_automount_manager_stop (manager); +- g_main_loop_unref (loop); +- +- return 0; +-} +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,12 +0,0 @@ +-[Desktop Entry] +-_Name=Mount Helper +-_Comment=Automount and autorun plugged devices +-Exec=@LIBEXECDIR@/cinnamon-fallback-mount-helper +-Icon=drive-optical +-Terminal=false +-Type=Application +-Categories= +-NoDisplay=true +-OnlyShowIn=GNOME; +-X-GNOME-Autostart-Notify=true +- +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,106 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2010 Red Hat, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Author: Tomas Bzatek ++ */ ++ ++#include "config.h" ++ ++#include ++#include ++ ++#include "cinnamon-settings-plugin.h" ++#include "csd-automount-plugin.h" ++#include "csd-automount-manager.h" ++ ++struct CsdAutomountPluginPrivate { ++ CsdAutomountManager *manager; ++}; ++ ++#define CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginPrivate)) ++ ++CINNAMON_SETTINGS_PLUGIN_REGISTER (CsdAutomountPlugin, csd_automount_plugin) ++ ++static void ++csd_automount_plugin_init (CsdAutomountPlugin *plugin) ++{ ++ plugin->priv = CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE (plugin); ++ ++ g_debug ("Automount plugin initializing"); ++ ++ plugin->priv->manager = csd_automount_manager_new (); ++} ++ ++static void ++csd_automount_plugin_finalize (GObject *object) ++{ ++ CsdAutomountPlugin *plugin; ++ ++ g_return_if_fail (object != NULL); ++ g_return_if_fail (CSD_IS_AUTOMOUNT_PLUGIN (object)); ++ ++ g_debug ("Automount plugin finalizing"); ++ ++ plugin = CSD_AUTOMOUNT_PLUGIN (object); ++ ++ g_return_if_fail (plugin->priv != NULL); ++ ++ if (plugin->priv->manager != NULL) { ++ g_object_unref (plugin->priv->manager); ++ } ++ ++ G_OBJECT_CLASS (csd_automount_plugin_parent_class)->finalize (object); ++} ++ ++static void ++impl_activate (CinnamonSettingsPlugin *plugin) ++{ ++ gboolean res; ++ GError *error; ++ ++ g_debug ("Activating automount plugin"); ++ ++ error = NULL; ++ res = csd_automount_manager_start (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager, &error); ++ if (! res) { ++ g_warning ("Unable to start automount manager: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++impl_deactivate (CinnamonSettingsPlugin *plugin) ++{ ++ g_debug ("Deactivating automount plugin"); ++ csd_automount_manager_stop (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager); ++} ++ ++static void ++csd_automount_plugin_class_init (CsdAutomountPluginClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ CinnamonSettingsPluginClass *plugin_class = CINNAMON_SETTINGS_PLUGIN_CLASS (klass); ++ ++ object_class->finalize = csd_automount_plugin_finalize; ++ ++ plugin_class->activate = impl_activate; ++ plugin_class->deactivate = impl_deactivate; ++ ++ g_type_class_add_private (klass, sizeof (CsdAutomountPluginPrivate)); ++} ++ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,60 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2010 Red Hat, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Author: Tomas Bzatek ++ */ ++ ++#ifndef __CSD_AUTOMOUNT_PLUGIN_H__ ++#define __CSD_AUTOMOUNT_PLUGIN_H__ ++ ++#include ++#include ++#include ++ ++#include "cinnamon-settings-plugin.h" ++ ++G_BEGIN_DECLS ++ ++#define CSD_TYPE_AUTOMOUNT_PLUGIN (csd_automount_plugin_get_type ()) ++#define CSD_AUTOMOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPlugin)) ++#define CSD_AUTOMOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass)) ++#define CSD_IS_AUTOMOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_AUTOMOUNT_PLUGIN)) ++#define CSD_IS_AUTOMOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSD_TYPE_AUTOMOUNT_PLUGIN)) ++#define CSD_AUTOMOUNT_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass)) ++ ++typedef struct CsdAutomountPluginPrivate CsdAutomountPluginPrivate; ++ ++typedef struct ++{ ++ CinnamonSettingsPlugin parent; ++ CsdAutomountPluginPrivate *priv; ++} CsdAutomountPlugin; ++ ++typedef struct ++{ ++ CinnamonSettingsPluginClass parent_class; ++} CsdAutomountPluginClass; ++ ++GType csd_automount_plugin_get_type (void) G_GNUC_CONST; ++ ++/* All the plugins must implement this function */ ++G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module); ++ ++G_END_DECLS ++ ++#endif /* __CSD_AUTOMOUNT_PLUGIN_H__ */ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am 2013-10-08 22:48:19.240865461 +0200 +@@ -1,38 +1,87 @@ +-libexec_PROGRAMS = cinnamon-fallback-mount-helper ++NULL = + +-cinnamon_fallback_mount_helper_SOURCES = \ +- cinnamon-fallback-mount-helper.c \ +- csd-automount-manager.c \ +- csd-automount-manager.h \ +- csd-autorun.c \ +- csd-autorun.h ++plugin_name = automount + +-cinnamon_fallback_mount_helper_CPPFLAGS = \ ++libexec_PROGRAMS = csd-test-automount ++ ++csd_test_automount_SOURCES = \ ++ test-automount.c \ ++ csd-automount-manager.h \ ++ csd-automount-manager.c \ ++ csd-autorun.c \ ++ csd-autorun.h \ ++ $(NULL) ++ ++csd_test_automount_CPPFLAGS = \ + -I$(top_srcdir)/cinnamon-settings-daemon \ ++ -I$(top_srcdir)/plugins/common \ + -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ + $(AM_CPPFLAGS) + +-cinnamon_fallback_mount_helper_CFLAGS = \ ++csd_test_automount_CFLAGS = \ ++ $(PLUGIN_CFLAGS) \ + $(SETTINGS_PLUGIN_CFLAGS) \ + $(SYSTEMD_CFLAGS) \ + $(AUTOMOUNT_CFLAGS) ++ $(AM_CFLAGS) ++ ++csd_test_automount_LDADD = \ ++ $(top_builddir)/cinnamon-settings-daemon/libcsd.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(SYSTEMD_LIBS) \ ++ $(AUTOMOUNT_LIBS) \ ++ $(NULL) ++ ++plugin_LTLIBRARIES = \ ++ libautomount.la \ ++ $(NULL) ++ ++libautomount_la_SOURCES = \ ++ csd-automount-plugin.h \ ++ csd-automount-plugin.c \ ++ csd-automount-manager.h \ ++ csd-automount-manager.c \ ++ csd-autorun.c \ ++ csd-autorun.h \ ++ $(NULL) ++ ++libautomount_la_CPPFLAGS = \ ++ -I$(top_srcdir)/cinnamon-settings-daemon \ ++ -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ ++ $(AM_CPPFLAGS) ++ ++libautomount_la_CFLAGS = \ ++ $(SETTINGS_PLUGIN_CFLAGS) \ ++ $(SYSTEMD_CFLAGS) \ ++ $(AUTOMOUNT_CFLAGS) \ ++ $(AM_CFLAGS) ++ ++libautomount_la_LDFLAGS = \ ++ $(CSD_PLUGIN_LDFLAGS) \ ++ $(NULL) + +-cinnamon_fallback_mount_helper_LDADD = \ ++libautomount_la_LIBADD = \ + $(SETTINGS_PLUGIN_LIBS) \ + $(SYSTEMD_LIBS) \ + $(AUTOMOUNT_LIBS) \ +- $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ $(NULL) + +-autostartdir = $(datadir)/applications +-autostart_in_files = cinnamon-fallback-mount-helper.desktop.in +-autostart_in_in_files = cinnamon-fallback-mount-helper.desktop.in.in +-autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) ++plugin_in_files = \ ++ automount.cinnamon-settings-plugin.in \ ++ $(NULL) + +-$(autostart_in_files): $(autostart_in_in_files) +- @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@ ++plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin) + +-@INTLTOOL_DESKTOP_RULE@ ++EXTRA_DIST = \ ++ $(plugin_in_files) \ ++ $(NULL) + +-EXTRA_DIST = $(autostart_in_in_files) ++CLEANFILES = \ ++ $(plugin_DATA) \ ++ $(NULL) + +-CLEANFILES = $(autostart_DATA) $(autostart_in_files) ++DISTCLEANFILES = \ ++ $(plugin_DATA) \ ++ $(NULL) ++ ++@CSD_INTLTOOL_PLUGIN_RULE@ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c 2013-10-08 22:42:53.759486525 +0200 +@@ -0,0 +1,7 @@ ++#define NEW csd_automount_manager_new ++#define START csd_automount_manager_start ++#define STOP csd_automount_manager_stop ++#define MANAGER CsdAutomountManager ++#include "csd-automount-manager.h" ++ ++#include "test-plugin.h" +diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in cinnamon-settings-daemon-2.0.1/po/POTFILES.in +--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.in 2013-10-08 22:35:10.771472456 +0200 +@@ -18,8 +18,9 @@ + plugins/a11y-keyboard/csd-a11y-preferences-dialog.c + [type: gettext/glade]plugins/a11y-keyboard/csd-a11y-preferences-dialog.ui + [type: gettext/ini]plugins/a11y-settings/a11y-settings.cinnamon-settings-plugin.in +-plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in ++[type: gettext/ini]plugins/automount/automount.cinnamon-settings-plugin.in + plugins/automount/csd-automount-manager.c ++plugins/automount/csd-automount-plugin.c + plugins/automount/csd-autorun.c + [type: gettext/ini]plugins/background/background.cinnamon-settings-plugin.in + [type: gettext/ini]plugins/clipboard/clipboard.cinnamon-settings-plugin.in +diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip cinnamon-settings-daemon-2.0.1/po/POTFILES.skip +--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.skip 2013-10-08 22:37:20.224645009 +0200 +@@ -20,6 +20,5 @@ + data/org.cinnamon.settings-daemon.plugins.updates.gschema.xml.in + data/org.cinnamon.settings-daemon.plugins.xrandr.gschema.xml.in + data/org.cinnamon.settings-daemon.plugins.xsettings.gschema.xml.in +-plugins/automount/gnome-fallback-mount-helper.desktop.in + plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in + plugins/wacom/org.cinnamon.settings-daemon.plugins.wacom.policy.in diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center.nix b/pkgs/desktops/cinnamon/cinnamon-control-center.nix new file mode 100644 index 000000000000..ab2f389b4f5f --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-control-center.nix @@ -0,0 +1,40 @@ + +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, libxslt, gtk3, libnotify, +gnome-menus, libxml2, systemd, upower, cinnamon-settings-daemon, colord, polkit, ibus, libcanberra_gtk3, pulseaudio, isocodes, krb5, +libxkbfile}: + +let + version = "2.0.9"; +in +stdenv.mkDerivation { + name = "cinnamon-control-center-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-control-center/archive/${version}.tar.gz"; + sha256 = "0kivqdgsf8w257j2ja6fap0dpvljcnb9gphr3knp7y6ma2d1gfv3"; + }; + + configureFlags = "--enable-systemd --disable-update-mimedb" ; + + patches = [ ./region.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + intltool libxslt gtk3 cinnamon-desktop + libnotify gnome-menus libxml2 systemd + upower cinnamon-settings-daemon colord + polkit ibus libcanberra_gtk3 pulseaudio + isocodes krb5 libxkbfile ]; + + preBuild = "patchShebangs ./scripts"; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop.nix b/pkgs/desktops/cinnamon/cinnamon-desktop.nix index e158b4898840..d3cf04e835d1 100644 --- a/pkgs/desktops/cinnamon/cinnamon-desktop.nix +++ b/pkgs/desktops/cinnamon/cinnamon-desktop.nix @@ -22,10 +22,6 @@ stdenv.mkDerivation { xkeyboard_config libxkbfile libX11 libXrandr libXext ]; - postInstall = '' - ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ - ''; - meta = { homepage = "http://cinnamon.linuxmint.com"; description = "Library and data for various Cinnamon modules"; diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix index 850dd4e6c5af..534fa11f0467 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; - configureFlags = "--disable-schemas-compile --enable-systemd --disable-gconf" ; + configureFlags = "--enable-systemd --disable-gconf" ; patches = [ ./remove-sessionmigration.patch ./timeout.patch]; @@ -23,17 +23,17 @@ stdenv.mkDerivation { gtk3 dbus_glib upower json_glib intltool systemd xorg.xtrans makeWrapper + cinnamon-desktop/*gschemas*/ ]; preBuild = "patchShebangs ./scripts"; - postInstall = '' - ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ + postFixup = '' rm $out/share/icons/hicolor/icon-theme.cache for f in "$out"/bin/*; do - wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:${cinnamon-desktop}/share" + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" done ''; diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix new file mode 100644 index 000000000000..c397a9758e2c --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix @@ -0,0 +1,52 @@ + +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, gtk3, +libnotify, lcms2, libxklavier, libgnomekbd, libcanberra, pulseaudio, upower, libcanberra_gtk3, colord, +systemd, libxslt, docbook_xsl, makeWrapper, gsettings_desktop_schemas}: + +let + version = "2.0.10"; +in +stdenv.mkDerivation { + name = "cinnamon-settings-daemon-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-settings-daemon/archive/${version}.tar.gz"; + sha256 = "10r75xsngb7ipv9fy07dyfb256bqybzcxbwny60sgjhrksk3v9mg"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + configureFlags = "--enable-systemd" ; + + patches = [ ./systemd-support.patch ./automount-plugin.patch ./dpms.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + intltool gtk3 libnotify lcms2 + libgnomekbd libxklavier colord + libcanberra pulseaudio upower + libcanberra_gtk3 cinnamon-desktop + systemd libxslt docbook_xsl makeWrapper + gsettings_desktop_schemas + ]; + + preBuild = "patchShebangs ./scripts"; + + #ToDo: missing org.cinnamon.gschema.xml, probably not packaged yet + postFixup = '' + for f in "$out"/libexec/*; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + done + ''; + + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/dpms.patch b/pkgs/desktops/cinnamon/dpms.patch new file mode 100644 index 000000000000..a73f33dc6182 --- /dev/null +++ b/pkgs/desktops/cinnamon/dpms.patch @@ -0,0 +1,30 @@ + +-- a/plugins/power/csd-power-manager.c ++++ b/plugins/power/csd-power-manager.c +@@ -33,6 +33,8 @@ + #include + #include + ++#include ++ + #define GNOME_DESKTOP_USE_UNSTABLE_API + #include + +@@ -3967,6 +3790,17 @@ csd_power_manager_start (CsdPowerManager + /* set the initial dim time that can adapt for the user */ + refresh_idle_dim_settings (manager); + ++ /* Make sure that Xorg's DPMS extension never gets in our way. The defaults seem to have changed in Xorg 1.14 ++ * being "0" by default to being "600" by default ++ * https://bugzilla.gnome.org/show_bug.cgi?id=709114 ++ */ ++ gdk_error_trap_push (); ++ int dummy; ++ if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy)) { ++ DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0); ++ } ++ gdk_error_trap_pop_ignored (); ++ + manager->priv->xscreensaver_watchdog_timer_id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, + disable_builtin_screensaver, + NULL); diff --git a/pkgs/desktops/cinnamon/gtkdoc.patch b/pkgs/desktops/cinnamon/gtkdoc.patch new file mode 100644 index 000000000000..6398306a76ae --- /dev/null +++ b/pkgs/desktops/cinnamon/gtkdoc.patch @@ -0,0 +1,41 @@ +--- a/src/meta/prefs.h ++++ b/src/meta/prefs.h +@@ -310,13 +310,13 @@ typedef struct + */ + GSList *bindings; + +- /** for keybindings that can have shift or not like Alt+Tab */ ++ /* for keybindings that can have shift or not like Alt+Tab */ + gboolean add_shift:1; + +- /** for keybindings that apply only to a window */ ++ /* for keybindings that apply only to a window */ + gboolean per_window:1; + +- /** for keybindings not added with meta_display_add_keybinding() */ ++ /* for keybindings not added with meta_display_add_keybinding() */ + gboolean builtin:1; + } MetaKeyPref; + +@@ -339,5 +339,3 @@ CDesktopVisualBellType meta_prefs_get_vi + MetaPlacementMode meta_prefs_get_placement_mode (void); + + #endif +- +- +--- a/src/core/workspace.c ++++ b/src/core/workspace.c +@@ -194,7 +194,7 @@ meta_workspace_new (MetaScreen *screen) + return workspace; + } + +-/** Foreach function for workspace_free_struts() */ ++/* Foreach function for workspace_free_struts() */ + static void + free_this (gpointer candidate, gpointer dummy) + { +@@ -1390,4 +1390,3 @@ meta_workspace_get_screen (MetaWorkspace + { + return workspace->screen; + } +- diff --git a/pkgs/desktops/cinnamon/keyboard.patch b/pkgs/desktops/cinnamon/keyboard.patch new file mode 100644 index 000000000000..f67d961ff58f --- /dev/null +++ b/pkgs/desktops/cinnamon/keyboard.patch @@ -0,0 +1,4729 @@ + +diff -uNrp a/cinnamon-settings-daemon/main.c b/cinnamon-settings-daemon/main.c +--- a/cinnamon-settings-daemon/main.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/cinnamon-settings-daemon/main.c 2013-08-25 16:36:02.000000000 +0100 +@@ -319,6 +319,29 @@ set_legacy_ibus_env_vars (GDBusProxy *pr + } + #endif + ++static void ++got_session_proxy (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy; ++ GError *error = NULL; ++ ++ proxy = g_dbus_proxy_new_finish (res, &error); ++ if (proxy == NULL) { ++ g_debug ("Could not connect to the Session manager: %s", error->message); ++ g_error_free (error); ++ } else { ++ set_locale (proxy); ++#ifdef HAVE_IBUS ++ /* This will register with cinnamon-session after calling Setenv. */ ++ set_legacy_ibus_env_vars (proxy); ++#else ++ register_with_gnome_session (proxy); ++#endif ++ } ++} ++ + static gboolean + on_term_signal_pipe_closed (GIOChannel *source, + GIOCondition condition, +@@ -368,6 +391,16 @@ set_session_over_handler (GDBusConnectio + { + g_assert (bus != NULL); + ++ g_dbus_proxy_new (bus, ++ G_DBUS_PROXY_FLAGS_NONE, ++ NULL, ++ GNOME_SESSION_DBUS_NAME, ++ GNOME_SESSION_DBUS_OBJECT, ++ GNOME_SESSION_DBUS_INTERFACE, ++ NULL, ++ (GAsyncReadyCallback) got_session_proxy, ++ NULL); ++ + watch_for_term_signal (manager); + } + +@@ -390,56 +423,6 @@ name_lost_handler (GDBusConnection *conn + gtk_main_quit (); + } + +-static gboolean +-do_register_client (gpointer user_data) +-{ +- GDBusProxy *proxy = (GDBusProxy *) user_data; +- g_assert (proxy != NULL); +- +- const char *startup_id = g_getenv ("DESKTOP_AUTOSTART_ID"); +- g_dbus_proxy_call (proxy, +- "RegisterClient", +- g_variant_new ("(ss)", "cinnamon-settings-daemon", startup_id ? startup_id : ""), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- (GAsyncReadyCallback) on_client_registered, +- manager); +- +- return FALSE; +-} +- +-static void +-queue_register_client (void) +-{ +- GDBusConnection *bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); +- if (!bus) +- return; +- +- GError *error = NULL; +- GDBusProxy *proxy = g_dbus_proxy_new_sync (bus, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- GNOME_SESSION_DBUS_NAME, +- GNOME_SESSION_DBUS_OBJECT, +- GNOME_SESSION_DBUS_INTERFACE, +- NULL, +- &error); +- g_object_unref (bus); +- +- if (proxy == NULL) { +- g_debug ("Could not connect to the Session manager: %s", error->message); +- g_error_free (error); +- return; +- } +- +- /* Register the daemon with cinnamon-session */ +- g_signal_connect (G_OBJECT (proxy), "g-signal", +- G_CALLBACK (on_session_over), NULL); +- +- g_idle_add_full (G_PRIORITY_DEFAULT, do_register_client, proxy, NULL); +-} +- + static void + bus_register (void) + { +@@ -541,8 +524,6 @@ main (int argc, char *argv[]) + + notify_init ("cinnamon-settings-daemon"); + +- queue_register_client (); +- + bus_register (); + + cinnamon_settings_profile_start ("cinnamon_settings_manager_new"); +diff -uNrp a/configure.ac b/configure.ac +--- a/configure.ac 2013-08-24 18:04:31.000000000 +0100 ++++ b/configure.ac 2013-08-25 16:36:02.000000000 +0100 +@@ -53,6 +53,7 @@ UPOWER_GLIB_REQUIRED_VERSION=0.9.1 + PA_REQUIRED_VERSION=0.9.16 + UPOWER_REQUIRED_VERSION=0.9.11 + GTK_XINPUT_2_3_VERSION=3.7.8 ++IBUS_REQUIRED_VERSION=1.4.2 + + #EXTRA_COMPILE_WARNINGS(yes) + +@@ -199,8 +200,21 @@ dnl ------------------------------------ + dnl - Keyboard plugin stuff + dnl --------------------------------------------------------------------------- + +-LIBGNOMEKBD_REQUIRED=2.91.1 +-PKG_CHECK_MODULES(KEYBOARD, [libgnomekbdui >= $LIBGNOMEKBD_REQUIRED libgnomekbd >= $LIBGNOMEKBD_REQUIRED libxklavier >= 5.0 kbproto]) ++AC_ARG_ENABLE(ibus, ++ AS_HELP_STRING([--disable-ibus], ++ [Disable IBus support]), ++ enable_ibus=$enableval, ++ enable_ibus=yes) ++ ++if test "x$enable_ibus" = "xyes" ; then ++ IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION" ++ AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled]) ++else ++ IBUS_MODULE= ++fi ++AM_CONDITIONAL(HAVE_IBUS, test "x$enable_ibus" == "xyes") ++ ++PKG_CHECK_MODULES(KEYBOARD, xkbfile $IBUS_MODULE cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION) + + dnl --------------------------------------------------------------------------- + dnl - Housekeeping plugin stuff +diff -uNrp a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in +--- a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in 2013-08-24 18:04:31.000000000 +0100 ++++ b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in 2013-08-25 16:36:02.000000000 +0100 +@@ -175,6 +175,15 @@ + <_summary>Magnifier zoom out + <_description>Binding for the magnifier to zoom out + ++ ++ '' ++ <_summary>Switch input source ++ <_description>Binding to select the next input source ++ ++ ++ '' ++ <_summary>Switch input source backward ++ <_description>Binding to select the previous input source ++ + +- +- ++ +\ No newline at end of file +diff -uNrp a/plugins/keyboard/csd-keyboard-manager.c b/plugins/keyboard/csd-keyboard-manager.c +--- a/plugins/keyboard/csd-keyboard-manager.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-manager.c 2013-08-25 16:36:02.000000000 +0100 +@@ -40,19 +40,22 @@ + + #include + #include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include ++ ++#ifdef HAVE_IBUS ++#include ++#endif + + #include "cinnamon-settings-profile.h" + #include "csd-keyboard-manager.h" ++#include "csd-input-helper.h" + #include "csd-enums.h" + +-#include "csd-keyboard-xkb.h" +- + #define CSD_KEYBOARD_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_KEYBOARD_MANAGER, CsdKeyboardManagerPrivate)) + +-#ifndef HOST_NAME_MAX +-# define HOST_NAME_MAX 255 +-#endif +- + #define CSD_KEYBOARD_DIR "org.cinnamon.settings-daemon.peripherals.keyboard" + + #define KEY_REPEAT "repeat" +@@ -60,6 +63,7 @@ + #define KEY_INTERVAL "repeat-interval" + #define KEY_DELAY "delay" + #define KEY_CLICK_VOLUME "click-volume" ++#define KEY_REMEMBER_NUMLOCK_STATE "remember-numlock-state" + #define KEY_NUMLOCK_STATE "numlock-state" + + #define KEY_BELL_VOLUME "bell-volume" +@@ -67,27 +71,560 @@ + #define KEY_BELL_DURATION "bell-duration" + #define KEY_BELL_MODE "bell-mode" + +-#define LIBGNOMEKBD_KEYBOARD_DIR "org.gnome.libgnomekbd.keyboard" +-#define LIBGNOMEKBD_KEY_LAYOUTS "layouts" ++#define KEY_SWITCHER "input-sources-switcher" ++ ++#define GNOME_DESKTOP_INTERFACE_DIR "org.cinnamon.desktop.interface" ++ ++#define KEY_GTK_IM_MODULE "gtk-im-module" ++#define GTK_IM_MODULE_SIMPLE "gtk-im-context-simple" ++#define GTK_IM_MODULE_IBUS "ibus" ++ ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++ ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++#define KEY_KEYBOARD_OPTIONS "xkb-options" ++ ++#define INPUT_SOURCE_TYPE_XKB "xkb" ++#define INPUT_SOURCE_TYPE_IBUS "ibus" ++ ++#define DEFAULT_LANGUAGE "en_US" + + struct CsdKeyboardManagerPrivate + { + guint start_idle_id; + GSettings *settings; +- GSettings *libgnomekbd_settings; +- gboolean have_xkb; ++ GSettings *input_sources_settings; ++ GSettings *interface_settings; ++ GnomeXkbInfo *xkb_info; ++#ifdef HAVE_IBUS ++ IBusBus *ibus; ++ GHashTable *ibus_engines; ++ GHashTable *ibus_xkb_engines; ++ GCancellable *ibus_cancellable; ++ gboolean session_is_fallback; ++#endif + gint xkb_event_base; + CsdNumLockState old_state; ++ GdkDeviceManager *device_manager; ++ guint device_added_id; ++ guint device_removed_id; ++ ++ gboolean input_sources_switcher_spawned; ++ GPid input_sources_switcher_pid; + }; + + static void csd_keyboard_manager_class_init (CsdKeyboardManagerClass *klass); + static void csd_keyboard_manager_init (CsdKeyboardManager *keyboard_manager); + static void csd_keyboard_manager_finalize (GObject *object); ++static gboolean apply_input_sources_settings (GSettings *settings, ++ gpointer keys, ++ gint n_keys, ++ CsdKeyboardManager *manager); ++static void set_gtk_im_module (CsdKeyboardManager *manager, ++ const gchar *new_module); + + G_DEFINE_TYPE (CsdKeyboardManager, csd_keyboard_manager, G_TYPE_OBJECT) + + static gpointer manager_object = NULL; + ++static void ++init_builder_with_sources (GVariantBuilder *builder, ++ GSettings *settings) ++{ ++ const gchar *type; ++ const gchar *id; ++ GVariantIter iter; ++ GVariant *sources; ++ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ ++ g_variant_builder_init (builder, G_VARIANT_TYPE ("a(ss)")); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) ++ g_variant_builder_add (builder, "(ss)", type, id); ++ ++ g_variant_unref (sources); ++} ++ ++static gboolean ++schema_is_installed (const gchar *name) ++{ ++ const gchar * const *schemas; ++ const gchar * const *s; ++ ++ schemas = g_settings_list_schemas (); ++ for (s = schemas; *s; ++s) ++ if (g_str_equal (*s, name)) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++#ifdef HAVE_IBUS ++static void ++clear_ibus (CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ g_cancellable_cancel (priv->ibus_cancellable); ++ g_clear_object (&priv->ibus_cancellable); ++ g_clear_pointer (&priv->ibus_engines, g_hash_table_destroy); ++ g_clear_pointer (&priv->ibus_xkb_engines, g_hash_table_destroy); ++ g_clear_object (&priv->ibus); ++} ++ ++static gchar * ++make_xkb_source_id (const gchar *engine_id) ++{ ++ gchar *id; ++ gchar *p; ++ gint n_colons = 0; ++ ++ /* engine_id is like "xkb:layout:variant:lang" where ++ * 'variant' and 'lang' might be empty */ ++ ++ engine_id += 4; ++ ++ for (p = (gchar *)engine_id; *p; ++p) ++ if (*p == ':') ++ if (++n_colons == 2) ++ break; ++ if (!*p) ++ return NULL; ++ ++ id = g_strndup (engine_id, p - engine_id + 1); ++ ++ id[p - engine_id] = '\0'; ++ ++ /* id is "layout:variant" where 'variant' might be empty */ ++ ++ for (p = id; *p; ++p) ++ if (*p == ':') { ++ if (*(p + 1) == '\0') ++ *p = '\0'; ++ else ++ *p = '+'; ++ break; ++ } ++ ++ /* id is "layout+variant" or "layout" */ ++ ++ return id; ++} ++ ++static void ++fetch_ibus_engines_result (GObject *object, ++ GAsyncResult *result, ++ CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GList *list, *l; ++ GError *error = NULL; ++ ++ /* engines shouldn't be there yet */ ++ g_return_if_fail (priv->ibus_engines == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ list = ibus_bus_list_engines_async_finish (priv->ibus, ++ result, ++ &error); ++ if (!list && error) { ++ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) ++ g_warning ("Couldn't finish IBus request: %s", error->message); ++ g_error_free (error); ++ ++ clear_ibus (manager); ++ return; ++ } ++ ++ /* Maps IBus engine ids to engine description objects */ ++ priv->ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); ++ /* Maps XKB source id strings to engine description objects */ ++ priv->ibus_xkb_engines = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ ++ for (l = list; l; l = l->next) { ++ IBusEngineDesc *engine = l->data; ++ const gchar *engine_id = ibus_engine_desc_get_name (engine); ++ ++ g_hash_table_replace (priv->ibus_engines, (gpointer)engine_id, engine); ++ ++ if (strncmp ("xkb:", engine_id, 4) == 0) { ++ gchar *xkb_source_id = make_xkb_source_id (engine_id); ++ if (xkb_source_id) ++ g_hash_table_replace (priv->ibus_xkb_engines, ++ xkb_source_id, ++ engine); ++ } ++ } ++ g_list_free (list); ++ ++ apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager); ++} ++ ++static void ++fetch_ibus_engines (CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ /* engines shouldn't be there yet */ ++ g_return_if_fail (priv->ibus_engines == NULL); ++ g_return_if_fail (priv->ibus_cancellable == NULL); ++ ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_list_engines_async (priv->ibus, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)fetch_ibus_engines_result, ++ manager); ++} ++ ++static void ++maybe_start_ibus (CsdKeyboardManager *manager, ++ GVariant *sources) ++{ ++ gboolean need_ibus = FALSE; ++ GVariantIter iter; ++ const gchar *type; ++ ++ if (manager->priv->session_is_fallback) ++ return; ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, NULL)) ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) { ++ need_ibus = TRUE; ++ break; ++ } ++ ++ if (!need_ibus) ++ return; ++ ++ if (!manager->priv->ibus) { ++ ibus_init (); ++ manager->priv->ibus = ibus_bus_new (); ++ g_signal_connect_swapped (manager->priv->ibus, "connected", ++ G_CALLBACK (fetch_ibus_engines), manager); ++ g_signal_connect_swapped (manager->priv->ibus, "disconnected", ++ G_CALLBACK (clear_ibus), manager); ++ } ++ /* IBus doesn't export API in the session bus. The only thing ++ * we have there is a well known name which we can use as a ++ * sure-fire way to activate it. */ ++ g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION, ++ IBUS_SERVICE_IBUS, ++ G_BUS_NAME_WATCHER_FLAGS_AUTO_START, ++ NULL, ++ NULL, ++ NULL, ++ NULL)); ++} ++ ++static void ++got_session_name (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ GVariant *result, *variant; ++ GDBusConnection *connection = G_DBUS_CONNECTION (object); ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ const gchar *session_name = NULL; ++ GError *error = NULL; ++ ++ /* IBus shouldn't have been touched yet */ ++ g_return_if_fail (priv->ibus == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ result = g_dbus_connection_call_finish (connection, res, &error); ++ if (!result) { ++ g_warning ("Couldn't get session name: %s", error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ g_variant_get (result, "(v)", &variant); ++ g_variant_unref (result); ++ ++ g_variant_get (variant, "&s", &session_name); ++ ++ if (g_strcmp0 (session_name, "gnome") == 0) ++ manager->priv->session_is_fallback = FALSE; ++ ++ g_variant_unref (variant); ++ out: ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++ g_object_unref (connection); ++} ++ ++static void ++got_bus (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ GDBusConnection *connection; ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GError *error = NULL; ++ ++ /* IBus shouldn't have been touched yet */ ++ g_return_if_fail (priv->ibus == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ connection = g_bus_get_finish (res, &error); ++ if (!connection) { ++ g_warning ("Couldn't get session bus: %s", error->message); ++ g_error_free (error); ++ apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager); ++ return; ++ } ++ ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ g_dbus_connection_call (connection, ++ "org.gnome.SessionManager", ++ "/org/gnome/SessionManager", ++ "org.freedesktop.DBus.Properties", ++ "Get", ++ g_variant_new ("(ss)", ++ "org.gnome.SessionManager", ++ "SessionName"), ++ NULL, ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)got_session_name, ++ manager); ++} ++ ++static void ++set_ibus_engine_finish (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ gboolean result; ++ IBusBus *ibus = IBUS_BUS (object); ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GError *error = NULL; ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ result = ibus_bus_set_global_engine_async_finish (ibus, res, &error); ++ if (!result) { ++ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) ++ g_warning ("Couldn't set IBus engine: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++set_ibus_engine (CsdKeyboardManager *manager, ++ const gchar *engine_id) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ g_return_if_fail (priv->ibus != NULL); ++ g_return_if_fail (priv->ibus_engines != NULL); ++ ++ g_cancellable_cancel (priv->ibus_cancellable); ++ g_clear_object (&priv->ibus_cancellable); ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_set_global_engine_async (priv->ibus, ++ engine_id, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)set_ibus_engine_finish, ++ manager); ++} ++ ++static void ++set_ibus_xkb_engine (CsdKeyboardManager *manager, ++ const gchar *xkb_id) ++{ ++ IBusEngineDesc *engine; ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ if (!priv->ibus_xkb_engines) ++ return; ++ ++ engine = g_hash_table_lookup (priv->ibus_xkb_engines, xkb_id); ++ if (!engine) ++ return; ++ ++ set_ibus_engine (manager, ibus_engine_desc_get_name (engine)); ++} ++ ++/* XXX: See upstream bug: ++ * https://codereview.appspot.com/6586075/ */ ++static gchar * ++layout_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *p; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ p = ibus_layout; ++ while (*p) { ++ if (*p == '(' || *p == '[') ++ break; ++ p += 1; ++ } ++ ++ return g_strndup (ibus_layout, p - ibus_layout); ++} ++ ++static gchar * ++variant_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *a, *b; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ a = ibus_layout; ++ while (*a) { ++ if (*a == '(') ++ break; ++ a += 1; ++ } ++ if (!*a) ++ return NULL; ++ ++ a += 1; ++ b = a; ++ while (*b) { ++ if (*b == ')') ++ break; ++ b += 1; ++ } ++ if (!*b) ++ return NULL; ++ ++ return g_strndup (a, b - a); ++} ++ ++static gchar ** ++options_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *a, *b; ++ GPtrArray *opt_array; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ a = ibus_layout; ++ while (*a) { ++ if (*a == '[') ++ break; ++ a += 1; ++ } ++ if (!*a) ++ return NULL; ++ ++ opt_array = g_ptr_array_new (); ++ ++ do { ++ a += 1; ++ b = a; ++ while (*b) { ++ if (*b == ',' || *b == ']') ++ break; ++ b += 1; ++ } ++ if (!*b) ++ goto out; ++ ++ g_ptr_array_add (opt_array, g_strndup (a, b - a)); ++ ++ a = b; ++ } while (*a && *a == ','); ++ ++out: ++ g_ptr_array_add (opt_array, NULL); ++ return (gchar **) g_ptr_array_free (opt_array, FALSE); ++} ++ ++static const gchar * ++engine_from_locale (void) ++{ ++ const gchar *locale; ++ const gchar *locale_engine[][2] = { ++ { "as_IN", "m17n:as:phonetic" }, ++ { "bn_IN", "m17n:bn:inscript" }, ++ { "gu_IN", "m17n:gu:inscript" }, ++ { "hi_IN", "m17n:hi:inscript" }, ++ { "ja_JP", "anthy" }, ++ { "kn_IN", "m17n:kn:kgp" }, ++ { "ko_KR", "hangul" }, ++ { "mai_IN", "m17n:mai:inscript" }, ++ { "ml_IN", "m17n:ml:inscript" }, ++ { "mr_IN", "m17n:mr:inscript" }, ++ { "or_IN", "m17n:or:inscript" }, ++ { "pa_IN", "m17n:pa:inscript" }, ++ { "sd_IN", "m17n:sd:inscript" }, ++ { "ta_IN", "m17n:ta:tamil99" }, ++ { "te_IN", "m17n:te:inscript" }, ++ { "zh_CN", "pinyin" }, ++ { "zh_HK", "cangjie3" }, ++ { "zh_TW", "chewing" }, ++ }; ++ gint i; ++ ++ locale = setlocale (LC_CTYPE, NULL); ++ if (!locale) ++ return NULL; ++ ++ for (i = 0; i < G_N_ELEMENTS (locale_engine); ++i) ++ if (g_str_has_prefix (locale, locale_engine[i][0])) ++ return locale_engine[i][1]; ++ ++ return NULL; ++} ++ ++static void ++add_ibus_sources_from_locale (GSettings *settings) ++{ ++ const gchar *locale_engine; ++ GVariantBuilder builder; ++ ++ locale_engine = engine_from_locale (); ++ if (!locale_engine) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, locale_engine); ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++} ++ ++static void ++convert_ibus (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ GSettings *ibus_settings; ++ gchar **engines, **e; ++ ++ if (!schema_is_installed ("org.freedesktop.ibus.general")) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ ++ ibus_settings = g_settings_new ("org.freedesktop.ibus.general"); ++ engines = g_settings_get_strv (ibus_settings, "preload-engines"); ++ for (e = engines; *e; ++e) { ++ if (g_str_has_prefix (*e, "xkb:")) ++ continue; ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, *e); ++ } ++ ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ ++ g_strfreev (engines); ++ g_object_unref (ibus_settings); ++} ++#endif /* HAVE_IBUS */ ++ + static gboolean + xkb_set_keyboard_autorepeat_rate (guint delay, guint interval) + { +@@ -97,32 +634,33 @@ xkb_set_keyboard_autorepeat_rate (guint + interval); + } + +-static void +-numlock_xkb_init (CsdKeyboardManager *manager) ++static gboolean ++check_xkb_extension (CsdKeyboardManager *manager) + { + Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); +- gboolean have_xkb; + int opcode, error_base, major, minor; ++ gboolean have_xkb; + + have_xkb = XkbQueryExtension (dpy, + &opcode, + &manager->priv->xkb_event_base, + &error_base, + &major, +- &minor) +- && XkbUseExtension (dpy, &major, &minor); ++ &minor); ++ return have_xkb; ++} + +- if (have_xkb) { +- XkbSelectEventDetails (dpy, +- XkbUseCoreKbd, +- XkbStateNotifyMask, +- XkbModifierLockMask, +- XkbModifierLockMask); +- } else { +- g_warning ("XKB extension not available"); +- } ++static void ++xkb_init (CsdKeyboardManager *manager) ++{ ++ Display *dpy; + +- manager->priv->have_xkb = have_xkb; ++ dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ XkbSelectEventDetails (dpy, ++ XkbUseCoreKbd, ++ XkbStateNotify, ++ XkbModifierLockMask, ++ XkbModifierLockMask); + } + + static unsigned +@@ -143,19 +681,32 @@ numlock_set_xkb_state (CsdNumLockState n + XkbLockModifiers (dpy, XkbUseCoreKbd, num_mask, new_state == CSD_NUM_LOCK_STATE_ON ? num_mask : 0); + } + ++static const char * ++num_lock_state_to_string (CsdNumLockState numlock_state) ++{ ++ switch (numlock_state) { ++ case CSD_NUM_LOCK_STATE_UNKNOWN: ++ return "CSD_NUM_LOCK_STATE_UNKNOWN"; ++ case CSD_NUM_LOCK_STATE_ON: ++ return "CSD_NUM_LOCK_STATE_ON"; ++ case CSD_NUM_LOCK_STATE_OFF: ++ return "CSD_NUM_LOCK_STATE_OFF"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ + static GdkFilterReturn +-numlock_xkb_callback (GdkXEvent *xev_, +- GdkEvent *gdkev_, +- gpointer user_data) ++xkb_events_filter (GdkXEvent *xev_, ++ GdkEvent *gdkev_, ++ gpointer user_data) + { + XEvent *xev = (XEvent *) xev_; + XkbEvent *xkbev = (XkbEvent *) xev; + CsdKeyboardManager *manager = (CsdKeyboardManager *) user_data; + +- if (xev->type != manager->priv->xkb_event_base) +- return GDK_FILTER_CONTINUE; +- +- if (xkbev->any.xkb_type != XkbStateNotify) ++ if (xev->type != manager->priv->xkb_event_base || ++ xkbev->any.xkb_type != XkbStateNotify) + return GDK_FILTER_CONTINUE; + + if (xkbev->state.changed & XkbModifierLockMask) { +@@ -166,6 +717,9 @@ numlock_xkb_callback (GdkXEvent *xev_, + numlock_state = (num_mask & locked_mods) ? CSD_NUM_LOCK_STATE_ON : CSD_NUM_LOCK_STATE_OFF; + + if (numlock_state != manager->priv->old_state) { ++ g_debug ("New num-lock state '%s' != Old num-lock state '%s'", ++ num_lock_state_to_string (numlock_state), ++ num_lock_state_to_string (manager->priv->old_state)); + g_settings_set_enum (manager->priv->settings, + KEY_NUMLOCK_STATE, + numlock_state); +@@ -177,57 +731,509 @@ numlock_xkb_callback (GdkXEvent *xev_, + } + + static void +-numlock_install_xkb_callback (CsdKeyboardManager *manager) ++install_xkb_filter (CsdKeyboardManager *manager) + { +- if (!manager->priv->have_xkb) +- return; +- + gdk_window_add_filter (NULL, +- numlock_xkb_callback, ++ xkb_events_filter, + manager); + } + +-static guint +-_csd_settings_get_uint (GSettings *settings, +- const char *key) ++static void ++remove_xkb_filter (CsdKeyboardManager *manager) + { +- guint value; ++ gdk_window_remove_filter (NULL, ++ xkb_events_filter, ++ manager); ++} + +- g_settings_get (settings, key, "u", &value); +- return value; ++static void ++free_xkb_component_names (XkbComponentNamesRec *p) ++{ ++ g_return_if_fail (p != NULL); ++ ++ free (p->keymap); ++ free (p->keycodes); ++ free (p->types); ++ free (p->compat); ++ free (p->symbols); ++ free (p->geometry); ++ ++ g_free (p); ++} ++ ++static void ++upload_xkb_description (const gchar *rules_file_path, ++ XkbRF_VarDefsRec *var_defs, ++ XkbComponentNamesRec *comp_names) ++{ ++ Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ XkbDescRec *xkb_desc; ++ gchar *rules_file; ++ ++ /* Upload it to the X server using the same method as setxkbmap */ ++ xkb_desc = XkbGetKeyboardByName (display, ++ XkbUseCoreKbd, ++ comp_names, ++ XkbGBN_AllComponentsMask, ++ XkbGBN_AllComponentsMask & ++ (~XkbGBN_GeometryMask), True); ++ if (!xkb_desc) { ++ g_warning ("Couldn't upload new XKB keyboard description"); ++ return; ++ } ++ ++ XkbFreeKeyboard (xkb_desc, 0, True); ++ ++ rules_file = g_path_get_basename (rules_file_path); ++ ++ if (!XkbRF_SetNamesProp (display, rules_file, var_defs)) ++ g_warning ("Couldn't update the XKB root window property"); ++ ++ g_free (rules_file); ++} ++ ++static gchar * ++language_code_from_locale (const gchar *locale) ++{ ++ if (!locale || !locale[0] || !locale[1]) ++ return NULL; ++ ++ if (!locale[2] || locale[2] == '_' || locale[2] == '.') ++ return g_strndup (locale, 2); ++ ++ if (!locale[3] || locale[3] == '_' || locale[3] == '.') ++ return g_strndup (locale, 3); ++ ++ return NULL; ++} ++ ++static gchar * ++build_xkb_group_string (const gchar *user, ++ const gchar *locale, ++ const gchar *latin) ++{ ++ gchar *string; ++ gsize length = 0; ++ guint commas = 2; ++ ++ if (latin) ++ length += strlen (latin); ++ else ++ commas -= 1; ++ ++ if (locale) ++ length += strlen (locale); ++ else ++ commas -= 1; ++ ++ length += strlen (user) + commas + 1; ++ ++ string = malloc (length); ++ ++ if (locale && latin) ++ sprintf (string, "%s,%s,%s", user, locale, latin); ++ else if (locale) ++ sprintf (string, "%s,%s", user, locale); ++ else if (latin) ++ sprintf (string, "%s,%s", user, latin); ++ else ++ sprintf (string, "%s", user); ++ ++ return string; ++} ++ ++static gboolean ++layout_equal (const gchar *layout_a, ++ const gchar *variant_a, ++ const gchar *layout_b, ++ const gchar *variant_b) ++{ ++ return !g_strcmp0 (layout_a, layout_b) && !g_strcmp0 (variant_a, variant_b); + } + + static void +-apply_settings (GSettings *settings, +- const char *key, +- CsdKeyboardManager *manager) ++replace_layout_and_variant (CsdKeyboardManager *manager, ++ XkbRF_VarDefsRec *xkb_var_defs, ++ const gchar *layout, ++ const gchar *variant) + { ++ /* Toolkits need to know about both a latin layout to handle ++ * accelerators which are usually defined like Ctrl+C and a ++ * layout with the symbols for the language used in UI strings ++ * to handle mnemonics like Alt+Ф, so we try to find and add ++ * them in XKB group slots after the layout which the user ++ * actually intends to type with. */ ++ const gchar *latin_layout = "us"; ++ const gchar *latin_variant = ""; ++ const gchar *locale_layout = NULL; ++ const gchar *locale_variant = NULL; ++ const gchar *locale; ++ gchar *language; ++ ++ if (!layout) ++ return; ++ ++ if (!variant) ++ variant = ""; ++ ++ locale = setlocale (LC_MESSAGES, NULL); ++ /* If LANG is empty, default to en_US */ ++ if (!locale) ++ language = g_strdup (DEFAULT_LANGUAGE); ++ else ++ language = language_code_from_locale (locale); ++ ++ if (!language) ++ language = language_code_from_locale (DEFAULT_LANGUAGE); ++ ++ gnome_xkb_info_get_layout_info_for_language (manager->priv->xkb_info, ++ language, ++ NULL, ++ NULL, ++ NULL, ++ &locale_layout, ++ &locale_variant); ++ g_free (language); ++ ++ /* We want to minimize the number of XKB groups if we have ++ * duplicated layout+variant pairs. ++ * ++ * Also, if a layout doesn't have a variant we still have to ++ * include it in the variants string because the number of ++ * variants must agree with the number of layouts. For ++ * instance: ++ * ++ * layouts: "us,ru,us" ++ * variants: "dvorak,," ++ */ ++ if (layout_equal (latin_layout, latin_variant, locale_layout, locale_variant) || ++ layout_equal (latin_layout, latin_variant, layout, variant)) { ++ latin_layout = NULL; ++ latin_variant = NULL; ++ } ++ ++ if (layout_equal (locale_layout, locale_variant, layout, variant)) { ++ locale_layout = NULL; ++ locale_variant = NULL; ++ } ++ ++ free (xkb_var_defs->layout); ++ xkb_var_defs->layout = build_xkb_group_string (layout, locale_layout, latin_layout); ++ ++ free (xkb_var_defs->variant); ++ xkb_var_defs->variant = build_xkb_group_string (variant, locale_variant, latin_variant); ++} ++ ++static gchar * ++build_xkb_options_string (gchar **options) ++{ ++ gchar *string; ++ ++ if (*options) { ++ gint i; ++ gsize len; ++ gchar *ptr; ++ ++ /* First part, getting length */ ++ len = 1 + strlen (options[0]); ++ for (i = 1; options[i] != NULL; i++) ++ len += strlen (options[i]); ++ len += (i - 1); /* commas */ ++ ++ /* Second part, building string */ ++ string = malloc (len); ++ ptr = g_stpcpy (string, *options); ++ for (i = 1; options[i] != NULL; i++) { ++ ptr = g_stpcpy (ptr, ","); ++ ptr = g_stpcpy (ptr, options[i]); ++ } ++ } else { ++ string = malloc (1); ++ *string = '\0'; ++ } ++ ++ return string; ++} ++ ++static gchar ** ++append_options (gchar **a, ++ gchar **b) ++{ ++ gchar **c, **p; ++ ++ if (!a && !b) ++ return NULL; ++ else if (!a) ++ return g_strdupv (b); ++ else if (!b) ++ return g_strdupv (a); ++ ++ c = g_new0 (gchar *, g_strv_length (a) + g_strv_length (b) + 1); ++ p = c; ++ ++ while (*a) { ++ *p = g_strdup (*a); ++ p += 1; ++ a += 1; ++ } ++ while (*b) { ++ *p = g_strdup (*b); ++ p += 1; ++ b += 1; ++ } ++ ++ return c; ++} ++ ++static void ++add_xkb_options (CsdKeyboardManager *manager, ++ XkbRF_VarDefsRec *xkb_var_defs, ++ gchar **extra_options) ++{ ++ gchar **options; ++ gchar **settings_options; ++ ++ settings_options = g_settings_get_strv (manager->priv->input_sources_settings, ++ KEY_KEYBOARD_OPTIONS); ++ options = append_options (settings_options, extra_options); ++ g_strfreev (settings_options); ++ ++ free (xkb_var_defs->options); ++ xkb_var_defs->options = build_xkb_options_string (options); ++ ++ g_strfreev (options); ++} ++ ++static void ++apply_xkb_settings (CsdKeyboardManager *manager, ++ const gchar *layout, ++ const gchar *variant, ++ gchar **options) ++{ ++ XkbRF_RulesRec *xkb_rules; ++ XkbRF_VarDefsRec *xkb_var_defs; ++ gchar *rules_file_path; ++ ++ gnome_xkb_info_get_var_defs (&rules_file_path, &xkb_var_defs); ++ ++ add_xkb_options (manager, xkb_var_defs, options); ++ replace_layout_and_variant (manager, xkb_var_defs, layout, variant); ++ ++ gdk_error_trap_push (); ++ ++ xkb_rules = XkbRF_Load (rules_file_path, NULL, True, True); ++ if (xkb_rules) { ++ XkbComponentNamesRec *xkb_comp_names; ++ xkb_comp_names = g_new0 (XkbComponentNamesRec, 1); ++ ++ XkbRF_GetComponents (xkb_rules, xkb_var_defs, xkb_comp_names); ++ upload_xkb_description (rules_file_path, xkb_var_defs, xkb_comp_names); ++ ++ free_xkb_component_names (xkb_comp_names); ++ XkbRF_Free (xkb_rules, True); ++ } else { ++ g_warning ("Couldn't load XKB rules"); ++ } ++ ++ if (gdk_error_trap_pop ()) ++ g_warning ("Error loading XKB rules"); ++ ++ gnome_xkb_info_free_var_defs (xkb_var_defs); ++ g_free (rules_file_path); ++} ++ ++static void ++set_gtk_im_module (CsdKeyboardManager *manager, ++ const gchar *new_module) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ gchar *current_module; ++ ++ current_module = g_settings_get_string (priv->interface_settings, ++ KEY_GTK_IM_MODULE); ++ if (!g_str_equal (current_module, new_module)) ++ g_settings_set_string (priv->interface_settings, ++ KEY_GTK_IM_MODULE, ++ new_module); ++ g_free (current_module); ++} ++ ++static gboolean ++apply_input_sources_settings (GSettings *settings, ++ gpointer keys, ++ gint n_keys, ++ CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GVariant *sources; ++ guint current; ++ guint n_sources; ++ const gchar *type = NULL; ++ const gchar *id = NULL; ++ gchar *layout = NULL; ++ gchar *variant = NULL; ++ gchar **options = NULL; ++ ++ sources = g_settings_get_value (priv->input_sources_settings, KEY_INPUT_SOURCES); ++ current = g_settings_get_uint (priv->input_sources_settings, KEY_CURRENT_INPUT_SOURCE); ++ n_sources = g_variant_n_children (sources); ++ ++ if (n_sources < 1) ++ goto exit; ++ ++ if (current >= n_sources) { ++ g_settings_set_uint (priv->input_sources_settings, ++ KEY_CURRENT_INPUT_SOURCE, ++ n_sources - 1); ++ goto exit; ++ } ++ ++#ifdef HAVE_IBUS ++ maybe_start_ibus (manager, sources); ++#endif ++ ++ g_variant_get_child (sources, current, "(&s&s)", &type, &id); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) { ++ const gchar *l, *v; ++ gnome_xkb_info_get_layout_info (priv->xkb_info, id, NULL, NULL, &l, &v); ++ ++ layout = g_strdup (l); ++ variant = g_strdup (v); ++ ++ if (!layout || !layout[0]) { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ goto exit; ++ } ++ set_gtk_im_module (manager, GTK_IM_MODULE_SIMPLE); ++#ifdef HAVE_IBUS ++ set_ibus_xkb_engine (manager, id); ++#endif ++ } else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (priv->session_is_fallback) ++ goto exit; ++ ++ if (priv->ibus_engines) ++ engine_desc = g_hash_table_lookup (priv->ibus_engines, id); ++ else ++ goto exit; /* we'll be called again when ibus is up and running */ ++ ++ if (engine_desc) { ++ const gchar *ibus_layout; ++ ibus_layout = ibus_engine_desc_get_layout (engine_desc); ++ ++ if (ibus_layout) { ++ layout = layout_from_ibus_layout (ibus_layout); ++ variant = variant_from_ibus_layout (ibus_layout); ++ options = options_from_ibus_layout (ibus_layout); ++ } ++ } else { ++ g_warning ("Couldn't find IBus input source '%s'", id); ++ goto exit; ++ } ++ ++ set_gtk_im_module (manager, GTK_IM_MODULE_IBUS); ++ set_ibus_engine (manager, id); ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++#endif ++ } else { ++ g_warning ("Unknown input source type '%s'", type); ++ } ++ ++ exit: ++ apply_xkb_settings (manager, layout, variant, options); ++ g_variant_unref (sources); ++ g_free (layout); ++ g_free (variant); ++ g_strfreev (options); ++ /* Prevent individual "changed" signal invocations since we ++ don't need them. */ ++ return TRUE; ++} ++ ++static void ++apply_bell (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; + XKeyboardControl kbdcontrol; +- gboolean repeat; + gboolean click; +- guint interval; +- guint delay; +- int click_volume; + int bell_volume; + int bell_pitch; + int bell_duration; + CsdBellMode bell_mode; +- gboolean rnumlock; +- +- if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0) +- return; ++ int click_volume; + +- repeat = g_settings_get_boolean (settings, KEY_REPEAT); ++ g_debug ("Applying the bell settings"); ++ settings = manager->priv->settings; + click = g_settings_get_boolean (settings, KEY_CLICK); +- interval = _csd_settings_get_uint (settings, KEY_INTERVAL); +- delay = _csd_settings_get_uint (settings, KEY_DELAY); + click_volume = g_settings_get_int (settings, KEY_CLICK_VOLUME); ++ + bell_pitch = g_settings_get_int (settings, KEY_BELL_PITCH); + bell_duration = g_settings_get_int (settings, KEY_BELL_DURATION); + + bell_mode = g_settings_get_enum (settings, KEY_BELL_MODE); + bell_volume = (bell_mode == CSD_BELL_MODE_ON) ? 50 : 0; + ++ /* as percentage from 0..100 inclusive */ ++ if (click_volume < 0) { ++ click_volume = 0; ++ } else if (click_volume > 100) { ++ click_volume = 100; ++ } ++ kbdcontrol.key_click_percent = click ? click_volume : 0; ++ kbdcontrol.bell_percent = bell_volume; ++ kbdcontrol.bell_pitch = bell_pitch; ++ kbdcontrol.bell_duration = bell_duration; ++ ++ gdk_error_trap_push (); ++ XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), ++ KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration, ++ &kbdcontrol); ++ ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_numlock (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ gboolean rnumlock; ++ ++ g_debug ("Applying the num-lock settings"); ++ settings = manager->priv->settings; ++ rnumlock = g_settings_get_boolean (settings, KEY_REMEMBER_NUMLOCK_STATE); ++ manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE); ++ ++ gdk_error_trap_push (); ++ if (rnumlock) { ++ g_debug ("Remember num-lock is set, so applying setting '%s'", ++ num_lock_state_to_string (manager->priv->old_state)); ++ numlock_set_xkb_state (manager->priv->old_state); ++ } ++ ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_repeat (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ gboolean repeat; ++ guint interval; ++ guint delay; ++ ++ g_debug ("Applying the repeat settings"); ++ settings = manager->priv->settings; ++ repeat = g_settings_get_boolean (settings, KEY_REPEAT); ++ interval = g_settings_get_uint (settings, KEY_INTERVAL); ++ delay = g_settings_get_uint (settings, KEY_DELAY); ++ + gdk_error_trap_push (); + if (repeat) { + gboolean rate_set = FALSE; +@@ -243,124 +1249,319 @@ apply_settings (GSettings *sett + XAutoRepeatOff (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); + } + +- /* as percentage from 0..100 inclusive */ +- if (click_volume < 0) { +- click_volume = 0; +- } else if (click_volume > 100) { +- click_volume = 100; ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_all_settings (CsdKeyboardManager *manager) ++{ ++ apply_repeat (manager); ++ apply_bell (manager); ++ apply_numlock (manager); ++} ++ ++static void ++set_input_sources_switcher (CsdKeyboardManager *manager, ++ gboolean state) ++{ ++ if (state) { ++ GError *error = NULL; ++ char *args[2]; ++ ++ if (manager->priv->input_sources_switcher_spawned) ++ set_input_sources_switcher (manager, FALSE); ++ ++ args[0] = LIBEXECDIR "/csd-input-sources-switcher"; ++ args[1] = NULL; ++ ++ g_spawn_async (NULL, args, NULL, ++ 0, NULL, NULL, ++ &manager->priv->input_sources_switcher_pid, &error); ++ ++ manager->priv->input_sources_switcher_spawned = (error == NULL); ++ ++ if (error) { ++ g_warning ("Couldn't spawn %s: %s", args[0], error->message); ++ g_error_free (error); ++ } ++ } else if (manager->priv->input_sources_switcher_spawned) { ++ kill (manager->priv->input_sources_switcher_pid, SIGHUP); ++ g_spawn_close_pid (manager->priv->input_sources_switcher_pid); ++ manager->priv->input_sources_switcher_spawned = FALSE; + } +- kbdcontrol.key_click_percent = click ? click_volume : 0; +- kbdcontrol.bell_percent = bell_volume; +- kbdcontrol.bell_pitch = bell_pitch; +- kbdcontrol.bell_duration = bell_duration; +- XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), +- KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration, +- &kbdcontrol); ++} + +- if (g_strcmp0 (key, "remember-numlock-state") == 0 || key == NULL) { +- rnumlock = g_settings_get_boolean (settings, "remember-numlock-state"); ++static gboolean ++enable_switcher (CsdKeyboardManager *manager) ++{ ++ CsdInputSourcesSwitcher switcher; + +- manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE); ++ switcher = g_settings_get_enum (manager->priv->settings, KEY_SWITCHER); + +- if (manager->priv->have_xkb && rnumlock) +- numlock_set_xkb_state (manager->priv->old_state); ++ return switcher != CSD_INPUT_SOURCES_SWITCHER_OFF; ++} ++ ++static void ++settings_changed (GSettings *settings, ++ const char *key, ++ CsdKeyboardManager *manager) ++{ ++ if (g_strcmp0 (key, KEY_CLICK) == 0|| ++ g_strcmp0 (key, KEY_CLICK_VOLUME) == 0 || ++ g_strcmp0 (key, KEY_BELL_PITCH) == 0 || ++ g_strcmp0 (key, KEY_BELL_DURATION) == 0 || ++ g_strcmp0 (key, KEY_BELL_MODE) == 0) { ++ g_debug ("Bell setting '%s' changed, applying bell settings", key); ++ apply_bell (manager); ++ } else if (g_strcmp0 (key, KEY_REMEMBER_NUMLOCK_STATE) == 0) { ++ g_debug ("Remember Num-Lock state '%s' changed, applying num-lock settings", key); ++ apply_numlock (manager); ++ } else if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0) { ++ g_debug ("Num-Lock state '%s' changed, will apply at next startup", key); ++ } else if (g_strcmp0 (key, KEY_REPEAT) == 0 || ++ g_strcmp0 (key, KEY_INTERVAL) == 0 || ++ g_strcmp0 (key, KEY_DELAY) == 0) { ++ g_debug ("Key repeat setting '%s' changed, applying key repeat settings", key); ++ apply_repeat (manager); ++ } else if (g_strcmp0 (key, KEY_SWITCHER) == 0) { ++ set_input_sources_switcher (manager, enable_switcher (manager)); ++ } else { ++ g_warning ("Unhandled settings change, key '%s'", key); + } + +- XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); +- gdk_error_trap_pop_ignored (); + } + +-void +-csd_keyboard_manager_apply_settings (CsdKeyboardManager *manager) ++static void ++device_added_cb (GdkDeviceManager *device_manager, ++ GdkDevice *device, ++ CsdKeyboardManager *manager) + { +- apply_settings (manager->priv->settings, NULL, manager); ++ GdkInputSource source; ++ ++ source = gdk_device_get_source (device); ++ if (source == GDK_SOURCE_KEYBOARD) { ++ g_debug ("New keyboard plugged in, applying all settings"); ++ apply_all_settings (manager); ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++ run_custom_command (device, COMMAND_DEVICE_ADDED); ++ } + } + + static void +-apply_libgnomekbd_settings (GSettings *settings, +- const char *key, +- CsdKeyboardManager *manager) ++device_removed_cb (GdkDeviceManager *device_manager, ++ GdkDevice *device, ++ CsdKeyboardManager *manager) + { +- gchar **layouts; ++ GdkInputSource source; + +- layouts = g_settings_get_strv (settings, LIBGNOMEKBD_KEY_LAYOUTS); ++ source = gdk_device_get_source (device); ++ if (source == GDK_SOURCE_KEYBOARD) { ++ run_custom_command (device, COMMAND_DEVICE_REMOVED); ++ } ++} + +- /* Get accounts daemon */ +- GDBusProxy *proxy = NULL; +- GDBusProxy *user = NULL; +- GVariant *variant = NULL; +- GError *error = NULL; +- gchar *object_path = NULL; ++static void ++set_devicepresence_handler (CsdKeyboardManager *manager) ++{ ++ GdkDeviceManager *device_manager; + +- proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- "org.freedesktop.Accounts", +- "/org/freedesktop/Accounts", +- "org.freedesktop.Accounts", +- NULL, +- &error); ++ device_manager = gdk_display_get_device_manager (gdk_display_get_default ()); + +- if (proxy == NULL) { +- g_warning ("Failed to contact accounts service: %s", error->message); +- g_error_free (error); +- goto bail; ++ manager->priv->device_added_id = g_signal_connect (G_OBJECT (device_manager), "device-added", ++ G_CALLBACK (device_added_cb), manager); ++ manager->priv->device_removed_id = g_signal_connect (G_OBJECT (device_manager), "device-removed", ++ G_CALLBACK (device_removed_cb), manager); ++ manager->priv->device_manager = device_manager; ++} ++ ++static void ++create_sources_from_current_xkb_config (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ XkbRF_VarDefsRec *xkb_var_defs; ++ gchar *tmp; ++ gchar **layouts = NULL; ++ gchar **variants = NULL; ++ guint i, n; ++ ++ gnome_xkb_info_get_var_defs (&tmp, &xkb_var_defs); ++ g_free (tmp); ++ ++ if (xkb_var_defs->layout) ++ layouts = g_strsplit (xkb_var_defs->layout, ",", 0); ++ if (xkb_var_defs->variant) ++ variants = g_strsplit (xkb_var_defs->variant, ",", 0); ++ ++ gnome_xkb_info_free_var_defs (xkb_var_defs); ++ ++ if (!layouts) ++ goto out; ++ ++ if (variants && variants[0]) ++ n = MIN (g_strv_length (layouts), g_strv_length (variants)); ++ else ++ n = g_strv_length (layouts); ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); ++ for (i = 0; i < n && layouts[i][0]; ++i) { ++ if (variants && variants[i] && variants[i][0]) ++ tmp = g_strdup_printf ("%s+%s", layouts[i], variants[i]); ++ else ++ tmp = g_strdup (layouts[i]); ++ ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, tmp); ++ g_free (tmp); + } ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++out: ++ g_strfreev (layouts); ++ g_strfreev (variants); ++} + +- variant = g_dbus_proxy_call_sync (proxy, +- "FindUserByName", +- g_variant_new ("(s)", g_get_user_name ()), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- &error); ++static void ++convert_libgnomekbd_options (GSettings *settings) ++{ ++ GPtrArray *opt_array; ++ GSettings *libgnomekbd_settings; ++ gchar **options, **o; + +- if (variant == NULL) { +- g_warning ("Could not contact accounts service to look up '%s': %s", +- g_get_user_name (), error->message); +- g_error_free (error); +- goto bail; ++ if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard")) ++ return; ++ ++ opt_array = g_ptr_array_new_with_free_func (g_free); ++ ++ libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard"); ++ options = g_settings_get_strv (libgnomekbd_settings, "options"); ++ ++ for (o = options; *o; ++o) { ++ gchar **strv; ++ ++ strv = g_strsplit (*o, "\t", 2); ++ if (strv[0] && strv[1]) { ++ /* We don't want the group switcher because ++ * it's incompatible with the way we use XKB ++ * groups. */ ++ if (!g_str_has_prefix (strv[1], "grp:")) ++ g_ptr_array_add (opt_array, g_strdup (strv[1])); ++ } ++ g_strfreev (strv); + } ++ g_ptr_array_add (opt_array, NULL); + +- g_variant_get (variant, "(o)", &object_path); +- user = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- "org.freedesktop.Accounts", +- object_path, +- "org.freedesktop.Accounts.User", +- NULL, +- &error); +- g_free (object_path); ++ g_settings_set_strv (settings, KEY_KEYBOARD_OPTIONS, (const gchar * const*) opt_array->pdata); + +- if (user == NULL) { +- g_warning ("Could not create proxy for user '%s': %s", +- g_variant_get_string (variant, NULL), error->message); +- g_error_free (error); +- goto bail; ++ g_strfreev (options); ++ g_object_unref (libgnomekbd_settings); ++ g_ptr_array_free (opt_array, TRUE); ++} ++ ++static void ++convert_libgnomekbd_layouts (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ GSettings *libgnomekbd_settings; ++ gchar **layouts, **l; ++ ++ if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard")) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ ++ libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard"); ++ layouts = g_settings_get_strv (libgnomekbd_settings, "layouts"); ++ ++ for (l = layouts; *l; ++l) { ++ gchar *id; ++ gchar **strv; ++ ++ strv = g_strsplit (*l, "\t", 2); ++ if (strv[0] && !strv[1]) ++ id = g_strdup (strv[0]); ++ else if (strv[0] && strv[1]) ++ id = g_strdup_printf ("%s+%s", strv[0], strv[1]); ++ else ++ id = NULL; ++ ++ if (id) ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, id); ++ ++ g_free (id); ++ g_strfreev (strv); + } +- g_variant_unref (variant); + +- variant = g_dbus_proxy_call_sync (user, +- "SetXKeyboardLayouts", +- g_variant_new ("(^as)", layouts), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- &error); ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ ++ g_strfreev (layouts); ++ g_object_unref (libgnomekbd_settings); ++} + +- if (variant == NULL) { +- g_warning ("Failed to set the keyboard layouts: %s", error->message); ++static void ++maybe_convert_old_settings (GSettings *settings) ++{ ++ GVariant *sources; ++ gchar **options; ++ gchar *stamp_dir_path = NULL; ++ gchar *stamp_file_path = NULL; ++ GError *error = NULL; ++ ++ stamp_dir_path = g_build_filename (g_get_user_data_dir (), PACKAGE_NAME, NULL); ++ if (g_mkdir_with_parents (stamp_dir_path, 0755)) { ++ g_warning ("Failed to create directory %s: %s", stamp_dir_path, g_strerror (errno)); ++ goto out; ++ } ++ ++ stamp_file_path = g_build_filename (stamp_dir_path, "input-sources-converted", NULL); ++ if (g_file_test (stamp_file_path, G_FILE_TEST_EXISTS)) ++ goto out; ++ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ if (g_variant_n_children (sources) < 1) { ++ convert_libgnomekbd_layouts (settings); ++#ifdef HAVE_IBUS ++ convert_ibus (settings); ++#endif ++ } ++ g_variant_unref (sources); ++ ++ options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS); ++ if (g_strv_length (options) < 1) ++ convert_libgnomekbd_options (settings); ++ g_strfreev (options); ++ ++ if (!g_file_set_contents (stamp_file_path, "", 0, &error)) { ++ g_warning ("%s", error->message); + g_error_free (error); +- goto bail; + } ++out: ++ g_free (stamp_file_path); ++ g_free (stamp_dir_path); ++} + +-bail: +- if (proxy != NULL) +- g_object_unref (proxy); +- if (variant != NULL) +- g_variant_unref (variant); +- g_strfreev (layouts); ++static void ++maybe_create_input_sources (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ GVariant *sources; ++ ++ settings = manager->priv->input_sources_settings; ++ ++ if (g_getenv ("RUNNING_UNDER_GDM")) { ++ create_sources_from_current_xkb_config (settings); ++ return; ++ } ++ ++ maybe_convert_old_settings (settings); ++ ++ /* if we still don't have anything do some educated guesses */ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ if (g_variant_n_children (sources) < 1) { ++ create_sources_from_current_xkb_config (settings); ++#ifdef HAVE_IBUS ++ add_ibus_sources_from_locale (settings); ++#endif ++ } ++ g_variant_unref (sources); + } + + static gboolean +@@ -370,26 +1571,41 @@ start_keyboard_idle_cb (CsdKeyboardManag + + g_debug ("Starting keyboard manager"); + +- manager->priv->have_xkb = 0; + manager->priv->settings = g_settings_new (CSD_KEYBOARD_DIR); +- manager->priv->libgnomekbd_settings = g_settings_new (LIBGNOMEKBD_KEYBOARD_DIR); + +- /* Essential - xkb initialization should happen before */ +- csd_keyboard_xkb_init (manager); ++ xkb_init (manager); + +- numlock_xkb_init (manager); ++ set_devicepresence_handler (manager); + ++ manager->priv->input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ manager->priv->interface_settings = g_settings_new (GNOME_DESKTOP_INTERFACE_DIR); ++ manager->priv->xkb_info = gnome_xkb_info_new (); ++ ++ maybe_create_input_sources (manager); ++ ++#ifdef HAVE_IBUS ++ /* We don't want to touch IBus until we are sure this isn't a ++ fallback session. */ ++ manager->priv->session_is_fallback = TRUE; ++ manager->priv->ibus_cancellable = g_cancellable_new (); ++ g_bus_get (G_BUS_TYPE_SESSION, ++ manager->priv->ibus_cancellable, ++ (GAsyncReadyCallback)got_bus, ++ manager); ++#else ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++#endif + /* apply current settings before we install the callback */ +- csd_keyboard_manager_apply_settings (manager); ++ g_debug ("Started the keyboard plugin, applying all settings"); ++ apply_all_settings (manager); + + g_signal_connect (G_OBJECT (manager->priv->settings), "changed", +- G_CALLBACK (apply_settings), manager); +- +- apply_libgnomekbd_settings (manager->priv->libgnomekbd_settings, NULL, manager); +- g_signal_connect (G_OBJECT (manager->priv->libgnomekbd_settings), "changed", +- G_CALLBACK (apply_libgnomekbd_settings), manager); ++ G_CALLBACK (settings_changed), manager); ++ g_signal_connect (G_OBJECT (manager->priv->input_sources_settings), "change-event", ++ G_CALLBACK (apply_input_sources_settings), manager); + +- numlock_install_xkb_callback (manager); ++ install_xkb_filter (manager); ++ set_input_sources_switcher (manager, enable_switcher (manager)); + + cinnamon_settings_profile_end (NULL); + +@@ -404,6 +1620,11 @@ csd_keyboard_manager_start (CsdKeyboardM + { + cinnamon_settings_profile_start (NULL); + ++ if (check_xkb_extension (manager) == FALSE) { ++ g_debug ("XKB is not supported, not applying any settings"); ++ return TRUE; ++ } ++ + manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_keyboard_idle_cb, manager); + + cinnamon_settings_profile_end (NULL); +@@ -418,37 +1639,24 @@ csd_keyboard_manager_stop (CsdKeyboardMa + + g_debug ("Stopping keyboard manager"); + +- if (p->settings != NULL) { +- g_object_unref (p->settings); +- p->settings = NULL; +- } ++ g_clear_object (&p->settings); ++ g_clear_object (&p->input_sources_settings); ++ g_clear_object (&p->interface_settings); ++ g_clear_object (&p->xkb_info); + +- if (p->libgnomekbd_settings != NULL) { +- g_object_unref (p->libgnomekbd_settings); +- p->libgnomekbd_settings = NULL; +- } ++#ifdef HAVE_IBUS ++ clear_ibus (manager); ++#endif + +- if (p->have_xkb) { +- gdk_window_remove_filter (NULL, +- numlock_xkb_callback, +- manager); ++ if (p->device_manager != NULL) { ++ g_signal_handler_disconnect (p->device_manager, p->device_added_id); ++ g_signal_handler_disconnect (p->device_manager, p->device_removed_id); ++ p->device_manager = NULL; + } + +- csd_keyboard_xkb_shutdown (); +-} +- +-static GObject * +-csd_keyboard_manager_constructor (GType type, +- guint n_construct_properties, +- GObjectConstructParam *construct_properties) +-{ +- CsdKeyboardManager *keyboard_manager; +- +- keyboard_manager = CSD_KEYBOARD_MANAGER (G_OBJECT_CLASS (csd_keyboard_manager_parent_class)->constructor (type, +- n_construct_properties, +- construct_properties)); ++ remove_xkb_filter (manager); + +- return G_OBJECT (keyboard_manager); ++ set_input_sources_switcher (manager, FALSE); + } + + static void +@@ -456,7 +1664,6 @@ csd_keyboard_manager_class_init (CsdKeyb + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + +- object_class->constructor = csd_keyboard_manager_constructor; + object_class->finalize = csd_keyboard_manager_finalize; + + g_type_class_add_private (klass, sizeof (CsdKeyboardManagerPrivate)); +diff -uNrp a/plugins/keyboard/csd-keyboard-manager.h b/plugins/keyboard/csd-keyboard-manager.h +--- a/plugins/keyboard/csd-keyboard-manager.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-manager.h 2013-08-25 16:36:02.000000000 +0100 +@@ -51,7 +51,6 @@ CsdKeyboardManager * csd_keyboard_ + gboolean csd_keyboard_manager_start (CsdKeyboardManager *manager, + GError **error); + void csd_keyboard_manager_stop (CsdKeyboardManager *manager); +-void csd_keyboard_manager_apply_settings (CsdKeyboardManager *manager); + + G_END_DECLS + +diff -uNrp a/plugins/keyboard/csd-keyboard-plugin.h b/plugins/keyboard/csd-keyboard-plugin.h +--- a/plugins/keyboard/csd-keyboard-plugin.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-plugin.h 2013-08-25 16:36:02.000000000 +0100 +@@ -52,7 +52,7 @@ typedef struct + GType csd_keyboard_plugin_get_type (void) G_GNUC_CONST; + + /* All the plugins must implement this function */ +-G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module); ++G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module); + + G_END_DECLS + +diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.c b/plugins/keyboard/csd-keyboard-xkb.c +--- a/plugins/keyboard/csd-keyboard-xkb.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-xkb.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,579 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2001 Udaltsoft +- * +- * Written by Sergey V. Oudaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#include "config.h" +- +-#include +-#include +- +-#include +-#include +-#include +-#include +- +-#include +- +-#include +-#include +-#include +-#include +-#include +- +-#include "csd-keyboard-xkb.h" +-#include "delayed-dialog.h" +-#include "cinnamon-settings-profile.h" +- +-#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard" +- +-static CsdKeyboardManager *manager = NULL; +- +-static XklEngine *xkl_engine; +-static XklConfigRegistry *xkl_registry = NULL; +- +-static GkbdDesktopConfig current_config; +-static GkbdKeyboardConfig current_kbd_config; +- +-/* never terminated */ +-static GkbdKeyboardConfig initial_sys_kbd_config; +- +-static gboolean inited_ok = FALSE; +- +-static GSettings *settings_desktop = NULL; +-static GSettings *settings_keyboard = NULL; +- +-static PostActivationCallback pa_callback = NULL; +-static void *pa_callback_user_data = NULL; +- +-static GtkStatusIcon *icon = NULL; +- +-static GHashTable *preview_dialogs = NULL; +- +-static void +-activation_error (void) +-{ +- char const *vendor; +- GtkWidget *dialog; +- +- vendor = +- ServerVendor (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- +- /* VNC viewers will not work, do not barrage them with warnings */ +- if (NULL != vendor && NULL != strstr (vendor, "VNC")) +- return; +- +- dialog = gtk_message_dialog_new_with_markup (NULL, +- 0, +- GTK_MESSAGE_ERROR, +- GTK_BUTTONS_CLOSE, +- _ +- ("Error activating XKB configuration.\n" +- "There can be various reasons for that.\n\n" +- "If you report this situation as a bug, include the results of\n" +- " • %s\n" +- " • %s\n" +- " • %s\n" +- " • %s"), +- "xprop -root | grep XKB", +- "gsettings get org.gnome.libgnomekbd.keyboard model", +- "gsettings get org.gnome.libgnomekbd.keyboard layouts", +- "gsettings get org.gnome.libgnomekbd.keyboard options"); +- g_signal_connect (dialog, "response", +- G_CALLBACK (gtk_widget_destroy), NULL); +- csd_delayed_show_dialog (dialog); +-} +- +-static gboolean +-ensure_xkl_registry (void) +-{ +- if (!xkl_registry) { +- xkl_registry = +- xkl_config_registry_get_instance (xkl_engine); +- /* load all materials, unconditionally! */ +- if (!xkl_config_registry_load (xkl_registry, TRUE)) { +- g_object_unref (xkl_registry); +- xkl_registry = NULL; +- return FALSE; +- } +- } +- +- return TRUE; +-} +- +-static void +-apply_desktop_settings (void) +-{ +- if (!inited_ok) +- return; +- +- csd_keyboard_manager_apply_settings (manager); +- gkbd_desktop_config_load (¤t_config); +- /* again, probably it would be nice to compare things +- before activating them */ +- gkbd_desktop_config_activate (¤t_config); +-} +- +-static void +-popup_menu_launch_capplet () +-{ +- GAppInfo *info; +- GdkAppLaunchContext *ctx; +- GError *error = NULL; +- +- info = +- g_app_info_create_from_commandline +- ("cinnamon-settings region", NULL, 0, &error); +- +- if (info != NULL) { +- ctx = +- gdk_display_get_app_launch_context +- (gdk_display_get_default ()); +- +- if (g_app_info_launch (info, NULL, +- G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) { +- g_warning +- ("Could not execute keyboard properties capplet: [%s]\n", +- error->message); +- g_error_free (error); +- } +- +- g_object_unref (info); +- g_object_unref (ctx); +- } +- +-} +- +-static void +-show_layout_destroy (GtkWidget * dialog, gint group) +-{ +- g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group)); +-} +- +-static void +-popup_menu_show_layout () +-{ +- GtkWidget *dialog; +- XklEngine *engine = +- xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- XklState *xkl_state = xkl_engine_get_current_state (engine); +- +- gchar **group_names = gkbd_status_get_group_names (); +- +- gpointer p = g_hash_table_lookup (preview_dialogs, +- GINT_TO_POINTER +- (xkl_state->group)); +- +- if (xkl_state->group < 0 +- || xkl_state->group >= g_strv_length (group_names)) { +- return; +- } +- +- if (p != NULL) { +- /* existing window */ +- gtk_window_present (GTK_WINDOW (p)); +- return; +- } +- +- if (!ensure_xkl_registry ()) +- return; +- +- dialog = gkbd_keyboard_drawing_dialog_new (); +- gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group); +- +- g_signal_connect (dialog, "destroy", +- G_CALLBACK (show_layout_destroy), +- GINT_TO_POINTER (xkl_state->group)); +- g_hash_table_insert (preview_dialogs, +- GINT_TO_POINTER (xkl_state->group), dialog); +- gtk_widget_show_all (dialog); +-} +- +-static void +-popup_menu_set_group (gint group_number, gboolean only_menu) +-{ +- +- XklEngine *engine = gkbd_status_get_xkl_engine (); +- +- XklState *st = xkl_engine_get_current_state(engine); +- Window cur; +- st->group = group_number; +- xkl_engine_allow_one_switch_to_secondary_group (engine); +- cur = xkl_engine_get_current_window (engine); +- if (cur != (Window) NULL) { +- xkl_debug (150, "Enforcing the state %d for window %lx\n", +- st->group, cur); +- +- xkl_engine_save_state (engine, +- xkl_engine_get_current_window +- (engine), st); +-/* XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/ +- } else { +- xkl_debug (150, +- "??? Enforcing the state %d for unknown window\n", +- st->group); +- /* strange situation - bad things can happen */ +- } +- if (!only_menu) +- xkl_engine_lock_group (engine, st->group); +-} +- +-static void +-popup_menu_set_group_cb (GtkMenuItem * item, gpointer param) +-{ +- gint group_number = GPOINTER_TO_INT (param); +- +- popup_menu_set_group(group_number, FALSE); +-} +- +- +-static GtkMenu * +-create_status_menu (void) +-{ +- GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ()); +- int i = 0; +- +- GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ()); +- gchar **current_name = gkbd_status_get_group_names (); +- +- GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts")); +- gtk_widget_show (item); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), +- GTK_WIDGET (groups_menu)); +- +- item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout...")); +- gtk_widget_show (item); +- g_signal_connect (item, "activate", popup_menu_show_layout, NULL); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- +- /* translators note: +- * This is the name of the cinnamon-settings "region" panel */ +- item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings")); +- gtk_widget_show (item); +- g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- +- for (i = 0; current_name && *current_name; i++, current_name++) { +- +- gchar *image_file = gkbd_status_get_image_filename (i); +- +- if (image_file == NULL) { +- item = +- gtk_menu_item_new_with_label (*current_name); +- } else { +- GdkPixbuf *pixbuf = +- gdk_pixbuf_new_from_file_at_size (image_file, +- 24, 24, +- NULL); +- GtkWidget *img = +- gtk_image_new_from_pixbuf (pixbuf); +- item = +- gtk_image_menu_item_new_with_label +- (*current_name); +- gtk_widget_show (img); +- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM +- (item), img); +- gtk_image_menu_item_set_always_show_image +- (GTK_IMAGE_MENU_ITEM (item), TRUE); +- g_free (image_file); +- } +- gtk_widget_show (item); +- gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item); +- g_signal_connect (item, "activate", +- G_CALLBACK (popup_menu_set_group_cb), +- GINT_TO_POINTER (i)); +- } +- +- return popup_menu; +-} +- +-static void +-status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time) +-{ +- GtkMenu *popup_menu = create_status_menu (); +- +- gtk_menu_popup (popup_menu, NULL, NULL, +- gtk_status_icon_position_menu, +- (gpointer) icon, button, time); +-} +- +-static void +-show_hide_icon () +-{ +- if (g_strv_length (current_kbd_config.layouts_variants) > 1) { +- if (icon == NULL) { +- xkl_debug (150, "Creating keyboard status icon\n"); +- icon = gkbd_status_new (); +- g_signal_connect (icon, "popup-menu", +- G_CALLBACK +- (status_icon_popup_menu_cb), +- NULL); +- +- } +- } else { +- if (icon != NULL) { +- xkl_debug (150, "Destroying icon\n"); +- g_object_unref (icon); +- icon = NULL; +- } +- } +-} +- +-static gboolean +-try_activating_xkb_config_if_new (GkbdKeyboardConfig * +- current_sys_kbd_config) +-{ +- /* Activate - only if different! */ +- if (!gkbd_keyboard_config_equals +- (¤t_kbd_config, current_sys_kbd_config)) { +- if (gkbd_keyboard_config_activate (¤t_kbd_config)) { +- if (pa_callback != NULL) { +- (*pa_callback) (pa_callback_user_data); +- return TRUE; +- } +- } else { +- return FALSE; +- } +- } +- return TRUE; +-} +- +-static gboolean +-filter_xkb_config (void) +-{ +- XklConfigItem *item; +- gchar *lname; +- gchar *vname; +- gchar **lv; +- gboolean any_change = FALSE; +- +- xkl_debug (100, "Filtering configuration against the registry\n"); +- if (!ensure_xkl_registry ()) +- return FALSE; +- +- lv = current_kbd_config.layouts_variants; +- item = xkl_config_item_new (); +- while (*lv) { +- xkl_debug (100, "Checking [%s]\n", *lv); +- if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) { +- gboolean should_be_dropped = FALSE; +- g_snprintf (item->name, sizeof (item->name), "%s", +- lname); +- if (!xkl_config_registry_find_layout +- (xkl_registry, item)) { +- xkl_debug (100, "Bad layout [%s]\n", +- lname); +- should_be_dropped = TRUE; +- } else if (vname) { +- g_snprintf (item->name, +- sizeof (item->name), "%s", +- vname); +- if (!xkl_config_registry_find_variant +- (xkl_registry, lname, item)) { +- xkl_debug (100, +- "Bad variant [%s(%s)]\n", +- lname, vname); +- should_be_dropped = TRUE; +- } +- } +- if (should_be_dropped) { +- gkbd_strv_behead (lv); +- any_change = TRUE; +- continue; +- } +- } +- lv++; +- } +- g_object_unref (item); +- return any_change; +-} +- +-static void +-apply_xkb_settings (void) +-{ +- GkbdKeyboardConfig current_sys_kbd_config; +- +- if (!inited_ok) +- return; +- +- gkbd_keyboard_config_init (¤t_sys_kbd_config, xkl_engine); +- +- gkbd_keyboard_config_load (¤t_kbd_config, +- &initial_sys_kbd_config); +- +- gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config, +- NULL); +- +- if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { +- if (filter_xkb_config ()) { +- if (!try_activating_xkb_config_if_new +- (¤t_sys_kbd_config)) { +- g_warning +- ("Could not activate the filtered XKB configuration"); +- activation_error (); +- } +- } else { +- g_warning +- ("Could not activate the XKB configuration"); +- activation_error (); +- } +- } else +- xkl_debug (100, +- "Actual KBD configuration was not changed: redundant notification\n"); +- +- gkbd_keyboard_config_term (¤t_sys_kbd_config); +- show_hide_icon (); +-} +- +-static void +-csd_keyboard_xkb_analyze_sysconfig (void) +-{ +- if (!inited_ok) +- return; +- +- gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine); +- gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config, +- NULL); +-} +- +-void +-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, +- void *user_data) +-{ +- pa_callback = fun; +- pa_callback_user_data = user_data; +-} +- +-static GdkFilterReturn +-csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event) +-{ +- XEvent *xevent = (XEvent *) xev; +- xkl_engine_filter_events (xkl_engine, xevent); +- return GDK_FILTER_CONTINUE; +-} +- +-/* When new Keyboard is plugged in - reload the settings */ +-static void +-csd_keyboard_new_device (XklEngine * engine) +-{ +- apply_desktop_settings (); +- apply_xkb_settings (); +-} +- +-void +-csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager) +-{ +- Display *display = +- GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); +- cinnamon_settings_profile_start (NULL); +- +- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), +- DATADIR G_DIR_SEPARATOR_S +- "icons"); +- +- manager = kbd_manager; +- cinnamon_settings_profile_start ("xkl_engine_get_instance"); +- xkl_engine = xkl_engine_get_instance (display); +- cinnamon_settings_profile_end ("xkl_engine_get_instance"); +- if (xkl_engine) { +- inited_ok = TRUE; +- +- gkbd_desktop_config_init (¤t_config, xkl_engine); +- gkbd_keyboard_config_init (¤t_kbd_config, +- xkl_engine); +- xkl_engine_backup_names_prop (xkl_engine); +- csd_keyboard_xkb_analyze_sysconfig (); +- +- settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA); +- settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- g_signal_connect (settings_desktop, "changed", +- (GCallback) apply_desktop_settings, +- NULL); +- g_signal_connect (settings_keyboard, "changed", +- (GCallback) apply_xkb_settings, NULL); +- +- gdk_window_add_filter (NULL, (GdkFilterFunc) +- csd_keyboard_xkb_evt_filter, NULL); +- +- if (xkl_engine_get_features (xkl_engine) & +- XKLF_DEVICE_DISCOVERY) +- g_signal_connect (xkl_engine, "X-new-device", +- G_CALLBACK +- (csd_keyboard_new_device), NULL); +- +- cinnamon_settings_profile_start ("xkl_engine_start_listen"); +- xkl_engine_start_listen (xkl_engine, +- XKLL_MANAGE_LAYOUTS | +- XKLL_MANAGE_WINDOW_STATES); +- cinnamon_settings_profile_end ("xkl_engine_start_listen"); +- +- cinnamon_settings_profile_start ("apply_desktop_settings"); +- apply_desktop_settings (); +- cinnamon_settings_profile_end ("apply_desktop_settings"); +- cinnamon_settings_profile_start ("apply_xkb_settings"); +- apply_xkb_settings (); +- cinnamon_settings_profile_end ("apply_xkb_settings"); +- } +- preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal); +- +- cinnamon_settings_profile_end (NULL); +-} +- +-void +-csd_keyboard_xkb_shutdown (void) +-{ +- if (!inited_ok) +- return; +- +- pa_callback = NULL; +- pa_callback_user_data = NULL; +- manager = NULL; +- +- if (preview_dialogs != NULL) +- g_hash_table_destroy (preview_dialogs); +- +- if (!inited_ok) +- return; +- +- xkl_engine_stop_listen (xkl_engine, +- XKLL_MANAGE_LAYOUTS | +- XKLL_MANAGE_WINDOW_STATES); +- +- gdk_window_remove_filter (NULL, (GdkFilterFunc) +- csd_keyboard_xkb_evt_filter, NULL); +- +- g_object_unref (settings_desktop); +- settings_desktop = NULL; +- g_object_unref (settings_keyboard); +- settings_keyboard = NULL; +- +- if (xkl_registry) { +- g_object_unref (xkl_registry); +- } +- +- g_object_unref (xkl_engine); +- +- xkl_engine = NULL; +- +- inited_ok = FALSE; +-} +diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.h b/plugins/keyboard/csd-keyboard-xkb.h +--- a/plugins/keyboard/csd-keyboard-xkb.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-xkb.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,39 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * cinnamon-settings-keyboard-xkb.h +- * +- * Copyright (C) 2001 Udaltsoft +- * +- * Written by Sergey V. Oudaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifndef __CSD_KEYBOARD_XKB_H +-#define __CSD_KEYBOARD_XKB_H +- +-#include +-#include "csd-keyboard-manager.h" +- +-void csd_keyboard_xkb_init (CsdKeyboardManager *manager); +-void csd_keyboard_xkb_shutdown (void); +- +-typedef void (*PostActivationCallback) (void *userData); +- +-void +-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, +- void *userData); +- +-#endif +diff -uNrp a/plugins/keyboard/delayed-dialog.c b/plugins/keyboard/delayed-dialog.c +--- a/plugins/keyboard/delayed-dialog.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/delayed-dialog.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,128 +0,0 @@ +-/* +- * Copyright © 2006 Novell, Inc. +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2, or (at +- * your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#include +-#include +- +-#include +-#include +- +-#include "delayed-dialog.h" +- +-static gboolean delayed_show_timeout (gpointer data); +-static GdkFilterReturn message_filter (GdkXEvent *xevent, +- GdkEvent *event, +- gpointer data); +- +-static GSList *dialogs = NULL; +- +-/** +- * csd_delayed_show_dialog: +- * @dialog: the dialog +- * +- * Shows the dialog as with gtk_widget_show(), unless a window manager +- * hasn't been started yet, in which case it will wait up to 5 seconds +- * for that to happen before showing the dialog. +- **/ +-void +-csd_delayed_show_dialog (GtkWidget *dialog) +-{ +- GdkDisplay *display = gtk_widget_get_display (dialog); +- Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); +- GdkScreen *screen = gtk_widget_get_screen (dialog); +- char selection_name[10]; +- Atom selection_atom; +- +- /* We can't use gdk_selection_owner_get() for this, because +- * it's an unknown out-of-process window. +- */ +- snprintf (selection_name, sizeof (selection_name), "WM_S%d", +- gdk_screen_get_number (screen)); +- selection_atom = XInternAtom (xdisplay, selection_name, True); +- if (selection_atom && +- XGetSelectionOwner (xdisplay, selection_atom) != None) { +- gtk_widget_show (dialog); +- return; +- } +- +- dialogs = g_slist_prepend (dialogs, dialog); +- +- gdk_window_add_filter (NULL, message_filter, NULL); +- +- g_timeout_add (5000, delayed_show_timeout, NULL); +-} +- +-static gboolean +-delayed_show_timeout (gpointer data) +-{ +- GSList *l; +- +- for (l = dialogs; l; l = l->next) +- gtk_widget_show (l->data); +- g_slist_free (dialogs); +- dialogs = NULL; +- +- /* FIXME: There's no gdk_display_remove_client_message_filter */ +- +- return FALSE; +-} +- +-static GdkFilterReturn +-message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) +-{ +- XClientMessageEvent *evt; +- char *selection_name; +- int screen; +- GSList *l, *next; +- +- if (((XEvent *)xevent)->type != ClientMessage) +- return GDK_FILTER_CONTINUE; +- +- evt = (XClientMessageEvent *)xevent; +- +- if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE)) +- return GDK_FILTER_CONTINUE; +- +- selection_name = XGetAtomName (evt->display, evt->data.l[1]); +- +- if (strncmp (selection_name, "WM_S", 4) != 0) { +- XFree (selection_name); +- return GDK_FILTER_CONTINUE; +- } +- +- screen = atoi (selection_name + 4); +- +- for (l = dialogs; l; l = next) { +- GtkWidget *dialog = l->data; +- next = l->next; +- +- if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) { +- gtk_widget_show (dialog); +- dialogs = g_slist_remove (dialogs, dialog); +- } +- } +- +- if (!dialogs) { +- gdk_window_remove_filter (NULL, message_filter, NULL); +- } +- +- XFree (selection_name); +- +- return GDK_FILTER_CONTINUE; +-} +diff -uNrp a/plugins/keyboard/delayed-dialog.h b/plugins/keyboard/delayed-dialog.h +--- a/plugins/keyboard/delayed-dialog.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/delayed-dialog.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,32 +0,0 @@ +-/* +- * Copyright © 2006 Novell, Inc. +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2, or (at +- * your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +- +-#ifndef __DELAYED_DIALOG_H +-#define __DELAYED_DIALOG_H +- +-#include +- +-G_BEGIN_DECLS +- +-void csd_delayed_show_dialog (GtkWidget *dialog); +- +-G_END_DECLS +- +-#endif +diff -uNrp a/plugins/keyboard/gkbd-configuration.c b/plugins/keyboard/gkbd-configuration.c +--- a/plugins/keyboard/gkbd-configuration.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/gkbd-configuration.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,350 +0,0 @@ +-/* +- * Copyright (C) 2010 Canonical Ltd. +- * +- * Authors: Jan Arne Petersen +- * +- * Based on gkbd-status.c by Sergey V. Udaltsov +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, +- * Boston, MA 02110-1335, USA. +- */ +- +-#include +- +-#include +-#include +-#include +- +-#include +-#include +- +-#include "gkbd-configuration.h" +- +-struct _GkbdConfigurationPrivate { +- XklEngine *engine; +- XklConfigRegistry *registry; +- +- GkbdDesktopConfig cfg; +- GkbdIndicatorConfig ind_cfg; +- GkbdKeyboardConfig kbd_cfg; +- +- gchar **full_group_names; +- gchar **short_group_names; +- +- gulong state_changed_handler; +- gulong config_changed_handler; +-}; +- +-enum { +- SIGNAL_CHANGED, +- SIGNAL_GROUP_CHANGED, +- LAST_SIGNAL +-}; +- +-static guint signals[LAST_SIGNAL] = { 0, }; +- +-#define GKBD_CONFIGURATION_GET_PRIVATE(o) \ +- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate)) +- +-G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT) +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_cfg_changed (GSettings *settings, +- const char *key, +- GkbdConfiguration * configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- xkl_debug (100, +- "General configuration changed in GSettings - reiniting...\n"); +- gkbd_desktop_config_load (&priv->cfg); +- gkbd_desktop_config_activate (&priv->cfg); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], 0); +-} +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_ind_cfg_changed (GSettings *settings, +- const char *key, +- GkbdConfiguration * configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- xkl_debug (100, +- "Applet configuration changed in GSettings - reiniting...\n"); +- gkbd_indicator_config_load (&priv->ind_cfg); +- +- gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- gkbd_indicator_config_activate (&priv->ind_cfg); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], 0); +-} +- +-static void +-gkbd_configuration_load_group_names (GkbdConfiguration * configuration, +- XklConfigRec * xklrec) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg, +- priv->registry, +- (const char **) xklrec->layouts, +- (const char **) xklrec->variants, +- &priv->short_group_names, +- &priv->full_group_names)) { +- /* We just populate no short names (remain NULL) - +- * full names are going to be used anyway */ +- gint i, total_groups = +- xkl_engine_get_num_groups (priv->engine); +- xkl_debug (150, "group descriptions loaded: %d!\n", +- total_groups); +- priv->full_group_names = +- g_new0 (char *, total_groups + 1); +- +- if (xkl_engine_get_features (priv->engine) & +- XKLF_MULTIPLE_LAYOUTS_SUPPORTED) { +- for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) { +- priv->full_group_names[i] = +- g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]); +- } +- } else { +- for (i = total_groups; --i >= 0;) { +- priv->full_group_names[i] = +- g_strdup_printf ("Group %d", i); +- } +- } +- } +-} +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_kbd_cfg_callback (XklEngine *engine, +- GkbdConfiguration *configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- XklConfigRec *xklrec = xkl_config_rec_new (); +- xkl_debug (100, +- "XKB configuration changed on X Server - reiniting...\n"); +- +- gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, +- xklrec); +- +- gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- g_strfreev (priv->full_group_names); +- priv->full_group_names = NULL; +- +- g_strfreev (priv->short_group_names); +- priv->short_group_names = NULL; +- +- gkbd_configuration_load_group_names (configuration, +- xklrec); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], +- 0); +- +- g_object_unref (G_OBJECT (xklrec)); +-} +- +-/* Should be called once for all applets */ +-static void +-gkbd_configuration_state_callback (XklEngine * engine, +- XklEngineStateChange changeType, +- gint group, gboolean restore, +- GkbdConfiguration * configuration) +-{ +- xkl_debug (150, "group is now %d, restore: %d\n", group, restore); +- +- if (changeType == GROUP_CHANGED) { +- g_signal_emit (configuration, +- signals[SIGNAL_GROUP_CHANGED], 0, +- group); +- } +-} +- +-static void +-gkbd_configuration_init (GkbdConfiguration *configuration) +-{ +- GkbdConfigurationPrivate *priv; +- XklConfigRec *xklrec = xkl_config_rec_new (); +- +- priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration); +- configuration->priv = priv; +- +- priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); +- if (priv->engine == NULL) { +- xkl_debug (0, "Libxklavier initialization error"); +- return; +- } +- +- priv->state_changed_handler = +- g_signal_connect (priv->engine, "X-state-changed", +- G_CALLBACK (gkbd_configuration_state_callback), +- configuration); +- priv->config_changed_handler = +- g_signal_connect (priv->engine, "X-config-changed", +- G_CALLBACK (gkbd_configuration_kbd_cfg_callback), +- configuration); +- +- gkbd_desktop_config_init (&priv->cfg, priv->engine); +- gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine); +- gkbd_indicator_config_init (&priv->ind_cfg, priv->engine); +- +- gkbd_desktop_config_load (&priv->cfg); +- gkbd_desktop_config_activate (&priv->cfg); +- +- priv->registry = xkl_config_registry_get_instance (priv->engine); +- xkl_config_registry_load (priv->registry, +- priv->cfg.load_extra_items); +- +- gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, +- xklrec); +- +- gkbd_indicator_config_load (&priv->ind_cfg); +- +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- gkbd_indicator_config_activate (&priv->ind_cfg); +- +- gkbd_configuration_load_group_names (configuration, +- xklrec); +- g_object_unref (G_OBJECT (xklrec)); +- +- gkbd_desktop_config_start_listen (&priv->cfg, +- G_CALLBACK (gkbd_configuration_cfg_changed), +- configuration); +- gkbd_indicator_config_start_listen (&priv->ind_cfg, +- G_CALLBACK (gkbd_configuration_ind_cfg_changed), +- configuration); +- xkl_engine_start_listen (priv->engine, +- XKLL_TRACK_KEYBOARD_STATE); +- +- xkl_debug (100, "Initiating the widget startup process for %p\n", +- configuration); +-} +- +-static void +-gkbd_configuration_finalize (GObject * obj) +-{ +- GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj); +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- xkl_debug (100, +- "Starting the gnome-kbd-configuration widget shutdown process for %p\n", +- configuration); +- +- xkl_engine_stop_listen (priv->engine, +- XKLL_TRACK_KEYBOARD_STATE); +- +- gkbd_desktop_config_stop_listen (&priv->cfg); +- gkbd_indicator_config_stop_listen (&priv->ind_cfg); +- +- gkbd_indicator_config_term (&priv->ind_cfg); +- gkbd_keyboard_config_term (&priv->kbd_cfg); +- gkbd_desktop_config_term (&priv->cfg); +- +- if (g_signal_handler_is_connected (priv->engine, +- priv->state_changed_handler)) { +- g_signal_handler_disconnect (priv->engine, +- priv->state_changed_handler); +- priv->state_changed_handler = 0; +- } +- if (g_signal_handler_is_connected (priv->engine, +- priv->config_changed_handler)) { +- g_signal_handler_disconnect (priv->engine, +- priv->config_changed_handler); +- priv->config_changed_handler = 0; +- } +- +- g_object_unref (priv->registry); +- priv->registry = NULL; +- g_object_unref (priv->engine); +- priv->engine = NULL; +- +- G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj); +-} +- +-static void +-gkbd_configuration_class_init (GkbdConfigurationClass * klass) +-{ +- GObjectClass *object_class = G_OBJECT_CLASS (klass); +- +- /* Initing vtable */ +- object_class->finalize = gkbd_configuration_finalize; +- +- /* Signals */ +- signals[SIGNAL_CHANGED] = g_signal_new ("changed", +- GKBD_TYPE_CONFIGURATION, +- G_SIGNAL_RUN_LAST, +- 0, +- NULL, NULL, +- g_cclosure_marshal_VOID__VOID, +- G_TYPE_NONE, +- 0); +- signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed", +- GKBD_TYPE_CONFIGURATION, +- G_SIGNAL_RUN_LAST, +- 0, +- NULL, NULL, +- g_cclosure_marshal_VOID__INT, +- G_TYPE_NONE, +- 1, +- G_TYPE_INT); +- +- g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate)); +-} +- +-GkbdConfiguration * +-gkbd_configuration_get (void) +-{ +- static gpointer instance = NULL; +- +- if (!instance) { +- instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL); +- g_object_add_weak_pointer (instance, &instance); +- } else { +- g_object_ref (instance); +- } +- +- return instance; +-} +- +-XklEngine * +-gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration) +-{ +- return configuration->priv->engine; +-} +- +-const char * const * +-gkbd_configuration_get_group_names (GkbdConfiguration *configuration) +-{ +- return configuration->priv->full_group_names; +-} +- +-const char * const * +-gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration) +-{ +- return configuration->priv->short_group_names; +-} +diff -uNrp a/plugins/keyboard/gkbd-configuration.h b/plugins/keyboard/gkbd-configuration.h +--- a/plugins/keyboard/gkbd-configuration.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/gkbd-configuration.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,65 +0,0 @@ +-/* +- * Copyright (C) 2010 Canonical Ltd. +- * +- * Authors: Jan Arne Petersen +- * +- * Based on gkbd-status.h by Sergey V. Udaltsov +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, +- * Boston, MA 02110-1335, USA. +- */ +- +-#ifndef __GKBD_CONFIGURATION_H__ +-#define __GKBD_CONFIGURATION_H__ +- +-#include +- +-#include +- +-G_BEGIN_DECLS +- +-typedef struct _GkbdConfiguration GkbdConfiguration; +-typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate; +-typedef struct _GkbdConfigurationClass GkbdConfigurationClass; +- +-#define GKBD_TYPE_CONFIGURATION (gkbd_configuration_get_type ()) +-#define GKBD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration)) +-#define GKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) +-#define GKBD_IS_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) +-#define GKBD_IS_CONFIGURATION_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) +-#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) +- +-struct _GkbdConfiguration { +- GObject parent; +- +- GkbdConfigurationPrivate *priv; +-}; +- +-struct _GkbdConfigurationClass { +- GObjectClass parent_class; +-}; +- +-extern GType gkbd_configuration_get_type (void); +- +-extern GkbdConfiguration *gkbd_configuration_get (void); +- +-extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration); +- +-extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration); +-extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration); +- +-G_END_DECLS +- +-#endif +diff -uNrp a/plugins/keyboard/.indent.pro b/plugins/keyboard/.indent.pro +--- a/plugins/keyboard/.indent.pro 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/.indent.pro 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,2 @@ ++-kr -i8 -pcs -lps -psl ++ +diff -uNrp a/plugins/keyboard/Makefile.am b/plugins/keyboard/Makefile.am +--- a/plugins/keyboard/Makefile.am 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/Makefile.am 2013-08-25 16:36:02.000000000 +0100 +@@ -20,25 +20,20 @@ libkeyboard_la_SOURCES = \ + csd-keyboard-plugin.c \ + csd-keyboard-manager.h \ + csd-keyboard-manager.c \ +- csd-keyboard-xkb.h \ +- csd-keyboard-xkb.c \ +- delayed-dialog.h \ +- delayed-dialog.c \ +- gkbd-configuration.c \ +- gkbd-configuration.h \ + $(NULL) + + libkeyboard_la_CPPFLAGS = \ + -I$(top_srcdir)/cinnamon-settings-daemon \ + -I$(top_srcdir)/data \ ++ -I$(top_srcdir)/plugins/common \ + -DDATADIR=\""$(pkgdatadir)"\" \ ++ -DLIBEXECDIR=\""$(libexecdir)"\" \ + -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ + $(AM_CPPFLAGS) + + libkeyboard_la_CFLAGS = \ + $(PLUGIN_CFLAGS) \ + $(SETTINGS_PLUGIN_CFLAGS) \ +- $(APPINDICATOR_CFLAGS) \ + $(KEYBOARD_CFLAGS) \ + $(AM_CFLAGS) + +@@ -46,19 +41,63 @@ libkeyboard_la_LDFLAGS = \ + $(CSD_PLUGIN_LDFLAGS) \ + $(NULL) + +-libkeyboard_la_LIBADD = \ +- $(SETTINGS_PLUGIN_LIBS) \ +- $(XF86MISC_LIBS) \ +- $(KEYBOARD_LIBS) \ +- $(APPINDICATOR_LIBS) \ ++libkeyboard_la_LIBADD = \ ++ $(top_builddir)/plugins/common/libcommon.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(XF86MISC_LIBS) \ ++ $(KEYBOARD_LIBS) \ + $(NULL) + ++libexec_PROGRAMS = csd-test-keyboard ++csd_test_keyboard_SOURCES = \ ++ test-keyboard.c \ ++ csd-keyboard-manager.h \ ++ csd-keyboard-manager.c \ ++ $(NULL) ++ ++csd_test_keyboard_CFLAGS = $(libkeyboard_la_CFLAGS) ++csd_test_keyboard_CPPFLAGS = $(libkeyboard_la_CPPFLAGS) ++csd_test_keyboard_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ + plugin_in_files = \ + keyboard.cinnamon-settings-plugin.in \ + $(NULL) + + plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin) + ++if HAVE_IBUS ++noinst_PROGRAMS = test-keyboard-ibus-utils ++test_keyboard_ibus_utils_SOURCES = test-keyboard-ibus-utils.c ++test_keyboard_ibus_utils_CFLAGS = $(libkeyboard_la_CFLAGS) ++test_keyboard_ibus_utils_CPPFLAGS = $(libkeyboard_la_CPPFLAGS) ++test_keyboard_ibus_utils_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ ++check-local: test-keyboard-ibus-utils ++ $(builddir)/test-keyboard-ibus-utils > /dev/null ++endif ++ ++libexec_PROGRAMS += csd-input-sources-switcher ++ ++csd_input_sources_switcher_SOURCES = \ ++ csd-input-sources-switcher.c \ ++ $(NULL) ++ ++csd_input_sources_switcher_CPPFLAGS = \ ++ -I$(top_srcdir)/data \ ++ -I$(top_srcdir)/plugins/common \ ++ $(AM_CPPFLAGS) \ ++ $(NULL) ++ ++csd_input_sources_switcher_CFLAGS = \ ++ $(SETTINGS_PLUGIN_CFLAGS) \ ++ $(AM_CFLAGS) \ ++ $(NULL) ++ ++csd_input_sources_switcher_LDADD = \ ++ $(top_builddir)/plugins/common/libcommon.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(NULL) ++ + EXTRA_DIST = \ + $(icons_DATA) \ + $(plugin_in_files) \ +diff -uNrp a/plugins/keyboard/test-keyboard.c b/plugins/keyboard/test-keyboard.c +--- a/plugins/keyboard/test-keyboard.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/test-keyboard.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,7 @@ ++#define NEW csd_keyboard_manager_new ++#define START csd_keyboard_manager_start ++#define STOP csd_keyboard_manager_stop ++#define MANAGER CsdKeyboardManager ++#include "csd-keyboard-manager.h" ++ ++#include "test-plugin.h" +diff -uNrp a/plugins/keyboard/test-keyboard-ibus-utils.c b/plugins/keyboard/test-keyboard-ibus-utils.c +--- a/plugins/keyboard/test-keyboard-ibus-utils.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/test-keyboard-ibus-utils.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,116 @@ ++#include "csd-keyboard-manager.c" ++ ++static void ++test_make_xkb_source_id (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "xkb:aa:bb:cc", "aa+bb" }, ++ { "xkb:aa:bb:", "aa+bb" }, ++ { "xkb:aa::cc", "aa" }, ++ { "xkb:aa::", "aa" }, ++ { "xkb::bb:cc", "+bb" }, ++ { "xkb::bb:", "+bb" }, ++ { "xkb:::cc", "" }, ++ { "xkb:::", "" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (make_xkb_source_id (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_layout_from_ibus_layout (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "", "" }, ++ { "a", "a" }, ++ { "a(", "a" }, ++ { "a[", "a" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (layout_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_variant_from_ibus_layout (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "", NULL }, ++ { "a", NULL }, ++ { "(", NULL }, ++ { "()", "" }, ++ { "(b)", "b" }, ++ { "a(", NULL }, ++ { "a()", "" }, ++ { "a(b)", "b" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (variant_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_options_from_ibus_layout (void) ++{ ++ gint i, j; ++ gchar *output_0[] = { ++ NULL ++ }; ++ gchar *output_1[] = { ++ "", ++ NULL ++ }; ++ gchar *output_2[] = { ++ "b", ++ NULL ++ }; ++ gchar *output_3[] = { ++ "b", "", ++ NULL ++ }; ++ gchar *output_4[] = { ++ "b", "c", ++ NULL ++ }; ++ const gpointer tests[][2] = { ++ /* input output */ ++ { "", NULL }, ++ { "a", NULL }, ++ { "a[", output_0 }, ++ { "a[]", output_1 }, ++ { "a[b]", output_2 }, ++ { "a[b,]", output_3 }, ++ { "a[b,c]", output_4 }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (tests); ++i) { ++ if (tests[i][1] == NULL) { ++ g_assert (options_from_ibus_layout (tests[i][0]) == NULL); ++ } else { ++ gchar **strv_a = options_from_ibus_layout (tests[i][0]); ++ gchar **strv_b = tests[i][1]; ++ ++ g_assert (g_strv_length (strv_a) == g_strv_length (strv_b)); ++ for (j = 0; j < g_strv_length (strv_a); ++j) ++ g_assert_cmpstr (strv_a[j], ==, strv_b[j]); ++ } ++ } ++} ++ ++int ++main (void) ++{ ++ test_make_xkb_source_id (); ++ test_layout_from_ibus_layout (); ++ test_variant_from_ibus_layout (); ++ test_options_from_ibus_layout (); ++ ++ return 0; ++} +diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.c b/plugins/keyboard/xxx/csd-keyboard-xkb.c +--- a/plugins/keyboard/xxx/csd-keyboard-xkb.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,579 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2001 Udaltsoft ++ * ++ * Written by Sergey V. Oudaltsov ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include "config.h" ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "csd-keyboard-xkb.h" ++#include "delayed-dialog.h" ++#include "cinnamon-settings-profile.h" ++ ++#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard" ++ ++static CsdKeyboardManager *manager = NULL; ++ ++static XklEngine *xkl_engine; ++static XklConfigRegistry *xkl_registry = NULL; ++ ++static GkbdDesktopConfig current_config; ++static GkbdKeyboardConfig current_kbd_config; ++ ++/* never terminated */ ++static GkbdKeyboardConfig initial_sys_kbd_config; ++ ++static gboolean inited_ok = FALSE; ++ ++static GSettings *settings_desktop = NULL; ++static GSettings *settings_keyboard = NULL; ++ ++static PostActivationCallback pa_callback = NULL; ++static void *pa_callback_user_data = NULL; ++ ++static GtkStatusIcon *icon = NULL; ++ ++static GHashTable *preview_dialogs = NULL; ++ ++static void ++activation_error (void) ++{ ++ char const *vendor; ++ GtkWidget *dialog; ++ ++ vendor = ++ ServerVendor (GDK_DISPLAY_XDISPLAY ++ (gdk_display_get_default ())); ++ ++ /* VNC viewers will not work, do not barrage them with warnings */ ++ if (NULL != vendor && NULL != strstr (vendor, "VNC")) ++ return; ++ ++ dialog = gtk_message_dialog_new_with_markup (NULL, ++ 0, ++ GTK_MESSAGE_ERROR, ++ GTK_BUTTONS_CLOSE, ++ _ ++ ("Error activating XKB configuration.\n" ++ "There can be various reasons for that.\n\n" ++ "If you report this situation as a bug, include the results of\n" ++ " • %s\n" ++ " • %s\n" ++ " • %s\n" ++ " • %s"), ++ "xprop -root | grep XKB", ++ "gsettings get org.gnome.libgnomekbd.keyboard model", ++ "gsettings get org.gnome.libgnomekbd.keyboard layouts", ++ "gsettings get org.gnome.libgnomekbd.keyboard options"); ++ g_signal_connect (dialog, "response", ++ G_CALLBACK (gtk_widget_destroy), NULL); ++ csd_delayed_show_dialog (dialog); ++} ++ ++static gboolean ++ensure_xkl_registry (void) ++{ ++ if (!xkl_registry) { ++ xkl_registry = ++ xkl_config_registry_get_instance (xkl_engine); ++ /* load all materials, unconditionally! */ ++ if (!xkl_config_registry_load (xkl_registry, TRUE)) { ++ g_object_unref (xkl_registry); ++ xkl_registry = NULL; ++ return FALSE; ++ } ++ } ++ ++ return TRUE; ++} ++ ++static void ++apply_desktop_settings (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ csd_keyboard_manager_apply_settings (manager); ++ gkbd_desktop_config_load (¤t_config); ++ /* again, probably it would be nice to compare things ++ before activating them */ ++ gkbd_desktop_config_activate (¤t_config); ++} ++ ++static void ++popup_menu_launch_capplet () ++{ ++ GAppInfo *info; ++ GdkAppLaunchContext *ctx; ++ GError *error = NULL; ++ ++ info = ++ g_app_info_create_from_commandline ++ ("cinnamon-settings region", NULL, 0, &error); ++ ++ if (info != NULL) { ++ ctx = ++ gdk_display_get_app_launch_context ++ (gdk_display_get_default ()); ++ ++ if (g_app_info_launch (info, NULL, ++ G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) { ++ g_warning ++ ("Could not execute keyboard properties capplet: [%s]\n", ++ error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (info); ++ g_object_unref (ctx); ++ } ++ ++} ++ ++static void ++show_layout_destroy (GtkWidget * dialog, gint group) ++{ ++ g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group)); ++} ++ ++static void ++popup_menu_show_layout () ++{ ++ GtkWidget *dialog; ++ XklEngine *engine = ++ xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY ++ (gdk_display_get_default ())); ++ XklState *xkl_state = xkl_engine_get_current_state (engine); ++ ++ gchar **group_names = gkbd_status_get_group_names (); ++ ++ gpointer p = g_hash_table_lookup (preview_dialogs, ++ GINT_TO_POINTER ++ (xkl_state->group)); ++ ++ if (xkl_state->group < 0 ++ || xkl_state->group >= g_strv_length (group_names)) { ++ return; ++ } ++ ++ if (p != NULL) { ++ /* existing window */ ++ gtk_window_present (GTK_WINDOW (p)); ++ return; ++ } ++ ++ if (!ensure_xkl_registry ()) ++ return; ++ ++ dialog = gkbd_keyboard_drawing_dialog_new (); ++ gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group); ++ ++ g_signal_connect (dialog, "destroy", ++ G_CALLBACK (show_layout_destroy), ++ GINT_TO_POINTER (xkl_state->group)); ++ g_hash_table_insert (preview_dialogs, ++ GINT_TO_POINTER (xkl_state->group), dialog); ++ gtk_widget_show_all (dialog); ++} ++ ++static void ++popup_menu_set_group (gint group_number, gboolean only_menu) ++{ ++ ++ XklEngine *engine = gkbd_status_get_xkl_engine (); ++ ++ XklState *st = xkl_engine_get_current_state(engine); ++ Window cur; ++ st->group = group_number; ++ xkl_engine_allow_one_switch_to_secondary_group (engine); ++ cur = xkl_engine_get_current_window (engine); ++ if (cur != (Window) NULL) { ++ xkl_debug (150, "Enforcing the state %d for window %lx\n", ++ st->group, cur); ++ ++ xkl_engine_save_state (engine, ++ xkl_engine_get_current_window ++ (engine), st); ++/* XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/ ++ } else { ++ xkl_debug (150, ++ "??? Enforcing the state %d for unknown window\n", ++ st->group); ++ /* strange situation - bad things can happen */ ++ } ++ if (!only_menu) ++ xkl_engine_lock_group (engine, st->group); ++} ++ ++static void ++popup_menu_set_group_cb (GtkMenuItem * item, gpointer param) ++{ ++ gint group_number = GPOINTER_TO_INT (param); ++ ++ popup_menu_set_group(group_number, FALSE); ++} ++ ++ ++static GtkMenu * ++create_status_menu (void) ++{ ++ GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ()); ++ int i = 0; ++ ++ GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ()); ++ gchar **current_name = gkbd_status_get_group_names (); ++ ++ GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts")); ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), ++ GTK_WIDGET (groups_menu)); ++ ++ item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout...")); ++ gtk_widget_show (item); ++ g_signal_connect (item, "activate", popup_menu_show_layout, NULL); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ ++ /* translators note: ++ * This is the name of the cinnamon-settings "region" panel */ ++ item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings")); ++ gtk_widget_show (item); ++ g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ ++ for (i = 0; current_name && *current_name; i++, current_name++) { ++ ++ gchar *image_file = gkbd_status_get_image_filename (i); ++ ++ if (image_file == NULL) { ++ item = ++ gtk_menu_item_new_with_label (*current_name); ++ } else { ++ GdkPixbuf *pixbuf = ++ gdk_pixbuf_new_from_file_at_size (image_file, ++ 24, 24, ++ NULL); ++ GtkWidget *img = ++ gtk_image_new_from_pixbuf (pixbuf); ++ item = ++ gtk_image_menu_item_new_with_label ++ (*current_name); ++ gtk_widget_show (img); ++ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM ++ (item), img); ++ gtk_image_menu_item_set_always_show_image ++ (GTK_IMAGE_MENU_ITEM (item), TRUE); ++ g_free (image_file); ++ } ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item); ++ g_signal_connect (item, "activate", ++ G_CALLBACK (popup_menu_set_group_cb), ++ GINT_TO_POINTER (i)); ++ } ++ ++ return popup_menu; ++} ++ ++static void ++status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time) ++{ ++ GtkMenu *popup_menu = create_status_menu (); ++ ++ gtk_menu_popup (popup_menu, NULL, NULL, ++ gtk_status_icon_position_menu, ++ (gpointer) icon, button, time); ++} ++ ++static void ++show_hide_icon () ++{ ++ if (g_strv_length (current_kbd_config.layouts_variants) > 1) { ++ if (icon == NULL) { ++ xkl_debug (150, "Creating keyboard status icon\n"); ++ icon = gkbd_status_new (); ++ g_signal_connect (icon, "popup-menu", ++ G_CALLBACK ++ (status_icon_popup_menu_cb), ++ NULL); ++ ++ } ++ } else { ++ if (icon != NULL) { ++ xkl_debug (150, "Destroying icon\n"); ++ g_object_unref (icon); ++ icon = NULL; ++ } ++ } ++} ++ ++static gboolean ++try_activating_xkb_config_if_new (GkbdKeyboardConfig * ++ current_sys_kbd_config) ++{ ++ /* Activate - only if different! */ ++ if (!gkbd_keyboard_config_equals ++ (¤t_kbd_config, current_sys_kbd_config)) { ++ if (gkbd_keyboard_config_activate (¤t_kbd_config)) { ++ if (pa_callback != NULL) { ++ (*pa_callback) (pa_callback_user_data); ++ return TRUE; ++ } ++ } else { ++ return FALSE; ++ } ++ } ++ return TRUE; ++} ++ ++static gboolean ++filter_xkb_config (void) ++{ ++ XklConfigItem *item; ++ gchar *lname; ++ gchar *vname; ++ gchar **lv; ++ gboolean any_change = FALSE; ++ ++ xkl_debug (100, "Filtering configuration against the registry\n"); ++ if (!ensure_xkl_registry ()) ++ return FALSE; ++ ++ lv = current_kbd_config.layouts_variants; ++ item = xkl_config_item_new (); ++ while (*lv) { ++ xkl_debug (100, "Checking [%s]\n", *lv); ++ if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) { ++ gboolean should_be_dropped = FALSE; ++ g_snprintf (item->name, sizeof (item->name), "%s", ++ lname); ++ if (!xkl_config_registry_find_layout ++ (xkl_registry, item)) { ++ xkl_debug (100, "Bad layout [%s]\n", ++ lname); ++ should_be_dropped = TRUE; ++ } else if (vname) { ++ g_snprintf (item->name, ++ sizeof (item->name), "%s", ++ vname); ++ if (!xkl_config_registry_find_variant ++ (xkl_registry, lname, item)) { ++ xkl_debug (100, ++ "Bad variant [%s(%s)]\n", ++ lname, vname); ++ should_be_dropped = TRUE; ++ } ++ } ++ if (should_be_dropped) { ++ gkbd_strv_behead (lv); ++ any_change = TRUE; ++ continue; ++ } ++ } ++ lv++; ++ } ++ g_object_unref (item); ++ return any_change; ++} ++ ++static void ++apply_xkb_settings (void) ++{ ++ GkbdKeyboardConfig current_sys_kbd_config; ++ ++ if (!inited_ok) ++ return; ++ ++ gkbd_keyboard_config_init (¤t_sys_kbd_config, xkl_engine); ++ ++ gkbd_keyboard_config_load (¤t_kbd_config, ++ &initial_sys_kbd_config); ++ ++ gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config, ++ NULL); ++ ++ if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { ++ if (filter_xkb_config ()) { ++ if (!try_activating_xkb_config_if_new ++ (¤t_sys_kbd_config)) { ++ g_warning ++ ("Could not activate the filtered XKB configuration"); ++ activation_error (); ++ } ++ } else { ++ g_warning ++ ("Could not activate the XKB configuration"); ++ activation_error (); ++ } ++ } else ++ xkl_debug (100, ++ "Actual KBD configuration was not changed: redundant notification\n"); ++ ++ gkbd_keyboard_config_term (¤t_sys_kbd_config); ++ show_hide_icon (); ++} ++ ++static void ++csd_keyboard_xkb_analyze_sysconfig (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine); ++ gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config, ++ NULL); ++} ++ ++void ++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, ++ void *user_data) ++{ ++ pa_callback = fun; ++ pa_callback_user_data = user_data; ++} ++ ++static GdkFilterReturn ++csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event) ++{ ++ XEvent *xevent = (XEvent *) xev; ++ xkl_engine_filter_events (xkl_engine, xevent); ++ return GDK_FILTER_CONTINUE; ++} ++ ++/* When new Keyboard is plugged in - reload the settings */ ++static void ++csd_keyboard_new_device (XklEngine * engine) ++{ ++ apply_desktop_settings (); ++ apply_xkb_settings (); ++} ++ ++void ++csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager) ++{ ++ Display *display = ++ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ cinnamon_settings_profile_start (NULL); ++ ++ gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), ++ DATADIR G_DIR_SEPARATOR_S ++ "icons"); ++ ++ manager = kbd_manager; ++ cinnamon_settings_profile_start ("xkl_engine_get_instance"); ++ xkl_engine = xkl_engine_get_instance (display); ++ cinnamon_settings_profile_end ("xkl_engine_get_instance"); ++ if (xkl_engine) { ++ inited_ok = TRUE; ++ ++ gkbd_desktop_config_init (¤t_config, xkl_engine); ++ gkbd_keyboard_config_init (¤t_kbd_config, ++ xkl_engine); ++ xkl_engine_backup_names_prop (xkl_engine); ++ csd_keyboard_xkb_analyze_sysconfig (); ++ ++ settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA); ++ settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA); ++ g_signal_connect (settings_desktop, "changed", ++ (GCallback) apply_desktop_settings, ++ NULL); ++ g_signal_connect (settings_keyboard, "changed", ++ (GCallback) apply_xkb_settings, NULL); ++ ++ gdk_window_add_filter (NULL, (GdkFilterFunc) ++ csd_keyboard_xkb_evt_filter, NULL); ++ ++ if (xkl_engine_get_features (xkl_engine) & ++ XKLF_DEVICE_DISCOVERY) ++ g_signal_connect (xkl_engine, "X-new-device", ++ G_CALLBACK ++ (csd_keyboard_new_device), NULL); ++ ++ cinnamon_settings_profile_start ("xkl_engine_start_listen"); ++ xkl_engine_start_listen (xkl_engine, ++ XKLL_MANAGE_LAYOUTS | ++ XKLL_MANAGE_WINDOW_STATES); ++ cinnamon_settings_profile_end ("xkl_engine_start_listen"); ++ ++ cinnamon_settings_profile_start ("apply_desktop_settings"); ++ apply_desktop_settings (); ++ cinnamon_settings_profile_end ("apply_desktop_settings"); ++ cinnamon_settings_profile_start ("apply_xkb_settings"); ++ apply_xkb_settings (); ++ cinnamon_settings_profile_end ("apply_xkb_settings"); ++ } ++ preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal); ++ ++ cinnamon_settings_profile_end (NULL); ++} ++ ++void ++csd_keyboard_xkb_shutdown (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ pa_callback = NULL; ++ pa_callback_user_data = NULL; ++ manager = NULL; ++ ++ if (preview_dialogs != NULL) ++ g_hash_table_destroy (preview_dialogs); ++ ++ if (!inited_ok) ++ return; ++ ++ xkl_engine_stop_listen (xkl_engine, ++ XKLL_MANAGE_LAYOUTS | ++ XKLL_MANAGE_WINDOW_STATES); ++ ++ gdk_window_remove_filter (NULL, (GdkFilterFunc) ++ csd_keyboard_xkb_evt_filter, NULL); ++ ++ g_object_unref (settings_desktop); ++ settings_desktop = NULL; ++ g_object_unref (settings_keyboard); ++ settings_keyboard = NULL; ++ ++ if (xkl_registry) { ++ g_object_unref (xkl_registry); ++ } ++ ++ g_object_unref (xkl_engine); ++ ++ xkl_engine = NULL; ++ ++ inited_ok = FALSE; ++} +diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.h b/plugins/keyboard/xxx/csd-keyboard-xkb.h +--- a/plugins/keyboard/xxx/csd-keyboard-xkb.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,39 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * cinnamon-settings-keyboard-xkb.h ++ * ++ * Copyright (C) 2001 Udaltsoft ++ * ++ * Written by Sergey V. Oudaltsov ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#ifndef __CSD_KEYBOARD_XKB_H ++#define __CSD_KEYBOARD_XKB_H ++ ++#include ++#include "csd-keyboard-manager.h" ++ ++void csd_keyboard_xkb_init (CsdKeyboardManager *manager); ++void csd_keyboard_xkb_shutdown (void); ++ ++typedef void (*PostActivationCallback) (void *userData); ++ ++void ++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, ++ void *userData); ++ ++#endif +diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.c b/plugins/keyboard/xxx/delayed-dialog.c +--- a/plugins/keyboard/xxx/delayed-dialog.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/delayed-dialog.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,128 @@ ++/* ++ * Copyright © 2006 Novell, Inc. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2, or (at ++ * your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include ++#include ++ ++#include ++#include ++ ++#include "delayed-dialog.h" ++ ++static gboolean delayed_show_timeout (gpointer data); ++static GdkFilterReturn message_filter (GdkXEvent *xevent, ++ GdkEvent *event, ++ gpointer data); ++ ++static GSList *dialogs = NULL; ++ ++/** ++ * csd_delayed_show_dialog: ++ * @dialog: the dialog ++ * ++ * Shows the dialog as with gtk_widget_show(), unless a window manager ++ * hasn't been started yet, in which case it will wait up to 5 seconds ++ * for that to happen before showing the dialog. ++ **/ ++void ++csd_delayed_show_dialog (GtkWidget *dialog) ++{ ++ GdkDisplay *display = gtk_widget_get_display (dialog); ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); ++ GdkScreen *screen = gtk_widget_get_screen (dialog); ++ char selection_name[10]; ++ Atom selection_atom; ++ ++ /* We can't use gdk_selection_owner_get() for this, because ++ * it's an unknown out-of-process window. ++ */ ++ snprintf (selection_name, sizeof (selection_name), "WM_S%d", ++ gdk_screen_get_number (screen)); ++ selection_atom = XInternAtom (xdisplay, selection_name, True); ++ if (selection_atom && ++ XGetSelectionOwner (xdisplay, selection_atom) != None) { ++ gtk_widget_show (dialog); ++ return; ++ } ++ ++ dialogs = g_slist_prepend (dialogs, dialog); ++ ++ gdk_window_add_filter (NULL, message_filter, NULL); ++ ++ g_timeout_add (5000, delayed_show_timeout, NULL); ++} ++ ++static gboolean ++delayed_show_timeout (gpointer data) ++{ ++ GSList *l; ++ ++ for (l = dialogs; l; l = l->next) ++ gtk_widget_show (l->data); ++ g_slist_free (dialogs); ++ dialogs = NULL; ++ ++ /* FIXME: There's no gdk_display_remove_client_message_filter */ ++ ++ return FALSE; ++} ++ ++static GdkFilterReturn ++message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) ++{ ++ XClientMessageEvent *evt; ++ char *selection_name; ++ int screen; ++ GSList *l, *next; ++ ++ if (((XEvent *)xevent)->type != ClientMessage) ++ return GDK_FILTER_CONTINUE; ++ ++ evt = (XClientMessageEvent *)xevent; ++ ++ if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE)) ++ return GDK_FILTER_CONTINUE; ++ ++ selection_name = XGetAtomName (evt->display, evt->data.l[1]); ++ ++ if (strncmp (selection_name, "WM_S", 4) != 0) { ++ XFree (selection_name); ++ return GDK_FILTER_CONTINUE; ++ } ++ ++ screen = atoi (selection_name + 4); ++ ++ for (l = dialogs; l; l = next) { ++ GtkWidget *dialog = l->data; ++ next = l->next; ++ ++ if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) { ++ gtk_widget_show (dialog); ++ dialogs = g_slist_remove (dialogs, dialog); ++ } ++ } ++ ++ if (!dialogs) { ++ gdk_window_remove_filter (NULL, message_filter, NULL); ++ } ++ ++ XFree (selection_name); ++ ++ return GDK_FILTER_CONTINUE; ++} +diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.h b/plugins/keyboard/xxx/delayed-dialog.h +--- a/plugins/keyboard/xxx/delayed-dialog.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/delayed-dialog.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,32 @@ ++/* ++ * Copyright © 2006 Novell, Inc. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2, or (at ++ * your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++ ++#ifndef __DELAYED_DIALOG_H ++#define __DELAYED_DIALOG_H ++ ++#include ++ ++G_BEGIN_DECLS ++ ++void csd_delayed_show_dialog (GtkWidget *dialog); ++ ++G_END_DECLS ++ ++#endif +diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.c b/plugins/keyboard/xxx/gkbd-configuration.c +--- a/plugins/keyboard/xxx/gkbd-configuration.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/gkbd-configuration.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,350 @@ ++/* ++ * Copyright (C) 2010 Canonical Ltd. ++ * ++ * Authors: Jan Arne Petersen ++ * ++ * Based on gkbd-status.c by Sergey V. Udaltsov ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, ++ * Boston, MA 02110-1335, USA. ++ */ ++ ++#include ++ ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "gkbd-configuration.h" ++ ++struct _GkbdConfigurationPrivate { ++ XklEngine *engine; ++ XklConfigRegistry *registry; ++ ++ GkbdDesktopConfig cfg; ++ GkbdIndicatorConfig ind_cfg; ++ GkbdKeyboardConfig kbd_cfg; ++ ++ gchar **full_group_names; ++ gchar **short_group_names; ++ ++ gulong state_changed_handler; ++ gulong config_changed_handler; ++}; ++ ++enum { ++ SIGNAL_CHANGED, ++ SIGNAL_GROUP_CHANGED, ++ LAST_SIGNAL ++}; ++ ++static guint signals[LAST_SIGNAL] = { 0, }; ++ ++#define GKBD_CONFIGURATION_GET_PRIVATE(o) \ ++ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate)) ++ ++G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT) ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_cfg_changed (GSettings *settings, ++ const char *key, ++ GkbdConfiguration * configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ xkl_debug (100, ++ "General configuration changed in GSettings - reiniting...\n"); ++ gkbd_desktop_config_load (&priv->cfg); ++ gkbd_desktop_config_activate (&priv->cfg); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], 0); ++} ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_ind_cfg_changed (GSettings *settings, ++ const char *key, ++ GkbdConfiguration * configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ xkl_debug (100, ++ "Applet configuration changed in GSettings - reiniting...\n"); ++ gkbd_indicator_config_load (&priv->ind_cfg); ++ ++ gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ gkbd_indicator_config_activate (&priv->ind_cfg); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], 0); ++} ++ ++static void ++gkbd_configuration_load_group_names (GkbdConfiguration * configuration, ++ XklConfigRec * xklrec) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg, ++ priv->registry, ++ (const char **) xklrec->layouts, ++ (const char **) xklrec->variants, ++ &priv->short_group_names, ++ &priv->full_group_names)) { ++ /* We just populate no short names (remain NULL) - ++ * full names are going to be used anyway */ ++ gint i, total_groups = ++ xkl_engine_get_num_groups (priv->engine); ++ xkl_debug (150, "group descriptions loaded: %d!\n", ++ total_groups); ++ priv->full_group_names = ++ g_new0 (char *, total_groups + 1); ++ ++ if (xkl_engine_get_features (priv->engine) & ++ XKLF_MULTIPLE_LAYOUTS_SUPPORTED) { ++ for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) { ++ priv->full_group_names[i] = ++ g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]); ++ } ++ } else { ++ for (i = total_groups; --i >= 0;) { ++ priv->full_group_names[i] = ++ g_strdup_printf ("Group %d", i); ++ } ++ } ++ } ++} ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_kbd_cfg_callback (XklEngine *engine, ++ GkbdConfiguration *configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ XklConfigRec *xklrec = xkl_config_rec_new (); ++ xkl_debug (100, ++ "XKB configuration changed on X Server - reiniting...\n"); ++ ++ gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, ++ xklrec); ++ ++ gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ g_strfreev (priv->full_group_names); ++ priv->full_group_names = NULL; ++ ++ g_strfreev (priv->short_group_names); ++ priv->short_group_names = NULL; ++ ++ gkbd_configuration_load_group_names (configuration, ++ xklrec); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], ++ 0); ++ ++ g_object_unref (G_OBJECT (xklrec)); ++} ++ ++/* Should be called once for all applets */ ++static void ++gkbd_configuration_state_callback (XklEngine * engine, ++ XklEngineStateChange changeType, ++ gint group, gboolean restore, ++ GkbdConfiguration * configuration) ++{ ++ xkl_debug (150, "group is now %d, restore: %d\n", group, restore); ++ ++ if (changeType == GROUP_CHANGED) { ++ g_signal_emit (configuration, ++ signals[SIGNAL_GROUP_CHANGED], 0, ++ group); ++ } ++} ++ ++static void ++gkbd_configuration_init (GkbdConfiguration *configuration) ++{ ++ GkbdConfigurationPrivate *priv; ++ XklConfigRec *xklrec = xkl_config_rec_new (); ++ ++ priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration); ++ configuration->priv = priv; ++ ++ priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); ++ if (priv->engine == NULL) { ++ xkl_debug (0, "Libxklavier initialization error"); ++ return; ++ } ++ ++ priv->state_changed_handler = ++ g_signal_connect (priv->engine, "X-state-changed", ++ G_CALLBACK (gkbd_configuration_state_callback), ++ configuration); ++ priv->config_changed_handler = ++ g_signal_connect (priv->engine, "X-config-changed", ++ G_CALLBACK (gkbd_configuration_kbd_cfg_callback), ++ configuration); ++ ++ gkbd_desktop_config_init (&priv->cfg, priv->engine); ++ gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine); ++ gkbd_indicator_config_init (&priv->ind_cfg, priv->engine); ++ ++ gkbd_desktop_config_load (&priv->cfg); ++ gkbd_desktop_config_activate (&priv->cfg); ++ ++ priv->registry = xkl_config_registry_get_instance (priv->engine); ++ xkl_config_registry_load (priv->registry, ++ priv->cfg.load_extra_items); ++ ++ gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, ++ xklrec); ++ ++ gkbd_indicator_config_load (&priv->ind_cfg); ++ ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ gkbd_indicator_config_activate (&priv->ind_cfg); ++ ++ gkbd_configuration_load_group_names (configuration, ++ xklrec); ++ g_object_unref (G_OBJECT (xklrec)); ++ ++ gkbd_desktop_config_start_listen (&priv->cfg, ++ G_CALLBACK (gkbd_configuration_cfg_changed), ++ configuration); ++ gkbd_indicator_config_start_listen (&priv->ind_cfg, ++ G_CALLBACK (gkbd_configuration_ind_cfg_changed), ++ configuration); ++ xkl_engine_start_listen (priv->engine, ++ XKLL_TRACK_KEYBOARD_STATE); ++ ++ xkl_debug (100, "Initiating the widget startup process for %p\n", ++ configuration); ++} ++ ++static void ++gkbd_configuration_finalize (GObject * obj) ++{ ++ GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj); ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ xkl_debug (100, ++ "Starting the gnome-kbd-configuration widget shutdown process for %p\n", ++ configuration); ++ ++ xkl_engine_stop_listen (priv->engine, ++ XKLL_TRACK_KEYBOARD_STATE); ++ ++ gkbd_desktop_config_stop_listen (&priv->cfg); ++ gkbd_indicator_config_stop_listen (&priv->ind_cfg); ++ ++ gkbd_indicator_config_term (&priv->ind_cfg); ++ gkbd_keyboard_config_term (&priv->kbd_cfg); ++ gkbd_desktop_config_term (&priv->cfg); ++ ++ if (g_signal_handler_is_connected (priv->engine, ++ priv->state_changed_handler)) { ++ g_signal_handler_disconnect (priv->engine, ++ priv->state_changed_handler); ++ priv->state_changed_handler = 0; ++ } ++ if (g_signal_handler_is_connected (priv->engine, ++ priv->config_changed_handler)) { ++ g_signal_handler_disconnect (priv->engine, ++ priv->config_changed_handler); ++ priv->config_changed_handler = 0; ++ } ++ ++ g_object_unref (priv->registry); ++ priv->registry = NULL; ++ g_object_unref (priv->engine); ++ priv->engine = NULL; ++ ++ G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj); ++} ++ ++static void ++gkbd_configuration_class_init (GkbdConfigurationClass * klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ ++ /* Initing vtable */ ++ object_class->finalize = gkbd_configuration_finalize; ++ ++ /* Signals */ ++ signals[SIGNAL_CHANGED] = g_signal_new ("changed", ++ GKBD_TYPE_CONFIGURATION, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, ++ 0); ++ signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed", ++ GKBD_TYPE_CONFIGURATION, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__INT, ++ G_TYPE_NONE, ++ 1, ++ G_TYPE_INT); ++ ++ g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate)); ++} ++ ++GkbdConfiguration * ++gkbd_configuration_get (void) ++{ ++ static gpointer instance = NULL; ++ ++ if (!instance) { ++ instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL); ++ g_object_add_weak_pointer (instance, &instance); ++ } else { ++ g_object_ref (instance); ++ } ++ ++ return instance; ++} ++ ++XklEngine * ++gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->engine; ++} ++ ++const char * const * ++gkbd_configuration_get_group_names (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->full_group_names; ++} ++ ++const char * const * ++gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->short_group_names; ++} +diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.h b/plugins/keyboard/xxx/gkbd-configuration.h +--- a/plugins/keyboard/xxx/gkbd-configuration.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/gkbd-configuration.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,65 @@ ++/* ++ * Copyright (C) 2010 Canonical Ltd. ++ * ++ * Authors: Jan Arne Petersen ++ * ++ * Based on gkbd-status.h by Sergey V. Udaltsov ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, ++ * Boston, MA 02110-1335, USA. ++ */ ++ ++#ifndef __GKBD_CONFIGURATION_H__ ++#define __GKBD_CONFIGURATION_H__ ++ ++#include ++ ++#include ++ ++G_BEGIN_DECLS ++ ++typedef struct _GkbdConfiguration GkbdConfiguration; ++typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate; ++typedef struct _GkbdConfigurationClass GkbdConfigurationClass; ++ ++#define GKBD_TYPE_CONFIGURATION (gkbd_configuration_get_type ()) ++#define GKBD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration)) ++#define GKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) ++#define GKBD_IS_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) ++#define GKBD_IS_CONFIGURATION_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) ++#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) ++ ++struct _GkbdConfiguration { ++ GObject parent; ++ ++ GkbdConfigurationPrivate *priv; ++}; ++ ++struct _GkbdConfigurationClass { ++ GObjectClass parent_class; ++}; ++ ++extern GType gkbd_configuration_get_type (void); ++ ++extern GkbdConfiguration *gkbd_configuration_get (void); ++ ++extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration); ++ ++extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration); ++extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration); ++ ++G_END_DECLS ++ ++#endif +diff -uNrp a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c +--- a/plugins/media-keys/csd-media-keys-manager.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/media-keys/csd-media-keys-manager.c 2013-08-25 16:36:02.000000000 +0100 +@@ -120,6 +120,10 @@ static const gchar kb_introspection_xml[ + #define VOLUME_STEP 6 /* percents for one volume button press */ + #define MAX_VOLUME 65536.0 + ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++ + #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate)) + + typedef struct { +@@ -1750,6 +1754,40 @@ do_keyboard_brightness_action (CsdMediaK + manager); + } + ++static void ++do_switch_input_source_action (CsdMediaKeysManager *manager, ++ MediaKeyType type) ++{ ++ GSettings *settings; ++ GVariant *sources; ++ gint i, n; ++ ++ settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ ++ n = g_variant_n_children (sources); ++ if (n < 2) ++ goto out; ++ ++ i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE); ++ ++ if (type == SWITCH_INPUT_SOURCE_KEY) ++ i += 1; ++ else ++ i -= 1; ++ ++ if (i < 0) ++ i = n - 1; ++ else if (i >= n) ++ i = 0; ++ ++ g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i); ++ ++ out: ++ g_variant_unref (sources); ++ g_object_unref (settings); ++} ++ + static gboolean + do_action (CsdMediaKeysManager *manager, + guint deviceid, +@@ -1908,6 +1946,10 @@ do_action (CsdMediaKeysManager *manager, + case BATTERY_KEY: + do_execute_desktop (manager, "gnome-power-statistics.desktop", timestamp); + break; ++ case SWITCH_INPUT_SOURCE_KEY: ++ case SWITCH_INPUT_SOURCE_BACKWARD_KEY: ++ do_switch_input_source_action (manager, type); ++ break; + /* Note, no default so compiler catches missing keys */ + case CUSTOM_KEY: + g_assert_not_reached (); +diff -uNrp a/plugins/media-keys/shortcuts-list.h b/plugins/media-keys/shortcuts-list.h +--- a/plugins/media-keys/shortcuts-list.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/media-keys/shortcuts-list.h 2013-08-25 16:36:02.000000000 +0100 +@@ -81,6 +81,8 @@ typedef enum { + KEYBOARD_BRIGHTNESS_DOWN_KEY, + KEYBOARD_BRIGHTNESS_TOGGLE_KEY, + BATTERY_KEY, ++ SWITCH_INPUT_SOURCE_KEY, ++ SWITCH_INPUT_SOURCE_BACKWARD_KEY, + CUSTOM_KEY + } MediaKeyType; + +@@ -148,6 +150,9 @@ static struct { + { KEYBOARD_BRIGHTNESS_UP_KEY, NULL, "XF86KbdBrightnessUp" }, + { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, "XF86KbdBrightnessDown" }, + { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, "XF86KbdLightOnOff" }, ++ { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL }, ++ { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL }, ++ + { BATTERY_KEY, NULL, "XF86Battery" }, + }; + diff --git a/pkgs/desktops/cinnamon/muffin.nix b/pkgs/desktops/cinnamon/muffin.nix new file mode 100644 index 000000000000..97796f324763 --- /dev/null +++ b/pkgs/desktops/cinnamon/muffin.nix @@ -0,0 +1,46 @@ + +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, gtk3,intltool, +cinnamon-desktop, clutter, cogl, zenity, python, gnome_doc_utils, makeWrapper}: + +let + version = "2.0.5"; +in +stdenv.mkDerivation { + name = "muffin-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/muffin/archive/${version}.tar.gz"; + sha256 = "1vn7shxwyxsa6dd3zldrnc0095i1y0rq0944n8kak3m85r2pv9c1"; + }; + + + configureFlags = "--enable-compile-warnings=minium" ; + + patches = [./gtkdoc.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + gtk3 intltool cinnamon-desktop + clutter cogl zenity python + gnome_doc_utils makeWrapper]; + + preBuild = "patchShebangs ./scripts"; + + + postFixup = '' + + for f in "$out"/bin/*; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/region.patch b/pkgs/desktops/cinnamon/region.patch new file mode 100644 index 000000000000..7b8133e820ed --- /dev/null +++ b/pkgs/desktops/cinnamon/region.patch @@ -0,0 +1,5314 @@ + +diff -uNrp a/configure.ac b/configure.ac +--- a/configure.ac 2013-08-25 14:40:14.000000000 +0100 ++++ b/configure.ac 2013-08-25 16:50:30.000000000 +0100 +@@ -82,6 +82,22 @@ else + SYSTEMD= + fi + ++# IBus support ++IBUS_REQUIRED_VERSION=1.4.2 ++ ++#AC_ARG_ENABLE(ibus, ++# AS_HELP_STRING([--disable-ibus], ++# [Disable IBus support]), ++# enable_ibus=$enableval, ++# enable_ibus=yes) ++enable_ibus=yes ++#if test "x$enable_ibus" = "xyes" ; then ++IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION" ++AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled]) ++#else ++# IBUS_MODULE= ++#fi ++ + dnl ============================================== + dnl Check that we meet the dependencies + dnl ============================================== +@@ -119,9 +135,10 @@ PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON + PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1 + cinnamon-settings-daemon >= $CSD_REQUIRED_VERSION) + PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8) +-PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES libgnomekbd >= 2.91.91 ++PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION +- libxklavier >= 5.1 libgnomekbdui >= 2.91.91) ++ cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION ++ $IBUS_MODULE) + PKG_CHECK_MODULES(SCREEN_PANEL, $COMMON_MODULES) + PKG_CHECK_MODULES(SOUND_PANEL, $COMMON_MODULES libxml-2.0 + libcanberra-gtk3 >= $CANBERRA_REQUIRED_VERSION +diff -uNrp a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c +--- a/panels/region/cc-region-panel.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cc-region-panel.c 2013-09-21 13:24:15.329949897 +0100 +@@ -18,17 +18,18 @@ + * Author: Sergey Udaltsov + * + */ +-#include "config.h" ++ + #include "cc-region-panel.h" ++#include + #include + #include + +-#include "cinnamon-region-panel-xkb.h" ++#include "cinnamon-region-panel-input.h" + #include "cinnamon-region-panel-lang.h" + #include "cinnamon-region-panel-formats.h" + #include "cinnamon-region-panel-system.h" + +-G_DEFINE_DYNAMIC_TYPE (CcRegionPanel, cc_region_panel, CC_TYPE_PANEL) ++CC_PANEL_REGISTER (CcRegionPanel, cc_region_panel) + + #define REGION_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_REGION_PANEL, CcRegionPanelPrivate)) + +@@ -48,14 +49,6 @@ enum { + SYSTEM_PAGE + }; + +- +-static gboolean +-languages_link_cb (GtkButton *button, gpointer user_data) +-{ +- g_spawn_command_line_async ("gnome-language-selector", NULL); +- return TRUE; +-} +- + static void + cc_region_panel_set_page (CcRegionPanel *panel, + const char *page) +@@ -116,13 +109,22 @@ cc_region_panel_finalize (GObject * obje + G_OBJECT_CLASS (cc_region_panel_parent_class)->finalize (object); + } + ++static const char * ++cc_region_panel_get_help_uri (CcPanel *panel) ++{ ++ return "help:gnome-help/prefs-language"; ++} ++ + static void + cc_region_panel_class_init (CcRegionPanelClass * klass) + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ CcPanelClass * panel_class = CC_PANEL_CLASS (klass); + + g_type_class_add_private (klass, sizeof (CcRegionPanelPrivate)); + ++ panel_class->get_help_uri = cc_region_panel_get_help_uri; ++ + object_class->set_property = cc_region_panel_set_property; + object_class->finalize = cc_region_panel_finalize; + +@@ -130,22 +132,14 @@ cc_region_panel_class_init (CcRegionPane + } + + static void +-cc_region_panel_class_finalize (CcRegionPanelClass * klass) +-{ +-} +- +-static void + cc_region_panel_init (CcRegionPanel * self) + { + CcRegionPanelPrivate *priv; + GtkWidget *prefs_widget; +- const char *desktop; + GError *error = NULL; + + priv = self->priv = REGION_PANEL_PRIVATE (self); + +- desktop = g_getenv ("XDG_CURRENT_DESKTOP"); +- + priv->builder = gtk_builder_new (); + gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); + gtk_builder_add_from_file (priv->builder, +@@ -157,29 +151,16 @@ cc_region_panel_init (CcRegionPanel * se + return; + } + +- prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder, +- "region_notebook"); +- ++ prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder, ++ "region_notebook"); + gtk_widget_set_size_request (GTK_WIDGET (prefs_widget), -1, 400); + + gtk_widget_reparent (prefs_widget, GTK_WIDGET (self)); + +- setup_xkb_tabs (priv->builder); +- +- setup_language (priv->builder); +- setup_formats (priv->builder); +- setup_system (priv->builder); +- +- /* set screen link */ +- +- GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, +- "get_languages_button")); +- +- gtk_button_set_label (GTK_BUTTON (widget), _("Get more languages...")); +- +- g_signal_connect (widget, "clicked", +- G_CALLBACK (languages_link_cb), +- self); ++ setup_input_tabs (priv->builder, self); ++ setup_language (priv->builder); ++ setup_formats (priv->builder); ++ setup_system (priv->builder); + } + + void +@@ -187,6 +168,7 @@ cc_region_panel_register (GIOModule * mo + { + bindtextdomain (GETTEXT_PACKAGE, "/usr/share/cinnamon/locale"); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); ++ + cc_region_panel_register_type (G_TYPE_MODULE (module)); + g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT, + CC_TYPE_REGION_PANEL, +diff -uNrp a/panels/region/cinnamon-region-panel-formats.h b/panels/region/cinnamon-region-panel-formats.h +--- a/panels/region/cinnamon-region-panel-formats.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-formats.h 2013-09-21 13:24:15.332949789 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_REGION_PANEL_FORMATS_H +-#define __GNOME_REGION_PANEL_FORMATS_H ++#ifndef __CINNAMON_REGION_PANEL_FORMATS_H ++#define __CINNAMON_REGION_PANEL_FORMATS_H + + #include + +diff -uNrp a/panels/region/cinnamon-region-panel-input.c b/panels/region/cinnamon-region-panel-input.c +--- a/panels/region/cinnamon-region-panel-input.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input.c 2013-09-21 13:24:15.338949572 +0100 +@@ -0,0 +1,1563 @@ ++/* ++ * Copyright (C) 2011 Red Hat, Inc. ++ * ++ * Written by: Matthias Clasen ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include ++ ++#include ++ ++#include ++#include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include ++ ++#ifdef HAVE_IBUS ++#include ++#endif ++ ++#include "gdm-languages.h" ++#include "cinnamon-region-panel-input.h" ++ ++#define WID(s) GTK_WIDGET(gtk_builder_get_object (builder, s)) ++ ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++ ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++ ++#define INPUT_SOURCE_TYPE_XKB "xkb" ++#define INPUT_SOURCE_TYPE_IBUS "ibus" ++ ++enum { ++ NAME_COLUMN, ++ TYPE_COLUMN, ++ ID_COLUMN, ++ SETUP_COLUMN, ++ N_COLUMNS ++}; ++ ++static GSettings *input_sources_settings = NULL; ++static GnomeXkbInfo *xkb_info = NULL; ++static GtkWidget *input_chooser = NULL; /* weak pointer */ ++ ++#ifdef HAVE_IBUS ++static IBusBus *ibus = NULL; ++static GHashTable *ibus_engines = NULL; ++static GCancellable *ibus_cancellable = NULL; ++static guint shell_name_watch_id = 0; ++ ++static const gchar *supported_ibus_engines[] = { ++ /* Simplified Chinese */ ++ "pinyin", ++ "bopomofo", ++ "wubi", ++ "erbi", ++ /* Default in Fedora, where ibus-libpinyin replaces ibus-pinyin */ ++ "libpinyin", ++ "libbopomofo", ++ ++ /* Traditional Chinese */ ++ /* https://bugzilla.gnome.org/show_bug.cgi?id=680840 */ ++ "chewing", ++ "cangjie5", ++ "cangjie3", ++ "quick5", ++ "quick3", ++ "stroke5", ++ ++ /* Japanese */ ++ "anthy", ++ "mozc-jp", ++ "skk", ++ ++ /* Korean */ ++ "hangul", ++ ++ /* Thai */ ++ "m17n:th:kesmanee", ++ "m17n:th:pattachote", ++ "m17n:th:tis820", ++ ++ /* Vietnamese */ ++ "m17n:vi:tcvn", ++ "m17n:vi:telex", ++ "m17n:vi:viqr", ++ "m17n:vi:vni", ++ "Unikey", ++ ++ /* Sinhala */ ++ "m17n:si:wijesekera", ++ "m17n:si:phonetic-dynamic", ++ "m17n:si:trans", ++ "sayura", ++ ++ /* Indic */ ++ /* https://fedoraproject.org/wiki/I18N/Indic#Keyboard_Layouts */ ++ ++ /* Assamese */ ++ "m17n:as:phonetic", ++ "m17n:as:inscript", ++ "m17n:as:itrans", ++ ++ /* Bengali */ ++ "m17n:bn:inscript", ++ "m17n:bn:itrans", ++ "m17n:bn:probhat", ++ ++ /* Gujarati */ ++ "m17n:gu:inscript", ++ "m17n:gu:itrans", ++ "m17n:gu:phonetic", ++ ++ /* Hindi */ ++ "m17n:hi:inscript", ++ "m17n:hi:itrans", ++ "m17n:hi:phonetic", ++ "m17n:hi:remington", ++ "m17n:hi:typewriter", ++ "m17n:hi:vedmata", ++ ++ /* Kannada */ ++ "m17n:kn:kgp", ++ "m17n:kn:inscript", ++ "m17n:kn:itrans", ++ ++ /* Kashmiri */ ++ "m17n:ks:inscript", ++ ++ /* Maithili */ ++ "m17n:mai:inscript", ++ ++ /* Malayalam */ ++ "m17n:ml:inscript", ++ "m17n:ml:itrans", ++ "m17n:ml:mozhi", ++ "m17n:ml:swanalekha", ++ ++ /* Marathi */ ++ "m17n:mr:inscript", ++ "m17n:mr:itrans", ++ "m17n:mr:phonetic", ++ ++ /* Nepali */ ++ "m17n:ne:rom", ++ "m17n:ne:trad", ++ ++ /* Oriya */ ++ "m17n:or:inscript", ++ "m17n:or:itrans", ++ "m17n:or:phonetic", ++ ++ /* Punjabi */ ++ "m17n:pa:inscript", ++ "m17n:pa:itrans", ++ "m17n:pa:phonetic", ++ "m17n:pa:jhelum", ++ ++ /* Sanskrit */ ++ "m17n:sa:harvard-kyoto", ++ ++ /* Sindhi */ ++ "m17n:sd:inscript", ++ ++ /* Tamil */ ++ "m17n:ta:tamil99", ++ "m17n:ta:inscript", ++ "m17n:ta:itrans", ++ "m17n:ta:phonetic", ++ "m17n:ta:lk-renganathan", ++ "m17n:ta:vutam", ++ "m17n:ta:typewriter", ++ ++ /* Telugu */ ++ "m17n:te:inscript", ++ "m17n:te:apple", ++ "m17n:te:pothana", ++ "m17n:te:rts", ++ ++ /* Urdu */ ++ "m17n:ur:phonetic", ++ ++ /* Inscript2 - https://bugzilla.gnome.org/show_bug.cgi?id=684854 */ ++ "m17n:as:inscript2", ++ "m17n:bn:inscript2", ++ "m17n:brx:inscript2-deva", ++ "m17n:doi:inscript2-deva", ++ "m17n:gu:inscript2", ++ "m17n:hi:inscript2", ++ "m17n:kn:inscript2", ++ "m17n:kok:inscript2-deva", ++ "m17n:mai:inscript2", ++ "m17n:ml:inscript2", ++ "m17n:mni:inscript2-beng", ++ "m17n:mni:inscript2-mtei", ++ "m17n:mr:inscript2", ++ "m17n:ne:inscript2-deva", ++ "m17n:or:inscript2", ++ "m17n:pa:inscript2-guru", ++ "m17n:sa:inscript2", ++ "m17n:sat:inscript2-deva", ++ "m17n:sat:inscript2-olck", ++ "m17n:sd:inscript2-deva", ++ "m17n:ta:inscript2", ++ "m17n:te:inscript2", ++ ++ /* No corresponding XKB map available for the languages */ ++ ++ /* Chinese Yi */ ++ "m17n:ii:phonetic", ++ ++ /* Tai-Viet */ ++ "m17n:tai:sonla", ++ ++ /* Kazakh in Arabic script */ ++ "m17n:kk:arabic", ++ ++ /* Yiddish */ ++ "m17n:yi:yivo", ++ ++ /* Canadian Aboriginal languages */ ++ "m17n:ath:phonetic", ++ "m17n:bla:phonetic", ++ "m17n:cr:western", ++ "m17n:iu:phonetic", ++ "m17n:nsk:phonetic", ++ "m17n:oj:phonetic", ++ ++ /* Non-trivial engines, like transliteration-based instead of ++ keymap-based. Confirmation needed that the engines below are ++ actually used by local language users. */ ++ ++ /* Tibetan */ ++ "m17n:bo:ewts", ++ "m17n:bo:tcrc", ++ "m17n:bo:wylie", ++ ++ /* Esperanto */ ++ "m17n:eo:h-f", ++ "m17n:eo:h", ++ "m17n:eo:plena", ++ "m17n:eo:q", ++ "m17n:eo:vi", ++ "m17n:eo:x", ++ ++ /* Amharic */ ++ "m17n:am:sera", ++ ++ /* Russian */ ++ "m17n:ru:translit", ++ ++ /* Classical Greek */ ++ "m17n:grc:mizuochi", ++ ++ /* Lao */ ++ "m17n:lo:lrt", ++ ++ /* Postfix modifier input methods */ ++ "m17n:da:post", ++ "m17n:sv:post", ++ NULL ++}; ++#endif /* HAVE_IBUS */ ++ ++static void populate_model (GtkListStore *store, ++ GtkListStore *active_sources_store); ++static GtkWidget *input_chooser_new (GtkWindow *main_window, ++ GtkListStore *active_sources); ++static gboolean input_chooser_get_selected (GtkWidget *chooser, ++ GtkTreeModel **model, ++ GtkTreeIter *iter); ++static GtkTreeModel *tree_view_get_actual_model (GtkTreeView *tv); ++ ++static gboolean ++strv_contains (const gchar * const *strv, ++ const gchar *str) ++{ ++ const gchar * const *p = strv; ++ for (p = strv; *p; p++) ++ if (g_strcmp0 (*p, str) == 0) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++#ifdef HAVE_IBUS ++static void ++clear_ibus (void) ++{ ++ if (shell_name_watch_id > 0) ++ { ++ g_bus_unwatch_name (shell_name_watch_id); ++ shell_name_watch_id = 0; ++ } ++ g_cancellable_cancel (ibus_cancellable); ++ g_clear_object (&ibus_cancellable); ++ g_clear_pointer (&ibus_engines, g_hash_table_destroy); ++ g_clear_object (&ibus); ++} ++ ++static gchar * ++engine_get_display_name (IBusEngineDesc *engine_desc) ++{ ++ const gchar *name; ++ const gchar *language_code; ++ const gchar *language; ++ gchar *display_name; ++ ++ name = ibus_engine_desc_get_longname (engine_desc); ++ language_code = ibus_engine_desc_get_language (engine_desc); ++ language = ibus_get_language_name (language_code); ++ ++ display_name = g_strdup_printf ("%s (%s)", language, name); ++ ++ return display_name; ++} ++ ++static GDesktopAppInfo * ++setup_app_info_for_id (const gchar *id) ++{ ++ GDesktopAppInfo *app_info; ++ gchar *desktop_file_name; ++ gchar **strv; ++ ++ strv = g_strsplit (id, ":", 2); ++ desktop_file_name = g_strdup_printf ("ibus-setup-%s.desktop", strv[0]); ++ g_strfreev (strv); ++ ++ app_info = g_desktop_app_info_new (desktop_file_name); ++ g_free (desktop_file_name); ++ ++ return app_info; ++} ++ ++static void ++input_chooser_repopulate (GtkListStore *active_sources_store) ++{ ++ GtkBuilder *builder; ++ GtkListStore *model; ++ ++ if (!input_chooser) ++ return; ++ ++ builder = g_object_get_data (G_OBJECT (input_chooser), "builder"); ++ model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model")); ++ ++ gtk_list_store_clear (model); ++ populate_model (model, active_sources_store); ++} ++ ++static void ++update_ibus_active_sources (GtkBuilder *builder) ++{ ++ GtkTreeView *tv; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gchar *type, *id; ++ gboolean ret; ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ model = tree_view_get_actual_model (tv); ++ ++ ret = gtk_tree_model_get_iter_first (model, &iter); ++ while (ret) ++ { ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++ IBusEngineDesc *engine_desc = NULL; ++ GDesktopAppInfo *app_info = NULL; ++ gchar *display_name = NULL; ++ ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ if (engine_desc) ++ { ++ display_name = engine_get_display_name (engine_desc); ++ app_info = setup_app_info_for_id (id); ++ ++ gtk_list_store_set (GTK_LIST_STORE (model), &iter, ++ NAME_COLUMN, display_name, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (display_name); ++ if (app_info) ++ g_object_unref (app_info); ++ } ++ } ++ ++ g_free (type); ++ g_free (id); ++ ++ ret = gtk_tree_model_iter_next (model, &iter); ++ } ++ ++ input_chooser_repopulate (GTK_LIST_STORE (model)); ++} ++ ++static void ++fetch_ibus_engines_result (GObject *object, ++ GAsyncResult *result, ++ GtkBuilder *builder) ++{ ++ gboolean show_all_sources; ++ GList *list, *l; ++ GError *error; ++ ++ error = NULL; ++ list = ibus_bus_list_engines_async_finish (ibus, result, &error); ++ ++ g_clear_object (&ibus_cancellable); ++ ++ if (!list && error) ++ { ++ g_warning ("Couldn't finish IBus request: %s", error->message); ++ g_error_free (error); ++ return; ++ } ++ ++ show_all_sources = g_settings_get_boolean (input_sources_settings, "show-all-sources"); ++ ++ /* Maps engine ids to engine description objects */ ++ ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); ++ ++ for (l = list; l; l = l->next) ++ { ++ IBusEngineDesc *engine = l->data; ++ const gchar *engine_id = ibus_engine_desc_get_name (engine); ++ ++ if (show_all_sources || strv_contains (supported_ibus_engines, engine_id)) ++ g_hash_table_replace (ibus_engines, (gpointer)engine_id, engine); ++ else ++ g_object_unref (engine); ++ } ++ g_list_free (list); ++ ++ update_ibus_active_sources (builder); ++} ++ ++static void ++fetch_ibus_engines (GtkBuilder *builder) ++{ ++ ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_list_engines_async (ibus, ++ -1, ++ ibus_cancellable, ++ (GAsyncReadyCallback)fetch_ibus_engines_result, ++ builder); ++ ++ /* We've got everything we needed, don't want to be called again. */ ++ g_signal_handlers_disconnect_by_func (ibus, fetch_ibus_engines, builder); ++} ++ ++static void ++maybe_start_ibus (void) ++{ ++ /* IBus doesn't export API in the session bus. The only thing ++ * we have there is a well known name which we can use as a ++ * sure-fire way to activate it. */ ++ g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION, ++ IBUS_SERVICE_IBUS, ++ G_BUS_NAME_WATCHER_FLAGS_AUTO_START, ++ NULL, ++ NULL, ++ NULL, ++ NULL)); ++} ++ ++static void ++on_shell_appeared (GDBusConnection *connection, ++ const gchar *name, ++ const gchar *name_owner, ++ gpointer data) ++{ ++ GtkBuilder *builder = data; ++ ++ if (!ibus) ++ { ++ ibus = ibus_bus_new (); ++ if (ibus_bus_is_connected (ibus)) ++ fetch_ibus_engines (builder); ++ else ++ g_signal_connect_swapped (ibus, "connected", ++ G_CALLBACK (fetch_ibus_engines), builder); ++ } ++ maybe_start_ibus (); ++} ++#endif /* HAVE_IBUS */ ++ ++static gboolean ++add_source_to_table (GtkTreeModel *model, ++ GtkTreePath *path, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ GHashTable *hash = data; ++ gchar *type; ++ gchar *id; ++ ++ gtk_tree_model_get (model, iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ g_hash_table_add (hash, g_strconcat (type, id, NULL)); ++ ++ g_free (type); ++ g_free (id); ++ ++ return FALSE; ++} ++ ++static void ++populate_model (GtkListStore *store, ++ GtkListStore *active_sources_store) ++{ ++ GHashTable *active_sources_table; ++ GtkTreeIter iter; ++ const gchar *name; ++ GList *sources, *tmp; ++ gchar *source_id = NULL; ++ ++ active_sources_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ ++ gtk_tree_model_foreach (GTK_TREE_MODEL (active_sources_store), ++ add_source_to_table, ++ active_sources_table); ++ ++ sources = gnome_xkb_info_get_all_layouts (xkb_info); ++ ++ for (tmp = sources; tmp; tmp = tmp->next) ++ { ++ g_free (source_id); ++ source_id = g_strconcat (INPUT_SOURCE_TYPE_XKB, tmp->data, NULL); ++ ++ if (g_hash_table_contains (active_sources_table, source_id)) ++ continue; ++ ++ gnome_xkb_info_get_layout_info (xkb_info, (const gchar *)tmp->data, ++ &name, NULL, NULL, NULL); ++ ++ gtk_list_store_append (store, &iter); ++ gtk_list_store_set (store, &iter, ++ NAME_COLUMN, name, ++ TYPE_COLUMN, INPUT_SOURCE_TYPE_XKB, ++ ID_COLUMN, tmp->data, ++ -1); ++ } ++ g_free (source_id); ++ ++ g_list_free (sources); ++ ++#ifdef HAVE_IBUS ++ if (ibus_engines) ++ { ++ gchar *display_name; ++ ++ sources = g_hash_table_get_keys (ibus_engines); ++ ++ source_id = NULL; ++ for (tmp = sources; tmp; tmp = tmp->next) ++ { ++ g_free (source_id); ++ source_id = g_strconcat (INPUT_SOURCE_TYPE_IBUS, tmp->data, NULL); ++ ++ if (g_hash_table_contains (active_sources_table, source_id)) ++ continue; ++ ++ display_name = engine_get_display_name (g_hash_table_lookup (ibus_engines, tmp->data)); ++ ++ gtk_list_store_append (store, &iter); ++ gtk_list_store_set (store, &iter, ++ NAME_COLUMN, display_name, ++ TYPE_COLUMN, INPUT_SOURCE_TYPE_IBUS, ++ ID_COLUMN, tmp->data, ++ -1); ++ g_free (display_name); ++ } ++ g_free (source_id); ++ ++ g_list_free (sources); ++ } ++#endif ++ ++ g_hash_table_destroy (active_sources_table); ++} ++ ++static void ++populate_with_active_sources (GtkListStore *store) ++{ ++ GVariant *sources; ++ GVariantIter iter; ++ const gchar *name; ++ const gchar *type; ++ const gchar *id; ++ gchar *display_name; ++ GDesktopAppInfo *app_info; ++ GtkTreeIter tree_iter; ++ ++ sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) ++ { ++ display_name = NULL; ++ app_info = NULL; ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) ++ { ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (!name) ++ { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ continue; ++ } ++ display_name = g_strdup (name); ++ } ++ else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (ibus_engines) ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ ++ if (engine_desc) ++ { ++ display_name = engine_get_display_name (engine_desc); ++ app_info = setup_app_info_for_id (id); ++ } ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++ continue; ++#endif ++ } ++ else ++ { ++ g_warning ("Unknown input source type '%s'", type); ++ continue; ++ } ++ ++ gtk_list_store_append (store, &tree_iter); ++ gtk_list_store_set (store, &tree_iter, ++ NAME_COLUMN, display_name, ++ TYPE_COLUMN, type, ++ ID_COLUMN, id, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (display_name); ++ if (app_info) ++ g_object_unref (app_info); ++ } ++ ++ g_variant_unref (sources); ++} ++ ++static void ++update_configuration (GtkTreeModel *model) ++{ ++ GtkTreeIter iter; ++ gchar *type; ++ gchar *id; ++ GVariantBuilder builder; ++ GVariant *old_sources; ++ const gchar *old_current_type; ++ const gchar *old_current_id; ++ guint old_current_index; ++ guint old_n_sources; ++ guint index; ++ ++ old_sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES); ++ old_current_index = g_settings_get_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE); ++ old_n_sources = g_variant_n_children (old_sources); ++ ++ if (old_n_sources > 0 && old_current_index < old_n_sources) ++ { ++ g_variant_get_child (old_sources, ++ old_current_index, ++ "(&s&s)", ++ &old_current_type, ++ &old_current_id); ++ } ++ else ++ { ++ old_current_type = ""; ++ old_current_id = ""; ++ } ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); ++ index = 0; ++ gtk_tree_model_get_iter_first (model, &iter); ++ do ++ { ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ if (index != old_current_index && ++ g_str_equal (type, old_current_type) && ++ g_str_equal (id, old_current_id)) ++ { ++ g_settings_set_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE, index); ++ } ++ g_variant_builder_add (&builder, "(ss)", type, id); ++ g_free (type); ++ g_free (id); ++ index += 1; ++ } ++ while (gtk_tree_model_iter_next (model, &iter)); ++ ++ g_settings_set_value (input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ g_settings_apply (input_sources_settings); ++ ++ g_variant_unref (old_sources); ++} ++ ++static gboolean ++get_selected_iter (GtkBuilder *builder, ++ GtkTreeModel **model, ++ GtkTreeIter *iter) ++{ ++ GtkTreeSelection *selection; ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources"))); ++ ++ return gtk_tree_selection_get_selected (selection, model, iter); ++} ++ ++static gint ++idx_from_model_iter (GtkTreeModel *model, ++ GtkTreeIter *iter) ++{ ++ GtkTreePath *path; ++ gint idx; ++ ++ path = gtk_tree_model_get_path (model, iter); ++ if (path == NULL) ++ return -1; ++ ++ idx = gtk_tree_path_get_indices (path)[0]; ++ gtk_tree_path_free (path); ++ ++ return idx; ++} ++ ++static void ++update_button_sensitivity (GtkBuilder *builder) ++{ ++ GtkWidget *remove_button; ++ GtkWidget *up_button; ++ GtkWidget *down_button; ++ GtkWidget *show_button; ++ GtkWidget *settings_button; ++ GtkTreeView *tv; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gint n_active; ++ gint index; ++ gboolean settings_sensitive; ++ GDesktopAppInfo *app_info; ++ ++ remove_button = WID("input_source_remove"); ++ show_button = WID("input_source_show"); ++ up_button = WID("input_source_move_up"); ++ down_button = WID("input_source_move_down"); ++ settings_button = WID("input_source_settings"); ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ n_active = gtk_tree_model_iter_n_children (gtk_tree_view_get_model (tv), NULL); ++ ++ if (get_selected_iter (builder, &model, &iter)) ++ { ++ index = idx_from_model_iter (model, &iter); ++ gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1); ++ } ++ else ++ { ++ index = -1; ++ app_info = NULL; ++ } ++ ++ settings_sensitive = (index >= 0 && app_info != NULL); ++ ++ if (app_info) ++ g_object_unref (app_info); ++ ++ gtk_widget_set_sensitive (remove_button, index >= 0 && n_active > 1); ++ gtk_widget_set_sensitive (show_button, index >= 0); ++ gtk_widget_set_sensitive (up_button, index > 0); ++ gtk_widget_set_sensitive (down_button, index >= 0 && index < n_active - 1); ++ gtk_widget_set_sensitive (settings_button, settings_sensitive); ++} ++ ++static void ++set_selected_path (GtkBuilder *builder, ++ GtkTreePath *path) ++{ ++ GtkTreeSelection *selection; ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources"))); ++ ++ gtk_tree_selection_select_path (selection, path); ++} ++ ++static GtkTreeModel * ++tree_view_get_actual_model (GtkTreeView *tv) ++{ ++ GtkTreeModel *filtered_store; ++ ++ filtered_store = gtk_tree_view_get_model (tv); ++ ++ return gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filtered_store)); ++} ++ ++static void ++chooser_response (GtkWidget *chooser, gint response_id, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ ++ if (response_id == GTK_RESPONSE_OK) ++ { ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ ++ if (input_chooser_get_selected (chooser, &model, &iter)) ++ { ++ GtkTreeView *tv; ++ GtkListStore *child_model; ++ GtkTreeIter child_iter, filter_iter; ++ gchar *name; ++ gchar *type; ++ gchar *id; ++ GDesktopAppInfo *app_info = NULL; ++ ++ gtk_tree_model_get (model, &iter, ++ NAME_COLUMN, &name, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++#ifdef HAVE_IBUS ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ app_info = setup_app_info_for_id (id); ++#endif ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ child_model = GTK_LIST_STORE (tree_view_get_actual_model (tv)); ++ ++ gtk_list_store_append (child_model, &child_iter); ++ ++ gtk_list_store_set (child_model, &child_iter, ++ NAME_COLUMN, name, ++ TYPE_COLUMN, type, ++ ID_COLUMN, id, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (name); ++ g_free (type); ++ g_free (id); ++ if (app_info) ++ g_object_unref (app_info); ++ ++ gtk_tree_model_filter_convert_child_iter_to_iter (GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (tv)), ++ &filter_iter, ++ &child_iter); ++ gtk_tree_selection_select_iter (gtk_tree_view_get_selection (tv), &filter_iter); ++ ++ update_button_sensitivity (builder); ++ update_configuration (GTK_TREE_MODEL (child_model)); ++ } ++ else ++ { ++ g_debug ("nothing selected, nothing added"); ++ } ++ } ++ ++ gtk_widget_destroy (GTK_WIDGET (chooser)); ++} ++ ++static void ++add_input (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkWidget *chooser; ++ GtkWidget *toplevel; ++ GtkWidget *treeview; ++ GtkListStore *active_sources; ++ ++ g_debug ("add an input source"); ++ ++ toplevel = gtk_widget_get_toplevel (WID ("region_notebook")); ++ treeview = WID ("active_input_sources"); ++ active_sources = GTK_LIST_STORE (tree_view_get_actual_model (GTK_TREE_VIEW (treeview))); ++ ++ chooser = input_chooser_new (GTK_WINDOW (toplevel), active_sources); ++ g_signal_connect (chooser, "response", ++ G_CALLBACK (chooser_response), builder); ++} ++ ++static void ++remove_selected_input (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter; ++ GtkTreeIter child_iter; ++ GtkTreePath *path; ++ ++ g_debug ("remove selected input source"); ++ ++ if (get_selected_iter (builder, &model, &iter) == FALSE) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &iter); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_list_store_remove (GTK_LIST_STORE (child_model), &child_iter); ++ ++ if (!gtk_tree_model_get_iter (model, &iter, path)) ++ gtk_tree_path_prev (path); ++ ++ set_selected_path (builder, path); ++ ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++move_selected_input_up (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter, prev; ++ GtkTreeIter child_iter, child_prev; ++ GtkTreePath *path; ++ ++ g_debug ("move selected input source up"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ prev = iter; ++ if (!gtk_tree_model_iter_previous (model, &prev)) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &prev); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_prev, ++ &prev); ++ gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_prev); ++ ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++move_selected_input_down (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter, next; ++ GtkTreeIter child_iter, child_next; ++ GtkTreePath *path; ++ ++ g_debug ("move selected input source down"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ next = iter; ++ if (!gtk_tree_model_iter_next (model, &next)) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &next); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_next, ++ &next); ++ gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_next); ++ ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++show_selected_layout (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gchar *type; ++ gchar *id; ++ gchar *kbd_viewer_args; ++ const gchar *xkb_layout; ++ const gchar *xkb_variant; ++ ++ g_debug ("show selected layout"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) ++ { ++ gnome_xkb_info_get_layout_info (xkb_info, id, NULL, NULL, &xkb_layout, &xkb_variant); ++ ++ if (!xkb_layout || !xkb_layout[0]) ++ { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ goto exit; ++ } ++ } ++ else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (ibus_engines) ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ ++ if (engine_desc) ++ { ++ xkb_layout = ibus_engine_desc_get_layout (engine_desc); ++ xkb_variant = ""; ++ } ++ else ++ { ++ g_warning ("Couldn't find IBus input source '%s'", id); ++ goto exit; ++ } ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++ goto exit; ++#endif ++ } ++ else ++ { ++ g_warning ("Unknown input source type '%s'", type); ++ goto exit; ++ } ++ ++ if (xkb_variant[0]) ++ kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", ++ xkb_layout, xkb_variant); ++ else ++ kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l %s", ++ xkb_layout); ++ ++ g_spawn_command_line_async (kbd_viewer_args, NULL); ++ ++ g_free (kbd_viewer_args); ++ exit: ++ g_free (type); ++ g_free (id); ++} ++ ++static void ++show_selected_settings (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ GdkAppLaunchContext *ctx; ++ GDesktopAppInfo *app_info; ++ gchar *id; ++ GError *error = NULL; ++ ++ g_debug ("show selected layout"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1); ++ ++ if (!app_info) ++ return; ++ ++ ctx = gdk_display_get_app_launch_context (gdk_display_get_default ()); ++ gdk_app_launch_context_set_timestamp (ctx, gtk_get_current_event_time ()); ++ ++ gtk_tree_model_get (model, &iter, ID_COLUMN, &id, -1); ++ g_app_launch_context_setenv (G_APP_LAUNCH_CONTEXT (ctx), ++ "IBUS_ENGINE_NAME", ++ id); ++ g_free (id); ++ ++ if (!g_app_info_launch (G_APP_INFO (app_info), NULL, G_APP_LAUNCH_CONTEXT (ctx), &error)) ++ { ++ g_warning ("Failed to launch input source setup: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (ctx); ++ g_object_unref (app_info); ++} ++ ++static gboolean ++go_to_shortcuts (GtkLinkButton *button, ++ CcRegionPanel *panel) ++{ ++ gchar *argv[3]; ++ argv[0] = "cinnamon-settings"; ++ argv[1] = "keyboard"; ++ argv[3] = NULL; ++ g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); ++ return TRUE; ++} ++ ++static void ++input_sources_changed (GSettings *settings, ++ gchar *key, ++ GtkBuilder *builder) ++{ ++ GtkWidget *treeview; ++ GtkTreeModel *store; ++ GtkTreePath *path; ++ GtkTreeIter iter; ++ GtkTreeModel *model; ++ ++ treeview = WID("active_input_sources"); ++ store = tree_view_get_actual_model (GTK_TREE_VIEW (treeview)); ++ ++ if (get_selected_iter (builder, &model, &iter)) ++ path = gtk_tree_model_get_path (model, &iter); ++ else ++ path = NULL; ++ ++ gtk_list_store_clear (GTK_LIST_STORE (store)); ++ populate_with_active_sources (GTK_LIST_STORE (store)); ++ ++ if (path) ++ { ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ } ++} ++ ++static void ++update_shortcut_label (GtkWidget *widget, ++ const char *value) ++{ ++ char *text; ++ guint accel_key, *keycode; ++ GdkModifierType mods; ++ ++ if (value == NULL || *value == '\0') ++ { ++ gtk_label_set_text (GTK_LABEL (widget), "\342\200\224"); ++ return; ++ } ++ gtk_accelerator_parse_with_keycode (value, &accel_key, &keycode, &mods); ++ if (accel_key == 0 && keycode == NULL && mods == 0) ++ { ++ gtk_label_set_text (GTK_LABEL (widget), "\342\200\224"); ++ g_warning ("Failed to parse keyboard shortcut: '%s'", value); ++ return; ++ } ++ ++ text = gtk_accelerator_get_label_with_keycode (gtk_widget_get_display (widget), accel_key, *keycode, mods); ++ g_free (keycode); ++ gtk_label_set_text (GTK_LABEL (widget), text); ++ g_free (text); ++} ++ ++static void ++update_shortcuts (GtkBuilder *builder) ++{ ++ char *previous, *next; ++ GSettings *settings; ++ ++ settings = g_settings_new ("org.cinnamon.settings-daemon.plugins.media-keys"); ++ ++ previous = g_settings_get_string (settings, "switch-input-source-backward"); ++ next = g_settings_get_string (settings, "switch-input-source"); ++ ++ update_shortcut_label (WID ("prev-source-shortcut-label"), previous); ++ update_shortcut_label (WID ("next-source-shortcut-label"), next); ++ ++ g_free (previous); ++ g_free (next); ++} ++ ++static gboolean ++active_sources_visible_func (GtkTreeModel *model, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ gchar *display_name; ++ ++ gtk_tree_model_get (model, iter, NAME_COLUMN, &display_name, -1); ++ ++ if (!display_name) ++ return FALSE; ++ ++ g_free (display_name); ++ ++ return TRUE; ++} ++ ++void ++setup_input_tabs (GtkBuilder *builder, ++ CcRegionPanel *panel) ++{ ++ GtkWidget *treeview; ++ GtkTreeViewColumn *column; ++ GtkCellRenderer *cell; ++ GtkListStore *store; ++ GtkTreeModel *filtered_store; ++ GtkTreeSelection *selection; ++ ++ /* set up the list of active inputs */ ++ treeview = WID("active_input_sources"); ++ column = gtk_tree_view_column_new (); ++ cell = gtk_cell_renderer_text_new (); ++ gtk_tree_view_column_pack_start (column, cell, TRUE); ++ gtk_tree_view_column_add_attribute (column, cell, "text", NAME_COLUMN); ++ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); ++ ++ store = gtk_list_store_new (N_COLUMNS, ++ G_TYPE_STRING, ++ G_TYPE_STRING, ++ G_TYPE_STRING, ++ G_TYPE_DESKTOP_APP_INFO); ++ ++ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); ++ ++ input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ g_settings_delay (input_sources_settings); ++ g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) g_object_unref, input_sources_settings); ++ ++ if (!xkb_info) ++ xkb_info = gnome_xkb_info_new (); ++ ++#ifdef HAVE_IBUS ++ ibus_init (); ++ shell_name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION, ++ "org.Cinnamon", ++ G_BUS_NAME_WATCHER_FLAGS_NONE, ++ on_shell_appeared, ++ NULL, ++ builder, ++ NULL); ++ g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) clear_ibus, NULL); ++#endif ++ ++ populate_with_active_sources (store); ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); ++ g_signal_connect_swapped (selection, "changed", ++ G_CALLBACK (update_button_sensitivity), builder); ++ ++ /* Some input source types might have their info loaded ++ * asynchronously. In that case we don't want to show them ++ * immediately so we use a filter model on top of the real model ++ * which mirrors the GSettings key. */ ++ filtered_store = gtk_tree_model_filter_new (GTK_TREE_MODEL (store), NULL); ++ gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filtered_store), ++ active_sources_visible_func, ++ NULL, ++ NULL); ++ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), filtered_store); ++ ++ /* set up the buttons */ ++ g_signal_connect (WID("input_source_add"), "clicked", ++ G_CALLBACK (add_input), builder); ++ g_signal_connect (WID("input_source_remove"), "clicked", ++ G_CALLBACK (remove_selected_input), builder); ++ g_signal_connect (WID("input_source_move_up"), "clicked", ++ G_CALLBACK (move_selected_input_up), builder); ++ g_signal_connect (WID("input_source_move_down"), "clicked", ++ G_CALLBACK (move_selected_input_down), builder); ++ g_signal_connect (WID("input_source_show"), "clicked", ++ G_CALLBACK (show_selected_layout), builder); ++ g_signal_connect (WID("input_source_settings"), "clicked", ++ G_CALLBACK (show_selected_settings), builder); ++ ++ /* use an em dash is no shortcut */ ++ update_shortcuts (builder); ++ ++ g_signal_connect (WID("jump-to-shortcuts"), "activate-link", ++ G_CALLBACK (go_to_shortcuts), panel); ++ ++ g_signal_connect (G_OBJECT (input_sources_settings), ++ "changed::" KEY_INPUT_SOURCES, ++ G_CALLBACK (input_sources_changed), ++ builder); ++} ++ ++static void ++filter_clear (GtkEntry *entry, ++ GtkEntryIconPosition icon_pos, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ gtk_entry_set_text (entry, ""); ++} ++ ++static gchar **search_pattern_list; ++ ++static void ++filter_changed (GtkBuilder *builder) ++{ ++ GtkTreeModelFilter *filtered_model; ++ GtkTreeView *tree_view; ++ GtkTreeSelection *selection; ++ GtkTreeIter selected_iter; ++ GtkWidget *filter_entry; ++ const gchar *pattern; ++ gchar *upattern; ++ ++ filter_entry = WID ("input_source_filter"); ++ pattern = gtk_entry_get_text (GTK_ENTRY (filter_entry)); ++ upattern = g_utf8_strup (pattern, -1); ++ if (!g_strcmp0 (pattern, "")) ++ g_object_set (G_OBJECT (filter_entry), ++ "secondary-icon-name", "edit-find-symbolic", ++ "secondary-icon-activatable", FALSE, ++ "secondary-icon-sensitive", FALSE, ++ NULL); ++ else ++ g_object_set (G_OBJECT (filter_entry), ++ "secondary-icon-name", "edit-clear-symbolic", ++ "secondary-icon-activatable", TRUE, ++ "secondary-icon-sensitive", TRUE, ++ NULL); ++ ++ if (search_pattern_list != NULL) ++ g_strfreev (search_pattern_list); ++ ++ search_pattern_list = g_strsplit (upattern, " ", -1); ++ g_free (upattern); ++ ++ filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model")); ++ gtk_tree_model_filter_refilter (filtered_model); ++ ++ tree_view = GTK_TREE_VIEW (WID ("filtered_input_source_list")); ++ selection = gtk_tree_view_get_selection (tree_view); ++ if (gtk_tree_selection_get_selected (selection, NULL, &selected_iter)) ++ { ++ GtkTreePath *path = gtk_tree_model_get_path (GTK_TREE_MODEL (filtered_model), ++ &selected_iter); ++ gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.5, 0.5); ++ gtk_tree_path_free (path); ++ } ++ else ++ { ++ GtkTreeIter iter; ++ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter)) ++ gtk_tree_selection_select_iter (selection, &iter); ++ } ++} ++ ++static void ++selection_changed (GtkTreeSelection *selection, ++ GtkBuilder *builder) ++{ ++ gtk_widget_set_sensitive (WID ("ok-button"), ++ gtk_tree_selection_get_selected (selection, NULL, NULL)); ++} ++ ++static void ++row_activated (GtkTreeView *tree_view, ++ GtkTreePath *path, ++ GtkTreeViewColumn *column, ++ GtkBuilder *builder) ++{ ++ GtkWidget *add_button; ++ GtkWidget *dialog; ++ ++ add_button = WID ("ok-button"); ++ dialog = WID ("input_source_chooser"); ++ if (gtk_widget_is_sensitive (add_button)) ++ gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); ++} ++ ++static void ++entry_activated (GtkBuilder *builder, ++ gpointer data) ++{ ++ row_activated (NULL, NULL, NULL, builder); ++} ++ ++static gboolean ++filter_func (GtkTreeModel *model, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ gchar *name = NULL; ++ gchar **pattern; ++ gboolean rv = TRUE; ++ ++ if (search_pattern_list == NULL || search_pattern_list[0] == NULL) ++ return TRUE; ++ ++ gtk_tree_model_get (model, iter, ++ NAME_COLUMN, &name, ++ -1); ++ ++ pattern = search_pattern_list; ++ do { ++ gboolean is_pattern_found = FALSE; ++ gchar *udesc = g_utf8_strup (name, -1); ++ if (udesc != NULL && g_strstr_len (udesc, -1, *pattern)) ++ { ++ is_pattern_found = TRUE; ++ } ++ g_free (udesc); ++ ++ if (!is_pattern_found) ++ { ++ rv = FALSE; ++ break; ++ } ++ ++ } while (*++pattern != NULL); ++ ++ g_free (name); ++ ++ return rv; ++} ++ ++static GtkWidget * ++input_chooser_new (GtkWindow *main_window, ++ GtkListStore *active_sources) ++{ ++ GtkBuilder *builder; ++ GtkWidget *chooser; ++ GtkWidget *filtered_list; ++ GtkWidget *filter_entry; ++ GtkTreeViewColumn *visible_column; ++ GtkTreeSelection *selection; ++ GtkListStore *model; ++ GtkTreeModelFilter *filtered_model; ++ GtkTreeIter iter; ++ ++ builder = gtk_builder_new (); ++ gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); ++ gtk_builder_add_from_file (builder, ++ CINNAMONCC_UI_DIR "/cinnamon-region-panel-input-chooser.ui", ++ NULL); ++ chooser = WID ("input_source_chooser"); ++ input_chooser = chooser; ++ g_object_add_weak_pointer (G_OBJECT (chooser), (gpointer *) &input_chooser); ++ g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref); ++ ++ filtered_list = WID ("filtered_input_source_list"); ++ filter_entry = WID ("input_source_filter"); ++ ++ g_object_set_data (G_OBJECT (chooser), ++ "filtered_input_source_list", filtered_list); ++ visible_column = ++ gtk_tree_view_column_new_with_attributes ("Input Sources", ++ gtk_cell_renderer_text_new (), ++ "text", NAME_COLUMN, ++ NULL); ++ ++ gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window); ++ ++ gtk_tree_view_append_column (GTK_TREE_VIEW (filtered_list), ++ visible_column); ++ /* We handle searching ourselves, thank you. */ ++ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (filtered_list), FALSE); ++ gtk_tree_view_set_search_column (GTK_TREE_VIEW (filtered_list), -1); ++ ++ g_signal_connect_swapped (G_OBJECT (filter_entry), "activate", ++ G_CALLBACK (entry_activated), builder); ++ g_signal_connect_swapped (G_OBJECT (filter_entry), "notify::text", ++ G_CALLBACK (filter_changed), builder); ++ ++ g_signal_connect (G_OBJECT (filter_entry), "icon-release", ++ G_CALLBACK (filter_clear), NULL); ++ ++ filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model")); ++ model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model")); ++ ++ populate_model (model, active_sources); ++ ++ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), ++ NAME_COLUMN, GTK_SORT_ASCENDING); ++ ++ gtk_tree_model_filter_set_visible_func (filtered_model, ++ filter_func, ++ NULL, NULL); ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (filtered_list)); ++ ++ g_signal_connect (G_OBJECT (selection), "changed", ++ G_CALLBACK (selection_changed), builder); ++ ++ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter)) ++ gtk_tree_selection_select_iter (selection, &iter); ++ ++ g_signal_connect (G_OBJECT (filtered_list), "row-activated", ++ G_CALLBACK (row_activated), builder); ++ ++ gtk_widget_grab_focus (filter_entry); ++ ++ gtk_widget_show (chooser); ++ ++ return chooser; ++} ++ ++static gboolean ++input_chooser_get_selected (GtkWidget *dialog, ++ GtkTreeModel **model, ++ GtkTreeIter *iter) ++{ ++ GtkWidget *tv; ++ GtkTreeSelection *selection; ++ ++ tv = g_object_get_data (G_OBJECT (dialog), "filtered_input_source_list"); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tv)); ++ ++ return gtk_tree_selection_get_selected (selection, model, iter); ++} +diff -uNrp a/panels/region/cinnamon-region-panel-input-chooser.ui b/panels/region/cinnamon-region-panel-input-chooser.ui +--- a/panels/region/cinnamon-region-panel-input-chooser.ui 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input-chooser.ui 2013-09-21 13:24:15.339949536 +0100 +@@ -0,0 +1,157 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ input_source_model ++ ++ ++ False ++ False ++ 5 ++ Choose an input source ++ True ++ center-on-parent ++ dialog ++ ++ ++ True ++ False ++ vertical ++ 2 ++ ++ ++ True ++ False ++ end ++ ++ ++ gtk-cancel ++ True ++ True ++ True ++ False ++ False ++ True ++ ++ ++ False ++ False ++ end ++ 1 ++ ++ ++ ++ ++ gtk-add ++ True ++ True ++ True ++ False ++ False ++ True ++ ++ ++ False ++ False ++ end ++ 2 ++ ++ ++ ++ ++ ++ ++ True ++ False ++ 5 ++ 6 ++ ++ ++ True ++ False ++ 6 ++ ++ ++ True ++ False ++ 0 ++ Select an input source to add ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ True ++ never ++ etched-in ++ 450 ++ 250 ++ ++ ++ True ++ True ++ filtered_input_source_model ++ False ++ 0 ++ ++ ++ ++ ++ True ++ True ++ 1 ++ ++ ++ ++ ++ True ++ True ++ 0 ++ ++ ++ ++ ++ True ++ True ++ ++ edit-find-symbolic ++ False ++ False ++ ++ ++ False ++ False ++ end ++ 1 ++ ++ ++ ++ ++ True ++ True ++ 1 ++ ++ ++ ++ ++ ++ ok-button ++ cancel-button ++ ++ ++ +diff -uNrp a/panels/region/cinnamon-region-panel-input.h b/panels/region/cinnamon-region-panel-input.h +--- a/panels/region/cinnamon-region-panel-input.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input.h 2013-09-21 13:24:15.339949536 +0100 +@@ -0,0 +1,36 @@ ++/* cinnamon-region-panel-input.h ++ * Copyright (C) 2011 Red Hat, Inc. ++ * ++ * Written by Matthias Clasen ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#ifndef __CINNAMON_KEYBOARD_PROPERTY_INPUT_H ++#define __CINNAMON_KEYBOARD_PROPERTY_INPUT_H ++ ++#include ++ ++#include "cc-region-panel.h" ++ ++G_BEGIN_DECLS ++ ++void setup_input_tabs (GtkBuilder *builder, ++ CcRegionPanel *self); ++ ++G_END_DECLS ++ ++#endif /* __CINNAMON_KEYBOARD_PROPERTY_INPUT_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-lang.c b/panels/region/cinnamon-region-panel-lang.c +--- a/panels/region/cinnamon-region-panel-lang.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-lang.c 2013-09-21 13:24:15.340949500 +0100 +@@ -24,7 +24,7 @@ + #endif + + #include +-#include ++#include + + #include "cinnamon-region-panel-lang.h" + #include "cinnamon-region-panel-formats.h" +diff -uNrp a/panels/region/cinnamon-region-panel-lang.h b/panels/region/cinnamon-region-panel-lang.h +--- a/panels/region/cinnamon-region-panel-lang.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-lang.h 2013-09-21 13:24:15.340949500 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_KEYBOARD_PROPERTY_LANG_H +-#define __GNOME_KEYBOARD_PROPERTY_LANG_H ++#ifndef __CINNAMON_KEYBOARD_PROPERTY_LANG_H ++#define __CINNAMON_KEYBOARD_PROPERTY_LANG_H + + #include + +@@ -29,4 +29,4 @@ G_BEGIN_DECLS + void setup_language (GtkBuilder *builder); + + G_END_DECLS +-#endif /* __GNOME_KEYBOARD_PROPERTY_LANG_H */ ++#endif /* __CINNAMON_KEYBOARD_PROPERTY_LANG_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-layout-chooser.ui b/panels/region/cinnamon-region-panel-layout-chooser.ui +--- a/panels/region/cinnamon-region-panel-layout-chooser.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-layout-chooser.ui 1970-01-01 01:00:00.000000000 +0100 +@@ -1,180 +0,0 @@ +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- layout_list_model +- +- +- False +- False +- 5 +- Choose a Layout +- True +- center-on-parent +- dialog +- +- +- True +- False +- vertical +- 2 +- +- +- True +- False +- end +- +- +- Preview +- True +- True +- True +- False +- +- +- False +- False +- 0 +- True +- +- +- +- +- gtk-cancel +- True +- True +- True +- False +- False +- True +- +- +- False +- False +- end +- 1 +- +- +- +- +- gtk-add +- True +- True +- True +- False +- False +- True +- +- +- False +- False +- end +- 2 +- +- +- +- +- +- +- True +- False +- 5 +- 6 +- +- +- True +- False +- 6 +- +- +- True +- False +- 0 +- Select an input source to add +- +- +- False +- False +- 0 +- +- +- +- +- True +- True +- never +- etched-in +- 450 +- 250 +- +- +- True +- True +- filtered_layout_list_model +- False +- 0 +- +- +- +- +- +- +- +- True +- True +- 1 +- +- +- +- +- True +- True +- 0 +- +- +- +- +- True +- True +- +- edit-find-symbolic +- False +- False +- +- +- False +- False +- end +- 1 +- +- +- +- +- True +- True +- 1 +- +- +- +- +- +- btnPreview +- btnOk +- btnCancel +- +- +- +diff -uNrp a/panels/region/cinnamon-region-panel-options-dialog.ui b/panels/region/cinnamon-region-panel-options-dialog.ui +--- a/panels/region/cinnamon-region-panel-options-dialog.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-options-dialog.ui 1970-01-01 01:00:00.000000000 +0100 +@@ -1,79 +0,0 @@ +- +- +- +- +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- 5 +- Keyboard Layout Options +- center-on-parent +- 550 +- 400 +- dialog +- +- +- True +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- vertical +- 2 +- +- +- True +- True +- 5 +- out +- +- +- True +- False +- none +- +- +- True +- False +- +- +- +- +- +- +- False +- True +- 1 +- +- +- +- +- True +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- end +- +- +- +- +- +- gtk-close +- True +- True +- True +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- False +- True +- +- +- False +- False +- 1 +- +- +- +- +- +- +- +- button2 +- +- +- +diff -uNrp a/panels/region/cinnamon-region-panel-system.c b/panels/region/cinnamon-region-panel-system.c +--- a/panels/region/cinnamon-region-panel-system.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-system.c 2013-09-21 13:24:15.342949428 +0100 +@@ -27,15 +27,18 @@ + + #include + +-#include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include + +-#include + #include "cc-common-language.h" + #include "gdm-languages.h" + #include "cinnamon-region-panel-system.h" +-#include "cinnamon-region-panel-xkb.h" + +-static GSettings *locale_settings, *xkb_settings; ++#define WID(s) GTK_WIDGET(gtk_builder_get_object (dialog, s)) ++ ++static GSettings *locale_settings, *input_sources_settings; + static GDBusProxy *localed_proxy; + static GPermission *localed_permission; + +@@ -72,13 +75,14 @@ update_copy_button (GtkBuilder *dialog) + + button = WID ("copy_settings_button"); + +- /* If the version of localed doesn't include layouts... */ +- if (system_input_source) { ++ if (user_input_source && user_input_source[0]) { + layouts_differ = (g_strcmp0 (user_input_source, system_input_source) != 0); + if (layouts_differ == FALSE) + layouts_differ = (g_strcmp0 (user_input_variants, system_input_variants) != 0); +- } else ++ } else { ++ /* Nothing to copy */ + layouts_differ = FALSE; ++ } + + if (g_strcmp0 (user_lang, system_lang) == 0 && + g_strcmp0 (user_region, system_region) == 0 && +@@ -131,61 +135,67 @@ system_update_language (GtkBuilder *dial + } + + static void +-xkb_settings_changed (GSettings *settings, +- const gchar *key, +- GtkBuilder *dialog) ++input_sources_changed (GSettings *settings, ++ const gchar *key, ++ GtkBuilder *dialog) + { +- guint i; +- GString *disp, *list, *variants; +- GtkWidget *label; +- gchar **layouts; +- +- layouts = g_settings_get_strv (settings, "layouts"); +- if (layouts == NULL) +- return; +- +- label = WID ("user_input_source"); +- disp = g_string_new (""); +- list = g_string_new (""); +- variants = g_string_new (""); +- +- for (i = 0; layouts[i]; i++) { +- gchar *utf_visible; +- char **split; +- gchar *layout, *variant; +- +- utf_visible = xkb_layout_description_utf8 (layouts[i]); +- if (disp->str[0] != '\0') +- g_string_append (disp, ", "); +- g_string_append (disp, utf_visible ? utf_visible : layouts[i]); +- g_free (utf_visible); +- +- split = g_strsplit_set (layouts[i], " \t", 2); +- +- if (split == NULL || split[0] == NULL) +- continue; +- +- layout = split[0]; +- variant = split[1]; +- +- if (list->str[0] != '\0') +- g_string_append (list, ","); +- g_string_append (list, layout); +- +- if (variants->str[0] != '\0') +- g_string_append (variants, ","); +- g_string_append (variants, variant ? variant : ""); +- +- g_strfreev (split); +- } +- g_strfreev (layouts); ++ GString *disp, *list, *variants; ++ GtkWidget *label; ++ GnomeXkbInfo *xkb_info; ++ GVariantIter iter; ++ GVariant *sources; ++ const gchar *type; ++ const gchar *id; ++ ++ sources = g_settings_get_value (input_sources_settings, "sources"); ++ xkb_info = gnome_xkb_info_new (); ++ ++ label = WID ("user_input_source"); ++ disp = g_string_new (""); ++ list = g_string_new (""); ++ variants = g_string_new (""); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) { ++ /* We can't copy non-XKB layouts to the system yet */ ++ if (g_str_equal (type, "xkb")) { ++ char **split; ++ gchar *layout, *variant; ++ const char *name; ++ ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (disp->str[0] != '\0') ++ g_string_append (disp, ", "); ++ g_string_append (disp, name); ++ ++ split = g_strsplit (id, "+", 2); ++ ++ if (split == NULL || split[0] == NULL) ++ continue; ++ ++ layout = split[0]; ++ variant = split[1]; ++ ++ if (list->str[0] != '\0') { ++ g_string_append (list, ","); ++ g_string_append (variants, ","); ++ } ++ g_string_append (list, layout); ++ g_string_append (variants, variant ? variant : ""); ++ ++ g_strfreev (split); ++ } ++ } ++ g_variant_unref (sources); ++ g_object_unref (xkb_info); + + g_object_set_data_full (G_OBJECT (label), "input_source", g_string_free (list, FALSE), g_free); + g_object_set_data_full (G_OBJECT (label), "input_variants", g_string_free (variants, FALSE), g_free); ++ + gtk_label_set_text (GTK_LABEL (label), disp->str); + g_string_free (disp, TRUE); + +- update_copy_button (dialog); ++ update_copy_button (dialog); + } + + static void +@@ -222,12 +232,13 @@ on_localed_properties_changed (GDBusProx + const gchar **invalidated_properties, + GtkBuilder *dialog) + { +- GVariant *v; ++ GVariant *v, *w; + GtkWidget *label; +- const char *layout; ++ GnomeXkbInfo *xkb_info; + char **layouts; ++ char **variants; + GString *disp; +- guint i; ++ guint i, n; + + if (invalidated_properties != NULL) { + guint i; +@@ -236,6 +247,8 @@ on_localed_properties_changed (GDBusProx + update_property (proxy, "Locale"); + else if (g_str_equal (invalidated_properties[i], "X11Layout")) + update_property (proxy, "X11Layout"); ++ else if (g_str_equal (invalidated_properties[i], "X11Variant")) ++ update_property (proxy, "X11Variant"); + } + } + +@@ -290,29 +303,56 @@ on_localed_properties_changed (GDBusProx + label = WID ("system_input_source"); + v = g_dbus_proxy_get_cached_property (proxy, "X11Layout"); + if (v) { +- layout = g_variant_get_string (v, NULL); +- g_object_set_data_full (G_OBJECT (label), "input_source", g_strdup (layout), g_free); +- } else { ++ layouts = g_strsplit (g_variant_get_string (v, NULL), ",", -1); ++ g_object_set_data_full (G_OBJECT (label), "input_source", ++ g_variant_dup_string (v, NULL), g_free); ++ g_variant_unref (v); ++ } else { + g_object_set_data_full (G_OBJECT (label), "input_source", NULL, g_free); + update_copy_button (dialog); + return; + } + +- disp = g_string_new (""); +- layouts = g_strsplit (layout, ",", -1); +- for (i = 0; layouts[i]; i++) { +- gchar *utf_visible; +- +- utf_visible = xkb_layout_description_utf8 (layouts[i]); +- if (disp->str[0] != '\0') +- disp = g_string_append (disp, ", "); +- disp = g_string_append (disp, utf_visible ? utf_visible : layouts[i]); +- g_free (utf_visible); +- } ++ w = g_dbus_proxy_get_cached_property (proxy, "X11Variant"); ++ if (w) { ++ variants = g_strsplit (g_variant_get_string (w, NULL), ",", -1); ++ g_object_set_data_full (G_OBJECT (label), "input_variants", ++ g_variant_dup_string (w, NULL), g_free); ++ g_variant_unref (w); ++ } else { ++ variants = NULL; ++ g_object_set_data_full (G_OBJECT (label), "input_variants", NULL, g_free); ++ } ++ ++ if (variants && variants[0]) ++ n = MIN (g_strv_length (layouts), g_strv_length (variants)); ++ else ++ n = g_strv_length (layouts); ++ ++ xkb_info = gnome_xkb_info_new (); ++ disp = g_string_new (""); ++ for (i = 0; i < n && layouts[i][0]; i++) { ++ const char *name; ++ char *id; ++ ++ if (variants && variants[i] && variants[i][0]) ++ id = g_strdup_printf ("%s+%s", layouts[i], variants[i]); ++ else ++ id = g_strdup (layouts[i]); ++ ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (disp->str[0] != '\0') ++ disp = g_string_append (disp, ", "); ++ disp = g_string_append (disp, name ? name : id); ++ ++ g_free (id); ++ } + gtk_label_set_text (GTK_LABEL (label), disp->str); + g_string_free (disp, TRUE); + +- g_variant_unref (v); ++ g_strfreev (variants); ++ g_strfreev (layouts); ++ g_object_unref (xkb_info); + + update_copy_button (dialog); + } +@@ -386,6 +426,11 @@ copy_settings (GtkButton *button, GtkBui + layout = g_object_get_data (G_OBJECT (label), "input_source"); + variants = g_object_get_data (G_OBJECT (label), "input_variants"); + ++ if (layout == NULL || layout[0] == '\0') { ++ g_debug ("Not calling SetX11Keyboard, as there are no XKB input sources in the user's settings"); ++ return; ++ } ++ + g_dbus_proxy_call (localed_proxy, + "SetX11Keyboard", + g_variant_new ("(ssssbb)", layout, "", variants ? variants : "", "", TRUE, TRUE), +@@ -468,10 +513,10 @@ setup_system (GtkBuilder *dialog) + G_CALLBACK (locale_settings_changed), dialog); + g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, locale_settings); + +- xkb_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- g_signal_connect (xkb_settings, "changed::layouts", +- G_CALLBACK (xkb_settings_changed), dialog); +- g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, xkb_settings); ++ input_sources_settings = g_settings_new ("org.cinnamon.desktop.input-sources"); ++ g_signal_connect (input_sources_settings, "changed::sources", ++ G_CALLBACK (input_sources_changed), dialog); ++ g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, input_sources_settings); + + /* Display user settings */ + language = cc_common_language_get_current_language (); +@@ -480,7 +525,7 @@ setup_system (GtkBuilder *dialog) + + locale_settings_changed (locale_settings, "region", dialog); + +- xkb_settings_changed (xkb_settings, "layouts", dialog); ++ input_sources_changed (input_sources_settings, "sources", dialog); + + bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + g_dbus_proxy_new (bus, +diff -uNrp a/panels/region/cinnamon-region-panel-system.h b/panels/region/cinnamon-region-panel-system.h +--- a/panels/region/cinnamon-region-panel-system.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-system.h 2013-09-21 13:24:15.342949428 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_REGION_PANEL_SYSTEM_H +-#define __GNOME_REGION_PANEL_SYSTEM_H ++#ifndef __CINNAMON_REGION_PANEL_SYSTEM_H ++#define __CINNAMON_REGION_PANEL_SYSTEM_H + + #include + +diff -uNrp a/panels/region/cinnamon-region-panel.ui b/panels/region/cinnamon-region-panel.ui +--- a/panels/region/cinnamon-region-panel.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel.ui 2013-09-21 13:24:15.347949247 +0100 +@@ -162,27 +162,17 @@ + ++ + + ++ False + True +- False + Add Language +- True +- list-add-symbolic +- +- +- False +- True +- +- +- +- +- True +- False + False +- Remove Language + True +- list-remove-symbolic ++ list-add-symbolic + + + False +@@ -198,12 +188,13 @@ + + + +- True + False + + + True + False ++ True ++ Add Language + + + True +@@ -212,23 +203,24 @@ + + + +- +- button ++ ++ Install languages... + True + True + True ++ True + + +- True ++ False + True +- 13 ++ 1 + + + + + False + True +- 2 ++ 1 + + + +@@ -305,19 +297,19 @@ + + + +- True +- False + icons + False + 1 ++ True + + + ++ False ++ Add Region + True + False +- Add Region + True + list-add-symbolic + +@@ -328,10 +320,11 @@ + + + ++ False + True ++ Remove Region + False + False +- Remove Region + True + list-remove-symbolic + +@@ -373,18 +366,6 @@ + 9 + 2 + +- +- +- +- +- +- +- +- +- +- +- +- + + True + False +@@ -626,6 +607,12 @@ + 1 + + ++ ++ ++ ++ ++ ++ + + + 1 +@@ -643,36 +630,43 @@ + + + +- ++ + True + False +- 10 ++ 12 + 12 + +- ++ ++ True ++ False ++ 0 ++ Select keyboards or other input sources ++ ++ ++ False ++ False ++ 0 ++ + + +- ++ + True + False + 12 + +- ++ + True + False + +- ++ + True + True + in + +- ++ + True + True + False +- +- +- + + + +@@ -683,7 +677,7 @@ + + + +- ++ + True + False + icons +@@ -693,70 +687,166 @@ + + + +- ++ + True +- False +- Add Layout +- True +- list-add-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Add Input Source ++ ++ ++ ++ ++ ++ True ++ list-add-symbolic ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Remove Input Source ++ ++ ++ ++ ++ True ++ list-remove-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + +- ++ + True +- False +- Remove Layout +- True +- list-remove-symbolic ++ False + + +- False +- True ++ True + + ++ + +- ++ + True +- False +- Move Up +- True +- go-up-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Move Input Source Up ++ ++ ++ ++ ++ ++ True ++ go-up-symbolic ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Move Input Source Down ++ ++ ++ ++ ++ True ++ go-down-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + +- ++ + True +- False +- Move Down +- True +- go-down-symbolic ++ False ++ True + + +- False +- True ++ True + + ++ + +- ++ + True +- False +- Preview Layout +- True +- input-keyboard-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Input Source Settings ++ ++ ++ ++ ++ ++ True ++ preferences-system-symbolic ++ 1 ++ 16 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Show Keyboard Layout ++ ++ ++ ++ ++ ++ True ++ input-keyboard-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + + + False +@@ -772,168 +862,111 @@ + + + +- ++ + True + False +- 12 ++ 0 ++ none + +- ++ + True + False +- 6 ++ 12 + +- +- Use the same layout for all windows +- True +- True +- False +- 0 +- True +- True +- +- +- True +- True +- 0 +- +- +- +- +- Allow different layouts for individual windows +- True +- True +- False +- 0 +- True +- True +- chk_same_group +- +- +- True +- True +- 1 +- +- +- +- ++ + True + False +- 12 ++ 6 ++ 6 ++ 6 + +- ++ + True + False +- +- +- New windows use the default layout +- True +- True +- False +- 0 +- True +- True +- +- +- True +- True +- 0 +- +- +- +- +- New windows use the previous window's layout +- True +- True +- False +- 0 +- True +- True +- chk_new_windows_default_layout +- +- +- True +- True +- 1 +- +- ++ 0 ++ Switch to previous source + ++ ++ 0 ++ 0 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ end ++ True ++ Ctrl+Alt+Space ++ ++ ++ ++ 1 ++ 0 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ 0 ++ Switch to next source ++ ++ ++ 0 ++ 1 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ end ++ True ++ Ctrl+Alt+Shift+Space ++ ++ ++ ++ 1 ++ 1 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ True ++ Shortcut Settings ++ end ++ ++ ++ 1 ++ 2 ++ 1 ++ 1 ++ + + +- +- True +- True +- 2 +- + + +- +- False +- False +- 0 +- +- +- +- +- True +- False +- +- +- True +- False +- 1 +- + +- +- ++ ++ + True + False +- 6 +- end +- +- +- _Options... +- True +- True +- True +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- True +- View and edit keyboard layout options +- View and edit keyboard layout options +- True +- +- +- False +- False +- 0 +- +- +- +- +- Reset to De_faults +- True +- True +- True +- True +- Replace the current keyboard layout settings with the +-default settings +- Replace the current keyboard layout settings with the +-default settings +- True +- +- +- False +- False +- end +- 1 +- True +- +- ++ Shortcuts ++ True ++ ++ ++ + +- +- False +- False +- 2 +- + + + +@@ -951,17 +984,17 @@ default settings + + + +- 2 ++ 3 + + + +- ++ + True + False +- Keyboard Layouts ++ Input Sources + + +- 2 ++ 3 + False + + +@@ -974,9 +1007,6 @@ default settings + 12 + 12 + +- +- +- + + True + False +@@ -1051,6 +1081,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1060,6 +1091,7 @@ default settings + 0 + 0 + True ++ 18 + + + 1 +@@ -1068,6 +1100,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1178,6 +1211,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1187,6 +1221,7 @@ default settings + 0 + 0 + True ++ 18 + + + 1 +@@ -1195,6 +1230,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1254,6 +1290,7 @@ default settings + + + Copy Settings... ++ False + True + True + True +@@ -1269,9 +1306,12 @@ default settings + 3 + + ++ ++ ++ + + +- 3 ++ 4 + + + +@@ -1281,7 +1321,7 @@ default settings + System + + +- 3 ++ 4 + False + + +@@ -1302,4 +1342,11 @@ default settings + + + ++ ++ vertical ++ ++ ++ ++ ++ + +diff -uNrp a/panels/region/cinnamon-region-panel-xkb.c b/panels/region/cinnamon-region-panel-xkb.c +--- a/panels/region/cinnamon-region-panel-xkb.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkb.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,190 +0,0 @@ +-/* cinnamon-region-panel-xkb.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-#include +- +-XklEngine *engine; +-XklConfigRegistry *config_registry; +- +-GkbdKeyboardConfig initial_config; +-GkbdDesktopConfig desktop_config; +- +-GSettings *xkb_keyboard_settings; +-GSettings *xkb_desktop_settings; +- +-char * +-xci_desc_to_utf8 (const XklConfigItem * ci) +-{ +- gchar *dd = g_strdup (ci->description); +- gchar *sd = g_strstrip (dd); +- gchar *rv = g_strdup (sd[0] == 0 ? ci->name : sd); +- g_free (dd); +- return rv; +-} +- +-static void +-cleanup_xkb_tabs (GtkBuilder * dialog, +- GObject *where_the_object_wa) +-{ +- gkbd_desktop_config_term (&desktop_config); +- gkbd_keyboard_config_term (&initial_config); +- g_object_unref (G_OBJECT (config_registry)); +- config_registry = NULL; +- /* Don't unref it here, or we'll crash if open the panel again */ +- engine = NULL; +- g_object_unref (G_OBJECT (xkb_keyboard_settings)); +- g_object_unref (G_OBJECT (xkb_desktop_settings)); +- xkb_keyboard_settings = NULL; +- xkb_desktop_settings = NULL; +-} +- +-static void +-reset_to_defaults (GtkWidget * button, GtkBuilder * dialog) +-{ +- GkbdKeyboardConfig empty_kbd_config; +- +- gkbd_keyboard_config_init (&empty_kbd_config, engine); +- gkbd_keyboard_config_save (&empty_kbd_config); +- gkbd_keyboard_config_term (&empty_kbd_config); +- +- g_settings_reset (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP); +- +- /* all the rest is g-s-d's business */ +-} +- +-static void +-chk_new_windows_inherit_layout_toggled (GtkWidget * +- chk_new_windows_inherit_layout, +- GtkBuilder * dialog) +-{ +- xkb_save_default_group (gtk_toggle_button_get_active +- (GTK_TOGGLE_BUTTON +- (chk_new_windows_inherit_layout)) ? -1 : +- 0); +-} +- +-void +-setup_xkb_tabs (GtkBuilder * dialog) +-{ +- GtkWidget *widget; +- GtkStyleContext *context; +- GtkWidget *chk_new_windows_inherit_layout; +- +- chk_new_windows_inherit_layout = WID ("chk_new_windows_inherit_layout"); +- +- xkb_desktop_settings = g_settings_new (GKBD_DESKTOP_SCHEMA); +- xkb_keyboard_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- +- engine = +- xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- config_registry = xkl_config_registry_get_instance (engine); +- +- gkbd_desktop_config_init (&desktop_config, engine); +- gkbd_desktop_config_load (&desktop_config); +- +- xkl_config_registry_load (config_registry, +- desktop_config.load_extra_items); +- +- gkbd_keyboard_config_init (&initial_config, engine); +- gkbd_keyboard_config_load_from_x_initial (&initial_config, NULL); +- +- /* Set initial state */ +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("chk_separate_group_per_window")), +- g_settings_get_boolean (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW)); +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chk_new_windows_inherit_layout), +- xkb_get_default_group () < 0); +- +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_separate_group_per_window"), "active", +- G_SETTINGS_BIND_DEFAULT); +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_new_windows_inherit_layout"), "sensitive", +- G_SETTINGS_BIND_DEFAULT); +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_new_windows_default_layout"), "sensitive", +- G_SETTINGS_BIND_DEFAULT); +- +- xkb_layouts_prepare_selected_tree (dialog); +- xkb_layouts_fill_selected_tree (dialog); +- +- xkb_layouts_register_buttons_handlers (dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_reset_to_defaults")), +- "clicked", G_CALLBACK (reset_to_defaults), +- dialog); +- +- g_signal_connect (G_OBJECT (chk_new_windows_inherit_layout), +- "toggled", +- G_CALLBACK +- (chk_new_windows_inherit_layout_toggled), +- dialog); +- +- g_signal_connect_swapped (G_OBJECT (WID ("xkb_layout_options")), +- "clicked", +- G_CALLBACK (xkb_options_popup_dialog), +- dialog); +- +- xkb_layouts_register_conf_listener (dialog); +- xkb_options_register_conf_listener (dialog); +- +- g_object_weak_ref (G_OBJECT (WID ("region_notebook")), +- (GWeakNotify) cleanup_xkb_tabs, dialog); +- +- enable_disable_restoring (dialog); +- +- /* Setup junction between toolbar and treeview */ +- widget = WID ("xkb_layouts_swindow"); +- context = gtk_widget_get_style_context (widget); +- gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM); +- widget = WID ("layouts-toolbar"); +- context = gtk_widget_get_style_context (widget); +- gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP); +-} +- +-void +-enable_disable_restoring (GtkBuilder * dialog) +-{ +- GkbdKeyboardConfig gswic; +- gboolean enable; +- +- gkbd_keyboard_config_init (&gswic, engine); +- gkbd_keyboard_config_load (&gswic, NULL); +- +- enable = !gkbd_keyboard_config_equals (&gswic, &initial_config); +- +- gkbd_keyboard_config_term (&gswic); +- gtk_widget_set_sensitive (WID ("xkb_reset_to_defaults"), enable); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkb.h b/panels/region/cinnamon-region-panel-xkb.h +--- a/panels/region/cinnamon-region-panel-xkb.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkb.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,96 +0,0 @@ +-/* cinnamon-region-panel-xkb.h +- * Copyright (C) 2003-2007 Sergey V Udaltsov +- * +- * Written by Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifndef __GNOME_KEYBOARD_PROPERTY_XKB_H +-#define __GNOME_KEYBOARD_PROPERTY_XKB_H +- +-#include +- +-#include "libgnomekbd/gkbd-keyboard-config.h" +-#include "libgnomekbd/gkbd-util.h" +- +-G_BEGIN_DECLS +-#define CWID(s) GTK_WIDGET (gtk_builder_get_object (chooser_dialog, s)) +-#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s)) +-extern XklEngine *engine; +-extern XklConfigRegistry *config_registry; +-extern GSettings *xkb_keyboard_settings; +-extern GSettings *xkb_desktop_settings; +-extern GkbdKeyboardConfig initial_config; +- +-extern void setup_xkb_tabs (GtkBuilder * dialog); +- +-extern void xkb_layouts_fill_selected_tree (GtkBuilder * dialog); +- +-extern void xkb_layouts_register_buttons_handlers (GtkBuilder * dialog); +- +-extern void xkb_layouts_register_conf_listener (GtkBuilder * dialog); +- +-extern void xkb_options_register_conf_listener (GtkBuilder * dialog); +- +-extern void xkb_layouts_prepare_selected_tree (GtkBuilder * dialog); +- +-extern void xkb_options_load_options (GtkBuilder * dialog); +- +-extern void xkb_options_popup_dialog (GtkBuilder * dialog); +- +-extern char *xci_desc_to_utf8 (const XklConfigItem * ci); +- +-extern gchar *xkb_layout_description_utf8 (const gchar * visible); +- +-extern void enable_disable_restoring (GtkBuilder * dialog); +- +-extern void preview_toggled (GtkBuilder * dialog, GtkWidget * button); +- +-extern GtkWidget *xkb_layout_choose (GtkBuilder * dialog); +- +-extern void xkb_layout_chooser_response (GtkDialog *dialog, gint response_id); +- +-extern gchar **xkb_layouts_get_selected_list (void); +- +-extern gchar **xkb_options_get_selected_list (void); +- +-#define xkb_layouts_set_selected_list(list) \ +- g_settings_set_strv (xkb_keyboard_settings, \ +- GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS, \ +- (const gchar *const*)(list)) +- +-#define xkb_options_set_selected_list(list) \ +- g_settings_set_strv (xkb_keyboard_settings, \ +- GKBD_KEYBOARD_CONFIG_KEY_OPTIONS, \ +- (const gchar *const*)(list)) +- +-extern GtkWidget *xkb_layout_preview_create_widget (GtkBuilder * +- chooser_dialog); +- +-extern void xkb_layout_preview_update (GtkBuilder * chooser_dialog); +- +-extern void xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw, +- const gchar * id); +- +-extern gchar *xkb_layout_chooser_get_selected_id (GtkDialog *dialog); +- +-extern void xkb_save_default_group (gint group_no); +- +-extern gint xkb_get_default_group (void); +- +-G_END_DECLS +-#endif /* __GNOME_KEYBOARD_PROPERTY_XKB_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-xkbltadd.c b/panels/region/cinnamon-region-panel-xkbltadd.c +--- a/panels/region/cinnamon-region-panel-xkbltadd.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbltadd.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,495 +0,0 @@ +-/* cinnamon-region-panel-xkbltadd.c +- * Copyright (C) 2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-enum { +- COMBO_BOX_MODEL_COL_SORT, +- COMBO_BOX_MODEL_COL_VISIBLE, +- COMBO_BOX_MODEL_COL_XKB_ID, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC +-}; +- +-static gchar **search_pattern_list = NULL; +- +-static GtkWidget *preview_dialog = NULL; +- +-static GRegex *left_bracket_regex = NULL; +- +-#define RESPONSE_PREVIEW 1 +- +-static void +-xkb_preview_destroy_callback (GtkWidget * widget) +-{ +- preview_dialog = NULL; +-} +- +-static gboolean +-xkb_layout_chooser_selection_dupe (GtkDialog * dialog) +-{ +- gchar *selected_id = +- (gchar *) xkb_layout_chooser_get_selected_id (dialog); +- gchar **layouts_list, **pl; +- gboolean rv = FALSE; +- if (selected_id == NULL) +- return rv; +- layouts_list = pl = xkb_layouts_get_selected_list (); +- while (pl && *pl) { +- if (!g_ascii_strcasecmp (*pl++, selected_id)) { +- rv = TRUE; +- break; +- } +- } +- g_strfreev (layouts_list); +- return rv; +-} +- +-void +-xkb_layout_chooser_response (GtkDialog * dialog, gint response) +-{ +- switch (response) +- case GTK_RESPONSE_OK:{ +- /* Handled by the main code */ +- break; +- case RESPONSE_PREVIEW:{ +- gchar *selected_id = (gchar *) +- xkb_layout_chooser_get_selected_id +- (dialog); +- +- if (selected_id != NULL) { +- if (preview_dialog == NULL) { +- preview_dialog = +- gkbd_keyboard_drawing_dialog_new +- (); +- g_signal_connect (G_OBJECT +- (preview_dialog), +- "destroy", +- G_CALLBACK +- (xkb_preview_destroy_callback), +- NULL); +- /* Put into the separate group to avoid conflict +- with modal parent */ +- gtk_window_group_add_window +- (gtk_window_group_new +- (), +- GTK_WINDOW +- (preview_dialog)); +- }; +- gkbd_keyboard_drawing_dialog_set_layout +- (preview_dialog, +- config_registry, selected_id); +- +- gtk_widget_show_all +- (preview_dialog); +- } +- } +- +- return; +- } +- if (preview_dialog != NULL) { +- gtk_widget_destroy (preview_dialog); +- } +- if (search_pattern_list != NULL) { +- g_strfreev (search_pattern_list); +- search_pattern_list = NULL; +- } +- gtk_widget_destroy (GTK_WIDGET (dialog)); +-} +- +-static gchar * +-xkl_create_description_from_list (const XklConfigItem * item, +- const XklConfigItem * subitem, +- const gchar * prop_name, +- const gchar * +- (*desc_getter) (const gchar * code)) +-{ +- gchar *rv = NULL, *code = NULL; +- gchar **list = NULL; +- const gchar *desc; +- +- if (subitem != NULL) +- list = +- (gchar +- **) (g_object_get_data (G_OBJECT (subitem), +- prop_name)); +- if (list == NULL || *list == 0) +- list = +- (gchar +- **) (g_object_get_data (G_OBJECT (item), prop_name)); +- +- /* First try the parent id as such */ +- desc = desc_getter (item->name); +- if (desc != NULL) { +- rv = g_utf8_strup (desc, -1); +- } else { +- code = g_utf8_strup (item->name, -1); +- desc = desc_getter (code); +- if (desc != NULL) { +- rv = g_utf8_strup (desc, -1); +- } +- g_free (code); +- } +- +- if (list == NULL || *list == 0) +- return rv; +- +- while (*list != 0) { +- code = *list++; +- desc = desc_getter (code); +- if (desc != NULL) { +- gchar *udesc = g_utf8_strup (desc, -1); +- if (rv == NULL) { +- rv = udesc; +- } else { +- gchar *orv = rv; +- rv = g_strdup_printf ("%s %s", rv, udesc); +- g_free (orv); +- g_free (udesc); +- } +- } +- } +- return rv; +-} +- +-static void +-xkl_layout_add_to_list (XklConfigRegistry * config, +- const XklConfigItem * item, +- const XklConfigItem * subitem, +- GtkBuilder * chooser_dialog) +-{ +- GtkListStore *list_store = +- GTK_LIST_STORE (gtk_builder_get_object (chooser_dialog, +- "layout_list_model")); +- GtkTreeIter iter; +- +- gchar *utf_variant_name = +- subitem ? +- xkb_layout_description_utf8 (gkbd_keyboard_config_merge_items +- (item->name, +- subitem->name)) : +- xci_desc_to_utf8 (item); +- +- const gchar *xkb_id = +- subitem ? gkbd_keyboard_config_merge_items (item->name, +- subitem->name) : +- item->name; +- +- gchar *country_desc = +- xkl_create_description_from_list (item, subitem, +- XCI_PROP_COUNTRY_LIST, +- xkl_get_country_name); +- gchar *language_desc = +- xkl_create_description_from_list (item, subitem, +- XCI_PROP_LANGUAGE_LIST, +- xkl_get_language_name); +- +- gchar *tmp = utf_variant_name; +- utf_variant_name = +- g_regex_replace_literal (left_bracket_regex, tmp, -1, 0, +- "<", 0, NULL); +- g_free (tmp); +- +- if (subitem +- && g_object_get_data (G_OBJECT (subitem), +- XCI_PROP_EXTRA_ITEM)) { +- gchar *buf = +- g_strdup_printf ("%s", utf_variant_name); +- gtk_list_store_insert_with_values (list_store, &iter, -1, +- COMBO_BOX_MODEL_COL_SORT, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_VISIBLE, +- buf, +- COMBO_BOX_MODEL_COL_XKB_ID, +- xkb_id, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- language_desc, -1); +- g_free (buf); +- } else +- gtk_list_store_insert_with_values (list_store, &iter, +- -1, +- COMBO_BOX_MODEL_COL_SORT, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_VISIBLE, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_XKB_ID, +- xkb_id, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- language_desc, -1); +- g_free (utf_variant_name); +- g_free (country_desc); +- g_free (language_desc); +-} +- +-static void +-xkb_layout_filter_clear (GtkEntry * entry, +- GtkEntryIconPosition icon_pos, +- GdkEvent * event, gpointer user_data) +-{ +- gtk_entry_set_text (entry, ""); +-} +- +-static void +-xkb_layout_filter_changed (GtkBuilder * chooser_dialog) +-{ +- GtkTreeModelFilter *filtered_model = +- GTK_TREE_MODEL_FILTER (gtk_builder_get_object (chooser_dialog, +- "filtered_layout_list_model")); +- GtkWidget *xkb_layout_filter = CWID ("xkb_layout_filter"); +- const gchar *pattern = +- gtk_entry_get_text (GTK_ENTRY (xkb_layout_filter)); +- gchar *upattern = g_utf8_strup (pattern, -1); +- +- if (!g_strcmp0 (pattern, "")) { +- g_object_set (G_OBJECT (xkb_layout_filter), +- "secondary-icon-name", "edit-find-symbolic", +- "secondary-icon-activatable", FALSE, +- "secondary-icon-sensitive", FALSE, NULL); +- } else { +- g_object_set (G_OBJECT (xkb_layout_filter), +- "secondary-icon-name", "edit-clear-symbolic", +- "secondary-icon-activatable", TRUE, +- "secondary-icon-sensitive", TRUE, NULL); +- } +- +- if (search_pattern_list != NULL) +- g_strfreev (search_pattern_list); +- +- search_pattern_list = g_strsplit (upattern, " ", -1); +- g_free (upattern); +- +- gtk_tree_model_filter_refilter (filtered_model); +-} +- +-static void +-xkb_layout_chooser_selection_changed (GtkTreeSelection * selection, +- GtkBuilder * chooser_dialog) +-{ +- GList *selected_layouts = +- gtk_tree_selection_get_selected_rows (selection, NULL); +- GtkWidget *add_button = CWID ("btnOk"); +- GtkWidget *preview_button = CWID ("btnPreview"); +- gboolean anything_selected = g_list_length (selected_layouts) == 1; +- gboolean dupe = +- xkb_layout_chooser_selection_dupe (GTK_DIALOG +- (CWID +- ("xkb_layout_chooser"))); +- +- gtk_widget_set_sensitive (add_button, anything_selected && !dupe); +- gtk_widget_set_sensitive (preview_button, anything_selected); +-} +- +-static void +-xkb_layout_chooser_row_activated (GtkTreeView * tree_view, +- GtkTreePath * path, +- GtkTreeViewColumn * column, +- GtkBuilder * chooser_dialog) +-{ +- GtkWidget *add_button = CWID ("btnOk"); +- GtkWidget *dialog = CWID ("xkb_layout_chooser"); +- +- if (gtk_widget_is_sensitive (add_button)) +- gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); +-} +- +-static gboolean +-xkb_filter_layouts (GtkTreeModel * model, +- GtkTreeIter * iter, gpointer data) +-{ +- gchar *desc = NULL, *country_desc = NULL, *language_desc = +- NULL, **pattern; +- gboolean rv = TRUE; +- +- if (search_pattern_list == NULL || search_pattern_list[0] == NULL) +- return TRUE; +- +- gtk_tree_model_get (model, iter, +- COMBO_BOX_MODEL_COL_SORT, &desc, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- &country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- &language_desc, -1); +- +- pattern = search_pattern_list; +- do { +- gboolean is_pattern_found = FALSE; +- gchar *udesc = g_utf8_strup (desc, -1); +- if (udesc != NULL && g_strstr_len (udesc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } else if (country_desc != NULL +- && g_strstr_len (country_desc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } else if (language_desc != NULL +- && g_strstr_len (language_desc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } +- g_free (udesc); +- +- if (!is_pattern_found) { +- rv = FALSE; +- break; +- } +- +- } while (*++pattern != NULL); +- +- g_free (desc); +- g_free (country_desc); +- g_free (language_desc); +- return rv; +-} +- +-GtkWidget * +-xkb_layout_choose (GtkBuilder * dialog) +-{ +- GtkBuilder *chooser_dialog = gtk_builder_new (); +- GtkWidget *chooser, *xkb_filtered_layouts_list, *xkb_layout_filter; +- GtkTreeViewColumn *visible_column; +- GtkTreeSelection *selection; +- GtkListStore *model; +- GtkTreeModelFilter *filtered_model; +- gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE); +- gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR +- "/cinnamon-region-panel-layout-chooser.ui", +- NULL); +- chooser = CWID ("xkb_layout_chooser"); +- xkb_filtered_layouts_list = CWID ("xkb_filtered_layouts_list"); +- xkb_layout_filter = CWID ("xkb_layout_filter"); +- +- g_object_set_data (G_OBJECT (chooser), "xkb_filtered_layouts_list", +- xkb_filtered_layouts_list); +- visible_column = +- gtk_tree_view_column_new_with_attributes ("Layout", +- gtk_cell_renderer_text_new +- (), "markup", +- COMBO_BOX_MODEL_COL_VISIBLE, +- NULL); +- +- gtk_window_set_transient_for (GTK_WINDOW (chooser), +- GTK_WINDOW +- (gtk_widget_get_toplevel +- (WID ("region_notebook")))); +- +- gtk_tree_view_append_column (GTK_TREE_VIEW +- (xkb_filtered_layouts_list), +- visible_column); +- g_signal_connect_swapped (G_OBJECT (xkb_layout_filter), +- "notify::text", +- G_CALLBACK +- (xkb_layout_filter_changed), +- chooser_dialog); +- +- g_signal_connect (G_OBJECT (xkb_layout_filter), "icon-release", +- G_CALLBACK (xkb_layout_filter_clear), NULL); +- +- selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (xkb_filtered_layouts_list)); +- +- g_signal_connect (G_OBJECT (selection), +- "changed", +- G_CALLBACK +- (xkb_layout_chooser_selection_changed), +- chooser_dialog); +- +- xkb_layout_chooser_selection_changed (selection, chooser_dialog); +- +- g_signal_connect (G_OBJECT (xkb_filtered_layouts_list), +- "row-activated", +- G_CALLBACK (xkb_layout_chooser_row_activated), +- chooser_dialog); +- +- filtered_model = +- GTK_TREE_MODEL_FILTER (gtk_builder_get_object +- (chooser_dialog, +- "filtered_layout_list_model")); +- model = +- GTK_LIST_STORE (gtk_builder_get_object +- (chooser_dialog, "layout_list_model")); +- +- left_bracket_regex = g_regex_new ("<", 0, 0, NULL); +- +- xkl_config_registry_search_by_pattern (config_registry, +- NULL, +- (TwoConfigItemsProcessFunc) +- (xkl_layout_add_to_list), +- chooser_dialog); +- +- g_regex_unref (left_bracket_regex); +- +- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), +- COMBO_BOX_MODEL_COL_SORT, +- GTK_SORT_ASCENDING); +- +- gtk_tree_model_filter_set_visible_func (filtered_model, +- xkb_filter_layouts, +- NULL, NULL); +- +- gtk_widget_grab_focus (xkb_layout_filter); +- +- gtk_widget_show (chooser); +- +- return chooser; +-} +- +-gchar * +-xkb_layout_chooser_get_selected_id (GtkDialog * dialog) +-{ +- GtkTreeModel *filtered_list_model; +- GtkWidget *xkb_filtered_layouts_list = +- g_object_get_data (G_OBJECT (dialog), +- "xkb_filtered_layouts_list"); +- GtkTreeIter viter; +- gchar *v_id; +- GtkTreeSelection *selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (xkb_filtered_layouts_list)); +- GList *selected_layouts = +- gtk_tree_selection_get_selected_rows (selection, +- &filtered_list_model); +- +- if (g_list_length (selected_layouts) != 1) +- return NULL; +- +- gtk_tree_model_get_iter (filtered_list_model, +- &viter, +- (GtkTreePath *) (selected_layouts->data)); +- g_list_foreach (selected_layouts, +- (GFunc) gtk_tree_path_free, NULL); +- g_list_free (selected_layouts); +- +- gtk_tree_model_get (filtered_list_model, &viter, +- COMBO_BOX_MODEL_COL_XKB_ID, &v_id, -1); +- +- return v_id; +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkblt.c b/panels/region/cinnamon-region-panel-xkblt.c +--- a/panels/region/cinnamon-region-panel-xkblt.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkblt.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,470 +0,0 @@ +-/* cinnamon-region-panel-xkblt.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-enum { +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- SEL_LAYOUT_TREE_COL_ID, +- SEL_LAYOUT_TREE_COL_ENABLED, +- SEL_LAYOUT_N_COLS +-}; +- +-static int idx2select = -1; +-static int max_selected_layouts = -1; +- +-static GtkCellRenderer *text_renderer; +- +-static gboolean disable_buttons_sensibility_update = FALSE; +- +-static gboolean +-get_selected_iter (GtkBuilder *dialog, +- GtkTreeModel **model, +- GtkTreeIter *iter) +-{ +- GtkTreeSelection *selection; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected"))); +- +- return gtk_tree_selection_get_selected (selection, model, iter); +-} +- +-static void +-set_selected_path (GtkBuilder *dialog, +- GtkTreePath *path) +-{ +- GtkTreeSelection *selection; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected"))); +- +- gtk_tree_selection_select_path (selection, path); +-} +- +-static gint +-find_selected_layout_idx (GtkBuilder *dialog) +-{ +- GtkTreeIter selected_iter; +- GtkTreeModel *model; +- GtkTreePath *path; +- gint *indices; +- gint rv; +- +- if (!get_selected_iter (dialog, &model, &selected_iter)) +- return -1; +- +- path = gtk_tree_model_get_path (model, &selected_iter); +- if (path == NULL) +- return -1; +- +- indices = gtk_tree_path_get_indices (path); +- rv = indices[0]; +- gtk_tree_path_free (path); +- return rv; +-} +- +-gchar ** +-xkb_layouts_get_selected_list (void) +-{ +- gchar **retval; +- +- retval = g_settings_get_strv (xkb_keyboard_settings, +- GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS); +- if (retval == NULL || retval[0] == NULL) { +- g_strfreev (retval); +- retval = g_strdupv (initial_config.layouts_variants); +- } +- +- return retval; +-} +- +-gint +-xkb_get_default_group () +-{ +- return g_settings_get_int (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP); +-} +- +-void +-xkb_save_default_group (gint default_group) +-{ +- g_settings_set_int (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP, +- default_group); +-} +- +-static void +-xkb_layouts_enable_disable_buttons (GtkBuilder * dialog) +-{ +- GtkWidget *add_layout_btn = WID ("xkb_layouts_add"); +- GtkWidget *show_layout_btn = WID ("xkb_layouts_show"); +- GtkWidget *del_layout_btn = WID ("xkb_layouts_remove"); +- GtkWidget *selected_layouts_tree = WID ("xkb_layouts_selected"); +- GtkWidget *move_up_layout_btn = WID ("xkb_layouts_move_up"); +- GtkWidget *move_down_layout_btn = WID ("xkb_layouts_move_down"); +- +- GtkTreeSelection *s_selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (selected_layouts_tree)); +- const int n_selected_selected_layouts = +- gtk_tree_selection_count_selected_rows (s_selection); +- GtkTreeModel *selected_layouts_model = gtk_tree_view_get_model +- (GTK_TREE_VIEW (selected_layouts_tree)); +- const int n_selected_layouts = +- gtk_tree_model_iter_n_children (selected_layouts_model, +- NULL); +- gint sidx = find_selected_layout_idx (dialog); +- +- if (disable_buttons_sensibility_update) +- return; +- +- gtk_widget_set_sensitive (add_layout_btn, +- (n_selected_layouts < +- max_selected_layouts +- || max_selected_layouts == 0)); +- gtk_widget_set_sensitive (del_layout_btn, (n_selected_layouts > 1) +- && (n_selected_selected_layouts > 0)); +- gtk_widget_set_sensitive (show_layout_btn, +- (n_selected_selected_layouts > 0)); +- gtk_widget_set_sensitive (move_up_layout_btn, sidx > 0); +- gtk_widget_set_sensitive (move_down_layout_btn, sidx >= 0 +- && sidx < (n_selected_layouts - 1)); +-} +- +-static void +-update_layouts_list (GtkTreeModel *model, +- GtkBuilder *dialog) +-{ +- gboolean cont; +- GtkTreeIter iter; +- GPtrArray *array; +- +- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_free); +- cont = gtk_tree_model_get_iter_first (model, &iter); +- while (cont) { +- char *id; +- +- gtk_tree_model_get (model, &iter, +- SEL_LAYOUT_TREE_COL_ID, &id, +- -1); +- g_ptr_array_add (array, id); +- cont = gtk_tree_model_iter_next (model, &iter); +- } +- g_ptr_array_add (array, NULL); +- xkb_layouts_set_selected_list (array->pdata); +- g_ptr_array_free (array, TRUE); +- +- xkb_layouts_enable_disable_buttons (dialog); +-} +- +-static void +-xkb_layouts_drag_end (GtkWidget *widget, +- GdkDragContext *drag_context, +- gpointer user_data) +-{ +- update_layouts_list (gtk_tree_view_get_model (GTK_TREE_VIEW (widget)), +- GTK_BUILDER (user_data)); +-} +- +-void +-xkb_layouts_prepare_selected_tree (GtkBuilder * dialog) +-{ +- GtkListStore *list_store; +- GtkWidget *tree_view = WID ("xkb_layouts_selected"); +- GtkTreeSelection *selection; +- GtkTreeViewColumn *desc_column; +- +- list_store = gtk_list_store_new (SEL_LAYOUT_N_COLS, +- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); +- +- text_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ()); +- +- desc_column = +- gtk_tree_view_column_new_with_attributes (_("Layout"), +- text_renderer, +- "text", +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- "sensitive", +- SEL_LAYOUT_TREE_COL_ENABLED, +- NULL); +- selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); +- +- gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), +- GTK_TREE_MODEL (list_store)); +- +- gtk_tree_view_column_set_sizing (desc_column, +- GTK_TREE_VIEW_COLUMN_AUTOSIZE); +- gtk_tree_view_column_set_resizable (desc_column, TRUE); +- gtk_tree_view_column_set_expand (desc_column, TRUE); +- +- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), +- desc_column); +- +- g_signal_connect_swapped (G_OBJECT (selection), "changed", +- G_CALLBACK +- (xkb_layouts_enable_disable_buttons), +- dialog); +- max_selected_layouts = xkl_engine_get_max_num_groups (engine); +- +- /* Setting up DnD */ +- gtk_tree_view_set_reorderable (GTK_TREE_VIEW (tree_view), TRUE); +- g_signal_connect (G_OBJECT (tree_view), "drag-end", +- G_CALLBACK (xkb_layouts_drag_end), dialog); +-} +- +-gchar * +-xkb_layout_description_utf8 (const gchar * visible) +-{ +- char *l, *sl, *v, *sv; +- if (gkbd_keyboard_config_get_descriptions +- (config_registry, visible, &sl, &l, &sv, &v)) +- visible = +- gkbd_keyboard_config_format_full_description (l, v); +- return g_strstrip (g_strdup (visible)); +-} +- +-void +-xkb_layouts_fill_selected_tree (GtkBuilder * dialog) +-{ +- gchar **layouts = xkb_layouts_get_selected_list (); +- guint i; +- GtkListStore *list_store = +- GTK_LIST_STORE (gtk_tree_view_get_model +- (GTK_TREE_VIEW +- (WID ("xkb_layouts_selected")))); +- +- /* temporarily disable the buttons' status update */ +- disable_buttons_sensibility_update = TRUE; +- +- gtk_list_store_clear (list_store); +- +- for (i = 0; layouts != NULL && layouts[i] != NULL; i++) { +- char *cur_layout = layouts[i]; +- gchar *utf_visible = +- xkb_layout_description_utf8 (cur_layout); +- +- gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT, +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- utf_visible, +- SEL_LAYOUT_TREE_COL_ID, +- cur_layout, +- SEL_LAYOUT_TREE_COL_ENABLED, +- i < max_selected_layouts, -1); +- g_free (utf_visible); +- } +- +- g_strfreev (layouts); +- +- /* enable the buttons' status update */ +- disable_buttons_sensibility_update = FALSE; +- +- if (idx2select != -1) { +- GtkTreeSelection *selection = +- gtk_tree_view_get_selection ((GTK_TREE_VIEW +- (WID +- ("xkb_layouts_selected")))); +- GtkTreePath *path = +- gtk_tree_path_new_from_indices (idx2select, -1); +- gtk_tree_selection_select_path (selection, path); +- gtk_tree_path_free (path); +- idx2select = -1; +- } else { +- /* if there is nothing to select - just enable/disable the buttons, +- otherwise it would be done by the selection change */ +- xkb_layouts_enable_disable_buttons (dialog); +- } +-} +- +-static void +-add_default_switcher_if_necessary () +-{ +- gchar **layouts_list = xkb_layouts_get_selected_list(); +- gchar **options_list = xkb_options_get_selected_list (); +- gboolean was_appended; +- +- options_list = +- gkbd_keyboard_config_add_default_switch_option_if_necessary +- (layouts_list, options_list, &was_appended); +- if (was_appended) +- xkb_options_set_selected_list (options_list); +- g_strfreev (options_list); +-} +- +-static void +-chooser_response (GtkDialog *chooser, +- int response_id, +- GtkBuilder *dialog) +-{ +- if (response_id == GTK_RESPONSE_OK) { +- char *id, *name; +- GtkListStore *list_store; +- +- list_store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("xkb_layouts_selected")))); +- id = xkb_layout_chooser_get_selected_id (chooser); +- name = xkb_layout_description_utf8 (id); +- gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT, +- SEL_LAYOUT_TREE_COL_DESCRIPTION, name, +- SEL_LAYOUT_TREE_COL_ID, id, +- SEL_LAYOUT_TREE_COL_ENABLED, TRUE, +- -1); +- g_free (name); +- add_default_switcher_if_necessary (); +- update_layouts_list (GTK_TREE_MODEL (list_store), dialog); +- } +- +- xkb_layout_chooser_response (chooser, response_id); +-} +- +-static void +-add_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkWidget *chooser; +- +- chooser = xkb_layout_choose (dialog); +- g_signal_connect (G_OBJECT (chooser), "response", +- G_CALLBACK (chooser_response), dialog); +-} +- +-static void +-show_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- gint idx = find_selected_layout_idx (dialog); +- +- if (idx != -1) { +- GtkWidget *parent = WID ("region_notebook"); +- GtkWidget *popup = gkbd_keyboard_drawing_dialog_new (); +- gkbd_keyboard_drawing_dialog_set_group (popup, +- config_registry, +- idx); +- gtk_window_set_transient_for (GTK_WINDOW (popup), +- GTK_WINDOW +- (gtk_widget_get_toplevel +- (parent))); +- gtk_widget_show_all (popup); +- } +-} +- +-static void +-remove_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- gtk_list_store_remove (GTK_LIST_STORE (model), &iter); +- update_layouts_list (model, dialog); +-} +- +-static void +-move_up_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter, prev; +- GtkTreePath *path; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- prev = iter; +- if (!gtk_tree_model_iter_previous (model, &prev)) +- return; +- +- path = gtk_tree_model_get_path (model, &prev); +- +- gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &prev); +- +- update_layouts_list (model, dialog); +- +- set_selected_path (dialog, path); +- +- gtk_tree_path_free (path); +-} +- +-static void +-move_down_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter, next; +- GtkTreePath *path; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- next = iter; +- if (!gtk_tree_model_iter_next (model, &next)) +- return; +- +- path = gtk_tree_model_get_path (model, &next); +- +- gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &next); +- +- update_layouts_list (model, dialog); +- +- set_selected_path (dialog, path); +- +- gtk_tree_path_free (path); +-} +- +-void +-xkb_layouts_register_buttons_handlers (GtkBuilder * dialog) +-{ +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_add")), "clicked", +- G_CALLBACK (add_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_show")), "clicked", +- G_CALLBACK (show_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_remove")), "clicked", +- G_CALLBACK (remove_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_up")), +- "clicked", G_CALLBACK (move_up_selected_layout), +- dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_down")), +- "clicked", +- G_CALLBACK (move_down_selected_layout), dialog); +-} +- +-static void +-xkb_layouts_update_list (GSettings * settings, +- gchar * key, GtkBuilder * dialog) +-{ +- if (strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS) == 0) { +- xkb_layouts_fill_selected_tree (dialog); +- enable_disable_restoring (dialog); +- } +-} +- +-void +-xkb_layouts_register_conf_listener (GtkBuilder * dialog) +-{ +- g_signal_connect (xkb_keyboard_settings, "changed", +- G_CALLBACK (xkb_layouts_update_list), dialog); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkbot.c b/panels/region/cinnamon-region-panel-xkbot.c +--- a/panels/region/cinnamon-region-panel-xkbot.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbot.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,516 +0,0 @@ +-/* cinnamon-region-panel-xkbot.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * John Spray +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-static GtkBuilder *chooser_dialog = NULL; +-static const char *current1st_level_id = NULL; +-static GSList *option_checks_list = NULL; +-static GtkWidget *current_none_radio = NULL; +-static GtkWidget *current_expander = NULL; +-static gboolean current_multi_select = FALSE; +-static GSList *current_radio_group = NULL; +- +-#define OPTION_ID_PROP "optionID" +-#define SELCOUNTER_PROP "selectionCounter" +-#define GCONFSTATE_PROP "gconfState" +-#define EXPANDERS_PROP "expandersList" +- +-gchar ** +-xkb_options_get_selected_list (void) +-{ +- gchar **retval; +- +- retval = +- g_settings_get_strv (xkb_keyboard_settings, +- GKBD_KEYBOARD_CONFIG_KEY_OPTIONS); +- if (retval == NULL) { +- retval = g_strdupv (initial_config.options); +- } +- +- return retval; +-} +- +-/* Returns the selection counter of the expander (static current_expander) */ +-static int +-xkb_options_expander_selcounter_get (void) +-{ +- return +- GPOINTER_TO_INT (g_object_get_data +- (G_OBJECT (current_expander), +- SELCOUNTER_PROP)); +-} +- +-/* Increments the selection counter in the expander (static current_expander) +- using the value (can be 0)*/ +-static void +-xkb_options_expander_selcounter_add (int value) +-{ +- g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP, +- GINT_TO_POINTER +- (xkb_options_expander_selcounter_get () +- + value)); +-} +- +-/* Resets the seletion counter in the expander (static current_expander) */ +-static void +-xkb_options_expander_selcounter_reset (void) +-{ +- g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP, +- GINT_TO_POINTER (0)); +-} +- +-/* Formats the expander (static current_expander), based on the selection counter */ +-static void +-xkb_options_expander_highlight (void) +-{ +- char *utf_group_name = +- g_object_get_data (G_OBJECT (current_expander), +- "utfGroupName"); +- int counter = xkb_options_expander_selcounter_get (); +- if (utf_group_name != NULL) { +- gchar *titlemarkup = +- g_strconcat (counter > +- 0 ? "" : "", +- utf_group_name, "", NULL); +- gtk_expander_set_label (GTK_EXPANDER (current_expander), +- titlemarkup); +- g_free (titlemarkup); +- } +-} +- +-/* Add optionname from the backend's selection list if it's not +- already in there. */ +-static void +-xkb_options_select (gchar * optionname) +-{ +- gboolean already_selected = FALSE; +- gchar **options_list; +- guint i; +- +- options_list = xkb_options_get_selected_list (); +- for (i = 0; options_list != NULL && options_list[i] != NULL; i++) { +- gchar *option = options_list[i]; +- if (!strcmp (option, optionname)) { +- already_selected = TRUE; +- break; +- } +- } +- +- if (!already_selected) { +- options_list = +- gkbd_strv_append (options_list, g_strdup (optionname)); +- xkb_options_set_selected_list (options_list); +- } +- +- g_strfreev (options_list); +-} +- +-/* Remove all occurences of optionname from the backend's selection list */ +-static void +-xkb_options_deselect (gchar * optionname) +-{ +- gchar **options_list = xkb_options_get_selected_list (); +- if (options_list != NULL) { +- gchar **option = options_list; +- while (*option != NULL) { +- gchar *id = *option; +- if (!strcmp (id, optionname)) { +- gkbd_strv_behead (option); +- } else +- option++; +- } +- xkb_options_set_selected_list (options_list); +- } +- g_strfreev (options_list); +-} +- +-/* Return true if optionname describes a string already in the backend's +- list of selected options */ +-static gboolean +-xkb_options_is_selected (gchar * optionname) +-{ +- gboolean retval = FALSE; +- gchar **options_list = xkb_options_get_selected_list (); +- if (options_list != NULL) { +- gchar **option = options_list; +- while (*option != NULL) { +- if (!strcmp (*option, optionname)) { +- retval = TRUE; +- break; +- } +- option++; +- } +- } +- g_strfreev (options_list); +- return retval; +-} +- +-/* Make sure selected options stay visible when navigating with the keyboard */ +-static gboolean +-option_focused_cb (GtkWidget * widget, GdkEventFocus * event, +- gpointer data) +-{ +- GtkScrolledWindow *win = GTK_SCROLLED_WINDOW (data); +- GtkAllocation alloc; +- GtkAdjustment *adj; +- +- gtk_widget_get_allocation (widget, &alloc); +- adj = gtk_scrolled_window_get_vadjustment (win); +- gtk_adjustment_clamp_page (adj, alloc.y, alloc.y + alloc.height); +- +- return FALSE; +-} +- +-/* Update xkb backend to reflect the new UI state */ +-static void +-option_toggled_cb (GtkWidget * checkbutton, gpointer data) +-{ +- gpointer optionID = +- g_object_get_data (G_OBJECT (checkbutton), OPTION_ID_PROP); +- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton))) +- xkb_options_select (optionID); +- else +- xkb_options_deselect (optionID); +-} +- +-/* Add a check_button or radio_button to control a particular option +- This function makes particular use of the current... variables at +- the top of this file. */ +-static void +-xkb_options_add_option (XklConfigRegistry * config_registry, +- XklConfigItem * config_item, GtkBuilder * dialog) +-{ +- GtkWidget *option_check; +- gchar *utf_option_name = xci_desc_to_utf8 (config_item); +- /* Copy this out because we'll load it into the widget with set_data */ +- gchar *full_option_name = +- g_strdup (gkbd_keyboard_config_merge_items +- (current1st_level_id, config_item->name)); +- gboolean initial_state; +- +- if (current_multi_select) +- option_check = +- gtk_check_button_new_with_label (utf_option_name); +- else { +- if (current_radio_group == NULL) { +- /* The first radio in a group is to be "Default", meaning none of +- the below options are to be included in the selected list. +- This is a HIG-compliant alternative to allowing no +- selection in the group. */ +- option_check = +- gtk_radio_button_new_with_label +- (current_radio_group, _("Default")); +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON +- (option_check), +- TRUE); +- /* Make option name underscore - +- to enforce its first position in the list */ +- g_object_set_data_full (G_OBJECT (option_check), +- "utfOptionName", +- g_strdup (" "), g_free); +- option_checks_list = +- g_slist_append (option_checks_list, +- option_check); +- current_radio_group = +- gtk_radio_button_get_group (GTK_RADIO_BUTTON +- (option_check)); +- current_none_radio = option_check; +- +- g_signal_connect (option_check, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +- } +- option_check = +- gtk_radio_button_new_with_label (current_radio_group, +- utf_option_name); +- current_radio_group = +- gtk_radio_button_get_group (GTK_RADIO_BUTTON +- (option_check)); +- g_object_set_data (G_OBJECT (option_check), "NoneRadio", +- current_none_radio); +- } +- +- initial_state = xkb_options_is_selected (full_option_name); +- +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (option_check), +- initial_state); +- +- g_object_set_data_full (G_OBJECT (option_check), OPTION_ID_PROP, +- full_option_name, g_free); +- g_object_set_data_full (G_OBJECT (option_check), "utfOptionName", +- utf_option_name, g_free); +- +- g_signal_connect (option_check, "toggled", +- G_CALLBACK (option_toggled_cb), NULL); +- +- option_checks_list = +- g_slist_append (option_checks_list, option_check); +- +- g_signal_connect (option_check, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +- +- xkb_options_expander_selcounter_add (initial_state); +- g_object_set_data (G_OBJECT (option_check), GCONFSTATE_PROP, +- GINT_TO_POINTER (initial_state)); +-} +- +-static gint +-xkb_option_checks_compare (GtkWidget * chk1, GtkWidget * chk2) +-{ +- const gchar *t1 = +- g_object_get_data (G_OBJECT (chk1), "utfOptionName"); +- const gchar *t2 = +- g_object_get_data (G_OBJECT (chk2), "utfOptionName"); +- return g_utf8_collate (t1, t2); +-} +- +-/* Add a group of options: create title and layout widgets and then +- add widgets for all the options in the group. */ +-static void +-xkb_options_add_group (XklConfigRegistry * config_registry, +- XklConfigItem * config_item, GtkBuilder * dialog) +-{ +- GtkWidget *align, *vbox, *option_check; +- gboolean allow_multiple_selection = +- GPOINTER_TO_INT (g_object_get_data (G_OBJECT (config_item), +- XCI_PROP_ALLOW_MULTIPLE_SELECTION)); +- +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP); +- +- gchar *utf_group_name = xci_desc_to_utf8 (config_item); +- gchar *titlemarkup = +- g_strconcat ("", utf_group_name, "", NULL); +- +- current_expander = gtk_expander_new (titlemarkup); +- gtk_expander_set_use_markup (GTK_EXPANDER (current_expander), +- TRUE); +- g_object_set_data_full (G_OBJECT (current_expander), +- "utfGroupName", utf_group_name, g_free); +- g_object_set_data_full (G_OBJECT (current_expander), "groupId", +- g_strdup (config_item->name), g_free); +- +- g_free (titlemarkup); +- align = gtk_alignment_new (0, 0, 1, 1); +- gtk_alignment_set_padding (GTK_ALIGNMENT (align), 6, 12, 12, 0); +- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); +- gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); +- gtk_container_add (GTK_CONTAINER (align), vbox); +- gtk_container_add (GTK_CONTAINER (current_expander), align); +- +- current_multi_select = (gboolean) allow_multiple_selection; +- current_radio_group = NULL; +- current1st_level_id = config_item->name; +- +- option_checks_list = NULL; +- +- xkl_config_registry_foreach_option (config_registry, +- config_item->name, +- (ConfigItemProcessFunc) +- xkb_options_add_option, +- dialog); +- /* sort it */ +- option_checks_list = +- g_slist_sort (option_checks_list, +- (GCompareFunc) xkb_option_checks_compare); +- while (option_checks_list) { +- option_check = GTK_WIDGET (option_checks_list->data); +- gtk_box_pack_start (GTK_BOX (vbox), option_check, TRUE, +- TRUE, 0); +- option_checks_list = option_checks_list->next; +- } +- /* free it */ +- g_slist_free (option_checks_list); +- option_checks_list = NULL; +- +- xkb_options_expander_highlight (); +- +- expanders_list = g_slist_append (expanders_list, current_expander); +- g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP, +- expanders_list); +- +- g_signal_connect (current_expander, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +-} +- +-static gint +-xkb_options_expanders_compare (GtkWidget * expander1, +- GtkWidget * expander2) +-{ +- const gchar *t1 = +- g_object_get_data (G_OBJECT (expander1), "utfGroupName"); +- const gchar *t2 = +- g_object_get_data (G_OBJECT (expander2), "utfGroupName"); +- return g_utf8_collate (t1, t2); +-} +- +-/* Create widgets to represent the options made available by the backend */ +-void +-xkb_options_load_options (GtkBuilder * dialog) +-{ +- GtkWidget *opts_vbox = WID ("options_vbox"); +- GtkWidget *dialog_vbox = WID ("dialog_vbox"); +- GtkWidget *options_scroll = WID ("options_scroll"); +- GtkWidget *expander; +- GSList *expanders_list; +- +- current1st_level_id = NULL; +- current_none_radio = NULL; +- current_multi_select = FALSE; +- current_radio_group = NULL; +- +- /* fill the list */ +- xkl_config_registry_foreach_option_group (config_registry, +- (ConfigItemProcessFunc) +- xkb_options_add_group, +- dialog); +- /* sort it */ +- expanders_list = +- g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP); +- expanders_list = +- g_slist_sort (expanders_list, +- (GCompareFunc) xkb_options_expanders_compare); +- g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP, +- expanders_list); +- while (expanders_list) { +- expander = GTK_WIDGET (expanders_list->data); +- gtk_box_pack_start (GTK_BOX (opts_vbox), expander, FALSE, +- FALSE, 0); +- expanders_list = expanders_list->next; +- } +- +- /* Somewhere in gtk3 the top vbox in dialog is made non-expandable */ +- gtk_box_set_child_packing (GTK_BOX (dialog_vbox), options_scroll, +- TRUE, TRUE, 0, GTK_PACK_START); +- gtk_widget_show_all (dialog_vbox); +-} +- +-static void +-chooser_response_cb (GtkDialog * dialog, gint response, gpointer data) +-{ +- switch (response) { +- case GTK_RESPONSE_DELETE_EVENT: +- case GTK_RESPONSE_CLOSE: { +- /* just cleanup */ +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (dialog), +- EXPANDERS_PROP); +- g_object_set_data (G_OBJECT (dialog), +- EXPANDERS_PROP, NULL); +- g_slist_free (expanders_list); +- +- gtk_widget_destroy (GTK_WIDGET (dialog)); +- chooser_dialog = NULL; +- } +- break; +- } +-} +- +-/* Create popup dialog */ +-void +-xkb_options_popup_dialog (GtkBuilder * dialog) +-{ +- GtkWidget *chooser; +- +- chooser_dialog = gtk_builder_new (); +- gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE); +- gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR +- "/cinnamon-region-panel-options-dialog.ui", +- NULL); +- +- chooser = CWID ("xkb_options_dialog"); +- gtk_window_set_transient_for (GTK_WINDOW (chooser), +- GTK_WINDOW (gtk_widget_get_toplevel (WID ("region_notebook")))); +- gtk_window_set_modal (GTK_WINDOW (chooser), TRUE); +- xkb_options_load_options (chooser_dialog); +- +- g_signal_connect (chooser, "response", +- G_CALLBACK (chooser_response_cb), dialog); +- gtk_widget_show (chooser); +-} +- +-/* Update selected option counters for a group-bound expander */ +-static void +-xkb_options_update_option_counters (XklConfigRegistry * config_registry, +- XklConfigItem * config_item) +-{ +- gchar *full_option_name = +- g_strdup (gkbd_keyboard_config_merge_items +- (current1st_level_id, config_item->name)); +- gboolean current_state = +- xkb_options_is_selected (full_option_name); +- g_free (full_option_name); +- +- xkb_options_expander_selcounter_add (current_state); +-} +- +-/* Respond to a change in the xkb gconf settings */ +-static void +-xkb_options_update (GSettings * settings, gchar * key, GtkBuilder * dialog) +-{ +- if (!strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_OPTIONS)) { +- /* Updating options is handled by gconf notifies for each widget +- This is here to avoid calling it N_OPTIONS times for each gconf +- change. */ +- enable_disable_restoring (dialog); +- +- if (chooser_dialog != NULL) { +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (chooser_dialog), +- EXPANDERS_PROP); +- while (expanders_list) { +- current_expander = +- GTK_WIDGET (expanders_list->data); +- gchar *group_id = +- g_object_get_data (G_OBJECT +- (current_expander), +- "groupId"); +- current1st_level_id = group_id; +- xkb_options_expander_selcounter_reset (); +- xkl_config_registry_foreach_option +- (config_registry, group_id, +- (ConfigItemProcessFunc) +- xkb_options_update_option_counters, +- current_expander); +- xkb_options_expander_highlight (); +- expanders_list = expanders_list->next; +- } +- } +- } +-} +- +-void +-xkb_options_register_conf_listener (GtkBuilder * dialog) +-{ +- g_signal_connect (xkb_keyboard_settings, "changed", +- G_CALLBACK (xkb_options_update), dialog); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkbpv.c b/panels/region/cinnamon-region-panel-xkbpv.c +--- a/panels/region/cinnamon-region-panel-xkbpv.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbpv.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,120 +0,0 @@ +-/* cinnamon-region-panel-xkbpv.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-#ifdef HAVE_X11_EXTENSIONS_XKB_H +-#include "X11/XKBlib.h" +-/** +- * BAD STYLE: Taken from xklavier_private_xkb.h +- * Any ideas on architectural improvements are WELCOME +- */ +-extern gboolean xkl_xkb_config_native_prepare (XklEngine * engine, +- const XklConfigRec * data, +- XkbComponentNamesPtr +- component_names); +- +-extern void xkl_xkb_config_native_cleanup (XklEngine * engine, +- XkbComponentNamesPtr +- component_names); +- +-/* */ +-#endif +- +-static GkbdKeyboardDrawingGroupLevel groupsLevels[] = +- { {0, 1}, {0, 3}, {0, 0}, {0, 2} }; +-static GkbdKeyboardDrawingGroupLevel *pGroupsLevels[] = { +- groupsLevels, groupsLevels + 1, groupsLevels + 2, groupsLevels + 3 +-}; +- +-GtkWidget * +-xkb_layout_preview_create_widget (GtkBuilder * chooserDialog) +-{ +- GtkWidget *kbdraw = gkbd_keyboard_drawing_new (); +- +- gkbd_keyboard_drawing_set_groups_levels (GKBD_KEYBOARD_DRAWING +- (kbdraw), pGroupsLevels); +- return kbdraw; +-} +- +-void +-xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw, +- const gchar * id) +-{ +-#ifdef HAVE_X11_EXTENSIONS_XKB_H +- if (kbdraw != NULL) { +- if (id != NULL) { +- XklConfigRec *data; +- char **p, *layout, *variant; +- XkbComponentNamesRec component_names; +- +- data = xkl_config_rec_new (); +- if (xkl_config_rec_get_from_server (data, engine)) { +- if ((p = data->layouts) != NULL) +- g_strfreev (data->layouts); +- +- if ((p = data->variants) != NULL) +- g_strfreev (data->variants); +- +- data->layouts = g_new0 (char *, 2); +- data->variants = g_new0 (char *, 2); +- if (gkbd_keyboard_config_split_items +- (id, &layout, &variant) +- && variant != NULL) { +- data->layouts[0] = +- (layout == +- NULL) ? NULL : +- g_strdup (layout); +- data->variants[0] = +- (variant == +- NULL) ? NULL : +- g_strdup (variant); +- } else { +- data->layouts[0] = +- (id == +- NULL) ? NULL : g_strdup (id); +- data->variants[0] = NULL; +- } +- +- if (xkl_xkb_config_native_prepare +- (engine, data, &component_names)) { +- gkbd_keyboard_drawing_set_keyboard +- (GKBD_KEYBOARD_DRAWING +- (kbdraw), &component_names); +- +- xkl_xkb_config_native_cleanup +- (engine, &component_names); +- } +- } +- g_object_unref (G_OBJECT (data)); +- } else +- gkbd_keyboard_drawing_set_keyboard +- (GKBD_KEYBOARD_DRAWING (kbdraw), NULL); +- +- } +-#endif +-} +diff -uNrp a/panels/region/.indent.pro b/panels/region/.indent.pro +--- a/panels/region/.indent.pro 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/.indent.pro 2013-08-25 16:50:30.000000000 +0100 +@@ -0,0 +1,2 @@ ++-kr -i8 -pcs -lps -psl ++ +diff -uNrp a/panels/region/Makefile.am b/panels/region/Makefile.am +--- a/panels/region/Makefile.am 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/Makefile.am 2013-09-21 13:24:15.347949247 +0100 +@@ -23,12 +23,9 @@ libregion_la_SOURCES = \ + cinnamon-region-panel-lang.h \ + cinnamon-region-panel-system.c \ + cinnamon-region-panel-system.h \ +- cinnamon-region-panel-xkb.c \ +- cinnamon-region-panel-xkblt.c \ +- cinnamon-region-panel-xkbltadd.c \ +- cinnamon-region-panel-xkbot.c \ +- cinnamon-region-panel-xkbpv.c \ +- cinnamon-region-panel-xkb.h ++ cinnamon-region-panel-input.c \ ++ cinnamon-region-panel-input.h \ ++ $(NULL) + + libregion_la_LIBADD = $(PANEL_LIBS) $(REGION_PANEL_LIBS) $(builddir)/../common/liblanguage.la + +@@ -39,8 +36,8 @@ libregion_la_LDFLAGS = $(PANEL_LDFLAGS) + uidir = $(pkgdatadir)/ui + ui_DATA = \ + cinnamon-region-panel.ui \ +- cinnamon-region-panel-layout-chooser.ui \ +- cinnamon-region-panel-options-dialog.ui ++ cinnamon-region-panel-input-chooser.ui \ ++ $(NULL) + + desktopdir = $(datadir)/applications + Desktop_in_files = cinnamon-region-panel.desktop.in +diff -uNrp a/panels/region/region-module.c b/panels/region/region-module.c +--- a/panels/region/region-module.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/region-module.c 2013-09-21 13:24:15.347949247 +0100 +@@ -28,6 +28,7 @@ + void + g_io_module_load (GIOModule * module) + { ++ + /* register the panel */ + cc_region_panel_register (module); + } diff --git a/pkgs/desktops/cinnamon/systemd-support.patch b/pkgs/desktops/cinnamon/systemd-support.patch new file mode 100644 index 000000000000..feceaf05f7b6 --- /dev/null +++ b/pkgs/desktops/cinnamon/systemd-support.patch @@ -0,0 +1,536 @@ + +diff --git a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c +index 02930a3..7c1c519 100644 +--- a/plugins/media-keys/csd-media-keys-manager.c ++++ b/plugins/media-keys/csd-media-keys-manager.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_GUDEV + #include +@@ -121,6 +122,10 @@ static const gchar kb_introspection_xml[] = + #define VOLUME_STEP 5 /* percents for one volume button press */ + #define MAX_VOLUME 65536.0 + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate)) + + typedef struct { +@@ -167,6 +172,10 @@ struct CsdMediaKeysManagerPrivate + GDBusProxy *power_screen_proxy; + GDBusProxy *power_keyboard_proxy; + ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_keys_fd; ++ + /* Multihead stuff */ + GdkScreen *current_screen; + GSList *screens; +@@ -2213,6 +2222,11 @@ csd_media_keys_manager_stop (CsdMediaKeysManager *manager) + } + #endif /* HAVE_GUDEV */ + ++ if (priv->logind_proxy) { ++ g_object_unref (priv->logind_proxy); ++ priv->logind_proxy = NULL; ++ } ++ + if (priv->settings) { + g_object_unref (priv->settings); + priv->settings = NULL; +@@ -2356,9 +2370,85 @@ csd_media_keys_manager_class_init (CsdMediaKeysManagerClass *klass) + } + + static void ++inhibit_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdMediaKeysManager *manager = CSD_MEDIA_KEYS_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit keypresses: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_keys_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void + csd_media_keys_manager_init (CsdMediaKeysManager *manager) + { ++ GError *error; ++ GDBusConnection *bus; ++ ++ error = NULL; + manager->priv = CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager); ++ ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ if (bus == NULL) { ++ g_warning ("Failed to connect to system bus: %s", ++ error->message); ++ g_error_free (error); ++ return; ++ } ++ ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_sync (bus, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ &error); ++ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("Failed to connect to systemd: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (bus); ++ ++ g_debug ("Adding system inhibitors for power keys"); ++ manager->priv->inhibit_keys_fd = -1; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "handle-power-key:handle-suspend-key:handle-hibernate-key", ++ g_get_user_name (), ++ "Cinnamon handling keypresses", ++ "block"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_done, ++ manager); ++ + } + + static void +@@ -2375,6 +2465,8 @@ csd_media_keys_manager_finalize (GObject *object) + + if (media_keys_manager->priv->start_idle_id != 0) + g_source_remove (media_keys_manager->priv->start_idle_id); ++ if (media_keys_manager->priv->inhibit_keys_fd != -1) ++ close (media_keys_manager->priv->inhibit_keys_fd); + + G_OBJECT_CLASS (csd_media_keys_manager_parent_class)->finalize (object); + } +diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c +index b54cb5b..b9c5429 100644 +--- a/plugins/power/csd-power-manager.c ++++ b/plugins/power/csd-power-manager.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + #include + +@@ -79,6 +80,10 @@ + #define CSD_POWER_MANAGER_CRITICAL_ALERT_TIMEOUT 5 /* seconds */ + #define CSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */ + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + /* Keep this in sync with gnome-shell */ + #define SCREENSAVER_FADE_TIME 10 /* seconds */ + +@@ -203,6 +208,13 @@ struct CsdPowerManagerPrivate + GtkStatusIcon *status_icon; + guint xscreensaver_watchdog_timer_id; + gboolean is_virtual_machine; ++ ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_lid_switch_fd; ++ gboolean inhibit_lid_switch_taken; ++ gint inhibit_suspend_fd; ++ gboolean inhibit_suspend_taken; + }; + + enum { +@@ -3350,30 +3362,6 @@ lock_screensaver (CsdPowerManager *manager) + if (!do_lock) + return; + +- /* connect to the screensaver first */ +- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, +- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +- NULL, +- GS_DBUS_NAME, +- GS_DBUS_PATH, +- GS_DBUS_INTERFACE, +- NULL, +- sleep_cb_screensaver_proxy_ready_cb, +- manager); +-} +- +-static void +-upower_notify_sleep_cb (UpClient *client, +- UpSleepKind sleep_kind, +- CsdPowerManager *manager) +-{ +- gboolean do_lock; +- +- do_lock = g_settings_get_boolean (manager->priv->settings, +- "lock-on-suspend"); +- if (!do_lock) +- return; +- + /* connect to the screensaver first */ + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +@@ -3384,46 +3372,6 @@ upower_notify_sleep_cb (UpClient *client, + NULL, + sleep_cb_screensaver_proxy_ready_cb, + manager); +- +-} +- +-static void +-upower_notify_resume_cb (UpClient *client, +- UpSleepKind sleep_kind, +- CsdPowerManager *manager) +-{ +- gboolean ret; +- GError *error = NULL; +- +- /* this displays the unlock dialogue so the user doesn't have +- * to move the mouse or press any key before the window comes up */ +- if (manager->priv->screensaver_proxy != NULL) { +- g_dbus_proxy_call (manager->priv->screensaver_proxy, +- "SimulateUserActivity", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, NULL, NULL); +- } +- +- if (manager->priv->screensaver_proxy != NULL) { +- g_object_unref (manager->priv->screensaver_proxy); +- manager->priv->screensaver_proxy = NULL; +- } +- +- /* close existing notifications on resume, the system power +- * state is probably different now */ +- notify_close_if_showing (manager->priv->notification_low); +- notify_close_if_showing (manager->priv->notification_discharging); +- +- /* ensure we turn the panel back on after resume */ +- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +- GNOME_RR_DPMS_ON, +- &error); +- if (!ret) { +- g_warning ("failed to turn the panel on after resume: %s", +- error->message); +- g_error_free (error); +- } + } + + static void +@@ -3582,6 +3530,219 @@ disable_builtin_screensaver (gpointer unused) + return TRUE; + } + ++static void ++inhibit_lid_switch_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit lid switch: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_lid_switch_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_lid_switch_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_lid_switch_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void ++inhibit_lid_switch (CsdPowerManager *manager) ++{ ++ GVariant *params; ++ ++ if (manager->priv->inhibit_lid_switch_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding lid switch system inhibitor"); ++ manager->priv->inhibit_lid_switch_taken = TRUE; ++ ++ params = g_variant_new ("(ssss)", ++ "handle-lid-switch", ++ g_get_user_name (), ++ "Multiple displays attached", ++ "block"); ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ params, ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_lid_switch_done, ++ manager); ++} ++ ++static void ++inhibit_suspend_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit suspend: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_suspend_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++/* We take a delay inhibitor here, which causes logind to send a ++ * PrepareToSleep signal, which gives us a chance to lock the screen ++ * and do some other preparations. ++ */ ++static void ++inhibit_suspend (CsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding suspend delay inhibitor"); ++ manager->priv->inhibit_suspend_taken = TRUE; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "sleep", ++ g_get_user_name (), ++ "Cinnamon needs to lock the screen", ++ "delay"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_suspend_done, ++ manager); ++} ++ ++static void ++uninhibit_suspend (CsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_debug ("no suspend delay inhibitor"); ++ return; ++ } ++ g_debug ("Removing suspend delay inhibitor"); ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = FALSE; ++} ++ ++static void ++handle_suspend_actions (CsdPowerManager *manager) ++{ ++ gboolean do_lock; ++ ++ do_lock = g_settings_get_boolean (manager->priv->settings, ++ "lock-on-suspend"); ++ if (do_lock) ++ lock_screensaver (manager); ++ ++ /* lift the delay inhibit, so logind can proceed */ ++ uninhibit_suspend (manager); ++} ++ ++static void ++handle_resume_actions (CsdPowerManager *manager) ++{ ++ gboolean ret; ++ GError *error = NULL; ++ ++ /* this displays the unlock dialogue so the user doesn't have ++ * to move the mouse or press any key before the window comes up */ ++ g_dbus_connection_call (manager->priv->connection, ++ GS_DBUS_NAME, ++ GS_DBUS_PATH, ++ GS_DBUS_INTERFACE, ++ "SimulateUserActivity", ++ NULL, NULL, ++ G_DBUS_CALL_FLAGS_NONE, -1, ++ NULL, NULL, NULL); ++ ++ /* close existing notifications on resume, the system power ++ * state is probably different now */ ++ notify_close_if_showing (manager->priv->notification_low); ++ notify_close_if_showing (manager->priv->notification_discharging); ++ ++ /* ensure we turn the panel back on after resume */ ++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, ++ GNOME_RR_DPMS_ON, ++ &error); ++ if (!ret) { ++ g_warning ("failed to turn the panel on after resume: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ /* set up the delay again */ ++ inhibit_suspend (manager); ++} ++ ++static void ++upower_notify_sleep_cb (UpClient *client, ++ UpSleepKind sleep_kind, ++ CsdPowerManager *manager) ++{ ++ handle_suspend_actions (manager); ++} ++ ++static void ++upower_notify_resume_cb (UpClient *client, ++ UpSleepKind sleep_kind, ++ CsdPowerManager *manager) ++{ ++ handle_resume_actions (manager); ++} ++ ++static void ++logind_proxy_signal_cb (GDBusProxy *proxy, ++ const gchar *sender_name, ++ const gchar *signal_name, ++ GVariant *parameters, ++ gpointer user_data) ++{ ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ gboolean is_about_to_suspend; ++ ++ if (g_strcmp0 (signal_name, "PrepareForSleep") != 0) ++ return; ++ g_variant_get (parameters, "(b)", &is_about_to_suspend); ++ if (is_about_to_suspend) { ++ handle_suspend_actions (manager); ++ } else { ++ handle_resume_actions (manager); ++ } ++} ++ + static gboolean + is_hardware_a_virtual_machine (void) + { +@@ -3647,6 +3808,26 @@ csd_power_manager_start (CsdPowerManager *manager, + if (manager->priv->x11_screen == NULL) + return FALSE; + ++ /* Set up the logind proxy */ ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ error); ++ g_signal_connect (manager->priv->logind_proxy, "g-signal", ++ G_CALLBACK (logind_proxy_signal_cb), ++ manager); ++ ++ /* Set up a delay inhibitor to be informed about suspend attempts */ ++ inhibit_suspend (manager); ++ ++ /* Disable logind's lid handling while g-s-d is active */ ++ inhibit_lid_switch (manager); ++ + /* track the active session */ + manager->priv->session = cinnamon_settings_session_new (); + g_signal_connect (manager->priv->session, "notify::state", +@@ -3856,6 +4037,22 @@ csd_power_manager_stop (CsdPowerManager *manager) + manager->priv->up_client = NULL; + } + ++ if (manager->priv->inhibit_lid_switch_fd != -1) { ++ close (manager->priv->inhibit_lid_switch_fd); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_lid_switch_taken = FALSE; ++ } ++ if (manager->priv->inhibit_suspend_fd != -1) { ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = FALSE; ++ } ++ ++ if (manager->priv->logind_proxy != NULL) { ++ g_object_unref (manager->priv->logind_proxy); ++ manager->priv->logind_proxy = NULL; ++ } ++ + if (manager->priv->x11_screen != NULL) { + g_object_unref (manager->priv->x11_screen); + manager->priv->x11_screen = NULL; +@@ -3928,6 +4125,8 @@ static void + csd_power_manager_init (CsdPowerManager *manager) + { + manager->priv = CSD_POWER_MANAGER_GET_PRIVATE (manager); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_suspend_fd = -1; + } + + static void diff --git a/pkgs/desktops/e17/terminology/default.nix b/pkgs/desktops/e17/terminology/default.nix index f060d81bd00e..25dd95c7f19c 100644 --- a/pkgs/desktops/e17/terminology/default.nix +++ b/pkgs/desktops/e17/terminology/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "terminology-${version}"; - version = "0.3.0"; + version = "0.4.0"; src = fetchurl { - url = "http://download.enlightenment.org/releases/${name}.tar.gz"; - sha256 = "1dn5bjswqgnqza7bngc6afqza47yh27xfwf5qg2kzfgs008hp1bp"; + url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz"; + sha256 = "1ing9l19h7f1f843rcabbjaynps1as4mpc31xz2adkafb3xd3wk3"; }; buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ]; diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index e839d793365d..54e397fd4746 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -1,8 +1,11 @@ -{ callPackage, self, stdenv, gettext, gvfs, libunique, overrides ? {} }: +{ callPackage, self, stdenv, gettext, gvfs, libunique, bison2 +, libstartup_notification, overrides ? {} }: + let overridden = set // overrides; set = with overridden; { # Backward compatibility. gtkdoc = self.gtk_doc; - startupnotification = self.startup_notification; + startup_notification = libstartup_notification; + startupnotification = libstartup_notification; gnomedocutils = self.gnome_doc_utils; gnomeicontheme = self.gnome_icon_theme; gnomepanel = self.gnome_panel; @@ -19,7 +22,9 @@ let overridden = set // overrides; set = with overridden; { libglade = callPackage ./platform/libglade { }; - libgnomeprint = callPackage ./platform/libgnomeprint { }; + libgnomeprint = callPackage ./platform/libgnomeprint { + bison = bison2; + }; libgnomeprintui = callPackage ./platform/libgnomeprintui { }; @@ -60,10 +65,6 @@ let overridden = set // overrides; set = with overridden; { gtkhtml = callPackage ./platform/gtkhtml { }; - - # Freedesktop library - startup_notification = callPackage ./platform/startup-notification { }; - # Required for nautilus inherit (libunique); diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix index e9928aa73cf1..aca30f87dfc4 100644 --- a/pkgs/desktops/gnome-2/desktop/vte/default.nix +++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix @@ -9,7 +9,14 @@ stdenv.mkDerivation rec { sha256 = "00zrip28issgmz2cqk5k824cbqpbixi5x7k88zxksdqpnq1f414d"; }; - patches = [ ./alt.patch ]; + patches = [ + ./alt.patch + ( fetchurl { # CVE-2012-2738 + url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/" + + "vte/files/vte-0.28.2-limit-arguments.patch?revision=1.1"; + sha256 = "1s8agx74wa7wlv9ybd5h3dp4hzf4ddg7piyan37g2ab3fnvg4jhn"; + } ) + ]; buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++ stdenv.lib.optionals pythonSupport [python pygtk]; diff --git a/pkgs/desktops/gnome-2/platform/startup-notification/default.nix b/pkgs/desktops/gnome-2/platform/startup-notification/default.nix deleted file mode 100644 index b82b8a50992a..000000000000 --- a/pkgs/desktops/gnome-2/platform/startup-notification/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, xlibs }: - -stdenv.mkDerivation { - name = "startup-notification-0.9"; - src = fetchurl { - url = mirror://gnome/sources/startup-notification/0.9/startup-notification-0.9.tar.bz2; - sha256 = "03aqkgv8d29yx2vmv6bfdlxq3ahagrb7dbsvhd5d9acy6znimpk1"; - }; - buildInputs = [ pkgconfig xlibs.xlibs xlibs.xcbutil ]; -} diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix index 742036f16b3f..fc0c4f2a6bc0 100644 --- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix +++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix @@ -2,14 +2,14 @@ , intltool, dbus_glib, at_spi2_core, libSM }: stdenv.mkDerivation rec { - versionMajor = "2.10"; - versionMinor = "2"; + versionMajor = "2.12"; + versionMinor = "0"; moduleName = "at-spi2-atk"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1xfh89lydl8d18dhnzwvzcsyyybr5q3ik001qgq520l3qh8shj73"; + sha256 = "0crn3k6qvn6fjvgm68dj5ska1ppfgmdkaia2db1jp0b9y74nfm1v"; }; buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix index 2c401856b7f0..d60a0ff7480c 100644 --- a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix +++ b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix @@ -1,20 +1,21 @@ { stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib -, libX11, xextproto, libSM, libICE, libXtst, libXi }: +, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }: stdenv.mkDerivation (rec { - versionMajor = "2.10"; - versionMinor = "2"; + versionMajor = "2.12"; + versionMinor = "0"; moduleName = "at-spi2-core"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1qfxlbmbaihgmqgkxnywnji9wkbvn8pvbv20x5glv3jc9zw5innk"; + sha256 = "12gvsgdaxnxskndlhlmdkc50cfqgmzfc4n8la9944fz5k3fhwmfv"; }; buildInputs = [ python pkgconfig popt intltool dbus_glib libX11 xextproto libSM libICE libXtst libXi + gobjectIntrospection ]; # ToDo: on non-NixOS we create a symlink from there? diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix new file mode 100644 index 000000000000..9381f45105df --- /dev/null +++ b/pkgs/desktops/gnome-3/core/baobab/default.nix @@ -0,0 +1,42 @@ +{ stdenv, intltool, fetchurl, vala, libgtop +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "baobab-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/baobab/3.10/${name}.tar.xz"; + sha256 = "23ce8e4847ce5f1c8230e757532d94c84e6e273d6ec8fca20eecaed5f96563f9"; + }; + + configureFlags = [ "--disable-static" ]; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2 + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + preFixup = '' + rm $out/share/icons/hicolor/icon-theme.cache + rm $out/share/icons/HighContrast/icon-theme.cache + wrapProgram "$out/bin/baobab" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Baobab; + description = "Graphical application to analyse disk usage in any Gnome environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix index 4ee8143bb2b9..a6236f167440 100644 --- a/pkgs/desktops/gnome-3/core/dconf/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3 -, libxml2, intltool, docbook_xsl_ns, docbook_xsl }: +, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }: stdenv.mkDerivation rec { name = "dconf-${version}"; @@ -11,7 +11,16 @@ stdenv.mkDerivation rec { }; buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2 - intltool docbook_xsl docbook_xsl_ns ]; + intltool docbook_xsl docbook_xsl_ns makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/dconf-editor" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + + rm $out/lib/gio/modules/giomodule.cache + rm $out/share/icons/hicolor/icon-theme.cache + rm $out/share/icons/HighContrast/icon-theme.cache + ''; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix new file mode 100644 index 000000000000..051bc9b7fb25 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/empathy/default.nix @@ -0,0 +1,56 @@ +{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib +, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf +, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream +, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts +, gcr, libsecret, folks, pulseaudio, telepathy_mission_control +, telepathy_logger, libnotify, clutter, libsoup, gnutls +, evolution_data_server +, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info +, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee }: + +# TODO: enable more features + +stdenv.mkDerivation rec { + name = "empathy-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/empathy/3.10/${name}.tar.xz"; + sha256 = "49366acdd3c3ef9a74f63eb09920803c4c9df83056acbf8a7899e7890a9fb196"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard + gnome3.gnome_icon_theme hicolor_icon_theme + gnome_online_accounts shared_mime_info + gnome3.gnome_icon_theme_symbolic ]; + propagatedBuildInputs = [ folks telepathy_logger evolution_data_server + telepathy_mission_control ]; + buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool + libxml2 libxslt icu file makeWrapper + telepathy_glib clutter_gtk clutter-gst cogl + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf + libnotify clutter libsoup gnutls libgee p11_kit + libcanberra_gtk3 telepathy_farstream farstream + gnome3.gsettings_desktop_schemas file libtool librsvg ]; + + NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0" + "-I${dbus_libs}/include/dbus-1.0" + "-I${dbus_libs}/lib/dbus-1.0/include" ]; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + done + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Empathy; + description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols"; + maintainers = with maintainers; [ lethalman ]; + # TODO: license = [ licenses.gpl2 licenses.lgpl2 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix index d117964b1961..57f19dcaa321 100644 --- a/pkgs/desktops/gnome-3/core/eog/default.nix +++ b/pkgs/desktops/gnome-3/core/eog/default.nix @@ -14,10 +14,13 @@ stdenv.mkDerivation rec { [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/eog" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix new file mode 100644 index 000000000000..9df3a7ed01e5 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu +, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool +, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit +, sqlite, gcr, avahi, nss, isocodes, itstool, file +, hicolor_icon_theme, gdk_pixbuf, librsvg }: + +stdenv.mkDerivation rec { + name = "epiphany-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/epiphany/3.10/${name}.tar.xz"; + sha256 = "c18235ecceaa9c76e7d90d370861cb2bba45019e1e14391a00dac3d2e94a0db7"; + }; + + # Tests need an X display + configureFlags = [ "--disable-static --disable-tests" ]; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + nativeBuildInputs = [ pkgconfig file ]; + + preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; + + buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file + webkitgtk libsoup libsecret gnome_desktop libnotify libtool + sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools + gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ]; + + NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss"; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/epiphany" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Epiphany; + description = "WebKit based web browser for GNOME"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index b4282c410073..4b50840534cf 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -2,6 +2,7 @@ , glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3 , poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper , librsvg, recentListSize ? null # 5 is not enough, allow passing a different number +, gobjectIntrospection }: stdenv.mkDerivation rec { @@ -14,20 +15,20 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig intltool perl perlXMLParser libxml2 - glib gtk3 pango atk gdk_pixbuf - itstool gnome3.gnome_icon_theme gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas + glib gtk3 pango atk gdk_pixbuf gobjectIntrospection + itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas poppler ghostscriptX djvulibre libspectre - makeWrapper libsecret + makeWrapper libsecret librsvg ]; - - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - configureFlags = [ "--disable-nautilus" # Do not use nautilus - "--disable-dbus" # strange compilation error + "--enable-introspection" ]; + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + preConfigure = with stdenv.lib; optionalString doCheck '' for file in test/*.py; do @@ -39,12 +40,14 @@ stdenv.mkDerivation rec { sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c ''; - postInstall = '' + preFixup = '' # Tell Glib/GIO about the MIME info directory, which is used # by `g_file_info_get_content_type ()'. wrapProgram "$out/bin/evince" \ - --set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf/loaders.cache \ - --prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${gtk3}/share:${shared_mime_info}/share:$out/share" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache ''; doCheck = false; # would need pythonPackages.dogTail, which is missing diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix new file mode 100644 index 000000000000..9e7d0cb3da0a --- /dev/null +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -0,0 +1,32 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, python, intltool, libsoup, libxml2, libsecret +, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }: + + +stdenv.mkDerivation rec { + name = "evolution-data-server-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz"; + sha256 = "1fgchc1gzrhhzgn4zf9par4yz72m82j871kf7pky458mh4c4sf0g"; + }; + + buildInputs = with gnome3; + [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret + gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper ] + ++ stdenv.lib.optional valaSupport vala; + + # uoa irrelevant for now + configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"] + ++ stdenv.lib.optional valaSupport "--enable-vala-bindings"; + + preFixup = '' + for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do + wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix new file mode 100644 index 000000000000..12518c634c4f --- /dev/null +++ b/pkgs/desktops/gnome-3/core/folks/default.nix @@ -0,0 +1,40 @@ +{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool +, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs +, telepathy_glib, evolution_data_server, libsecret, db }: + +# TODO: enable more folks backends + +stdenv.mkDerivation rec { + name = "folks-0.9.6"; + + src = fetchurl { + url = "mirror://gnome/sources/folks/0.9/${name}.tar.xz"; + sha256 = "a67e055b5a2724a34a80946e2940c4c0ad708cb1f4e0a09407c6b69a5e40267f"; + }; + + propagatedBuildInputs = [ glib gnome3.libgee sqlite ]; + # dbus_daemon needed for tests + buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs + vala libsecret libxml2 libsoup nspr nss intltool db ]; + nativeBuildInputs = [ pkgconfig ]; + + configureFlags = "--disable-fatal-warnings"; + + NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss" + "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"]; + + enableParallelBuilding = true; + + postBuild = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "Folks"; + + homepage = https://wiki.gnome.org/Projects/Folks; + + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [ lethalman ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix index fc7471019bdf..47dae0486e93 100644 --- a/pkgs/desktops/gnome-3/core/gconf/default.nix +++ b/pkgs/desktops/gnome-3/core/gconf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, dbus_glib, gtk, glib, libxml2 +{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2 , intltool, polkit, orbit }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"; }; - buildInputs = [ libxml2 polkit gtk orbit ]; + buildInputs = [ libxml2 polkit gnome3.gtk orbit ]; propagatedBuildInputs = [ glib dbus_glib ]; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix index 7b7588b95284..a1fdd4712820 100644 --- a/pkgs/desktops/gnome-3/core/gcr/default.nix +++ b/pkgs/desktops/gnome-3/core/gcr/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib -, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }: +, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk +, gobjectIntrospection, makeWrapper }: stdenv.mkDerivation rec { name = "gcr-3.10.1"; @@ -10,14 +11,17 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig intltool gnupg p11_kit glib - libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk + pkgconfig intltool gnupg p11_kit glib gobjectIntrospection + libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper ]; - configureFlags = [ "--disable-introspection" ]; - #doCheck = true; + preFixup = '' + wrapProgram "$out/bin/gcr-viewer" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix index 2955c5f399b9..3df5ab40eaf8 100644 --- a/pkgs/desktops/gnome-3/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/core/gdm/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11 -, gtk, libcanberra_gtk3, pam, libtool -}: +, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }: stdenv.mkDerivation rec { name = "gdm-3.10.0.1"; src = fetchurl { - url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz"; + url = "mirror://gnome/sources/gdm/3.10/${name}.tar.xz"; sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl"; }; - buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice libX11 gtk libcanberra_gtk3 pam libtool ]; + buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice + gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ]; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix index e4a0752eb4ae..429d147e728b 100644 --- a/pkgs/desktops/gnome-3/core/gjs/default.nix +++ b/pkgs/desktops/gnome-3/core/gjs/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_17 }: +{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_17, pango }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = with gnome3; - [ gobjectIntrospection pkgconfig glib ]; + [ gobjectIntrospection pkgconfig glib pango ]; propagatedBuildInputs = [ spidermonkey_17 ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix new file mode 100644 index 000000000000..3879b81859a4 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, pkgconfig, intltool }: + +stdenv.mkDerivation rec { + name = "gnome-backgrounds-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-backgrounds/3.10/${name}.tar.xz"; + sha256 = "11rv03m4hznpx0brf47hil04199z3jjvl1aq7q0lnill3yrffiyc"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix new file mode 100644 index 000000000000..205961a91713 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix @@ -0,0 +1,36 @@ +{ stdenv, intltool, fetchurl, pkgconfig, libxml2 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-calculator-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-calculator/3.10/${name}.tar.xz"; + sha256 = "0gkddnk9x76895xrz0ps4yny36w62fhi459gwmxqqb9kx5934n1f"; + }; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxml2 gnome3.gtksourceview + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-calculator" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/Calculator; + description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/core/gnome-common/default.nix new file mode 100644 index 000000000000..12b2510dc436 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-common/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, which, autoconf, automake }: + +stdenv.mkDerivation rec { + name = "gnome-common-3.10.0"; + + src = fetchurl { + url = "https://download.gnome.org/sources/gnome-common/3.10/${name}.tar.xz"; + sha256 = "aed69474a671e046523827f73ba5e936d57235b661db97900db7356e1e03b0a3"; + }; + + patches = [(fetchurl { + url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; + sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; + })]; + + propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome_common tends to require which +} diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch new file mode 100644 index 000000000000..926762defbde --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch @@ -0,0 +1,10 @@ +--- configure.ac.orig 2014-04-08 10:25:49.497620879 +0200 ++++ configure.ac 2014-04-08 10:26:36.639440950 +0200 +@@ -43,6 +43,7 @@ + folks-telepathy + folks-eds + libnotify ++ dbus-glib-1 + telepathy-glib >= 0.17.5 + libebook-1.2 >= 3.5.3 + libedataserver-1.2 >= 3.5.3 diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix new file mode 100644 index 000000000000..f8059f952e62 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix @@ -0,0 +1,51 @@ +{ stdenv, intltool, fetchurl, evolution_data_server, db +, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret +, bash, makeWrapper, itstool, folks, libnotify, libxml2 +, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss +, libsoup, vala, dbus_glib, automake114x, autoconf }: + +stdenv.mkDerivation rec { + name = "gnome-contacts-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-contacts/3.10/${name}.tar.xz"; + sha256 = "e119c32bb10136e7190f11f79334fa82ed56468cff5bb7836da0ebf7b572779b"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + # force build from vala + preBuild = '' + touch src/*.vala + ''; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server + gnome3.gsettings_desktop_schemas makeWrapper file libnotify + folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib + libxml2 libsoup gnome3.gnome_online_accounts nspr nss + vala automake114x autoconf db ]; + + preFixup = '' + for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + patches = [ ./configure_dbus_glib.patch ./fix_row_selected.patch ]; + + patchFlags = "-p0"; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Contacts; + description = "Contacts is GNOME's integrated address book"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch new file mode 100644 index 000000000000..b379b4b8ee97 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch @@ -0,0 +1,11 @@ +--- src/contacts-view.vala.orig 2014-04-08 11:35:36.302252460 +0200 ++++ src/contacts-view.vala 2014-04-08 11:37:37.045343221 +0200 +@@ -265,7 +265,7 @@ + data.destroy (); + } + +- public override void row_selected (ListBoxRow row) { ++ public override void row_selected (ListBoxRow? row) { + var data = row as ContactDataRow; + var contact = data != null ? data.contact : null; + selection_changed (contact); diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix new file mode 100644 index 000000000000..1222f03d66e3 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -0,0 +1,62 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper +, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig +, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify +, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk +, cracklib, python, krb5, networkmanagerapplet, networkmanager +, libwacom, samba, shared_mime_info, tzdata, icu, libtool +, docbook_xsl, docbook_xsl_ns, modemmanager }: + +# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules +# TODO: bluetooth, wacom, smbclient, printers + +stdenv.mkDerivation rec { + name = "gnome-control-center-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-control-center/3.10/${name}.tar.xz"; + sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + buildInputs = with gnome3; + [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas + libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus + gnome_online_accounts libsoup colord pulseaudio fontconfig colord-gtk libpwquality + accountservice krb5 networkmanagerapplet libwacom samba libnotify libxkbfile + shared_mime_info icu libtool docbook_xsl docbook_xsl_ns + networkmanager modemmanager makeWrapper ]; + + preBuild = '' + substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab" + substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab" + + # hack to make test-endianess happy + mkdir -p $out/share/locale + substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/" + ''; + + preFixup = with gnome3; '' + wrapProgram $out/bin/gnome-control-center \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + for i in $out/share/applications/*; do + substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center" + done + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + patches = [ ./search_providers_dir.patch ]; + + meta = with stdenv.lib; { + description = "Single sign-on framework for GNOME"; + maintainers = with maintainers; [ lethalman ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch new file mode 100644 index 000000000000..7f5ad970f34e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch @@ -0,0 +1,17 @@ +diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c +index d08e230..3bff4ad 100644 +--- a/panels/search/cc-search-panel.c ++++ b/panels/search/cc-search-panel.c +@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self) + { + GFile *providers_location; + +- providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers"); ++ const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR"); ++ if (search_providers_dir == NULL) { ++ search_providers_dir = DATADIR "/gnome-shell/search-providers"; ++ } ++ providers_location = g_file_new_for_path (search_providers_dir); + g_file_enumerate_children_async (providers_location, + "standard::type,standard::name,standard::content-type", + G_FILE_QUERY_INFO_NONE, diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix new file mode 100644 index 000000000000..6f68916b781e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "gnome-dictionary-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz"; + sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-dictionary" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Dictionary; + description = "Dictionary is the GNOME application to look up definitions"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix new file mode 100644 index 000000000000..334471c2943c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -0,0 +1,42 @@ +{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify +, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python +, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }: + +stdenv.mkDerivation rec { + name = "gnome-disk-utility-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-disk-utility/3.10/${name}.tar.xz"; + sha256 = "1amqi2bribxn8r8k8mvxh3710rmdll9963smf0v59v0iwxi3mqil"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme + librsvg udisks2 gnome3.gnome_settings_daemon + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxslt libtool libsecret libpwquality cracklib + libnotify libdvdread libcanberra_gtk3 docbook_xsl + gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-disks" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = http://en.wikipedia.org/wiki/GNOME_Disks; + description = "A udisks graphical front-end"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix new file mode 100644 index 000000000000..cba651ca36a3 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix @@ -0,0 +1,37 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool +, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-font-viewer-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-font-viewer/3.10/${name}.tar.xz"; + sha256 = "3928350f58ac6c95f44b64cba1a5f03437b19d9b2645a7b01176067504fdd652"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-font-viewer" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + description = "Program that can preview fonts and create thumbnails for fonts"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme-symbolic/default.nix new file mode 100644 index 000000000000..feb3d84b994e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme-symbolic/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, gnome3, iconnamingutils, gtk }: + +stdenv.mkDerivation rec { + name = "gnome-icon-theme-symbolic-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.10/${name}.tar.xz"; + sha256 = "344e88e5f9dac3184bf012d9bac972110df2133b93d76f2ad128d4c9cbf41412"; + }; + + configureFlags = "--enable-icon-mapping"; + + # Avoid postinstall make hooks + installPhase = '' + make install-exec-am install-data-local install-pkgconfigDATA + make -C src install + ''; + + buildInputs = [ pkgconfig iconnamingutils gtk gnome3.gnome_icon_theme ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix index 474a2ccb9a45..5b16f827ae00 100644 --- a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66"; }; + setupHook = ./setup-hook.sh; + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/core/gnome-icon-theme/setup-hook.sh new file mode 100644 index 000000000000..d7156f3d4630 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme/setup-hook.sh @@ -0,0 +1,10 @@ +make_gtk_applications_find_icon_themes() { + + # where to find icon themes + if [ -d "$1/share/icons" ]; then + addToSearchPath XDG_ICON_DIRS $1/share + fi + +} + +envHooks+=(make_gtk_applications_find_icon_themes) diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix index 14f0110e374d..dbb8da93c6cb 100644 --- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt -, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit -, docbook_xsl_ns, docbook_xsl }: +, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper +, docbook_xsl_ns, docbook_xsl, gnome3 }: stdenv.mkDerivation rec { name = "gnome-keyring-3.10.1"; @@ -10,9 +10,9 @@ stdenv.mkDerivation rec { sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q"; }; - buildInputs = [ + buildInputs = with gnome3; [ dbus libgcrypt pam python gtk3 gconf libgnome_keyring - pango gcr gdk_pixbuf atk p11_kit + pango gcr gdk_pixbuf atk p11_kit makeWrapper ]; propagatedBuildInputs = [ glib libtasn1 libxslt ]; @@ -25,6 +25,13 @@ stdenv.mkDerivation rec { "--with-pkcs11-modules=$$out/lib/pkcs11/" ]; + preFixup = '' + wrapProgram "$out/bin/gnome-keyring" \ + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + wrapProgram "$out/bin/gnome-keyring-daemon" \ + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix index a8e77a32bdc0..37d2ea1c0863 100644 --- a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-menus/default.nix @@ -1,18 +1,19 @@ -{ stdenv, fetchurl, intltool, pkgconfig, glib }: -let - version = "3.10.1"; -in -stdenv.mkDerivation { - name = "gnome-menus-${version}"; +{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }: - src = fetchurl { - url = "http://ftp.gnome.org/pub/gnome/sources/gnome-menus/3.10/gnome-menus-3.10.1.tar.xz"; +stdenv.mkDerivation rec { + name = "gnome-menus-${version}"; + version = "3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz"; sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6"; }; + makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; + preBuild = "patchShebangs ./scripts"; - buildInputs=[ intltool pkgconfig glib ]; + buildInputs = [ intltool pkgconfig glib gobjectIntrospection ]; meta = { homepage = "http://www.gnome.org"; diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix index 3040d817a16f..8c4594357333 100644 --- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix @@ -6,12 +6,14 @@ stdenv.mkDerivation rec { name = "gnome-online-accounts-3.10.2"; src = fetchurl { - url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-online-accounts/3.10/${name}.tar.xz"; sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b"; }; NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0"; + enableParallelBuilding = true; + buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix new file mode 100644 index 000000000000..7b94d0f90270 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix @@ -0,0 +1,37 @@ +{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-screenshot-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-screenshot/3.10/${name}.tar.xz"; + sha256 = "1nb56kzcj5z4hmrmxap5r53smi52ki3pc8qmhi4rymkgqswyk7bh"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-screenshot" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot; + description = "Utility used in the GNOME desktop environment for taking screenshots"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 404269861829..f999702af54a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower -, libxslt, intltool, makeWrapper }: +, libxslt, intltool, makeWrapper, systemd }: stdenv.mkDerivation rec { @@ -10,16 +10,17 @@ stdenv.mkDerivation rec { sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n"; }; + configureFlags = "--enable-systemd"; + buildInputs = with gnome3; [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt - gsettings_desktop_schemas upower intltool gconf makeWrapper ]; + gnome3.gnome_settings_daemon + gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ]; - # TODO: dbus, gnome-shell, gnome-settings-daemon - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-session" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix index cce0ff46ca0b..7a50b8db56fd 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix @@ -1,7 +1,7 @@ { fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst , libxkbfile, pulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit , geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool -, docbook_xsl, docbook_xsl_ns, makeWrapper }: +, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus }: stdenv.mkDerivation rec { name = "gnome-settings-daemon-3.10.2"; @@ -11,21 +11,20 @@ stdenv.mkDerivation rec { sha256 = "0r42lzlgk0w40ws4d3s7yayn6n8zqlnh5b6k88gvgv1lwk39k240"; }; - configureFlags = "--disable-ibus"; - # fatal error: gio/gunixfdlist.h: No such file or directory NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; buildInputs = with gnome3; - [ intltool pkgconfig gtk glib gsettings_desktop_schemas libnotify gnome_desktop + [ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas libnotify gnome_desktop lcms2 libXtst libxkbfile pulseaudio libcanberra_gtk3 upower colord libgweather polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt - libtool docbook_xsl docbook_xsl_ns makeWrapper ]; + libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ]; - postInstall = '' + preFixup = '' wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share" + --prefix PATH : "${glib}/bin" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix new file mode 100644 index 000000000000..00974edb1db3 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix @@ -0,0 +1,26 @@ +{ stdenv, intltool, fetchurl, libgtop +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool +, gnome3, file }: + +stdenv.mkDerivation rec { + name = "gnome-shell-extensions-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz"; + sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool + makeWrapper file ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions; + description = "Modify and extend GNOME Shell functionality and behavior"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix new file mode 100644 index 000000000000..554b09a1e592 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -0,0 +1,48 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret +, python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns +, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip +, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper +, accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: + +# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup + +stdenv.mkDerivation rec { + name = "gnome-shell-3.10.2.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell/3.10/${name}.tar.xz"; + sha256 = "0k642y6h878v6mczx4z1zj4pjl7z4bvq02raxxwxkjyvyz2fv36j"; + }; + + buildInputs = with gnome3; + [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountservice + libcroco intltool libsecret pkgconfig python libsoup polkit libcanberra gdk_pixbuf librsvg + clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns + libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server + libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center + at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ]; + + preBuild = '' + patchShebangs src/data-to-c.pl + substituteInPlace data/Makefile --replace " install-keysDATA" "" + ''; + + preFixup = with gnome3; '' + wrapProgram "$out/bin/gnome-shell" \ + --prefix PATH : "${unzip}/bin" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + + wrapProgram "$out/libexec/gnome-shell-calendar-server" \ + --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + patches = [ ./fix_background_corruption.patch ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix_background_corruption.patch new file mode 100644 index 000000000000..9cb041bcce2c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-shell/fix_background_corruption.patch @@ -0,0 +1,147 @@ +commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d +Author: Jasper St. Pierre +Date: Thu Nov 7 17:14:47 2013 -0500 + + layout: Fix several issues with the background management code + + If monitor-changed fires at startup, it will destroy all of the + backgrounds, but since this._isStartup is true, won't recreate any + of them. Additionally, since _bgManagers is indexed by monitor index, + if the primary index is not 0, it could become a sparse array (e.g. + [undefined, undefined, primaryBackground]), and our for loop will + crash trying to access properties of undefined. + + Fix both of these issues by always creating background managers for + every monitor, hiding them on startup but only showing them after + the startup animation is complete. + + One thing we need to watch out for is that while LayoutManager is + constructing, Main.uiGroup / Main.layoutManager will be undefined, + so addBackgroundMenu will fail. Fix this by passing down the uiGroup + to the background menu code. + + https://bugzilla.gnome.org/show_bug.cgi?id=709313 + +diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js +index 06e698c..dcbbb39 100644 +--- a/js/ui/backgroundMenu.js ++++ b/js/ui/backgroundMenu.js +@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({ + Name: 'BackgroundMenu', + Extends: PopupMenu.PopupMenu, + +- _init: function(source) { ++ _init: function(source, layoutManager) { + this.parent(source, 0, St.Side.TOP); + + this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop'); +@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({ + + this.actor.add_style_class_name('background-menu'); + +- Main.uiGroup.add_actor(this.actor); ++ layoutManager.uiGroup.add_actor(this.actor); + this.actor.hide(); + } + }); + +-function addBackgroundMenu(actor) { ++function addBackgroundMenu(actor, layoutManager) { + let cursor = new St.Bin({ opacity: 0 }); +- Main.uiGroup.add_actor(cursor); ++ layoutManager.uiGroup.add_actor(cursor); + + actor.reactive = true; +- actor._backgroundMenu = new BackgroundMenu(cursor); ++ actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager); + actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor }); + actor._backgroundManager.addMenu(actor._backgroundMenu); + +diff --git a/js/ui/layout.js b/js/ui/layout.js +index 17073a6..80bae9d 100644 +--- a/js/ui/layout.js ++++ b/js/ui/layout.js +@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({ + this.emit('hot-corners-changed'); + }, + +- _createBackground: function(monitorIndex) { ++ _addBackgroundMenu: function(bgManager) { ++ BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this); ++ }, ++ ++ _createBackgroundManager: function(monitorIndex) { + let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup, + layoutManager: this, + monitorIndex: monitorIndex }); +- BackgroundMenu.addBackgroundMenu(bgManager.background.actor); +- +- bgManager.connect('changed', Lang.bind(this, function() { +- BackgroundMenu.addBackgroundMenu(bgManager.background.actor); +- })); + +- this._bgManagers[monitorIndex] = bgManager; ++ bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu)); ++ this._addBackgroundMenu(bgManager); + +- return bgManager.background; ++ return bgManager; + }, + +- _createSecondaryBackgrounds: function() { ++ _showSecondaryBackgrounds: function() { + for (let i = 0; i < this.monitors.length; i++) { + if (i != this.primaryIndex) { +- let background = this._createBackground(i); +- ++ let background = this._bgManagers[i].background; ++ background.actor.show(); + background.actor.opacity = 0; + Tweener.addTween(background.actor, + { opacity: 255, +@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({ + } + }, + +- _createPrimaryBackground: function() { +- this._createBackground(this.primaryIndex); +- }, +- + _updateBackgrounds: function() { + let i; + for (i = 0; i < this._bgManagers.length; i++) +@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({ + if (Main.sessionMode.isGreeter) + return; + +- if (this._startingUp) +- return; +- + for (let i = 0; i < this.monitors.length; i++) { +- this._createBackground(i); ++ let bgManager = this._createBackgroundManager(i); ++ this._bgManagers.push(bgManager); ++ ++ if (i != this.primaryIndex && this._startingUp) ++ bgManager.background.actor.hide(); + } + }, + +@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({ + if (Main.sessionMode.isGreeter) { + this.panelBox.translation_y = -this.panelBox.height; + } else { +- this._createPrimaryBackground(); ++ this._updateBackgrounds(); + + // We need to force an update of the regions now before we scale + // the UI group to get the coorect allocation for the struts. +@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({ + this.keyboardBox.show(); + + if (!Main.sessionMode.isGreeter) { +- this._createSecondaryBackgrounds(); ++ this._showSecondaryBackgrounds(); + global.window_group.remove_clip(); + } + diff --git a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix new file mode 100644 index 000000000000..cdc4b732b97e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl, pkgconfig +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }: + +stdenv.mkDerivation rec { + name = "gnome-system-log-3.9.90"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz"; + sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-system-log" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-system-log/3.9/; + description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix new file mode 100644 index 000000000000..91fbe67957fe --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }: + +stdenv.mkDerivation rec { + name = "gnome-system-monitor-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-monitor/3.10/${name}.tar.xz"; + sha256 = "bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2 + gtkmm3 libgtop makeWrapper + gnome3.gsettings_desktop_schemas ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-system-monitor" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-system-monitor/3.10/; + description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index 281f985c1211..541db5720db4 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango , gnome_doc_utils, intltool, libX11, which, gconf, libuuid -, desktop_file_utils, itstool, ncurses }: +, desktop_file_utils, itstool, ncurses, makeWrapper }: stdenv.mkDerivation rec { @@ -15,10 +15,16 @@ stdenv.mkDerivation rec { }; buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte - gnome3.dconf gnome3.gconf itstool ncurses ]; + gnome3.dconf gnome3.gconf itstool ncurses makeWrapper ]; nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ]; + preFixup = '' + for f in "$out/libexec/gnome-terminal-migration" "$out/libexec/gnome-terminal-server"; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + done + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix index 8faae4d21486..08d82b7ae918 100644 --- a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix @@ -9,11 +9,6 @@ stdenv.mkDerivation rec { buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ]; - preConfigure = '' - cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache - export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache` - ''; - meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix new file mode 100644 index 000000000000..d66863a22184 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }: + +stdenv.mkDerivation rec { + name = "gnome-user-docs-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz"; + sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905"; + }; + + buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ]; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-help/3.10; + description = "User and system administration help for the Gnome desktop"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.cc-by-30; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix new file mode 100644 index 000000000000..976b0eaca45b --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix @@ -0,0 +1,52 @@ +{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus +, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused +, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd +, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }: + +stdenv.mkDerivation rec { + name = "gnome-user-share-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz"; + sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + preConfigure = '' + sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf + ''; + + configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd" + "--with-modules-path=${apacheHttpd_2_2}/modules" + "--disable-bluetooth" + "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool + makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + nautilus libnotify libcanberra_gtk3 ]; + + postInstall = '' + mkdir -p $out/share/gsettings-schemas/$name + mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name + ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas + ''; + + preFixup = '' + wrapProgram "$out/libexec/gnome-user-share" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-user-share/3.8; + description = "Service that exports the contents of the Public folder in your home directory on the local network"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix new file mode 100644 index 000000000000..2a7f270300a4 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/grilo/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, libxml2, gnome3 }: + +stdenv.mkDerivation rec { + name = "grilo-0.2.10"; + + src = fetchurl { + url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz"; + sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25"; + }; + + configureFlags = [ "--enable-grl-pls" ]; + + buildInputs = [ pkgconfig file intltool glib libxml2 gnome3.totem-pl-parser ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Grilo; + description = "Framework that provides access to various sources of multimedia content, using a pluggable system"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix new file mode 100644 index 000000000000..a6bf72b2fc7e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix @@ -0,0 +1,40 @@ +{ stdenv, intltool, fetchurl, pkgconfig, gtk3 +, glib, desktop_file_utils, bash +, makeWrapper, gnome3, file, itstool, libxml2 }: + +# TODO: icons and theme still does not work +# use packaged gnome3.gnome_icon_theme_symbolic + +stdenv.mkDerivation rec { + name = "gucharmap-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gucharmap/3.10/${name}.tar.xz"; + sha256 = "04e8606c65adb14d267b50b1cf9eb4fee92bd9c5ab512a346bd4c9c686403f78"; + }; + + configureFlags = [ "--disable-static" ]; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; + + buildInputs = [ pkgconfig gtk3 intltool itstool glib + gnome3.yelp_tools libxml2 file desktop_file_utils + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gucharmap" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Gucharmap; + description = "GNOME Character Map, based on the Unicode Character Database"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/libgdata/default.nix b/pkgs/desktops/gnome-3/core/libgdata/default.nix new file mode 100644 index 000000000000..9a1a45e0d1ac --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libgdata/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib +, gobjectIntrospection, liboauth, gnome3, p11_kit, openssl }: + +stdenv.mkDerivation rec { + name = "libgdata-0.14.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libgdata/0.14/${name}.tar.xz"; + sha256 = "1scjs944kjazbsh86kdj6w2vprib6yd3wzxzabcs59acmr0m4hax"; + }; + + NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1"; + + buildInputs = with gnome3; + [ pkgconfig libsoup intltool libxml2 glib gobjectIntrospection + liboauth gcr gnome_online_accounts p11_kit openssl ]; + + meta = with stdenv.lib; { + description = "GData API library"; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + license = licenses.lgpl21Plus; + }; + +} diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix index 2775e87720cc..c7ed541082d5 100644 --- a/pkgs/desktops/gnome-3/core/libgee/default.nix +++ b/pkgs/desktops/gnome-3/core/libgee/default.nix @@ -1,18 +1,25 @@ { stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }: - +let + ver_maj = "0.12"; + ver_min = "0"; +in stdenv.mkDerivation rec { - name = "libgee-0.13.4"; + name = "libgee-${ver_maj}.${ver_min}"; src = fetchurl { - url = "https://download.gnome.org/sources/libgee/0.13/${name}.tar.xz"; - sha256 = "1gzyx8gy5m6r8km3xbb1kszz0v3p9vsbzwb78pf3fw122gwbjj4k"; + url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz"; + sha256 = "19bf94ia1h5z8h0hdhwcd2b2p6ngffirg0dai7pdb98dzriys1ni"; }; + doCheck = true; + patches = [ ./fix_introspection_paths.patch ]; buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ]; meta = with stdenv.lib; { + description = "Utility library providing GObject-based interfaces and classes for commonly used data structures"; + license = licenses.lgpl21Plus; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix index a5d196ae1e32..28c7b80c0d4f 100644 --- a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix @@ -1,17 +1,26 @@ -{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool }: +{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }: stdenv.mkDerivation rec { - name = "libgnome-keyring-3.6.0"; + name = "libgnome-keyring-3.10.1"; src = fetchurl { - url = "mirror://gnome/sources/libgnome-keyring/3.6/${name}.tar.xz"; - sha256 = "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"; + url = "mirror://gnome/sources/libgnome-keyring/3.10/${name}.tar.xz"; + sha256 = "0wip88r91kwx4zp6sc9b38mnlv11grgl4k2kzsd3a8x83c9g2b05"; }; - propagatedBuildInputs = [ glib dbus_libs libgcrypt ]; + propagatedBuildInputs = [ glib gobjectIntrospection dbus_libs libgcrypt ]; nativeBuildInputs = [ pkgconfig intltool ]; meta = { + description = "Framework for managing passwords and other secrets"; + homepage = http://live.gnome.org/GnomeKeyring; + # TODO license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ]; inherit (glib.meta) platforms maintainers; + + longDescription = '' + gnome-keyring is a program that keeps password and other secrets for + users. The library libgnome-keyring is used by applications to integrate + with the gnome-keyring system. + ''; }; } diff --git a/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix new file mode 100644 index 000000000000..1156474e5a7c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }: + +stdenv.mkDerivation rec { + name = "libgnomekbd-3.6.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz"; + sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09"; + }; + + buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ]; + + preFixup = '' + wrapProgram $out/bin/gkbd-keyboard-display \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + description = "Keyboard management library"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix index eeec43a1b65f..9cf8426104be 100644 --- a/pkgs/desktops/gnome-3/core/libpeas/default.nix +++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix @@ -1,10 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, intltool, gobjectIntrospection }: +{ stdenv, fetchurl, pkgconfig, intltool +, glib, gtk3, gobjectIntrospection, python, pygobject3 +}: stdenv.mkDerivation rec { name = "libpeas-${version}"; version = "1.9.0"; - buildInputs = with gnome3; [ intltool pkgconfig glib gobjectIntrospection gtk3 ]; + buildInputs = [ + intltool pkgconfig + glib gtk3 gobjectIntrospection python pygobject3 + ]; src = fetchurl { url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz"; @@ -15,8 +20,10 @@ stdenv.mkDerivation rec { rm $out/share/icons/hicolor/icon-theme.cache ''; - meta = with stdenv.lib; { - platforms = platforms.linux; + meta = { + description = "A GObject-based plugins engine"; + homepage = "http://ftp.acc.umu.se/pub/GNOME/sources/libpeas/"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.linux; }; - } diff --git a/pkgs/desktops/gnome-3/core/libqmi/default.nix b/pkgs/desktops/gnome-3/core/libqmi/default.nix deleted file mode 100644 index beb63f80b80e..000000000000 --- a/pkgs/desktops/gnome-3/core/libqmi/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, python }: - -stdenv.mkDerivation rec { - name = "libqmi-1.0"; - - src = fetchurl { - url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz"; - sha256 = "0w4cd7nihp73frh3sfi13fx0rkwmd581xpil54bsjc7pw7z01bd1"; - }; - - buildInputs = [ pkgconfig glib python ]; - - meta = with stdenv.lib; { - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix index 5cb865bcefdf..0acfa9f36aed 100644 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -1,5 +1,6 @@ { fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo -, pango, cogl, clutter }: +, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3 +, libtool, makeWrapper }: stdenv.mkDerivation rec { @@ -13,9 +14,17 @@ stdenv.mkDerivation rec { # fatal error: gio/gunixfdlist.h: No such file or directory NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra"; + buildInputs = with gnome3; [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower - gnome_desktop cairo pango cogl clutter zenity ]; + gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra + libcanberra_gtk3 zenity libtool makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/mutter" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix index 551b9db1246b..2041a71a82c3 100644 --- a/pkgs/desktops/gnome-3/core/nautilus/default.nix +++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif , gtk, gnome3, libunique, intltool, gobjectIntrospection -, libnotify, makeWrapper, exempi }: +, libnotify, makeWrapper, exempi, librsvg }: stdenv.mkDerivation rec { name = "nautilus-3.10.1"; @@ -12,13 +12,14 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-tracker=no" ]; - buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi - gnome3.gnome_desktop gnome3.gsettings_desktop_schemas libnotify makeWrapper ]; + buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg + gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas libnotify makeWrapper ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/nautilus" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix new file mode 100644 index 000000000000..089b5cd03c13 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/sushi/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib +, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz +, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1 +, gdk_pixbuf, librsvg, hicolor_icon_theme }: + +stdenv.mkDerivation rec { + name = "sushi-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz"; + sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8"; + }; + + propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; + + buildInputs = [ pkgconfig file intltool gobjectIntrospection glib + clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg + gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram $out/libexec/sushi-start \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = "http://en.wikipedia.org/wiki/Sushi_(software)"; + description = "A quick previewer for Nautilus"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix new file mode 100644 index 000000000000..f1b3bfe53c13 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }: + +stdenv.mkDerivation rec { + name = "totem-pl-parser-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz"; + sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469"; + }; + + buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Videos; + description = "Simple GObject-based library to parse and save a host of playlist formats"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix new file mode 100644 index 000000000000..a6acbd192dbe --- /dev/null +++ b/pkgs/desktops/gnome-3/core/totem/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, gst_all_1 +, clutter_gtk, clutter-gst, pygobject3, shared_mime_info +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libxml2, dbus_glib +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "totem-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/totem/3.10/${name}.tar.xz"; + sha256 = "b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2"; + }; + + doCheck = true; + + enableParallelBuilding = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo + clutter_gtk clutter-gst gnome3.totem-pl-parser + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + gnome3.libpeas pygobject3 shared_mime_info dbus_glib + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + preFixup = '' + wrapProgram "$out/bin/totem" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Videos; + description = "Movie player for the GNOME desktop based on GStreamer"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix new file mode 100644 index 000000000000..6ac3592f6bfd --- /dev/null +++ b/pkgs/desktops/gnome-3/core/tracker/default.nix @@ -0,0 +1,49 @@ +{ stdenv, intltool, fetchurl, libxml2, upower +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, vala, sqlite +, gnome3, librsvg, gdk_pixbuf, file, libnotify +, evolution_data_server, gst_all_1, poppler +, icu, taglib, libjpeg, libtiff, giflib, libcue +, libvorbis, flac, exempi, networkmanager +, libpng, libexif, libgsf, libuuid, bzip2 }: + +stdenv.mkDerivation rec { + name = "tracker-1.0.0"; + + src = fetchurl { + url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; + sha256 = "a1d033faf2c78f0e239f3c2c961b96623c9a7dabd938c08e3f5660bd70f54ba2"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2 + bzip2 gnome3.totem-pl-parser + gnome3.gsettings_desktop_schemas makeWrapper file + gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite + upower libnotify evolution_data_server gnome3.libgee + gst_all_1.gstreamer gst_all_1.gst-plugins-base flac + poppler icu taglib libjpeg libtiff giflib libvorbis + exempi networkmanager libpng libexif libgsf libuuid + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/Tracker; + description = "Desktop-neutral user information store, search tool and indexer"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/vino/default.nix b/pkgs/desktops/gnome-3/core/vino/default.nix new file mode 100644 index 000000000000..65668dce6a20 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/vino/default.nix @@ -0,0 +1,31 @@ +{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper +, libnotify, file }: + +stdenv.mkDerivation rec { + name = "vino-${versionMajor}.${versionMinor}"; + versionMajor = "3.10"; + versionMinor = "1"; + + src = fetchurl { + url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz"; + sha256 = "0imyvz96b7kikikwxn1r5sfxwmi40523nd66gp9hrl23gik0vwgs"; + }; + + doCheck = true; + + buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify file makeWrapper ]; + + preFixup = '' + for f in "$out/bin/vino-passwd" "$out/libexec/vino-server"; do + wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Vino; + description = "GNOME desktop sharing server"; + maintainers = with maintainers; [ lethalman iElectric ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix index b0e522c0f299..d98ddc716dec 100644 --- a/pkgs/desktops/gnome-3/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/core/vte/default.nix @@ -1,32 +1,21 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses -, pythonSupport ? false, python, pygtk}: +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }: stdenv.mkDerivation rec { - versionMajor = "0.34"; - versionMinor = "9"; + versionMajor = "0.35"; + versionMinor = "90"; moduleName = "vte"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1q93dsxg56f57mxblmh8kn4v9kyc643j2pjf1j3mn2kxypnwaf3g"; + sha256 = "c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf"; }; - buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++ - stdenv.lib.optionals pythonSupport [python pygtk]; + buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; - configureFlags = '' - ${if pythonSupport then "--enable-python" else "--disable-python"} - ''; - - postInstall = stdenv.lib.optionalString pythonSupport '' - cd $(toPythonPath $out)/gtk-2.0 - for n in *; do - ln -s "gtk-2.0/$n" "../$n" - done - ''; + configureFlags = ''--enable-introspection''; meta = { homepage = http://www.gnome.org/; diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix new file mode 100644 index 000000000000..39ff3838f4a8 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }: + +stdenv.mkDerivation rec { + name = "yelp-tools-3.10.0"; + + src = fetchurl { + url = "https://download.gnome.org/sources/yelp-tools/3.10/${name}.tar.xz"; + sha256 = "0496xyx1657db22ks3k92al64fp6236y5bgh7s7b0j8hcc112ppz"; + }; + + buildInputs = [ libxml2 libxslt itstool gnome3.yelp_xsl pkgconfig ]; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Yelp/Tools; + description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation"; + maintainers = with maintainers; [ iElectric ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix new file mode 100644 index 000000000000..c5060bdba75c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix @@ -0,0 +1,23 @@ +{ stdenv, intltool, fetchurl, pkgconfig, bash +, itstool, libxml2, libxslt }: + +stdenv.mkDerivation rec { + name = "yelp-xsl-3.10.1"; + + src = fetchurl { + url = "https://download.gnome.org/sources/yelp-xsl/3.10/${name}.tar.xz"; + sha256 = "59c6dee3999121f6ffd33a9c5228316b75bc22e3bd68fff310beb4eeff245887"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig intltool itstool libxml2 libxslt ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Yelp; + description = "Yelp's universal stylesheets for Mallard and DocBook"; + maintainers = with maintainers; [ lethalman ]; + # TODO license = [licenses.gpl2 licenses.lgpl2]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix new file mode 100644 index 000000000000..b58aa99721e2 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/yelp/default.nix @@ -0,0 +1,36 @@ +{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib +, file, librsvg, hicolor_icon_theme, gnome3, gdk_pixbuf +, bash, makeWrapper, itstool, libxml2, libxslt, icu }: + +stdenv.mkDerivation rec { + name = "yelp-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp/3.10/${name}.tar.xz"; + sha256 = "17736479b7d0b1128c7d6cb3073f2b09e4bbc82670731b2a0d3a3219a520f816"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ librsvg gdk_pixbuf gnome3.gnome_icon_theme + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; + + buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool + libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl + gnome3.gsettings_desktop_schemas ]; + + preFixup = '' + wrapProgram "$out/bin/yelp" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Yelp; + description = "Yelp is the help viewer in Gnome."; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 47656da09925..d29ea3d1c692 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -3,14 +3,10 @@ rec { inherit (pkgs) glib gtk2 gtk3 gnome2; gtk = gtk3; # just to be sure - inherit (pkgs.gnome2) gnome_common ORBit2; + libcanberra = pkgs.libcanberra_gtk3; # just to be sure + inherit (pkgs.gnome2) ORBit2; orbit = ORBit2; - - -#### Overrides of libraries - - librsvg = pkgs.librsvg.override { inherit gtk2; }; # gtk2 mysteriously needed in librsvg for goffice (commented in Gentoo) - libsoup = pkgs.libsoup_2_44; + inherit (pkgs) libsoup; #### Core (http://ftp.acc.umu.se/pub/GNOME/core/) @@ -18,12 +14,20 @@ rec { at_spi2_core = callPackage ./core/at-spi2-core { }; + baobab = callPackage ./core/baobab { }; + caribou = callPackage ./core/caribou { }; dconf = callPackage ./core/dconf { }; + empathy = callPackage ./core/empathy { }; + + epiphany = callPackage ./core/epiphany { }; + evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests + evolution_data_server = callPackage ./core/evolution-data-server { }; + gconf = callPackage ./core/gconf { }; geocode_glib = callPackage ./core/geocode-glib { }; @@ -34,25 +38,66 @@ rec { gjs = callPackage ./core/gjs { }; + gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; + + gnome-contacts = callPackage ./core/gnome-contacts { }; + + gnome_control_center = callPackage ./core/gnome-control-center { }; + + gnome-calculator = callPackage ./core/gnome-calculator { }; + + gnome_common = callPackage ./core/gnome-common { }; + + gnome-dictionary = callPackage ./core/gnome-dictionary { }; + + gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; + + gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; + gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; + gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { }; + gnome-menus = callPackage ./core/gnome-menus { }; gnome_keyring = callPackage ./core/gnome-keyring { }; + libgnome_keyring = callPackage ./core/libgnome-keyring { }; + libgnomekbd = callPackage ./core/libgnomekbd { }; + + folks = callPackage ./core/folks { }; + gnome_online_accounts = callPackage ./core/gnome-online-accounts { }; gnome_session = callPackage ./core/gnome-session { }; + gnome_shell = callPackage ./core/gnome-shell { }; + + gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { }; + + gnome-screenshot = callPackage ./core/gnome-screenshot { }; + gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { }; + gnome-system-log = callPackage ./core/gnome-system-log { }; + + gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; + gnome_terminal = callPackage ./core/gnome-terminal { }; gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; + gnome-user-docs = callPackage ./core/gnome-user-docs { }; + + gnome-user-share = callPackage ./core/gnome-user-share { }; + + grilo = callPackage ./core/grilo { }; + gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; + gucharmap = callPackage ./core/gucharmap { }; + gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; }; eog = callPackage ./core/eog { }; @@ -61,12 +106,12 @@ rec { libgee = callPackage ./core/libgee { }; + libgdata = callPackage ./core/libgdata { }; + libgxps = callPackage ./core/libgxps { }; libpeas = callPackage ./core/libpeas {}; - libqmi = callPackage ./core/libqmi {}; - libgweather = callPackage ./core/libgweather { }; libzapojit = callPackage ./core/libzapojit { }; @@ -77,8 +122,24 @@ rec { rest = callPackage ./core/rest { }; + sushi = callPackage ./core/sushi { }; + + totem = callPackage ./core/totem { }; + + totem-pl-parser = callPackage ./core/totem-pl-parser { }; + + tracker = callPackage ./core/tracker { }; + vte = callPackage ./core/vte { }; + vino = callPackage ./core/vino { }; + + yelp = callPackage ./core/yelp { }; + + yelp_xsl = callPackage ./core/yelp-xsl { }; + + yelp_tools = callPackage ./core/yelp-tools { }; + zenity = callPackage ./core/zenity { }; @@ -86,8 +147,6 @@ rec { file-roller = callPackage ./desktop/file-roller { }; - gnome_dictionary = callPackage ./desktop/gnome-dictionary { }; - gnome_desktop = callPackage ./desktop/gnome-desktop { }; gtksourceview = callPackage ./desktop/gtksourceview { }; @@ -102,6 +161,9 @@ rec { gitg = callPackage ./misc/gitg { }; - libgit2-glib = callPackage ./misc/libgit2-glib { automake = pkgs.automake111x; }; + libgit2-glib = callPackage ./misc/libgit2-glib { }; + + gexiv2 = callPackage ./misc/gexiv2 { }; + gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { }; } diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix index 0f48103c93d4..41f1fb0097fb 100644 --- a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix @@ -18,9 +18,9 @@ stdenv.mkDerivation rec { buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive attr bzip2 acl makeWrapper ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/file-roller" \ - --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix deleted file mode 100644 index 3e952f99eb01..000000000000 --- a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which -, libxml2, libxslt, itstool }: - -stdenv.mkDerivation rec { - version = "3.10.0"; - name = "gnome-dictionary-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz"; - sha256 = "1mqf6ln0cgrw12n9fg81sjbhavrgzvvq7fy3gl55il7pa3z612r5"; - }; - - buildInputs = [ gnome3.gtk ]; - nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt itstool ]; - - meta = with stdenv.lib; { - platforms = platforms.linux; - }; - -} diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix new file mode 100644 index 000000000000..86942c13f34f --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gexiv2/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4 }: + + +stdenv.mkDerivation rec { + name = "gexiv2-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gexiv2/0.7/${name}.tar.xz"; + sha256 = "12pfc5a57dhlf0c3yg5x3jissxi7jy2b6ir6y99cn510801gwcdn"; + }; + + preConfigure = '' + patchShebangs . + ''; + + buildInputs = [ pkgconfig glib libtool m4 ]; + propagatedBuildInputs = [ exiv2 ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/gexiv2; + description = "GObject wrapper around the Exiv2 photo metadata library"; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix index 629ff4a77002..7ca35a8255f9 100644 --- a/pkgs/desktops/gnome-3/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib , json_glib, webkitgtk, makeWrapper, libpeas, bash, gobjectIntrospection -, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib }: +, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }: # TODO: icons and theme still does not work # use packaged gnome3.gnome_icon_theme_symbolic @@ -9,12 +9,10 @@ stdenv.mkDerivation rec { name = "gitg-0.3.2"; src = fetchurl { - url = "https://download.gnome.org/sources/gitg/0.3/${name}.tar.xz"; + url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; }; - configureFlags = [ "--disable-static" ]; - preCheck = '' substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash" ''; @@ -26,16 +24,14 @@ stdenv.mkDerivation rec { gnome3.gnome_themes_standard ]; buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas - libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview - gobjectIntrospection makeWrapper ]; - - postInstall = '' - wrapProgram "$out/bin/gitg" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share" - ''; + libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg + gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ]; preFixup = '' + wrapProgram "$out/bin/gitg" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" rm $out/share/icons/hicolor/icon-theme.cache rm $out/share/gitg/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix new file mode 100644 index 000000000000..2eccb9a32cf9 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix @@ -0,0 +1,46 @@ +{ stdenv, intltool, fetchurl, python, pygobject3, atk +, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup +, bash, makeWrapper, itstool, libxml2, python3Packages +, gnome3, librsvg, gdk_pixbuf, file, libnotify }: + +stdenv.mkDerivation rec { + name = "gnome-tweak-tool-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz"; + sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + makeFlags = [ "DESTDIR=/" ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + gnome3.gsettings_desktop_schemas makeWrapper file + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + python pygobject3 libnotify gnome3.gnome_shell + libsoup gnome3.gnome_settings_daemon gnome3.nautilus + gnome3.gnome_desktop ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-tweak-tool" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \ + --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" + ''; + + patches = [ ./find_gsettings.patch ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool; + description = "A tool to customize advanced GNOME 3 options"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch new file mode 100644 index 000000000000..3e68c04cb3ab --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch @@ -0,0 +1,22 @@ +diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py +index a00fe19..dce74b2 100644 +--- a/gtweak/gsettings.py ++++ b/gtweak/gsettings.py +@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception): + + class _GSettingsSchema: + def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options): +- if not schema_dir: +- schema_dir = gtweak.GSETTINGS_SCHEMA_DIR + if not schema_filename: + schema_filename = schema_name + ".gschema.xml" ++ if not schema_dir: ++ schema_dir = gtweak.GSETTINGS_SCHEMA_DIR ++ for xdg_dir in GLib.get_system_data_dirs(): ++ dir = os.path.join(xdg_dir, "glib-2.0", "schemas") ++ if os.path.exists(os.path.join(dir, schema_filename)): ++ schema_dir = dir ++ break + + schema_path = os.path.join(schema_dir, schema_filename) + if not os.path.exists(schema_path): diff --git a/pkgs/desktops/gnome-3/misc/goffice/default.nix b/pkgs/desktops/gnome-3/misc/goffice/default.nix index 51d259314a7a..0390fc133687 100644 --- a/pkgs/desktops/gnome-3/misc/goffice/default.nix +++ b/pkgs/desktops/gnome-3/misc/goffice/default.nix @@ -1,19 +1,23 @@ -{ fetchurl, stdenv, pkgconfig, intltool, bzip2, glib, gdk_pixbuf, gtk3 -, libgsf, libxml2, cairo, pango, librsvg, libspectre }: +{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3 +, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }: stdenv.mkDerivation rec { - name = "goffice-0.10.9"; + name = "goffice-0.10.12"; src = fetchurl { url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz"; - sha256 = "0xc82hymhkdglnksd3r7405p39d5ym826rwaa7dfkps5crjwq8cg"; + sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff"; }; + nativeBuildInputs = [ pkgconfig intltool ]; + propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection? - pkgconfig intltool bzip2 glib gdk_pixbuf gtk3 - libgsf libxml2 cairo pango librsvg libspectre + glib gtk3 libxml2 cairo pango libgsf ]; + buildInputs = [ libxslt librsvg ]; + + enableParallelBuilding = true; doCheck = true; meta = { diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix index 12d37ab5db50..17c3b4fa0a8c 100644 --- a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix +++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, which, gnome3, autoconf, automake, libtool, pkgconfig +{ stdenv, fetchurl, gnome3, libtool, pkgconfig , gtk_doc, gobjectIntrospection, libgit2, glib }: stdenv.mkDerivation rec { @@ -12,8 +12,8 @@ stdenv.mkDerivation rec { configureScript = "sh ./autogen.sh"; - buildInputs = [ which gnome3.gnome_common autoconf automake libtool - pkgconfig gtk_doc gobjectIntrospection libgit2 glib ]; + buildInputs = [ gnome3.gnome_common libtool pkgconfig + gtk_doc gobjectIntrospection libgit2 glib ]; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/kde-4.10/default.nix b/pkgs/desktops/kde-4.10/default.nix deleted file mode 100644 index f56e64e2d158..000000000000 --- a/pkgs/desktops/kde-4.10/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.10.5" }: - -let - # Need callPackageOrig to avoid infinite cycle - kde = callPackageOrig ./kde-package { - inherit release ignoreList extraSubpkgs callPackage; - }; - - # The list of igored individual modules - ignoreList = { - # Doesn't work yet - kdeutils = [ "ksecrets" ]; - # kdeadmin/strigi-analyzer has no real code - kdeadmin = [ "strigi-analyzer" ]; - # fake package to make things just work - kdesdk = [ "fake" ]; - # Most of kdebindings do not compile due to a bug in the buildsystem - kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ]; - }; - - # Extra subpackages in the manifest format - extraSubpkgs = { - kdesdk = [ - { name="cervisia"; } - { name="lokalize"; } - { name = "kioslave-svn"; sane = "kioslave_svn"; subdir = "kdesdk-kioslaves"; } - { name = "kioslave-perldoc"; sane = "kioslave_perldoc"; subdir = "kdesdk-kioslaves"; } - { name="dolphin-plugins-svn"; sane="dolphin_plugins_svn";subdir="dolphin-plugins"; } - { name="dolphin-plugins-git"; sane="dolphin_plugins_git";subdir="dolphin-plugins"; } - { name="dolphin-plugins-hg"; sane="dolphin_plugins_hg";subdir="dolphin-plugins"; } - { name="dolphin-plugins-bazaar"; sane="dolphin_plugins_bazaar";subdir="dolphin-plugins"; } - { name="kcachegrind"; } - { name="kapptemplate"; } - { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers";} - { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers";} - { name="okteta"; } - { name="kompare"; } - { name="poxml"; } - { name="kde-dev-scripts"; sane = "kde_dev_scripts"; } - { name="kde-dev-utils"; sane="kde_dev_utils";} - #{ name="kprofilemethod"; subdir = "kde-dev-utils/kprofilemethod";} - #{ name="kstartperf"; } - #{ name="kmtrace"; subdir = "kde-dev-utils/kmtrace"; } - #{ name="kpartloader"; } - #{ name="kuiviewer"; } - { name="umbrello"; } - ]; - }; - -in - -kde.modules // kde.individual // -{ - inherit (kde) manifest modules individual splittedModuleList; - - akonadi = callPackage ./support/akonadi { }; - - qt4 = qt48; - - kdebase_workspace = kde.modules.kde_workspace; - - inherit release; - - full = stdenv.lib.attrValues kde.modules; - - l10n = callPackage ./l10n { - inherit release; - inherit (kde.manifest) stable; - }; -} diff --git a/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix b/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix deleted file mode 100644 index b1abdb8afec7..000000000000 --- a/pkgs/desktops/kde-4.10/kde-package/4.10.5.nix +++ /dev/null @@ -1,399 +0,0 @@ -{stable=true; -hashes=builtins.listToAttrs[ - {name="analitza";value="0lc83vmapd66ilph26hlf8shd4xv0v9y8jsjycw5nl4xpfm7l5nr";} - {name="ark";value="1fvb6phcfd17fxcbb5w4njmkj0vlnz6g5qa6wv5szn4fakb5db1v";} - {name="audiocd-kio";value="11ma2pvc7w6gdd98h806i163dsjhxxly4wv4xdcqq4yhdviq29qv";} - {name="blinken";value="1lfv15blwy3m88zylqsa7k1a5z01qmakjrb9wq9yxnjbhb12nyf8";} - {name="bomber";value="0z704hzpgl1s7jdcpicvixd2dnfsh7i4ainjd5zc1rcljgabmvmx";} - {name="bovo";value="10wp4spcdwsa4nbq9qhancvddv83q12qbi72ksnvds50md12h5xx";} - {name="cantor";value="070al4dx7x7kk568lpd1ajq0q5gws48w3n76g0wlf4dqqlijjfx6";} - {name="dragon";value="0wj89v1d34s595ky97zwph7rxb97h03qya3bi6y1npcp7kjlv2j9";} - {name="ffmpegthumbs";value="0ilc8k601g3m4x1slfcczah87f402a9143a70gvbjprffd7iyf9q";} - {name="filelight";value="1wfd498ir1ivcks1ys3h8whvi0l4xwfgz2j5c4m4b517dskrmaxf";} - {name="granatier";value="04i1zzqkv0da6ymqvdxlaxgws7z44521zj51nw4mvapf1jcck7bq";} - {name="gwenview";value="0rz3va3djm3qxqvchxa3549r1qf124sb4105bs6s42a05h4mzhqv";} - {name="jovie";value="05cc6qzn9hgdvqgi8a2k2i89ggx10fv970293z8d59r6wbh1skv6";} - {name="juk";value="00j9c3g1zsa9vbfwpg37jb4w8753sr28q9xbxp3kfablndwid3w9";} - {name="kaccessible";value="0rsdxzqamq2i3f59npsv6pir9bys3g6zd345sfnpbdkinvxyhrdn";} - {name="kactivities";value="0sfbc3w0cvjfp2zs6v28fv69pq5ikignily572jamm8nwaid5h2g";} - {name="kajongg";value="1yffsgbabnp4mckirl888bghpyrj71d8fbsb0rjk96av1kzl2yvx";} - {name="kalgebra";value="0slvk1c1n9g2b5nakfi53l7gh3c2y78pvcy2snj9f1z5c0sr05cn";} - {name="kalzium";value="12gp0k11zf3m5g2aabrbrd7kpi5k3z46w74kalzzk3s1babgnwxn";} - {name="kamera";value="13qka1nc0ibn3kb03l11v64r6w3k4g7ayq539ncp1syba5726xy1";} - {name="kanagram";value="11vd5abdsggzv4svj4wj6q7mcpbxnpjk4gv0m1zw82ya26aarjnk";} - {name="kapman";value="19r8a7k2ib2fijipajbj461b1sfvlfxrlpfmm52njg61xizdxy20";} - {name="kate";value="0wzvhywvkagshs1q8q1rmq3dxlc5h62y7mlfb2x9wzp945rshq6d";} - {name="katomic";value="0vqqjv1magpc7wgwj0cvbykl9qvphc3s03i30qndygi96mf36iwc";} - {name="kblackbox";value="197r2nfrpdynqix1c81y1y72jrbzzl3prjd6q9sca9qnd47xx9kb";} - {name="kblocks";value="0nnbaskl1s9gy6kn8qk3j9qr6vmsbnpmjj4ddn1fvr32kqjfzr3h";} - {name="kbounce";value="0i962rbbi41m8fd7x1vrbi6q46qnij3d8kdc3cwn7mmjp79gzwmq";} - {name="kbreakout";value="1mh7ki87y1jjk7g4n8flr0ym6qk9nh922xsca2ww1vv16mpxww9w";} - {name="kbruch";value="1632a7rjrmll42yazdab1hmgjv39mp16xhkj6mq61sqdd4pj316v";} - {name="kcalc";value="1gyp45f873q6v2y1l8k52x70b92893314h6ci5a07c0asm8ffrpa";} - {name="kcharselect";value="12w3mzh0gqgh6aaih69djv3f4b1z34cxwhnchqz75z2yb9lcdj1c";} - {name="kcolorchooser";value="19b0r8jjy3fkhhzp9hhxw7zyrkb7fafkxs22ik3lzlm6wri1dwpj";} - {name="kdeadmin";value="1fg49z2lgmsvkhhyvahasb5z0l9cad4xwq5ps3qv5f1yj0hfzic4";} - {name="kdeartwork";value="1z1xnljs5lzmahn3i5xs429bpyxzc6b8sw2m216cs06dwfk77if6";} - {name="kde-baseapps";value="1d08wqb3a9fi0gzkls4jmlnmqpfd5fmg4310d2ih78gflv1yk2gz";} - {name="kde-base-artwork";value="1hq35i8mw3akbg9m6wvp9fv6xpamv9na2bjqzqyph8sx0633dxrw";} - {name="kdegraphics-mobipocket";value="0jq1qrrax9w60w35qxvjrazl4c8qvninhgp9na7pgz6sk6ydb0jf";} - {name="kdegraphics-strigi-analyzer";value="07z3nzmfw5pxg97qx2jj54f3r6qc2x22yxhn3kmcpifzr3gyi555";} - {name="kdegraphics-thumbnailers";value="1iwmyn2r43i3bykrc4vx0785f3x5zrnvvfdhfpr88f6pxr95f7bq";} - {name="kdelibs";value="1lgjz90irrqwz8h6w7iwy8icvqyj4kb2sarnyrxna8dy1fah9m5n";} - {name="kdenetwork";value="1lra150av4ndq5s9msx1khwdwd8k0n756qg6d4fsjp2fy7scf26k";} - {name="kdepim";value="0qs1znrvfzrkhlh1d68pri9fnaq2nhxnih5fsjcn2m7d537havq1";} - {name="kdepimlibs";value="01hyi3r2an8g9ds59az39c8qdm8qiws6q16558jna7f6w4m0yq5r";} - {name="kdepim-runtime";value="1p293zqwdc0g77h996slc0qwa01a24nq5yh5a4q6ng92rfzzkrl3";} - {name="kdeplasma-addons";value="0hs9bmg4gcl9lks78pmb0n29jzzh56w5islyzhzccrrcbimsqvzp";} - {name="kde-runtime";value="0daw0sjyqrdhsah920fla05wvcf9zrck1lbkdcbvrk1qvvqwjhpx";} - {name="kdesdk";value="0h1il5dza8qcfz1fgz6qhsaccqkp0g5fdi4k3413vr6lhg67dh78";} - {name="kdetoys";value="1r2rh0hdipwfxwq29whicbvxa7dr5vswh9pqw60x1c634cgba49p";} - {name="kde-wallpapers";value="1d96asb1nn88rwzb2nis37d8qwliaswpzfc15zq6jkcbdyzaxfpv";} - {name="kdewebdev";value="18s79ah9j01mb3lpzpsi6wxbh3wjpkswx5snpv1fyphf760jzb3n";} - {name="kde-workspace";value="0xg8asnxq48x6zydh09bfga11363bya7hfkygas7ar7rb0144im3";} - {name="kdf";value="0d3i5jpikh285vwr93044lws34ihhbszb05gbyvibx7faqdllg2h";} - {name="kdiamond";value="1dca5h88lm2syhnk5bd8g83lx9422hyg972di4xj69vnnpl5nsp9";} - {name="kfloppy";value="02yq8p8ma1aghm9k442xznk1xwb4mcd36h040ix5rc7j3j02l79m";} - {name="kfourinline";value="0ljs9szk4r6iasn4qkclpq3nij5hb8xnyqj36w8nxbvsmka69d2p";} - {name="kgamma";value="0byvsk5j2g1ycfq5zskg9bkbmq9jddv0nzck2w4qayf072cqn8b3";} - {name="kgeography";value="0icf21sr6w920ga6as9yx1ja85gwk3h2bb1ra9k5bs32vw5r7nk9";} - {name="kgoldrunner";value="18i0mj3j6q1gycf33z416kcf9lsksrmk8fnp4j1jg9mlr6y1xc6c";} - {name="kgpg";value="1x04mj6ykmhmlr2074bn6kc88zz4y3lgbvnf4qkcj8q5wil1p3gv";} - {name="khangman";value="0yrqd17w78pl18ln8rqcb0cmqis8al9k3zvg0hvxyh3qp013xb9m";} - {name="kig";value="1wd8kk4gkvgxp83q6dqdqkqaznbrl8kk88ixk17qhlj03iykxfcj";} - {name="kigo";value="1g78wqsk72mki48inxam6337hpjd491325j3cmvvlz0196q3s4zn";} - {name="killbots";value="1kjmwsrqmj85yawbw6xr025bkv3kidwasiyrjr01mgsndlkn3y47";} - {name="kimono";value="0wswbykjq56rxf0rkkl97ipy36r5q8h9sws758fvwmd16nylhdg0";} - {name="kiriki";value="0iv3lak13szc93gqqjlqdmdbg3jy4xbxvnahzka0d3m2nkg9iv6h";} - {name="kiten";value="1112kl5vbz58v52nss4gd4plnrl3nkp57mnhdbs58dlxv1s1s7b9";} - {name="kjumpingcube";value="1y9pgqsq72v9mxw04dkg4x2m15jyl5iahqshxczzihh3pjllv7sr";} - {name="klettres";value="0kqjw7vrpzvrr4g6zhdsqppbr2viqr7jann4npnzh0bw48842zhp";} - {name="klickety";value="0d78nak6dzmkfsxq7cxndca51paw2giawk31s70fgr7kwa7s9g9f";} - {name="klines";value="0z8bp1xwy17k1nv7d8mrgsk7vgb5137icdy0d66jwaa9bzsv3khh";} - {name="kmag";value="1iamiy8ppyd4qkbdhqykxgh6c8w31glpjv1srk9s4gqyqj51mf24";} - {name="kmahjongg";value="02ai75zc5rfch3b7a2zz9kmw6r3kgkbzr9pi8c1zrdgif8awrl3x";} - {name="kmines";value="0hc838cd5h8gjm4alszi8z70r3jmjxqwmhni1silk16gsiy3kqvy";} - {name="kmix";value="08ls620ndrvszx36sy2xj32fvwm5b8aggp86cwvzqjvp47c46wjv";} - {name="kmousetool";value="02lg84gpnic2l84ay01adw2fynr0x7byklqdz3zphiqhddhfnb81";} - {name="kmouth";value="09jg2xar4p6rrcc41qfj0h57fapdgpdpjh6ackhyana0871q5cam";} - {name="kmplot";value="17s7n51x2nl5g4l0862gnzigkwa7qwipmvy7krn8b1z051n2jwfx";} - {name="knavalbattle";value="15qpgn5bjbk4smwzz5x0x9f1kd5mjhg6p4h4dalcay8k9zixxxvl";} - {name="knetwalk";value="0yqdxcah56z1q21xfrk33s4fx6l9q21na5dx1p12d114vzgr3gzq";} - {name="kolf";value="08ba3flnknzjgys73lhpy7b98j544wwv6vvbrd6p2675imwk168w";} - {name="kollision";value="1jahrgkb9j8shwrmm1486f3w1hd5snwfwv53gj7973z0mmm5468r";} - {name="kolourpaint";value="18ql77778zdc9149qd7mslkh780v6qkhdc1wfljrr1mj98p08av9";} - {name="konquest";value="1iyqgzyg004lyqssmvh4951m9v56ayw7ggza6awh6a805j0zz0sp";} - {name="konsole";value="1zqmmv4zpq59nm2r7ccmp1ij5q3qjclmbmcm667hxmq9dyrwv5an";} - {name="korundum";value="12cqg6ib06icadyslnqzqmkal6rmjhki02na09gacqdiwc7gf2p2";} - {name="kpat";value="1zdv4jvqg0xbbsf39d2n8d0ya2mqzva06s46m2hb66flyjz5pd3p";} - {name="kremotecontrol";value="0jw4jjlhy378f58wgqm5cikqj8i3bdz1s1qm4r24bb1677dqyd4x";} - {name="kreversi";value="1mxgb60zbq8qkjnamvlr072vii2px224mg03fjjds063321swx0z";} - {name="kross-interpreters";value="0r2y7lscsgk6jkzby7dqwd62yk2nyzwm6chihsvivl9frl38wqza";} - {name="kruler";value="0gwyy0k8h705bnp6q7jgzbk8i9d6csffhwlas7y0zwcl7n03664x";} - {name="ksaneplugin";value="187n3s19xdfl7bbcpgyappw1v2bgjki8kh1qh8dy8mscm2qn50j9";} - {name="kscd";value="0wqm2vhj593x4vps3205gfnl29yglr2szzpdiazi6rq80r8ifvbq";} - {name="kshisen";value="1n5131kckixwbllp8sxn5y93z9q2fdvjj77pcy4sadngx5slz718";} - {name="ksirk";value="0b2084h246jhphwpa5iwpxbib4z4h6cwvi8bp18l7yid77wz28f2";} - {name="ksnakeduel";value="0v74l5svmr21gahxzfz7sjnj5gzhnyir7l7cny1q7xnha7bnaw81";} - {name="ksnapshot";value="05l18i9mv9pghlf50qax9drlcrmdahgiljnvcq20vadrxw4qxghv";} - {name="kspaceduel";value="0q8iqg5n7w0v5llbgan7vnf41zbfagc0rd8ya7fp9gf5pmx422zf";} - {name="ksquares";value="0fnz1hy2n0i1gal9b8ij8bi5sql5iybbjpkyy55dapcbph2br8xc";} - {name="kstars";value="0nf3n9f6dmp8401d2jfcyh26xbwmwdav4maacp5dmhv6xvr2ivis";} - {name="ksudoku";value="07lxxaw6ykhlxzkbhzsz43ingfx0l1gb38v2z0ag8jd3iln7l79v";} - {name="ktimer";value="112449fn8zbgz3s22bswyc8fisa126j6xvmwxzb91c5vx0wj9qg8";} - {name="ktouch";value="0a9x6ym3gw3d6jqvlfaw5qyxzcn9vi4sa55ig0d9cdy8057y5pwz";} - {name="ktuberling";value="1ihvv3mais39yk84k1a76mpz5c9sbbnw80n536adh3y3fad4yw5a";} - {name="kturtle";value="07fxjiaq69x97w45z8r3g1iyi0vyk0wyqwjwn1qb7a1ziwva5jl9";} - {name="kubrick";value="0mqf52lp0s61qsv8q47h012m5k8mf6gqwjpb7swrs7hxsc58dspy";} - {name="kwallet";value="0mb8ph0wf761gpss7xmi4zngxfalm3sdngjxrpr8brczjp8v9wdm";} - {name="kwordquiz";value="0rbrfswf13pw4cam8fj9w7g12yhzvg82izzy79xsxb0dkk4ki42n";} - {name="libkcddb";value="033vmv8fin87m788qjyjaravf5gr9cj953yvcfg9438qpavd79qr";} - {name="libkcompactdisc";value="105w0bnw6gzjb8gnp2gmwcjgaz3gi4f16fninbl2658dnb24b1kq";} - {name="libkdcraw";value="0p1wbdrhpp6rg82kfrxhaz4lxqjix6mb1grj16zy1i24x89mxlya";} - {name="libkdeedu";value="1b6qpd3i59hfd7rwij255xyrxp5ylw5mpyr6k10py5pj7fn4zhc2";} - {name="libkdegames";value="1cc5011xm9rz9fz2dk3ibfr4cqq3rmw3i7vlcsrhfscsx0xm88sc";} - {name="libkexiv2";value="18ngfrz30q0prsrwy92hb7y0hxhcxlr4ic7lq7fv4l45434ry7pv";} - {name="libkipi";value="00nn96qwynfx2ajqllh8zkwccc1prigbcq75s1hnpm67nnfc98as";} - {name="libkmahjongg";value="06qpykgaxx5r7n3ymph1g2fy0dj2vclfqlnzbdc41ma3l66jci64";} - {name="libksane";value="0a0ipz9jmrw076mxsj2k3njaf7dwfrdqd5bqwcc4q8qqlhpp4ljy";} - {name="lskat";value="1sxmjhw61w1d19zidf96qkddx9r0h8z5kbjl8xgah8k25ji5qsr6";} - {name="marble";value="04cy00jsnahmigffjyqviizj5bvj2aldfgkyj2g5iadfsqflxvy4";} - {name="mplayerthumbs";value="0hmdvyillr779c1fmia3h6dcy7j7j0kvxvh4mdz1adfwaz4zgymy";} - {name="nepomuk-core";value="12grw88gc4b4i1h346ahpkv8493gyvhvkpcqxwc2dqpsqsfc7rpz";} - {name="nepomuk-widgets";value="1npmwv1vh5ci6c9a291vyps85c5cvdg5dn9r9h28dq58s2h274yh";} - {name="okular";value="05v23g4w6sw525w7qllcbyhk92k75hyqrvx9hncylig4blivjp9f";} - {name="oxygen-icons";value="1y7iq77fyiykmjf8xdyprnshlasazdv6fcjp6ayfx0jkixb2gqya";} - {name="pairs";value="1v4h0d04b7g59axkl69gyml02hzxjkfzcgg320mj05xx5q0kjyq5";} - {name="palapeli";value="13hvppav7yz9wvvly8f8kads9arqvl25spwa8awpl2f4a394c0sa";} - {name="parley";value="0wk6p4rw6063089iq758a0mcq10fh8c1pg0wq00dhs9d05gwk873";} - {name="perlkde";value="1hh5y4zmmb97py281i0jhzwg8r4ii3qmilzbwbrvk9j4ngcz37gg";} - {name="perlqt";value="09880varap78a44zifqx72wbx23wq0hqq540hf466fmmxk744877";} - {name="picmi";value="060a1n5lclsaz4zjq1dpm9y20fqgq3rjlkm54prp3kkj5hpi6kcl";} - {name="print-manager";value="0jmvfy376axdwi4a2fc78ldlny4jbk7kxvhi1mwf8piibwc10dvf";} - {name="pykde4";value="10aqvx6dfcbi9mrsr0sdhhxp2jqkw06rf55p2nxdadmcszad2k7k";} - {name="qtruby";value="042nya6n5sp2r9a9s3limbph8wv5z04fha7pkqznvrkr040qykvj";} - {name="qyoto";value="0nxhxvh4zpskvxv7mjz06vililg2wqlabaaaf61j0naxz4aynyrv";} - {name="rocs";value="10xb6qh29g4l369dyimwj0yk8s5yi6jg1byaf4z5jnr2w8ysbf7j";} - {name="smokegen";value="0myzqfqcl7i8kikcyj2vbip9y4al411jmjm02hv55baccygls8yr";} - {name="smokekde";value="0b1m9g1swj9r44zbg8lbqmxp9l342dz8b4wsnn6n9ih0b15p512h";} - {name="smokeqt";value="047am45yjkyyza281zfzvv84kvldvmbgch5q3fd89vcvl5sh399j";} - {name="step";value="05rjnb16mzz91q7473k2g83g792xqh77p4gc2xmw0a5j4qk6f6ga";} - {name="superkaramba";value="0vxb8656ag6hmy3nx9w3xa38j12rajkqsmv4kx6ylnpk6v71s7x2";} - {name="svgpart";value="17j59rwg483p7ip1zxq37jnzvkafrkj7yabwrbwk0vvxkqcbqpx3";} - {name="sweeper";value="0yhp6k2ai7wgn242932w10xwainq07bf9zjm2fvaavrg3gh38644";} -]; -modules=[ -{ - module="kdemultimedia"; - split=true; - pkgs=[ - { name="audiocd-kio"; sane="audiocd_kio"; } - { name="dragon"; } - { name="ffmpegthumbs"; } - { name="juk"; } - { name="kmix"; } - { name="kscd"; } - { name="libkcddb"; } - { name="libkcompactdisc"; } - { name="mplayerthumbs"; } - ]; -} -{ - module="kdegraphics"; - split=true; - pkgs=[ - { name="gwenview"; } - { name="kamera"; } - { name="kcolorchooser"; } - { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; } - { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; } - { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; } - { name="kgamma"; } - { name="kolourpaint"; } - { name="kruler"; } - { name="ksaneplugin"; } - { name="ksnapshot"; } - { name="libkdcraw"; } - { name="libkexiv2"; } - { name="libkipi"; } - { name="libksane"; } - { name="okular"; } - { name="svgpart"; } - ]; -} -{ - module="kdelibs"; - split=true; - pkgs=[ - { name="kdelibs"; } - { name="nepomuk-core"; sane="nepomuk_core"; } - { name="nepomuk-widgets"; sane="nepomuk_widgets"; } - ]; -} -{ - module="kdeutils"; - split=true; - pkgs=[ - { name="ark"; } - { name="filelight"; } - { name="kcalc"; } - { name="kcharselect"; } - { name="kdf"; } - { name="kfloppy"; } - { name="kgpg"; } - { name="kremotecontrol"; } - { name="ktimer"; } - { name="kwallet"; } - { name="print-manager"; sane="print_manager"; } - { name="superkaramba"; } - { name="sweeper"; } - ]; -} -{ - module="applications"; - split=true; - pkgs=[ - { name="kate"; } - { name="konsole"; } - ]; -} -{ - module="kdegames"; - split=true; - pkgs=[ - { name="bomber"; } - { name="bovo"; } - { name="granatier"; } - { name="kajongg"; } - { name="kapman"; } - { name="katomic"; } - { name="kblackbox"; } - { name="kblocks"; } - { name="kbounce"; } - { name="kbreakout"; } - { name="kdiamond"; } - { name="kfourinline"; } - { name="kgoldrunner"; } - { name="kigo"; } - { name="killbots"; } - { name="kiriki"; } - { name="kjumpingcube"; } - { name="klickety"; } - { name="klines"; } - { name="kmahjongg"; } - { name="kmines"; } - { name="knavalbattle"; } - { name="knetwalk"; } - { name="kolf"; } - { name="kollision"; } - { name="konquest"; } - { name="kpat"; } - { name="kreversi"; } - { name="kshisen"; } - { name="ksirk"; } - { name="ksnakeduel"; } - { name="kspaceduel"; } - { name="ksquares"; } - { name="ksudoku"; } - { name="ktuberling"; } - { name="kubrick"; } - { name="libkdegames"; } - { name="libkmahjongg"; } - { name="lskat"; } - { name="palapeli"; } - { name="picmi"; } - ]; -} -{ - module="kdeedu"; - split=true; - pkgs=[ - { name="analitza"; } - { name="blinken"; } - { name="cantor"; } - { name="kalgebra"; } - { name="kalzium"; } - { name="kanagram"; } - { name="kbruch"; } - { name="kgeography"; } - { name="khangman"; } - { name="kig"; } - { name="kiten"; } - { name="klettres"; } - { name="kmplot"; } - { name="kstars"; } - { name="ktouch"; } - { name="kturtle"; } - { name="kwordquiz"; } - { name="libkdeedu"; } - { name="marble"; } - { name="pairs"; } - { name="parley"; } - { name="rocs"; } - { name="step"; } - ]; -} -{ - module="kdebindings"; - split=true; - pkgs=[ - { name="kimono"; } - { name="korundum"; } - { name="kross-interpreters"; sane="kross_interpreters"; } - { name="perlkde"; } - { name="perlqt"; } - { name="pykde4"; } - { name="qtruby"; } - { name="qyoto"; } - { name="smokegen"; } - { name="smokekde"; } - { name="smokeqt"; } - ]; -} -{ - module="kdeaccessibility"; - split=true; - pkgs=[ - { name="jovie"; } - { name="kaccessible"; } - { name="kmag"; } - { name="kmousetool"; } - { name="kmouth"; } - ]; -} -{ - module="kde-baseapps"; -sane="kde_baseapps"; split=true; - pkgs=[ - { name="kde-baseapps"; sane="kde_baseapps"; } - ]; -} -{ module="kactivities"; split=false;} -{ module="kdeadmin"; split=false; - pkgs=[ - { name="strigi-analyzer"; sane="strigi_analyzer";} - { name="kuser"; } - { name="ksystemlog"; } - { name="kcron"; } - ]; - -} -{ module="kdeartwork"; split=false; - pkgs=[ - { name="ColorSchemes"; } - { name="IconThemes"; } - { name="emoticons"; } - { name="kscreensaver"; } - { name="kwin-styles"; sane="kwin_styles";} - { name="sounds"; } - { name="styles"; } - { name="wallpapers"; } - { name="HighResolutionWallpapers"; } - { name="WeatherWallpapers"; } - { name="desktopthemes"; } - ]; - -} -{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;} -{ module="kdenetwork"; split=false; - pkgs=[ - { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers";} - { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing";} - { name="kppp"; } - { name="kdnssd"; } - { name="krdc"; } - { name="krfb"; } - { name="kget"; } - { name="kopete"; } - ]; - -} -{ module="kdepim"; split=false;} -{ module="kdepimlibs"; split=false;} -{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;} -{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;} -{ module="kde-runtime"; sane="kde_runtime"; split=false;} -#had to add fake pkgs to kdesdk to get it to be treated like a split module -{ module="kdesdk"; split=false; pkgs = [{ name="fake"; }]; } -{ module="kdetoys"; split=false; - pkgs=[ - { name="kteatime"; } - { name="ktux"; } - { name="amor"; } - ]; - -} -{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;} -{ module="kdewebdev"; split=false; - pkgs=[ - { name="klinkstatus"; } - { name="kfilereplace"; } - { name="kimagemapeditor"; } - { name="kommander"; } - ]; - -} -{ module="kde-workspace"; sane="kde_workspace"; split=false;} -{ module="oxygen-icons"; sane="oxygen_icons"; split=false;} -]; -} diff --git a/pkgs/desktops/kde-4.10/kde-workspace.nix b/pkgs/desktops/kde-4.10/kde-workspace.nix deleted file mode 100644 index a478dc975fe9..000000000000 --- a/pkgs/desktops/kde-4.10/kde-workspace.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, shared_desktop_ontologies, - lm_sensors, pciutils, libraw1394, libusb, libxklavier, python, libqalculate, - xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison, akonadi, - libjpeg, pkgconfig, libXft, libXxf86misc, kactivities, qjson, networkmanager -}: - -kde { - -#todo: googlegadgets, consolekit, xmms - buildInputs = - [ kdelibs qimageblitz libdbusmenu_qt libjpeg xorg.libxcb xorg.xcbutilimage - xorg.xcbutilrenderutil libXft #libXxf86misc - xorg.libxkbfile xorg.libXcomposite xorg.libXtst #xorg.libXScrnSaver - xorg.libXdamage xorg.libXau xorg.libXdmcp xorg.libpthreadstubs - boost gpsd lm_sensors pciutils libraw1394 - libusb python libqalculate kdepimlibs pam prison akonadi qjson networkmanager - kactivities - ]; - - nativeBuildInputs = [ pkgconfig ]; - - preConfigure = - '' - # Fix incorrect path to kde4-config. - substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config - - # Fix the path to the keyboard configuration files. - substituteInPlace kcontrol/keyboard/xkb_rules.cpp \ - --replace /usr/share/X11 ${xkeyboard_config}/etc/X11 - ''; - - enableParallelBuilding = false; # frequent problems on Hydra - - meta = { - description = "KDE workspace components such as Plasma, Kwin and System Settings"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix deleted file mode 100644 index bada0c1cb108..000000000000 --- a/pkgs/desktops/kde-4.10/kdeadmin/kcron.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix deleted file mode 100644 index bada0c1cb108..000000000000 --- a/pkgs/desktops/kde-4.10/kdeadmin/ksystemlog.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix deleted file mode 100644 index 571674a461ad..000000000000 --- a/pkgs/desktops/kde-4.10/kdeadmin/kuser.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs, kdepimlibs }: - -kde { - buildInputs = [ kdelibs kdepimlibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.10/kdeartwork/sounds.nix deleted file mode 100644 index e98705da889e..000000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/sounds.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-sounds"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "New login/logout sounds"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch b/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch deleted file mode 100644 index e7a7cb4c661c..000000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/pykde4-hardcode-lib-python.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/kpythonpluginfactory/CMakeLists.txt b/kpythonpluginfactory/CMakeLists.txt -index 41fa0fe..642d867 100644 ---- a/kpythonpluginfactory/CMakeLists.txt -+++ b/kpythonpluginfactory/CMakeLists.txt -@@ -3,7 +3,12 @@ - set(kpythonpluginfactory_SRCS - kpythonpluginfactory.cpp) - --GET_FILENAME_COMPONENT(LIB_PYTHON ${PYTHON_LIBRARY} NAME) -+option(HARDCODE_LIB_PYTHON_PATH "Whether the path to libpython.so should be hardcoded" OFF) -+if(HARDCODE_LIB_PYTHON_PATH) -+ get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} REALPATH) -+else(HARDCODE_LIB_PYTHON_PATH) -+ get_filename_component(LIB_PYTHON ${PYTHON_LIBRARY} NAME) -+endif(HARDCODE_LIB_PYTHON_PATH) - ADD_DEFINITIONS(-DLIB_PYTHON=\\"${LIB_PYTHON}\\") - ADD_DEFINITIONS(-DKDE_DEFAULT_DEBUG_AREA=15000) - diff --git a/pkgs/desktops/kde-4.10/kdeedu/cantor.nix b/pkgs/desktops/kde-4.10/kdeedu/cantor.nix deleted file mode 100644 index 4563012ac67a..000000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/cantor.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, libspectre, analitza, R, pkgconfig, gfortran, libqalculate }: -kde { - - buildInputs = [ kdelibs libspectre analitza R gfortran libqalculate]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "KDE Frontend to Mathematical Software"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kig.nix b/pkgs/desktops/kde-4.10/kdeedu/kig.nix deleted file mode 100644 index bd5ef67529cc..000000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kig.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, boost, python}: -kde { - buildInputs = [ kdelibs boost python ]; - - cmakeFlags = '' - -DBOOST_PYTHON_INCLUDES:PATH=${boost}/include;${python}/include/${python.libPrefix} - -DBOOST_PYTHON_LIBS=boost_python;${python.libPrefix} -DKIG_ENABLE_PYTHON_SCRIPTING=1 - ''; - meta = { - description = "KDE Interactive Geometry"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix deleted file mode 100644 index 00910ab9d466..000000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/gwenview.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, exiv2, shared_desktop_ontologies, kde_baseapps, libkipi -, libjpeg, libtiff, pkgconfig, kactivities, lcms2 }: - -kde { - - buildInputs = - [ kdelibs exiv2 shared_desktop_ontologies kactivities kde_baseapps libkipi libjpeg lcms2 ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Gwenview, the KDE image viewer"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix deleted file mode 100644 index e8790205caea..000000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/libkdcraw.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libjpeg, lcms1, jasper }: - -kde { - buildInputs = [ kdelibs libjpeg lcms1 jasper ]; - - meta = { - description = "Library for decoding RAW images"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/okular.nix b/pkgs/desktops/kde-4.10/kdegraphics/okular.nix deleted file mode 100644 index efc1e8f07429..000000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/okular.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2 -, qimageblitz, libtiff, kactivities, pkgconfig }: - -kde { - - #todo: package activeapp - - buildInputs = - [ chmlib djvulibre ebook_tools kdelibs libspectre popplerQt4 qca2 qimageblitz libtiff kactivities ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Okular, the KDE document viewer"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix deleted file mode 100644 index cd6f3a179c22..000000000000 --- a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-core.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4 }: - -kde { - - buildInputs = [ kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg popplerQt4 ]; - - meta = { - description = "NEPOMUK core"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix deleted file mode 100644 index 7a1aab85ed72..000000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/juk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, taglib }: -kde { - buildInputs = [ kdelibs taglib ]; - meta = { - description = "an audio jukebox application"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake b/pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake deleted file mode 100644 index c40b0bed3105..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/FindmsiLBC.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# cmake macro to test msiLBC - -# Copyright (c) 2009-2010 Pali Rohár -# -# MSILBC_FOUND -# MSILBC_LIBRARY - -include ( FindPackageHandleStandardArgs ) - -if ( MSILBC_LIBRARY ) - set ( MSILBC_FOUND true ) - set ( msiLBC_FIND_QUIETLY true ) -else ( MSILBC_LIBRARY ) - find_library ( MSILBC_LIBRARY NAMES msilbc - PATH_SUFFIXES mediastreamer/plugins) -endif ( MSILBC_LIBRARY ) - -find_package_handle_standard_args ( msiLBC DEFAULT_MSG MSILBC_LIBRARY ) -mark_as_advanced ( MSILBC_LIBRARY ) diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix deleted file mode 100644 index bada0c1cb108..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-filesharing.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix deleted file mode 100644 index ac28edb8dd98..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kdenetwork-strigi-analyzers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, boost }: - -kde { - name = "strigi-analyzer-torrent"; - - buildInputs = [ kdelibs boost ]; - - #preConfigure = "mv -v kdenetwork-strigi-analyzers kfile-plugins"; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix deleted file mode 100644 index bada0c1cb108..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kdnssd.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix b/pkgs/desktops/kde-4.10/kdenetwork/kget.nix deleted file mode 100644 index d5f38096a427..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kget.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs, libktorrent, kde_workspace, kdepimlibs, sqlite -, shared_desktop_ontologies, kde_baseapps, gpgme, boost, libmms, qca2 }: - -kde { - buildInputs = - [ kdelibs libktorrent - kde_workspace - shared_desktop_ontologies - # kde_baseapps - gpgme boost libmms qca2 sqlite - ]; - - KDEDIRS = libktorrent; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch deleted file mode 100644 index ec003732344f..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-linphonemediaengine.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc b/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc -index 88fdbd1..57c6c05 100644 ---- a/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc -+++ b/kopete/protocols/jabber/googletalk/libjingle/talk/session/phone/linphonemediaengine.cc -@@ -200,7 +200,7 @@ bool LinphoneVoiceChannel::SetSendCodecs(const std::vector& codecs) - LOG(LS_INFO) << "Using " << i->name << "/" << i->clockrate; - pt_ = i->id; - audio_stream_ = audio_stream_start(&av_profile, -1, "localhost", port1, i->id, 250, 0); /* -1 means that function will choose some free port */ -- port2 = rtp_session_get_local_port(audio_stream_->session); -+ port2 = rtp_session_get_local_port(audio_stream_->ms.session); - first = false; - } - } -@@ -211,7 +211,7 @@ bool LinphoneVoiceChannel::SetSendCodecs(const std::vector& codecs) - // working with a buggy client; let's try PCMU. - LOG(LS_WARNING) << "Received empty list of codces; using PCMU/8000"; - audio_stream_ = audio_stream_start(&av_profile, -1, "localhost", port1, 0, 250, 0); /* -1 means that function will choose some free port */ -- port2 = rtp_session_get_local_port(audio_stream_->session); -+ port2 = rtp_session_get_local_port(audio_stream_->ms.session); - } - - return true; diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch deleted file mode 100644 index d6aa9515b76c..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kopete-4.10.4-kopete-stun.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h b/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h ---- a/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h -+++ b/kopete/protocols/jabber/googletalk/libjingle/talk/p2p/base/stun.h -@@ -25,16 +25,8 @@ - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#ifndef __STUN_H__ --#define __STUN_H__ -- --// This file contains classes for dealing with the STUN and TURN protocols. --// Both protocols use the same wire format. -- --#include "talk/base/basictypes.h" --#include "talk/base/bytebuffer.h" --#include --#include -+#ifndef STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX -+#define STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX - - namespace cricket { - -@@ -55,6 +47,23 @@ - STUN_DATA_INDICATION = 0x0115 - }; - -+} -+ -+#endif // STUN__HH__IN__STUNREQUEST_CYCLIC_PROBLEM_FIX -+ -+#ifndef __STUN_H__ -+#define __STUN_H__ -+ -+// This file contains classes for dealing with the STUN and TURN protocols. -+// Both protocols use the same wire format. -+ -+#include "talk/base/basictypes.h" -+#include "talk/base/bytebuffer.h" -+#include -+#include -+ -+namespace cricket { -+ - // These are the types of attributes defined in STUN & TURN. Next to each is - // the name of the class (T is StunTAttribute) that implements that type. - enum StunAttributeType { - diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch b/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch deleted file mode 100644 index 1755bdbce76d..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch +++ /dev/null @@ -1,70 +0,0 @@ -Index: b/kopete/protocols/wlm/wlmchatsession.cpp -=================================================================== ---- a/kopete/protocols/wlm/wlmchatsession.cpp -+++ b/kopete/protocols/wlm/wlmchatsession.cpp -@@ -63,10 +63,14 @@ - #include "wlmprotocol.h" - #include "wlmaccount.h" - #include "wlmchatsessioninkaction.h" - #ifdef HAVE_GIFLIB - #include -+/* old giflib has no GIFLIB_MAJOR, define to avoid cpp warnings */ -+#ifndef GIFLIB_MAJOR -+#define GIFLIB_MAJOR 4 -+#endif - #endif - - WlmChatSession::WlmChatSession (Kopete::Protocol * protocol, - const Kopete::Contact * user, - Kopete::ContactPtrList others, -@@ -465,15 +469,19 @@ WlmChatSession::slotInviteContact (Kopet - static void - printGifErrorMessage() - { - #ifdef HAVE_GIFLIB - #ifdef HAVE_GIF_ERROR_STRING // giflib 4.2.0+ -+#if GIFLIB_MAJOR >= 5 -+ fprintf(stderr, "GIF-LIB error (exact reporting not implemented)\n"); -+#else - const char * errorString = GifErrorString(); - if (errorString) - fprintf(stderr, "GIF-LIB error: %s\n", errorString); - else - fprintf(stderr, "GIF-LIB undefined error: %d\n", GifError()); -+#endif - #else // older giflib versions, libungif - PrintGifError(); - #endif // HAVE_GIF_ERROR_STRING - #endif // HAVE_GIFLIB - } -@@ -481,10 +489,14 @@ printGifErrorMessage() - /* stolen from kpaint write_to_gif() */ - void - WlmChatSession::convertToGif( const QPixmap & ink, QString filename) - { - #ifdef HAVE_GIFLIB -+#if GIFLIB_MAJOR >= 5 -+#define FreeMapObject GifFreeMapObject -+#define MakeMapObject GifMakeMapObject -+#endif - int i, status; - GifFileType *GifFile; - ColorMapObject *screenColourmap; - ColorMapObject *imageColourmap; - QImage img = ink.toImage().convertToFormat(QImage::Format_Indexed8); -@@ -523,11 +535,15 @@ WlmChatSession::convertToGif( const QPix - screenColourmap->Colors[i].Green= 0; - screenColourmap->Colors[i].Blue= 0; - } - } - -+#if GIFLIB_MAJOR >= 5 -+ GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0, NULL); -+#else - GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0); -+#endif - if (!GifFile) { - FreeMapObject(imageColourmap); - FreeMapObject(screenColourmap); - return; - } diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix deleted file mode 100644 index b065ae610095..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kopete.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ kde, kdelibs, speex, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent, - jasper, libidn, mediastreamer, msilbc, pkgconfig, libxslt, giflib, - libgadu, boost, qca2, gpgme, sqlite, telepathy_qt, shared_desktop_ontologies, - libjpeg, libmms }: - -kde { -#todo: libmeanwhile, xmms - buildInputs = [ - kdelibs telepathy_qt shared_desktop_ontologies qca2 gpgme libgadu mediastreamer - kdepimlibs qimageblitz libktorrent libjpeg sqlite jasper giflib libmsn libotr - libxslt libidn speex boost libmms msilbc -]; - - nativeBuildInputs = [ pkgconfig ]; - - KDEDIRS = libktorrent; - - patchPhase = - '' - cp -v ${./FindmsiLBC.cmake} kopete/cmake/modules/FindmsiLBC.cmake - patch -p1 < ${./kopete-4.10.4-kopete-linphonemediaengine.patch} - patch -p1 < ${./kopete-4.10.4-kopete-stun.patch} - patch -p1 < ${./kopete-giflib5.patch} - ''; - - cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ]; - - meta = { - description = "A KDE multi-protocol IM client"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix deleted file mode 100644 index bada0c1cb108..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/kppp.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix deleted file mode 100644 index 1b7405f10062..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/krdc.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs, libvncserver, libjpeg }: - -kde { - buildInputs = [ kdelibs libvncserver libjpeg ]; -} diff --git a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix deleted file mode 100644 index b6c36ea9c158..000000000000 --- a/pkgs/desktops/kde-4.10/kdenetwork/krfb.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg }: - -kde { - buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg ]; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix deleted file mode 100644 index 500dffc809e9..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-bazaar.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - # Needs kdebase for libkonq - buildInputs = [ kdelibs kde_baseapps ]; - - patchPhase = '' - sed -i 's@macro_optional_add_subdirectory(bazaar)@add_subdirectory(bazaar)@' dolphin-plugins/CMakeLists.txt - ''; - - meta = { - description = "Bazaar plugin for dolphin"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix deleted file mode 100644 index 2da3603c3bec..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-git.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - # Needs kdebase for libkonq - buildInputs = [ kdelibs kde_baseapps ]; - - patchPhase = '' - sed -i 's@macro_optional_add_subdirectory(git)@add_subdirectory(git)@' dolphin-plugins/CMakeLists.txt - ''; - - meta = { - description = "Git plugin for dolphin"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix deleted file mode 100644 index 20925842a32d..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-hg.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - # Needs kdebase for libkonq - buildInputs = [ kdelibs kde_baseapps ]; - - patchPhase = '' - sed -i 's@macro_optional_add_subdirectory(hg)@add_subdirectory(hg)@' dolphin-plugins/CMakeLists.txt - ''; - - meta = { - description = "Mercurial plugin for dolphin"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix b/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix deleted file mode 100644 index fafdcc55a1f0..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/dolphin-plugins-svn.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - # Needs kdebase for libkonq - buildInputs = [ kdelibs kde_baseapps ]; - - patchPhase = '' - sed -i 's@macro_optional_add_subdirectory(svn)@add_subdirectory(svn)@' dolphin-plugins/CMakeLists.txt - ''; - - meta = { - description = "Svn plugin for dolphin"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix b/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix deleted file mode 100644 index 4c45be6b4fef..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kioslave-perldoc.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, perl }: - -kde { - - buildInputs = [ kdelibs perl ]; - - cmakeFlags = [ "-DBUILD_perldoc=ON" ]; - - meta = { - description = "perldoc: kioslave"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix b/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix deleted file mode 100644 index 0574241353db..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kioslave-svn.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, subversionClient, apr, aprutil }: - -kde { - - buildInputs = [ kdelibs subversionClient apr aprutil ]; - - meta = { - description = "Subversion kioslave"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/poxml.nix b/pkgs/desktops/kde-4.10/kdesdk/poxml.nix deleted file mode 100644 index 1ab9ed49df56..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/poxml.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, antlr }: - -kde { - buildInputs = [ kdelibs antlr ]; - - meta = { - description = "Po<->xml tools"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch b/pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch deleted file mode 100644 index 5b4f7643bf45..000000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/thumbnailers-add-subdirectory.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur kdesdk-4.10.2-upstream/kdesdk-thumbnailers/CMakeLists.txt kdesdk-4.10.2/kdesdk-thumbnailers/CMakeLists.txt ---- kdesdk-4.10.2-upstream/kdesdk-thumbnailers/CMakeLists.txt 2013-05-02 21:05:56.446226846 -0430 -+++ kdesdk-4.10.2/kdesdk-thumbnailers/CMakeLists.txt 2013-05-02 21:09:58.504053136 -0430 -@@ -9,7 +9,7 @@ - macro_log_feature(GETTEXTPO_FOUND "gettext-po" "A library for processing PO files" "www.gnu.org/software/gettext" FALSE "" "Required to build the PO thumbnailer") - - if(GETTEXTPO_FOUND) --macro_optional_add_subdirectory(po_thumbnailer) -+add_subdirectory(po_thumbnailer) - endif(GETTEXTPO_FOUND) - - macro_display_feature_log() diff --git a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix b/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix deleted file mode 100644 index 67abb386a48c..000000000000 --- a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.4.nix +++ /dev/null @@ -1,282 +0,0 @@ -[ -{ - lang = "ar"; - saneName = "ar"; - sha256 = "1pkca1z620pwd8nk53wpbg6490nzd21i71691dmp233mgb8pzwfz"; -} -{ - lang = "bg"; - saneName = "bg"; - sha256 = "1zsml7q434m5242my2y14b5b708ccrmyrvkbl231mjxdqmy137g8"; -} -{ - lang = "bs"; - saneName = "bs"; - sha256 = "0qbhix7xxabcgwyjrqhvhqfm2gs72swj2wdbh99csb8y3ms4bhwm"; -} -{ - lang = "ca"; - saneName = "ca"; - sha256 = "1hfj9ram95fsv4qbjv6mwc01sl15vw8cj0q7vy3jjvamcjlczn4q"; -} -{ - lang = "ca@valencia"; - saneName = "ca_valencia"; - sha256 = "19vjxcpvbrip18j26sbs4h16wisvpryfdf4v7z6kg716k6pgj0gb"; -} -{ - lang = "cs"; - saneName = "cs"; - sha256 = "1nvyazb2dv03k68shqj7crx01yiwzh1zs5al84ym3j18drq8b66r"; -} -{ - lang = "da"; - saneName = "da"; - sha256 = "1pclmjkb7c2c6k62pilgi6r7bxw2clpb5vj46n0rdhhr97vfschn"; -} -{ - lang = "de"; - saneName = "de"; - sha256 = "15qkm1004mq8g3y7jdhsziabf5c1c57p5h57086ngk9x61r2gfmx"; -} -{ - lang = "el"; - saneName = "el"; - sha256 = "1il49v54qfc1gy9scqal9fjpkjxk3wpzylcz6n5372n01mgs8ydz"; -} -{ - lang = "en_GB"; - saneName = "en_GB"; - sha256 = "1c25p3byhlv41b82hlpq6agpnfd5vzfm7a9fb8h7jh8va5ifqwac"; -} -{ - lang = "es"; - saneName = "es"; - sha256 = "1wa15glj0a11phcm69yaz532j4412vqx1h4cwhddyr2l3d7g135i"; -} -{ - lang = "et"; - saneName = "et"; - sha256 = "1hsq8213mzxzasydgrmcgid85r9d1p1fgkabb5wd66xz5kgjc5v7"; -} -{ - lang = "eu"; - saneName = "eu"; - sha256 = "1xw7hnlqq05bfsgb74qhis8dcnr7nllm3vm2mc4n8g5n7h8c0hq4"; -} -{ - lang = "fa"; - saneName = "fa"; - sha256 = "0z0v9m7z557jmqdngw4km4icaxhzlc5np7rzsnzgsqm2xnapc1cm"; -} -{ - lang = "fi"; - saneName = "fi"; - sha256 = "0jvy10459fc58d21azbk3jjnq1pb3n4a8v5ynw0f2pcizgivrlm3"; -} -{ - lang = "fr"; - saneName = "fr"; - sha256 = "15wnqcqz1xrdw33xiff0xfnyd56x3hj9nk4i1sxkkymfay2jkdgk"; -} -{ - lang = "ga"; - saneName = "ga"; - sha256 = "1n7vzhyph2rr22isnzr7r4yrchkzrgwa1xw00ncpmj4k81gl7yl3"; -} -{ - lang = "gl"; - saneName = "gl"; - sha256 = "0hqlhl19y9bc262kk0s5grgvg3xy0gvcvkrcwy2casmrsx3p5f1y"; -} -{ - lang = "he"; - saneName = "he"; - sha256 = "0yh6l1ypy3h1bgs1kbnjj7fbhap4a416zlsbsd7d4g71dq7hsm1p"; -} -{ - lang = "hi"; - saneName = "hi"; - sha256 = "03j1dvylczy360dndpny9qfijfnacv185qwlji7zj4x83y69zfdc"; -} -{ - lang = "hr"; - saneName = "hr"; - sha256 = "1257lwczcyh6nbp3s8078l2h6yj04wqxa4iak7k3q79l8x2jhch6"; -} -{ - lang = "hu"; - saneName = "hu"; - sha256 = "1mvqfmmajgf5iyscalmrsipa9vy5b6ap7bdarl0d1i4nwh1g8mxq"; -} -{ - lang = "ia"; - saneName = "ia"; - sha256 = "0cq6c2ky8gydzk5rz5yjgb3lp7n2d9h760q7m8skq9f8hks7vlic"; -} -{ - lang = "is"; - saneName = "is"; - sha256 = "1149l8i96iq195cjzbrrdzxck1zd34w6y8hxs8p6jz49bzf5g5c5"; -} -{ - lang = "it"; - saneName = "it"; - sha256 = "0n4b7x0xxvmlr55b602pi7bxmrcpsqcc4qk4x58x2kpb9awh896i"; -} -{ - lang = "ja"; - saneName = "ja"; - sha256 = "1dfy3kzqx0xm52jp7gzph0xm6zrwb9y3mssyw4shmnvhlf13xkki"; -} -{ - lang = "kk"; - saneName = "kk"; - sha256 = "1gd6vnh2vwn4lj8c0qmq7avaz79zv2ldqyb07d2wmvpljpifz5fk"; -} -{ - lang = "km"; - saneName = "km"; - sha256 = "0q619ddjj928v376j1ljn2k6br7zlazfkk9q4hndi6kql1712139"; -} -{ - lang = "ko"; - saneName = "ko"; - sha256 = "1jmfxpz3pf2zglysjnry0ahygvkapk6v844q1nhsmfci6mmpmlqh"; -} -{ - lang = "lt"; - saneName = "lt"; - sha256 = "01f6krx8ll9jhih5205fxsb0dz3ynwpz43byq7qyi68f1lkaxsd0"; -} -{ - lang = "lv"; - saneName = "lv"; - sha256 = "0xnl28havz92ar5gid3p2r8wap3yrsg143fghqcdiymbzwy3sb0k"; -} -{ - lang = "mr"; - saneName = "mr"; - sha256 = "1arc5ksxgwvk2i669nhm2y78qf4zd1z3z8fjpixf6ax9g3bqdghd"; -} -{ - lang = "nb"; - saneName = "nb"; - sha256 = "1fk0g008pdw4gpbzbycl6xck0m7mf56f27rfa10riy9drmi7bcbj"; -} -{ - lang = "nds"; - saneName = "nds"; - sha256 = "1g2gwslqk0zfayhd91mbgl3gwznj8npq9637c3wkk3kdnz6hcsw0"; -} -{ - lang = "nl"; - saneName = "nl"; - sha256 = "1j6dw63jph3dbi0v4rlq3mp98fijynd4n0a6z4dwmzdjzb5ccqrg"; -} -{ - lang = "nn"; - saneName = "nn"; - sha256 = "0m5i7i6rscqwwx4l0fw0bmg1247hbs3bxbnxmqbz6fv5pp29yh4v"; -} -{ - lang = "pa"; - saneName = "pa"; - sha256 = "0bn3bf6pkjvr0la5n4s3lb1ij0q2rh4qx8ig6sbkq0j822c84n11"; -} -{ - lang = "pl"; - saneName = "pl"; - sha256 = "09gw92a41ws5lxapw0160pqrqfhfnk42yshlzmdk3aav88rq1f0q"; -} -{ - lang = "pt"; - saneName = "pt"; - sha256 = "1lyh8szfwbd3jm3gsndgigz1xhzldh246c2d6f4lsry9w9557gpl"; -} -{ - lang = "pt_BR"; - saneName = "pt_BR"; - sha256 = "12vgf8qx8244brvfy7mi8ak1nxh9fclj9n2yic5ldf2wfkb7hzjd"; -} -{ - lang = "ro"; - saneName = "ro"; - sha256 = "0q995rw2bbv8vjnf9h0ywdvq8v24rkmxck1w7bf0wblcp7w4pcpq"; -} -{ - lang = "ru"; - saneName = "ru"; - sha256 = "014zcdk5kxif17mqb6ivsc44021f4hxr0d2pn2d0jlrhx4dbyvsp"; -} -{ - lang = "si"; - saneName = "si"; - sha256 = "0y80d8d18di9n0jj8ifxmdc5vgmq6bkc86id5azqrlif4rhs55jj"; -} -{ - lang = "sk"; - saneName = "sk"; - sha256 = "1q87ixrqqkhzbyb7mlk0xfnxcih057x9w596spr5br8arxr34912"; -} -{ - lang = "sl"; - saneName = "sl"; - sha256 = "1ykbh8j2x14vq7iszll4lgmg8gbnv6jql686x01896ba504144y4"; -} -{ - lang = "sr"; - saneName = "sr"; - sha256 = "03f0jjsn4bwysjs8x8iy61z0rnzm8gn3w9k85wfa0br8cjr36cji"; -} -{ - lang = "sv"; - saneName = "sv"; - sha256 = "1bf3795ddlxk9cz686jlifb18wjxfgjqfv3s45gs9q09i6sq0iv4"; -} -{ - lang = "tg"; - saneName = "tg"; - sha256 = "11w9ibw8bbkllrf4628rc5zpwwwp5plcapndwp9sb19rsdx0bnvf"; -} -{ - lang = "th"; - saneName = "th"; - sha256 = "0rv5l7zplhfr7l8a4wh4ngvh0assq97dlvh5d6x9a464k5fgwg7w"; -} -{ - lang = "tr"; - saneName = "tr"; - sha256 = "15f1rsbzljk120dq2v2wkgn4ym50yzrd9xyzgw9g22hlmy5inmm8"; -} -{ - lang = "ug"; - saneName = "ug"; - sha256 = "1f924vl3vm20p5hfyzzv6hx6cvb7ym4bf9lbch808k99jwvh6j99"; -} -{ - lang = "uk"; - saneName = "uk"; - sha256 = "1fv78nvvrd6z62fy3iqqbf77vixadl8s2hg6lkg094f1dc8l3w4n"; -} -{ - lang = "vi"; - saneName = "vi"; - sha256 = "1k2i818821bls1vqb614jq8pi6cj43rf2x2bcbcibwdmhs1xljx8"; -} -{ - lang = "wa"; - saneName = "wa"; - sha256 = "0bk9mjir5az1rnxclyijc42mfnpgbw1fzzfvw765wdcs1mkjqrdh"; -} -{ - lang = "zh_CN"; - saneName = "zh_CN"; - sha256 = "0m3z05zsg2afzfm2ws090rx9214l9zjshfxy7sww3a2nb39f798b"; -} -{ - lang = "zh_TW"; - saneName = "zh_TW"; - sha256 = "09921r007i23q1dyg9gx8zjaf3da0i2r6r673yhaq584srxivznq"; -} -] diff --git a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix b/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix deleted file mode 100644 index 9862efe0b582..000000000000 --- a/pkgs/desktops/kde-4.10/l10n/manifest-4.10.5.nix +++ /dev/null @@ -1,282 +0,0 @@ -[ -{ - lang = "ar"; - saneName = "ar"; - sha256 = "0mxvp97sf1f6w2rfy966fdhpflqfmwv253zswaz3cv9b5m9yf5q8"; -} -{ - lang = "bg"; - saneName = "bg"; - sha256 = "0fk5r0bqnks1ygac6cs8f5gb16lr4qrh32jgdk50hnv6ad51agfv"; -} -{ - lang = "bs"; - saneName = "bs"; - sha256 = "10kc76l1fm56rhnc6wvm29ij15v2pvmsq1djvm6zxhsdm99af25k"; -} -{ - lang = "ca"; - saneName = "ca"; - sha256 = "0gn4ghvwwi09aibmx5940b159d7svnbcq25cg02lhvjvfrmyfp1j"; -} -{ - lang = "ca@valencia"; - saneName = "ca_valencia"; - sha256 = "175j2gn35vzjb17rbd0mvrxas180wq3v1x6q1caykm2qddqqmqgv"; -} -{ - lang = "cs"; - saneName = "cs"; - sha256 = "0zxa2cmcwdbdwgz5wm58v0gqzphcc1b1vzzgrrnpsmfjqb6h951c"; -} -{ - lang = "da"; - saneName = "da"; - sha256 = "0qab4gbilpb8fwyjqcvvmzms4hdbrii4xr5xgcl87v8va5gcdc8s"; -} -{ - lang = "de"; - saneName = "de"; - sha256 = "1vh9h185qa42q7gkyflp7g93hgvhxjd2cknwz0yq6dxsx8dg5iqd"; -} -{ - lang = "el"; - saneName = "el"; - sha256 = "1f8wsq9hh2d6wpd7v1bz5mchb1zjnc895mmpawy67rv6s45vx6y8"; -} -{ - lang = "en_GB"; - saneName = "en_GB"; - sha256 = "1nz7q6fq3242vjh2961r4v4kp1fywknnjrnfadgf3g0dvav2vkq8"; -} -{ - lang = "es"; - saneName = "es"; - sha256 = "1mazkh53vdvsz5zrx41fi49x44isibpwmrrqwcmpbcwdqx7iaf9v"; -} -{ - lang = "et"; - saneName = "et"; - sha256 = "0f7bi50gzrhnvif7c1h6mgscbbjvz0cqifdnaaqr9m7d9iafwwyz"; -} -{ - lang = "eu"; - saneName = "eu"; - sha256 = "0k0w849nqjsaxsi8rm4jd13fqcvk88v6j0yar36mvblh6x61qgq8"; -} -{ - lang = "fa"; - saneName = "fa"; - sha256 = "12fmd6zy14wsd2i1nszc4bl3q0asvf9wqsgwihxipw34fwa6irpv"; -} -{ - lang = "fi"; - saneName = "fi"; - sha256 = "0k76zlfjjz7vlvlz298713c27zbcybjip33wix76ldj7is9yb07v"; -} -{ - lang = "fr"; - saneName = "fr"; - sha256 = "03qxm8q3bvx4cqaxvfbdj07q2rpcwrqyp333x3jwmcc5xj731pww"; -} -{ - lang = "ga"; - saneName = "ga"; - sha256 = "09n5wpc4s2xxv1016dvg8zwbvx6lx6942lnyq3b4adl4yjcghs32"; -} -{ - lang = "gl"; - saneName = "gl"; - sha256 = "1w7hj6ma3d03wv2x651hwhxxc4ird23f0khc4z03ncpl9xvyikky"; -} -{ - lang = "he"; - saneName = "he"; - sha256 = "0jirch5cw99lcs9d83kzifb9wdqz1aqdjmi4wam0gi8nciws8hwr"; -} -{ - lang = "hi"; - saneName = "hi"; - sha256 = "02g0a4l1mlmx64acxfl6a1lqbivnwdfx98q8f9nyb3836i8i3sd7"; -} -{ - lang = "hr"; - saneName = "hr"; - sha256 = "087jww1daqqwrrxi1hz72kc39ipj6hj73cqzy4ds24hm112z58dc"; -} -{ - lang = "hu"; - saneName = "hu"; - sha256 = "1mwmbhnzvhxzcfk3j6f61jfprfwaan8mf9l4s7r8f3ddmsz66kha"; -} -{ - lang = "ia"; - saneName = "ia"; - sha256 = "0grmi972ndizf3gpjxjv79crc0si4b3dadayzmayrykndd5b30i6"; -} -{ - lang = "is"; - saneName = "is"; - sha256 = "13d8ikfhlswpaxrj9l6f0kf4dzbmgri5d3miz3r8h6lmmszq2phr"; -} -{ - lang = "it"; - saneName = "it"; - sha256 = "1m17wqak0alhkk81fhl32fcv0b2nnszjs7xia0df75z8c2js9vmm"; -} -{ - lang = "ja"; - saneName = "ja"; - sha256 = "1br0gipw4ra3bvzdal9dn8x8kldmmk4miw1z5hsimhkgc5y5amb3"; -} -{ - lang = "kk"; - saneName = "kk"; - sha256 = "0vmdfcy2dmxd6bjvz31xhjkxd2q55px70c9d6lj3fmf4bxiqlmc4"; -} -{ - lang = "km"; - saneName = "km"; - sha256 = "1snrn2yw7z2m0m3wqxgqrq1rxqnjb4ylngdnn0ym87yh7bh6kjsc"; -} -{ - lang = "ko"; - saneName = "ko"; - sha256 = "1dyymy3wdldmkxai47y25qzpcajsi18h4rl0m1izm90giwadrk85"; -} -{ - lang = "lt"; - saneName = "lt"; - sha256 = "1im120mlnvjdlh5gna9q0qfixg2zz2shhzbxih37ikzpjxr7v5zs"; -} -{ - lang = "lv"; - saneName = "lv"; - sha256 = "07303s04qkh7pa78ranvcvqs75wll427vdb0iv6sr07smd0fzf1d"; -} -{ - lang = "mr"; - saneName = "mr"; - sha256 = "1dzzzc3wkjhapmdlbp178w6rm00ibixmp4xhkbsavr7hy18a048c"; -} -{ - lang = "nb"; - saneName = "nb"; - sha256 = "039gi1ba8z9w80b6xsh3b51alq91d4phr6pmfnaqngwqmaksxidh"; -} -{ - lang = "nds"; - saneName = "nds"; - sha256 = "0bg55dl284y7wvcl40sgspnvpfiqkapvwwi02n4jyl3w4xsy3b8j"; -} -{ - lang = "nl"; - saneName = "nl"; - sha256 = "048pr21vfcwvfxpw56kil4awmx7samva4jd86g6rvrs6q85c0mxj"; -} -{ - lang = "nn"; - saneName = "nn"; - sha256 = "10xy5r3s79gh28zzy72dhs79ap616qnrqms3mgg9kdvmmi2n32nm"; -} -{ - lang = "pa"; - saneName = "pa"; - sha256 = "08ib4pbahgjww4d82vcgahc7jxky85riim1p0ck5dzhri0664zx8"; -} -{ - lang = "pl"; - saneName = "pl"; - sha256 = "0kqr4jvqsyasdacv0kxjcx5nfd6m0kd1vk7418mzbabjyb2nbvl1"; -} -{ - lang = "pt"; - saneName = "pt"; - sha256 = "0nfnwcq2n5dp721wi7arp3via0kvhf3rfq8h78k9dqs5afyhf4n1"; -} -{ - lang = "pt_BR"; - saneName = "pt_BR"; - sha256 = "1886fga94c7zp0g1hdijqj64mi8asgbmykic6n0mzin33c4rwyjs"; -} -{ - lang = "ro"; - saneName = "ro"; - sha256 = "0q51v23dviwrgy1zaq3823xh2vfm2zvkpqizgmi111m681s0n4kx"; -} -{ - lang = "ru"; - saneName = "ru"; - sha256 = "0mm8mfqlfbj0r2d4xyli2n8x8sgpw2bjxnlq8yy38pgi9pksgcsl"; -} -{ - lang = "si"; - saneName = "si"; - sha256 = "0qcvdil9gbgwf10v4j606d0vi4705vb77aq7p1kq3y57khldlhsa"; -} -{ - lang = "sk"; - saneName = "sk"; - sha256 = "1rmxh12r7i9cc7nkigxx6igvzjjq1rk3y5nm2mdjq7gcv067gp9i"; -} -{ - lang = "sl"; - saneName = "sl"; - sha256 = "0xdd5ini0b0fi5xfai533y8a5g8gyphfrz6qvivpgdd81rfckpk1"; -} -{ - lang = "sr"; - saneName = "sr"; - sha256 = "09rfcrw58f0bvqqkdcpiy56xv591yk6v0iinlabamza63h011rmk"; -} -{ - lang = "sv"; - saneName = "sv"; - sha256 = "1slznfn6ghqy5cy870apwgcygdhvbfvh1dy6rplhwnv0riwnx3ay"; -} -{ - lang = "tg"; - saneName = "tg"; - sha256 = "12ic6nd65l6w7vqymfr1djbkn8jfghc5vyyi783mdf3pwx3xjk8i"; -} -{ - lang = "th"; - saneName = "th"; - sha256 = "0v02h8gdwnabahb3invxvp2ap5x6b4a0pf0sl15phi8s2m1y9fad"; -} -{ - lang = "tr"; - saneName = "tr"; - sha256 = "10asd6ha7fjs4b11vp27xp1piycalvidv3l6z5sv9j5bs4hayp1g"; -} -{ - lang = "ug"; - saneName = "ug"; - sha256 = "11n6z1d2b2b93lj9vps4ry6k671m5lssrv4hi5nr0a1vbc1d6ix1"; -} -{ - lang = "uk"; - saneName = "uk"; - sha256 = "1lrghs0s3hmhmrqarsc29518ax95wz6gnhimxs8lyc88b4jil0p5"; -} -{ - lang = "vi"; - saneName = "vi"; - sha256 = "198rr7i673a77v3qlld1c0rm2vr86rr6nf97v4wckcvyz8b6s6i8"; -} -{ - lang = "wa"; - saneName = "wa"; - sha256 = "01glzj5vhhmv6zvrmwd4wwx0bq6b0p08ixx0rf3bh4pdbi42hiin"; -} -{ - lang = "zh_CN"; - saneName = "zh_CN"; - sha256 = "0cj8flr5c73crrwchfz3j60snzmvbr3bc1p4pnk4s3vajmwsdaas"; -} -{ - lang = "zh_TW"; - saneName = "zh_TW"; - sha256 = "0lc896x55ww3s5jz7ms0gmm22qq9yjpnbzbjfq64574pvr2m3s5y"; -} -] diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix index ef0f871b5a8b..269bdc0d3a72 100644 --- a/pkgs/desktops/kde-4.11/default.nix +++ b/pkgs/desktops/kde-4.11/default.nix @@ -1,9 +1,11 @@ -{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.4" }: +{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.5" }: let + branch = "4.11"; + # Need callPackageOrig to avoid infinite cycle kde = callPackageOrig ./kde-package { - inherit release ignoreList extraSubpkgs callPackage; + inherit release branch ignoreList extraSubpkgs callPackage; }; # The list of igored individual modules @@ -36,7 +38,7 @@ kde.modules // kde.individual // full = stdenv.lib.attrValues kde.modules; l10n = callPackage ./l10n { - inherit release; + inherit release branch; inherit (kde.manifest) stable; }; } diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.5.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.5.nix new file mode 100644 index 000000000000..d9571a4d83c0 --- /dev/null +++ b/pkgs/desktops/kde-4.11/kde-package/4.11.5.nix @@ -0,0 +1,444 @@ +{stable=true; +hashes=builtins.listToAttrs[ + {name="amor";value="0xqmb8aymsjkdfjwpk6kjbks7x74cg27x81sg5bhx16dzmmrlgyi";} + {name="analitza";value="0zc8ja74x9kgsxdri109sf70lgkx17y234gl82b9yv00snifx2kv";} + {name="ark";value="1gylhvql6769q4ys9rgnq1lvn0sk8hzr2m6790xvjd1bcgk7sfyw";} + {name="audiocd-kio";value="12xq1a0h6xbgz83q9dd82csw08s7srqmxddc8np0mqazlscb5v3i";} + {name="blinken";value="1arbj15v4sjlyzdx2ws7rc7ni4ad2aak8adca5r23rc2zmiw18xf";} + {name="bomber";value="0glb2sbzw4nnkdwwd16rn9wz9c46aldyb1sw75f7x45h64jj5da3";} + {name="bovo";value="102kd629c41fy6mmhd9cynbs77r55hz4y4dw14qnnfmc840c3mnm";} + {name="cantor";value="014wbn53lrmrxq6mra94m6dn02d6nl03jvykks6lg6sfsjl28dnx";} + {name="cervisia";value="02ipx5z20dszz0ghccjfpy0wzrcyg8wzpql4yc3j28j93waqrhsk";} + {name="dolphin-plugins";value="0m5l01mh29s1lnh5vc9m2dx0vzxsnba47p7xd7w4bjmv7yi72qlg";} + {name="dragon";value="1hsx5ccll7zvmsk243r3bvw2gap3kicx5cj8iis5p93iivb1ia4w";} + {name="ffmpegthumbs";value="0p51vxr4jgb1rk2jssg3qsl5n14afhf9ygkixv7v7bx0x378r3z3";} + {name="filelight";value="18hwm0k4k24hbdzbpk0rcisahyp5hjisq0gg8f5x46vwp424i1hn";} + {name="granatier";value="119jx58y8z69avrhs9a777dp38chrwf9a414hcqmbjdqsp7k489i";} + {name="gwenview";value="0f4xss58dfgvbzwv43cv58166hxvb1g42kz7d82sn184n1903lck";} + {name="jovie";value="0galc7jyy57mw1y5vfq53lqmykqvdr5dch9bqs0qv8wv7fry5mf0";} + {name="juk";value="0xy1bin8apmxmhn3bhiw8cpv73az6a3q16rflp99x1i0y5675795";} + {name="kaccessible";value="0bmffbdkm2cvgbvblq0rgp20f3zzhnmva2mksbpglfzbmivl5287";} + {name="kactivities";value="0a1xxm1is20pz7h2iw4rx0fpwnhlz049yizsy6zx7ld8jl60s0sc";} + {name="kajongg";value="1158axh5rqnm59jknx2gp57k65vpd839hqnhm8dwpk033v9a7d2r";} + {name="kalgebra";value="18wqkc3mv36vdski1xk1jqrd2jja16ckidy94lzmkksb46xpqysz";} + {name="kalzium";value="0bxrhd8x5020srv7w842v202akinvd4xc0kl860vfi633vs4nwp9";} + {name="kamera";value="0l858wgpsp961vyfd8i43j01iyi3vvgkniwp4w4c88iqhbsxl8wk";} + {name="kanagram";value="1bgp5a5m59wvpqqpb5r68sc8w1jz96cfjj6s6wrllj4r5ndn08zy";} + {name="kapman";value="0jchv7fc3b0r70k7r0apm7a9r28jihnjzf3ca08nsrc1l7p94rq3";} + {name="kapptemplate";value="0jnmvblyrim9ircnjcyw3djih559jhd27dly6msw3zn2106ky2pl";} + {name="kate";value="1dxiw83ym3lg4gwdydwchdmgvbqibsj48ff4hjizl2nabh6v6yxv";} + {name="katomic";value="03x7bvixaafakxd3v6lms8x2a5v9awx0nldh7g3piq1pb27pgbz1";} + {name="kblackbox";value="1dnqnyp8dkg6p5vh48asm3qx7w582n0vb174g5xdk600zxpdcpaj";} + {name="kblocks";value="0r23zf8bkxdiljvd241q179pg6glij5kysm50ccjj1j7ni1qvzg2";} + {name="kbounce";value="0j70k5d4wcfv2zqai3m8xm244wdn1irl1zy4iq6clnbhfaaad30a";} + {name="kbreakout";value="1nlw3xk53srramz1dgcm4cii50ivgs160hha4v3ks47qkfll0gb5";} + {name="kbruch";value="0b9116g88n066nrl4hmw57k61zcc2qjhxwkz0cp68y8d5p5nr4hq";} + {name="kcachegrind";value="14wdd2nnf9s0a3a3jh86ylgwf8sqgxxw9909bbs82rlfclc6l2lf";} + {name="kcalc";value="10lqkb8x9izc1yv45qlav0zbmdq4ygw2xy93ks2fr5k0p8byc31d";} + {name="kcharselect";value="1qbjg9950ksryw12ff8djmwj0lnd14q0ws2461smpyvhbd552vwg";} + {name="kcolorchooser";value="1a1rsnnavwlj2fij356z2cl60lnxlc3nzisdmibnmq4lfa4chgk6";} + {name="kcron";value="011pv51rznrmy91fp4z6fdv4zlsj0gdf2j2pbqgcm1smgbv0mdhq";} + {name="kdeartwork";value="1qsd9493gr4mkd4xvh83rjn84vchqgv1s0q3ga4rbxqwxk3ymlfc";} + {name="kde-baseapps";value="0v0k0nk2zypd84gaaxlkdcsaqfklp8501xq40fphdci74qcq7hz2";} + {name="kde-base-artwork";value="1cirdsaikp9n3w4qxd3h18v1zq1f2jyzy3cpk51k6dnzvpmyqprx";} + {name="kde-dev-scripts";value="1d1i5jcs6kvq9piabk9qpf0s885zym8bll5i71a6yfr1di2gp0xk";} + {name="kde-dev-utils";value="0ay04ivb24b43lkf7czr92nm42zaprbw08d9qqgshszcrg5nlffn";} + {name="kdegraphics-mobipocket";value="1336md4r28vl0dq6r6dfzjyagn95sj1i9y7s4wqgczdcw28kbsyq";} + {name="kdegraphics-strigi-analyzer";value="0rxnigayhyikxiws7ayh0v5j8aidcqc2yhpqkg31mxwm23zmi9pc";} + {name="kdegraphics-thumbnailers";value="0qqp6fk3vz02hsn5s3nkbakj3bhm7z2l2nx588yazhwl27g23cff";} + {name="kdelibs";value="1gdkiviqkmwax54pg33rk1anby5rhsyv6rk2z6px99phgjk58wph";} + {name="kdenetwork-filesharing";value="16fmzszggh7ish0jlj4r0x08dzwk9plc1vmcvryhkp1wx7zy5p60";} + {name="kdenetwork-strigi-analyzers";value="1c3cpg5cl7rd8ablm38jn8mdccwalvsfnfqx2vb7rbkigkapgcg9";} + {name="kdepim";value="066c28iz7s1a4pjf10bv0kv1pqbfcpgzgl1w38pnq7491nmlsyhc";} + {name="kdepimlibs";value="18y0awr6m53rhkx076knbf3zsd1c6frf44qpqkcgvcy1r5wk0ab4";} + {name="kdepim-runtime";value="1i339a9qhpnihz9scfnh7kv6wjb2jrnmqikwlc13zymnsw0wk0jg";} + {name="kdeplasma-addons";value="0829qvhnxqg6bskbnpiwp4dgsr886bixpz0py9xv7mirfsizdqw9";} + {name="kde-runtime";value="1qsnp2r4s7zk78k46p0cqjsddpjai78zyx38w1ygz2mfimz5k83z";} + {name="kdesdk-kioslaves";value="0ww9ln4c06vsmrcj5qxr52w22md60209193qdvfyw8dmh2c6bjv4";} + {name="kdesdk-strigi-analyzers";value="09869ji9f86rrk0jcwvixkiw6jim2yqfmwb6zd792wf87nlfxjbi";} + {name="kdesdk-thumbnailers";value="0r2d6g0nm0j8azr7gs40p9g7cwil0spydczx48qa7lqyags43njq";} + {name="kde-wallpapers";value="0gzxll9kkrdp07i96bwxwrpwq3537g3chas5vnwp1rvskqyv6ipq";} + {name="kdewebdev";value="0waip70ga76p855yyhdgdkhy8gga7mhwz0dqmw96hh84lr4pirfd";} + {name="kde-workspace";value="1kqkhryzj1qkfl8fxj560xf83fya62npx9ld2nj1m2vd3ncs769v";} + {name="kdf";value="1iwxp8xjy0rz4sf5bc5dblfjxv98k84svwg2d1s021l9kngfggah";} + {name="kdiamond";value="1bvnsbjpwcpdqyzjc7qgbba7dir0y34sns7g11sld7ajxdvl3dxj";} + {name="kdnssd";value="1fwh4xab5h0zf8a63r0jk5q9xbg1akl2v092lwl5dw84sh2yqxfb";} + {name="kfloppy";value="0pwdgbxi7xf8lml7zwqiaqk8pxl8px999b4jvbbkirf6833854f8";} + {name="kfourinline";value="1f3h4izv5vh9jdkzv7c2wd5p3j62n8cp7zwglpwrckcgyj0mp3nv";} + {name="kgamma";value="0pgrx2mp072i8wq1hjp9kl0ha6jyjhn3a6x6b35lha8qnjkk7bdh";} + {name="kgeography";value="1fyn6bk8gn3cqvzxsywwq34py35w0ampblnd6n3dj48928zc9vlr";} + {name="kget";value="1709bjfygnbwav1plsdrqmwmhqi6p7wnzziwhh6vamk7pspfhac5";} + {name="kgoldrunner";value="19ywv7pkzgc4yx67aqmkcry47japgbpf9gp2namv0mcrwdnzx6y3";} + {name="kgpg";value="1l3sc9kgw4qrcl4p3hqnrr9iw6fz981ayn687s78hf9pb5j94dkv";} + {name="khangman";value="06r20f9zix26j8s3k3awamrcqzr6xmdx6adk3nda4akyz7li73d6";} + {name="kig";value="06dmhhwgnps4pvsmm45ipmgivfjhg5ig40n6z3lgi3hgnknp08an";} + {name="kigo";value="1bxnk3lwg3yr2q28dm6k7257k2288gy22ikzvcgsp09y0g0ci1p9";} + {name="killbots";value="1dvi1ffd5kjxhz3lssknv4lj4dghh3i7q1lnpzl0d5i8b2rdgg7b";} + {name="kimono";value="0k8mp0f6z4rfhfi3jjjvryidy415wiq5pls8pvffis012f8i8xni";} + {name="kiriki";value="11svzhki6zh8rvb6ynm3qdhxnbkkj32b4v8aj1fcma9f8vnmvgn0";} + {name="kiten";value="1inszkhzwbwf2b6w5nnvia700ar6d0ixrm1kam8gzdh6mkq7z9pw";} + {name="kjumpingcube";value="1wc1lrjp4m4p2l1fx7ncwvs5nmxmbbna3ym5x9cpb8jx7w50psqx";} + {name="klettres";value="139053skjg2xf8crz9w9z00fx8wm6scxrx0r6610jwhdbbdq7j50";} + {name="klickety";value="0i1k8w1s97hppna1qidjnd3vkp2283pism3g3nxi45s0xjb292xi";} + {name="klines";value="11ma1p8fqp9dqw3cgfsvh0yirsivddjcjb4y4s7dpgk5m0sd0dcg";} + {name="kmag";value="1hgk676l9bxavszzh3n2705d2s6512liflivyq6zrgm23m623h41";} + {name="kmahjongg";value="1xk6pc54q6v75v2b409lhh3mhnw0n4h5ngrhqxhrd9lrmzw5w3wh";} + {name="kmines";value="0sh1lsqmc25lhfisfzf1qsmb9x9gmiy2a8siaifaaj2p4mnm36fv";} + {name="kmix";value="1m9rr5sqh1k8a94f0ypsw7vwvzg1aaijs8gwzyxmb6jpq09ky31x";} + {name="kmousetool";value="1yxcb7x5zlrz1vz3aha6naf6gi00v7xgvqlj4s9nxi4684a3gcdj";} + {name="kmouth";value="1ga56k2mfrl9ams4gcag60q0id3plysqzlp0jic314zv3xdrj4mz";} + {name="kmplot";value="0d6ifl34s1d35zq6jn4qgwvv49x23f8z9r24x2w4i3zg8hxql48n";} + {name="knavalbattle";value="1ipll0cw0vr99dj5asncrdz74d8499knich5hjpsp8igrzxv6h48";} + {name="knetwalk";value="0ncy8icsrfzr9hafqxds45fp1mxzdg0325gl4zd5b8bpvsf7cg6p";} + {name="kolf";value="1rg39mgwj7fgyy7svwwb18q1w7w7q5wbvd694hzwj30akf2z169s";} + {name="kollision";value="0qgmbmrjq7g1b63rdlspfxkm69aly5swp3mqi2v88z4irxfyksia";} + {name="kolourpaint";value="0sskfwam1nqjc86dyhpyrg4jwv3a5nfmnk7aqff0zd7qnp712zsy";} + {name="kompare";value="1f7cwrnz04d5m7fqsi5xwybi2429bkhi5y169y76fqmy3aiywq7c";} + {name="konquest";value="1r3vzd8112dq2xw1ml9v458zdgrbbnmcrq3phgml1q73fn7lya11";} + {name="konsole";value="0d9gl124bbbwvi77bhz9dwlz3l42da4nhv88wa63w2ghm4kka44d";} + {name="kopete";value="0kz8d4m6apm493v8xlm7mh4q17nj0ijbrzin7255hipqqq1fqvn5";} + {name="korundum";value="0vfnq32ip9xhkhvhm3f0g7kxgjaschlfskrahsib7j2aqssq1rmm";} + {name="kpat";value="0jl34j9drh6q26d3iiv11azd18kqsvyvgfqs70jfbwj0vpa5y5v3";} + {name="kppp";value="1lspvj49cdywj5wj9bbydp1fl7hadhmh25p40l36is2bj1malmn6";} + {name="krdc";value="163ly4scznpvwf11ns8by5ph8kamy3lwnhfam1c43rgrhnx5h9rl";} + {name="kremotecontrol";value="14nxskj1rwqszk0z9dl0mq6z1c5d7951pwwfnhmrnkw53xsl6x6f";} + {name="kreversi";value="035ikzf9ndb4s1zcrh20xmjyci6kfy9l1racg280vwyvlgh38kkp";} + {name="krfb";value="11aphkp33wdwd0viwq74s9wbl7rnihvc1vja8miq6kjjlpdkr82m";} + {name="kross-interpreters";value="09zgg3afs4z13m5dzr6ddvlv5fdx2n1v50y61pb5yah8jl8vmynp";} + {name="kruler";value="1wljhmdzaqznccslrpxvg88y3imr674dxm4dp93sh61wl5a90fa3";} + {name="ksaneplugin";value="0aia98rrjq8fhzdlwn6j4jpfa2gpzkr82m3mxgbfvx9k7fh8fisp";} + {name="kscd";value="02ss42fyp2liwiizi08fdgk5fjv5kcrzraq05ryaily9szv5in4c";} + {name="kshisen";value="1b7v9vf4sq54svd05j1hssmip2kjlzrwbyisyzf6dm8v58m9j5lm";} + {name="ksirk";value="17wn20a3ifc5rfg77b9pcnz48ldzxpgwi5i4gy3zsd8d4ykyr7n6";} + {name="ksnakeduel";value="03wawqbxp402nqnk0iqm47mcyhc0b5r6mla8chm42q88y542ynvz";} + {name="ksnapshot";value="0rbc3ff69d7sgvg7lna85m9qkl5lak9acngaw9x11c9zvxwyx994";} + {name="kspaceduel";value="1qv5bny5z442xbciqh2qf2mginx7bbpcgyn80znq0fvmyg0z39qx";} + {name="ksquares";value="1hj4k9q594rnxqdf81lc1dzh5fck2bxbvb8bgfsb4qr8qlmj47i2";} + {name="kstars";value="0hkxins67q34z99z4db6j15iy2h5l7dz3ww81q371wb0ckmj9svb";} + {name="ksudoku";value="0ppqyb7z9pf13h0j6y8faxxn9n5xbrkk3gzi73gwld8ipkm742mc";} + {name="ksystemlog";value="0pwqji6h382l6vvwy5zlggcfba4yjmjcfrj0zyaixcq2y1g698s6";} + {name="kteatime";value="0zbnnxhag82vfw0krma8ih331vg5n96xqbkiappgi4wz22lz9i1j";} + {name="ktimer";value="0p4ybw40rspm3phbipnagkhlwfnkyb21zmiq0wh6md0b5gvcvgwa";} + {name="ktouch";value="07xsgsfcsjklaclb540ylfmrjadzy8ig63n7svdfjc19g2kfjyrr";} + {name="ktuberling";value="0n1j9z55mval6q1m7hbvm1xrzf8jbvl8fpadjnb12bxfyxszck3m";} + {name="kturtle";value="1x0ymm2wr2y0f5ih1f7r9p8pswm95b5ymhsh7c105sh1d5ib6mgq";} + {name="ktux";value="1fa11fx48bxvlpq9vfh6q0ywmlcmjbkk60fph66zaazzydjj36cj";} + {name="kubrick";value="0lnwq2r4rczr9yqn5fvzazzkbsal2fgslcmmdmk94vvwms7jhkfn";} + {name="kuser";value="1l0s2x7jj6rka8jwiyazh916z0glz32aq19skvia3i8n3k4x2xk3";} + {name="kwallet";value="1jwpp9klcsnh6shbykvfz25cn8m28r62nb9q9nfhfgz96l9ni8rf";} + {name="kwordquiz";value="1qq4vv742di0r1azcn0nycchypkm9ygjp4b08m2gmyfid5b2wscb";} + {name="libkcddb";value="18d005vzimazamwri4p1dqdg80l98rj38jglvw8r962bw97rk04s";} + {name="libkcompactdisc";value="02g0k81rzdgwah45bh7wj0hzh9akfdcpkbyalahn33q2x10inm39";} + {name="libkdcraw";value="0b9g4635j0j5m7aw333r7qpjzy63h6c2xhzp64k4f7jcyp5y0z15";} + {name="libkdeedu";value="1cmqm78kw9762axhz5am0gh28p2xibnq49gj5b03wjqi9h122mzr";} + {name="libkdegames";value="15xb639x83hy1nnyaqby4ypca03wr9yr8kqw1jnfx6d3f994mlyd";} + {name="libkexiv2";value="1cnvvrkqdsrdx6n6907a4ki3gfymaclwdcy1frmnjbsa0hyxzi33";} + {name="libkipi";value="0ilxsjld8s7nz59wgn90bsyvd20ikkdf69fkwmxvj850ci2qr9cv";} + {name="libkmahjongg";value="0kqn55fdbfmhm0m4ani9iz76rrbsyi953sig57vx3b9x0ljahkh0";} + {name="libksane";value="1nmrqkzbqqgs57kgg1b6i0kg65l9rga0hs98n8is5c233z4h3bnr";} + {name="lokalize";value="062l2zd0x5rrzdxf592kvvw49rvlkd3v65bg2ya8n6qr083xsr79";} + {name="lskat";value="13px2vvxdi38lgr21f3zp3wdr0qsrcpynd787qpx0ckg97x567bi";} + {name="marble";value="0m9dqabyf17640n2zcf9d003h7svm678g497r4kzslisznaddvxb";} + {name="mplayerthumbs";value="0g8h79vxxgfb2zrh04j79pc4iva4qr2jl56w23crp9sw9cv2f5av";} + {name="nepomuk-core";value="0jkbpnk70njw4acwhz908k60wjy84ydwqp62m1fsir5gh7rl3n72";} + {name="nepomuk-widgets";value="0snfsvaxv04w2vrj51cf5zl06q4dwywxnqcvbd9ys5nj2hz3i9vq";} + {name="okteta";value="0dj271z8f61j58iknk1xdk4nz705xgna6gpm7cxfgrkxkiwqqxyy";} + {name="okular";value="1slwk6q4q9gl25v9xvj2m0hmrvl7zagririna3543hxa7cpf0kcj";} + {name="oxygen-icons";value="1mg64p8pfayzq72v95pz2gr56b5ghajp6qva63gbg6l17h0ahyss";} + {name="pairs";value="0ac8712z6dhy948nk9jhzjcixykda3l97zg8n2p2njg2wggbycxz";} + {name="palapeli";value="0x7nfd3wplildnc0fvrlf59iv1z85g4s72525wj5lfg5kavdad4p";} + {name="parley";value="0pqgf7lyfp3gj2zk67snj7y7l3j8cnpj2g1zl1pj7mkcd7v9j1fh";} + {name="perlkde";value="0x0v0hsk60xjvqnn2v1q3l66hvimy3wvfjk4ds80qvy5a29v5qxg";} + {name="perlqt";value="1kkrxyfqxjy3rc6h0r879rd88n4qy2ha1fs4jlmzgf4cmc4g4kvl";} + {name="picmi";value="0qpxfvpibc2fj1yz1q0g6srk1z1vqc1db521ngywxx9hbpi2h95g";} + {name="poxml";value="17lxxh4km09k9xkr1z62xy1ky1yyqnnj6y82xwpazi9lkn1vnpfk";} + {name="print-manager";value="1qwzmy15q84gv7jwp8k3jnfa0l27d2174ll5ln6i29ii2rzzcjw1";} + {name="pykde4";value="1p6j85s716r6f13mqxaayqjr4lbfzz5lvgdzmpxfc3fk4n2vbws9";} + {name="qtruby";value="1zcfxql3pwlfxwfvy3capc7g447ygpg5bliv9azpzaql051dg5bm";} + {name="qyoto";value="0447fzldwcy1nwh2cbqjy81s7xkrz5gn8jiy4ya6bd3d00jisa7v";} + {name="rocs";value="0s5k80z0n07qz120zbj6bxs7zp923bilkd3h1swa931fhhxg2gy7";} + {name="smokegen";value="1pksnjkawqqgw5l8pjdmfjs4ggxdm8j1429iw9s1xf91z5zpnmk7";} + {name="smokekde";value="1075cl0vxz7izrvl0krs8wbqpn32qj4ax7fgyfgf5662cwf8pifg";} + {name="smokeqt";value="1w1bfycn2gk9axsjf5vpxxrrvadasnw5zvb8qpg01p2q34jh1gdg";} + {name="step";value="0k4xqwxdk1fz69i787njy1bsdappsa5ldx42n6g87lz7dvzwc3vd";} + {name="superkaramba";value="1ymb7c2s8x72x2z621xccinxkqpkh9kk1fhyal169nys42cwadhh";} + {name="svgpart";value="0r2xl69l2j0qd13wwi007qmxkszciysqfxkcpjiryy9h2rcsl3fv";} + {name="sweeper";value="0dfdz7jchhlwx7skina9q47z407fjh47r7f743bllmniqcsswfs2";} + {name="umbrello";value="0ss77g4fwvz7w1a9nna0d5d9fxs176b0qapy4ji1qn9hz0igcd0n";} +]; +modules=[ +{ + module="kdemultimedia"; + split=true; + pkgs=[ + { name="audiocd-kio"; sane="audiocd_kio"; } + { name="dragon"; } + { name="ffmpegthumbs"; } + { name="juk"; } + { name="kmix"; } + { name="kscd"; } + { name="libkcddb"; } + { name="libkcompactdisc"; } + { name="mplayerthumbs"; } + ]; +} +{ + module="kdegraphics"; + split=true; + pkgs=[ + { name="gwenview"; } + { name="kamera"; } + { name="kcolorchooser"; } + { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; } + { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; } + { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; } + { name="kgamma"; } + { name="kolourpaint"; } + { name="kruler"; } + { name="ksaneplugin"; } + { name="ksnapshot"; } + { name="libkdcraw"; } + { name="libkexiv2"; } + { name="libkipi"; } + { name="libksane"; } + { name="okular"; } + { name="svgpart"; } + ]; +} +{ + module="kdelibs"; + split=true; + pkgs=[ + { name="kdelibs"; } + { name="nepomuk-core"; sane="nepomuk_core"; } + { name="nepomuk-widgets"; sane="nepomuk_widgets"; } + ]; +} +{ + module="kdenetwork"; + split=true; + pkgs=[ + { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; } + { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; } + { name="kdnssd"; } + { name="kget"; } + { name="kopete"; } + { name="kppp"; } + { name="krdc"; } + { name="krfb"; } + ]; +} +{ + module="kdeutils"; + split=true; + pkgs=[ + { name="ark"; } + { name="filelight"; } + { name="kcalc"; } + { name="kcharselect"; } + { name="kdf"; } + { name="kfloppy"; } + { name="kgpg"; } + { name="kremotecontrol"; } + { name="ktimer"; } + { name="kwallet"; } + { name="print-manager"; sane="print_manager"; } + { name="superkaramba"; } + { name="sweeper"; } + ]; +} +{ + module="applications"; + split=true; + pkgs=[ + { name="kate"; } + { name="konsole"; } + ]; +} +{ + module="kdetoys"; + split=true; + pkgs=[ + { name="amor"; } + { name="kteatime"; } + { name="ktux"; } + ]; +} +{ + module="kdesdk"; + split=true; + pkgs=[ + { name="cervisia"; } + { name="dolphin-plugins"; sane="dolphin_plugins"; } + { name="kapptemplate"; } + { name="kcachegrind"; } + { name="kde-dev-scripts"; sane="kde_dev_scripts"; } + { name="kde-dev-utils"; sane="kde_dev_utils"; } + { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; } + { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; } + { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; } + { name="kompare"; } + { name="lokalize"; } + { name="okteta"; } + { name="poxml"; } + { name="umbrello"; } + ]; +} +{ + module="kdegames"; + split=true; + pkgs=[ + { name="bomber"; } + { name="bovo"; } + { name="granatier"; } + { name="kajongg"; } + { name="kapman"; } + { name="katomic"; } + { name="kblackbox"; } + { name="kblocks"; } + { name="kbounce"; } + { name="kbreakout"; } + { name="kdiamond"; } + { name="kfourinline"; } + { name="kgoldrunner"; } + { name="kigo"; } + { name="killbots"; } + { name="kiriki"; } + { name="kjumpingcube"; } + { name="klickety"; } + { name="klines"; } + { name="kmahjongg"; } + { name="kmines"; } + { name="knavalbattle"; } + { name="knetwalk"; } + { name="kolf"; } + { name="kollision"; } + { name="konquest"; } + { name="kpat"; } + { name="kreversi"; } + { name="kshisen"; } + { name="ksirk"; } + { name="ksnakeduel"; } + { name="kspaceduel"; } + { name="ksquares"; } + { name="ksudoku"; } + { name="ktuberling"; } + { name="kubrick"; } + { name="libkdegames"; } + { name="libkmahjongg"; } + { name="lskat"; } + { name="palapeli"; } + { name="picmi"; } + ]; +} +{ + module="kdeedu"; + split=true; + pkgs=[ + { name="analitza"; } + { name="blinken"; } + { name="cantor"; } + { name="kalgebra"; } + { name="kalzium"; } + { name="kanagram"; } + { name="kbruch"; } + { name="kgeography"; } + { name="khangman"; } + { name="kig"; } + { name="kiten"; } + { name="klettres"; } + { name="kmplot"; } + { name="kstars"; } + { name="ktouch"; } + { name="kturtle"; } + { name="kwordquiz"; } + { name="libkdeedu"; } + { name="marble"; } + { name="pairs"; } + { name="parley"; } + { name="rocs"; } + { name="step"; } + ]; +} +{ + module="kdeadmin"; + split=true; + pkgs=[ + { name="kcron"; } + { name="ksystemlog"; } + { name="kuser"; } + ]; +} +{ + module="kdebindings"; + split=true; + pkgs=[ + { name="kimono"; } + { name="korundum"; } + { name="kross-interpreters"; sane="kross_interpreters"; } + { name="perlkde"; } + { name="perlqt"; } + { name="pykde4"; } + { name="qtruby"; } + { name="qyoto"; } + { name="smokegen"; } + { name="smokekde"; } + { name="smokeqt"; } + ]; +} +{ + module="kdeaccessibility"; + split=true; + pkgs=[ + { name="jovie"; } + { name="kaccessible"; } + { name="kmag"; } + { name="kmousetool"; } + { name="kmouth"; } + ]; +} +{ + module="kde-baseapps"; +sane="kde_baseapps"; split=true; + pkgs=[ + { name="kde-baseapps"; sane="kde_baseapps"; } + ]; +} +{ module="kactivities"; split=false;} +{ module="kdeartwork"; split=false; + pkgs=[ + { name="ColorSchemes"; } + { name="IconThemes"; } + { name="emoticons"; } + { name="kscreensaver"; } + { name="kwin-styles"; sane="kwin_styles";} + { name="sounds"; } + { name="styles"; } + { name="wallpapers"; } + { name="HighResolutionWallpapers"; } + { name="WeatherWallpapers"; } + { name="desktopthemes"; } + ]; + +} +{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;} +{ module="kdelibs"; split=false;} +{ module="kdepim"; split=false;} +{ module="kdepimlibs"; split=false;} +{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;} +{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;} +{ module="kde-runtime"; sane="kde_runtime"; split=false;} +{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;} +{ module="kdewebdev"; split=false; + pkgs=[ + { name="klinkstatus"; } + { name="kfilereplace"; } + { name="kimagemapeditor"; } + { name="kommander"; } + ]; + +} +{ module="kde-workspace"; sane="kde_workspace"; split=false;} +{ module="oxygen-icons"; sane="oxygen_icons"; split=false;} +]; +} diff --git a/pkgs/desktops/kde-4.11/kde-package/default.nix b/pkgs/desktops/kde-4.11/kde-package/default.nix index 8a6e8e167517..9424a762c8f2 100644 --- a/pkgs/desktops/kde-4.11/kde-package/default.nix +++ b/pkgs/desktops/kde-4.11/kde-package/default.nix @@ -1,5 +1,5 @@ { callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4 -, release, ignoreList, extraSubpkgs +, release, branch, ignoreList, extraSubpkgs }: let @@ -19,6 +19,7 @@ rec { # Default meta attribute defMeta = { homepage = http://www.kde.org; + inherit branch; platforms = stdenv.lib.platforms.linux; inherit (qt4.meta) maintainers; }; diff --git a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix index 33a4d8c6083c..86a8b7c0a193 100644 --- a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix +++ b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix @@ -1,8 +1,8 @@ -{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost, ruby18 }: +{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }: kde { - buildInputs = [ kdelibs kdepimlibs ruby18 htmlTidy boost ]; + buildInputs = [ kdelibs kdepimlibs htmlTidy boost ]; meta = { description = "A KDE link checker"; diff --git a/pkgs/desktops/kde-4.11/l10n/default.nix b/pkgs/desktops/kde-4.11/l10n/default.nix index c9fab80bffb4..fa6406043b1b 100644 --- a/pkgs/desktops/kde-4.11/l10n/default.nix +++ b/pkgs/desktops/kde-4.11/l10n/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, kdelibs, gettext, release, stable }: +{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }: let @@ -22,6 +22,7 @@ let meta = { description = "KDE translation for ${lang}"; + inherit branch; license = "GPL"; platforms = stdenv.lib.platforms.linux; inherit (kdelibs.meta) maintainers homepage; diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.5.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.5.nix new file mode 100644 index 000000000000..17236c067b9d --- /dev/null +++ b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.5.nix @@ -0,0 +1,272 @@ +[ +{ + lang = "ar"; + saneName = "ar"; + sha256 = "1yfvdz1s46sg5d2x7jgr0srxc7mh844ir14n9mmiyk6hk69yzxpg"; +} +{ + lang = "bg"; + saneName = "bg"; + sha256 = "076mpcc5m52ap29hjf144d77c3xmg40qc3dypqxgpx1ya4an1lr1"; +} +{ + lang = "bs"; + saneName = "bs"; + sha256 = "15y1h0j7yw03h28mjhmnlbwnaa5cdv0n20f5gby77b3v2b7kjn5q"; +} +{ + lang = "ca"; + saneName = "ca"; + sha256 = "09md2hcj0bkjpsgqviw475v0g0pgbld728p8kx0aqckywsixagsp"; +} +{ + lang = "ca@valencia"; + saneName = "ca_valencia"; + sha256 = "1adxgg4hp2s7js4q6pi6krjy32gl0dk9dgvw40310zb7nh59zbd0"; +} +{ + lang = "cs"; + saneName = "cs"; + sha256 = "00c8dd8w0d47fp113r3bbd1v1rpqd4qqjamsxbs0ygy0vc644d29"; +} +{ + lang = "da"; + saneName = "da"; + sha256 = "0aa40dmrh3brdqra5c72czch75a44lcng68a7j6zzngdmjcn8wh8"; +} +{ + lang = "de"; + saneName = "de"; + sha256 = "0kq0z37fxgl25zh6a7rj4fjram794iwchg8hqfdvzx3k6kfjgb9s"; +} +{ + lang = "el"; + saneName = "el"; + sha256 = "09gn22hlz99j3kra6k1hs76ypvv6whc9rav1hk1hqrvqaz0v78yf"; +} +{ + lang = "en_GB"; + saneName = "en_GB"; + sha256 = "178dqdmmgz52l8anmnnms91c39y9492ksl003snan1yd7r6dbfwj"; +} +{ + lang = "es"; + saneName = "es"; + sha256 = "0amb1d4y201la37kmambhxwh1pb7b284z48npag863f4bqk491vm"; +} +{ + lang = "et"; + saneName = "et"; + sha256 = "04hyginzrzcf4143nw6ps3fpp3sx8wq30irfm4z2lpzl22137rr3"; +} +{ + lang = "eu"; + saneName = "eu"; + sha256 = "0dwxcvnissa5jmng3dj5mgq7sm3lvfmzk11h4fhjnnjkna4ihsnm"; +} +{ + lang = "fa"; + saneName = "fa"; + sha256 = "1xyg93g3c0p8bibv1vdx1wvivddfc41py1mn8kmib0cnkfprx5bw"; +} +{ + lang = "fi"; + saneName = "fi"; + sha256 = "1acazq7x8lzb4r3qcmwllxhgnyc23lq0aamxrcnq7c8i8xya8byl"; +} +{ + lang = "fr"; + saneName = "fr"; + sha256 = "03a466yxp8wcnbgyrgzbpfy2kbnl9c0grsqqqbpkdfc07q1287rj"; +} +{ + lang = "ga"; + saneName = "ga"; + sha256 = "0mqlrm6jq29w432s9qx8nsq7iyswlpi1n6l990i5gyk74n1jp03i"; +} +{ + lang = "gl"; + saneName = "gl"; + sha256 = "05gz0jj2bvq339qz190j79rb24avvgsih5dzibxapx99wq6s7v6x"; +} +{ + lang = "he"; + saneName = "he"; + sha256 = "0gxjs051qfwhdp8g6ir3caxjflsv5k8va9w6zw5ziimfqkc78vph"; +} +{ + lang = "hi"; + saneName = "hi"; + sha256 = "05arlhsbb8qnsz22h020f4dgxqdy4fgf8fzkjjay1f5w47h381gw"; +} +{ + lang = "hr"; + saneName = "hr"; + sha256 = "0kn7ngq6qrrbjk6m4178dkg81a2q1hcb3hg5jqz95875c08hsrjx"; +} +{ + lang = "hu"; + saneName = "hu"; + sha256 = "1ca61pk19x3bm8fkf7mv9nwfvvawn8w4wlzgcprw3zba94dwm2zj"; +} +{ + lang = "ia"; + saneName = "ia"; + sha256 = "046fyhh4b1qca2m241w55xby9nh2lifdmb44z62i31bgvcfkgvp8"; +} +{ + lang = "is"; + saneName = "is"; + sha256 = "1vid1xpqsdb3jvhm0vdb14d02p5s2vsks59inp50ympsmlsy2967"; +} +{ + lang = "it"; + saneName = "it"; + sha256 = "113sq6d1hlcmbdkwz61bbb0pmwj0wixa1pgv9gm1r61qnix6hskb"; +} +{ + lang = "ja"; + saneName = "ja"; + sha256 = "1rlnazib921cv8fjzjm6c928cwlh6si116iq5l1jq4czwcb3j9d3"; +} +{ + lang = "kk"; + saneName = "kk"; + sha256 = "1prpqwznyxpxm4i0ka4ja5j1d0gljpvhbh9r7a574ai8k419p6jq"; +} +{ + lang = "km"; + saneName = "km"; + sha256 = "09p3vpyj0lw6f470jcbahalw8nh5k7adxaxh4vby7k6r8vip4d74"; +} +{ + lang = "ko"; + saneName = "ko"; + sha256 = "1lfv6xf5dhw9hr9jq1ak0dyz3yzwqf3g4cxv3xm27lxks95ddh3r"; +} +{ + lang = "lt"; + saneName = "lt"; + sha256 = "1s7vi6952pqrm5b1qm1vlmkxna1lijnbgcdmr0n9y31gi066nh5j"; +} +{ + lang = "lv"; + saneName = "lv"; + sha256 = "1lvc0zz5wh5f4nihrvwag4q7dajczm50nfdyvhmbl68gjkar1asw"; +} +{ + lang = "mr"; + saneName = "mr"; + sha256 = "001fjpvqg3z4g214cl8qmvsn1yc7rmkqnajbb1c4wflipvhyyq2w"; +} +{ + lang = "nb"; + saneName = "nb"; + sha256 = "18h2y6i4mzkwwwva5jq2wrbc159hdk9djhr26ilzqb8h065j83bn"; +} +{ + lang = "nds"; + saneName = "nds"; + sha256 = "19kc92ipw94mp9pawxgm0kbq3g1rf6p05892c62nm28vqbmmxbp0"; +} +{ + lang = "nl"; + saneName = "nl"; + sha256 = "1zrz65m9q6jylc32rch7iscjjzr5w8cjkxja9xjl0gip409cnl33"; +} +{ + lang = "nn"; + saneName = "nn"; + sha256 = "1yj0jv0p4scy8q6f6g7zl2c2qybhnp6skj8jnv6sj4q9prp6qwmb"; +} +{ + lang = "pa"; + saneName = "pa"; + sha256 = "0sq17776sjkr6lmj4323377a2aljaf1clrm1qk0zmd3036nh2pgx"; +} +{ + lang = "pl"; + saneName = "pl"; + sha256 = "1xg1fjk77g581fihvspn3936b7j3acgiipn9y4z4fxfr0flmvcxx"; +} +{ + lang = "pt"; + saneName = "pt"; + sha256 = "0y8w7nl1ck1hnb5bs2zirpp62cqzh1hps153gqkl2p1hw47dq92k"; +} +{ + lang = "pt_BR"; + saneName = "pt_BR"; + sha256 = "1bvilvia5k4a556d5pn4lvmlm58xxv1d7d858gsr5yvnkrixdryi"; +} +{ + lang = "ro"; + saneName = "ro"; + sha256 = "0gcb87gwymcz197y0fbb6qnd1w5kkid25sywnjp06nymjnspwqhp"; +} +{ + lang = "ru"; + saneName = "ru"; + sha256 = "1z3g2xmskyh9ykimh396055ywhv9hj49nc2rk7fgc20g61wcnglc"; +} +{ + lang = "sk"; + saneName = "sk"; + sha256 = "055a055h3nhvpgaxs87d55va2kyhk72gf9chrqgqjp5wgbs4cpx4"; +} +{ + lang = "sl"; + saneName = "sl"; + sha256 = "07qw1azmqq7rlyd9ngv3wf474w44cqn40fvcpa4hm13kvf19q7d3"; +} +{ + lang = "sr"; + saneName = "sr"; + sha256 = "1qks72arnk10k4brms6p1m3i4b6kxrgf581xnyhf2v4rch80ccdn"; +} +{ + lang = "sv"; + saneName = "sv"; + sha256 = "0dxkjrcpq9c8qbh5hkjzqcwpqpsfxa5ki8x975kqlh40gcc0942i"; +} +{ + lang = "tg"; + saneName = "tg"; + sha256 = "1qi2sr3l7q2cdypi1m3axhm2ciqnzf88hk52dfcvwqfa4y8n3zgv"; +} +{ + lang = "tr"; + saneName = "tr"; + sha256 = "1d6s3n7v6a8wwrh9lbnjh74dxdxnbg138mm5s09418fxl5vi7gaq"; +} +{ + lang = "ug"; + saneName = "ug"; + sha256 = "145j3k5qc6792q955vyxd582sw3ssvp1anvindf04n4dv3nqk24s"; +} +{ + lang = "uk"; + saneName = "uk"; + sha256 = "0vasjp5liigq2gp9dzwz59316jkj7bv3a9kfmfkyj7bs11rbvsx6"; +} +{ + lang = "vi"; + saneName = "vi"; + sha256 = "1xqa0cb5fcras13vsmnsrdag26csgab0jrgwhsdisrsisrla6dxk"; +} +{ + lang = "wa"; + saneName = "wa"; + sha256 = "1gblglgbznlsxghm2ib9h83jchsa07g8kr1cnb4zn43n7dsr8h6s"; +} +{ + lang = "zh_CN"; + saneName = "zh_CN"; + sha256 = "1ff14fxsm2m86i90v7dp4872r3hlxz13dfmkhhpyscy62fl3bzy4"; +} +{ + lang = "zh_TW"; + saneName = "zh_TW"; + sha256 = "039ww6fa0hcmshd4ximwmj29102qg4xx1p96idcwqwkcf3lryhw2"; +} +] diff --git a/pkgs/desktops/kde-4.10/applications/kate.nix b/pkgs/desktops/kde-4.12/applications/kate.nix similarity index 72% rename from pkgs/desktops/kde-4.10/applications/kate.nix rename to pkgs/desktops/kde-4.12/applications/kate.nix index e8efc87775ab..63bfa12c4bb4 100644 --- a/pkgs/desktops/kde-4.10/applications/kate.nix +++ b/pkgs/desktops/kde-4.12/applications/kate.nix @@ -1,8 +1,8 @@ -{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }: +{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}: kde { - buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4]; + buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ]; meta = { description = "Kate, the KDE Advanced Text Editor, as well as KWrite"; diff --git a/pkgs/desktops/kde-4.10/applications/konsole.nix b/pkgs/desktops/kde-4.12/applications/konsole.nix similarity index 100% rename from pkgs/desktops/kde-4.10/applications/konsole.nix rename to pkgs/desktops/kde-4.12/applications/konsole.nix diff --git a/pkgs/desktops/kde-4.12/default.nix b/pkgs/desktops/kde-4.12/default.nix new file mode 100644 index 000000000000..6d3dd46df354 --- /dev/null +++ b/pkgs/desktops/kde-4.12/default.nix @@ -0,0 +1,44 @@ +{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.2" }: + +let + branch = "4.12"; + + # Need callPackageOrig to avoid infinite cycle + kde = callPackageOrig ./kde-package { + inherit release branch ignoreList extraSubpkgs callPackage; + }; + + # The list of igored individual modules + ignoreList = { + # Doesn't work yet + kdeutils = [ "ksecrets" ]; + # kdeadmin/strigi-analyzer has no real code + kdeadmin = [ "strigi-analyzer" ]; + # Most of kdebindings do not compile due to a bug in the buildsystem + kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ]; + }; + + # Extra subpackages in the manifest format + extraSubpkgs = {}; + +in + +kde.modules // kde.individual // +{ + inherit (kde) manifest modules individual splittedModuleList; + + akonadi = callPackage ./support/akonadi { }; + + qt4 = qt48; + + kdebase_workspace = kde.modules.kde_workspace; + + inherit release; + + full = stdenv.lib.attrValues kde.modules; + + l10n = callPackage ./l10n { + inherit release branch; + inherit (kde.manifest) stable; + }; +} diff --git a/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch similarity index 100% rename from pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch rename to pkgs/desktops/kde-4.12/files/kde-wallpapers-buildsystem.patch diff --git a/pkgs/desktops/kde-4.10/files/polkit-install.patch b/pkgs/desktops/kde-4.12/files/polkit-install.patch similarity index 100% rename from pkgs/desktops/kde-4.10/files/polkit-install.patch rename to pkgs/desktops/kde-4.12/files/polkit-install.patch diff --git a/pkgs/desktops/kde-4.10/kactivities.nix b/pkgs/desktops/kde-4.12/kactivities.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kactivities.nix rename to pkgs/desktops/kde-4.12/kactivities.nix diff --git a/pkgs/desktops/kde-4.10/kde-base-artwork.nix b/pkgs/desktops/kde-4.12/kde-base-artwork.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kde-base-artwork.nix rename to pkgs/desktops/kde-4.12/kde-base-artwork.nix diff --git a/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix similarity index 79% rename from pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix rename to pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix index b564e339eb15..c2a256646786 100644 --- a/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix +++ b/pkgs/desktops/kde-4.12/kde-baseapps/kde-baseapps.nix @@ -1,4 +1,4 @@ -{ kde, kdelibs, shared_desktop_ontologies, glib, htmlTidy, kactivities +{ kde, kdelibs, htmlTidy, kactivities , nepomuk_core, nepomuk_widgets, libXt }: kde { diff --git a/pkgs/desktops/kde-4.12/kde-package/4.12.2.nix b/pkgs/desktops/kde-4.12/kde-package/4.12.2.nix new file mode 100644 index 000000000000..a10582d7142e --- /dev/null +++ b/pkgs/desktops/kde-4.12/kde-package/4.12.2.nix @@ -0,0 +1,444 @@ +{stable=true; +hashes=builtins.listToAttrs[ + {name="amor";value="0m5lxcsv9arkhws9xqvxip6k3gg15ppjslrds1lyr1clk1zxrras";} + {name="analitza";value="021msxl7jynj6b1n3j5vv1fwzlqi0ib48fwmai7ffvgc23mnsplq";} + {name="ark";value="0906pbmwk5l9vd1wx13299mk7lpa4v342l5b5yg4j5fmhd73i1qn";} + {name="audiocd-kio";value="0yx99c3g627a8swzgqiykhd7xk95b43gs1mf7ysadg33gpbcm2fj";} + {name="blinken";value="1hcr6ckrd6g53ivrhwd2h0hiv2lqym2lahchb1z3q07qyc2676fb";} + {name="bomber";value="14i3bsxmq0js7rj9wyvxry2fw8pc2jcqpfkxa7l490kz8wq01vxb";} + {name="bovo";value="09lmbyb2jr8q143i67gkqrsf1pa9s83g88149r7srxsy7lkz86l9";} + {name="cantor";value="1yf2q7x6rmims60xam2jhs52pnfmv19fphvcwd45q9mjjxkw3iqs";} + {name="cervisia";value="049rrjvx0djdi0rfi4f3qdbn62bjy5hr1g6w1vsr79mryifwv9sj";} + {name="dolphin-plugins";value="1qdvs0y7f6qmgjkg4jzbp99l89ykjfl0czn743mx4m5mmnabdwpf";} + {name="dragon";value="1gygky1g23mlwx0545pzaljzbg7d3g4wqfxbvbl1svdi3mw9pwxb";} + {name="ffmpegthumbs";value="1hsm33nq73x1l902pp1qfz88mlv1mrh4h6sxg7qjfnwxnxiaxbkd";} + {name="filelight";value="0z4x5dm09997ia8sv27ichxkmlbq1pn4sbvkwjb8gybgikyx083k";} + {name="granatier";value="1lq51441w2y1bh2hqgbbkr8xhc3zk9lqkycy8b2avgdkn9l49plr";} + {name="gwenview";value="1naghib8wmbdzh7bz6vga9b7lr797979gq2600ykall3nixwpwpv";} + {name="jovie";value="1m7spjpl8n23bfy8xq4qngwlbwj9fpy8a1bdq1q5zi0ij89ljcmw";} + {name="juk";value="06k7cpvzpdjxivh42n68602m5frrg97lfss8mpgn830xdbrmsp51";} + {name="kaccessible";value="02hlb891297l4hv4i4jx4pi4axccq9qkpmgi2is6zb3yqs0ij1l9";} + {name="kactivities";value="1hpnigkfyi0i6qb74jfi52m870dpnv09h5adwkqc0nq70bv8dsi9";} + {name="kajongg";value="1z5a9r0849r3fd2i9y5z2k9raj0nsl5hprcw53z3mlybdrpaddiq";} + {name="kalgebra";value="1mbyi8hcyy53zhn11yxjkiz52k7a6yb54kvndlm3abg1s862zdh2";} + {name="kalzium";value="1gnjz05nc3wgcr0ymahnp652hhrkqlrz400f5dzhkq5wrl7vh3ly";} + {name="kamera";value="1pxmh79li1f6grf07w2yin2r4ig6znvhl4ym3lqkq263ffjmjvnz";} + {name="kanagram";value="07fw93w78girj6rqi8kb30f5hkk8a02zmm3pdkw21rhm03iv1lm6";} + {name="kapman";value="10xjhz3glyrbd0l68fz678k1gsnp6arjyz7xvnwa1w6wyq82kssk";} + {name="kapptemplate";value="1rzs4il8rhpwbj2zjrxrvgznx6ixwpnp5rmkysz0sgc9i41f9l4k";} + {name="kate";value="148wymcxay6vfdri33cmxb06wzlbb1kka7cxdmqn6bw3a8967dvx";} + {name="katomic";value="0gk516zk4nr2lb8akw316z0kbna4yk1cr4zclpg6id5xh1jgpgly";} + {name="kblackbox";value="0v1ambfp1gmnzp9c42mycgds4kvayda1r1frgv3822lqv1nqcbs0";} + {name="kblocks";value="13qyd21h6lh880l19fzy5l1m5rfnbqjdgqc1yivwxrjhhdd5blzj";} + {name="kbounce";value="0d8gjvz9dqzvwl1aamf45a0qi9fj63cr2pid2wbxdp2b0v4qjqfb";} + {name="kbreakout";value="0wlaglbqr5hyav9m032w7hadia2a071mhnbhrvnw97195lmw7y3h";} + {name="kbruch";value="1zq5rzvqv7nhf1h2zqyjnw4g4w380b9dy9782dsr01l2z7ydiab6";} + {name="kcachegrind";value="0w63lrr6dw82r0zxsgfpb6kllqxsliw4k7ln232lj14y6ngs6fz2";} + {name="kcalc";value="0ga0xcnairfrfdlda6ljrmpnsn2cy8x2k2np535sckj9c0drw1n8";} + {name="kcharselect";value="1n8phby2i3s4myb4nlmwrmvz1acqk3llmic94zysx4j1p1vzjjj4";} + {name="kcolorchooser";value="1x0cr95xpqfr8vz5jgr14cg9kximnmanc7yqzazqvdlzqmza9602";} + {name="kcron";value="1gbzz3x39dawrjhdwsgkvi7kjsply38j0imyn0rdi0pmksd8pl1j";} + {name="kdeartwork";value="11ik4n16ym4lhcdkxnhnjhf2i14kaxc645fm158lghklwax00rap";} + {name="kde-baseapps";value="11bm9abdamql62yg6cycbhh58s9kqhsz2zg2lpwppp5z4ywzw4rg";} + {name="kde-base-artwork";value="12v2gg6lwq859b3ay8g08galrra44wmrislbysazbific5idxcyz";} + {name="kde-dev-scripts";value="0nzfd3zywr8qmq65h1yhyn7fc9grg5aw8819bcvmixws88fvrxm9";} + {name="kde-dev-utils";value="1bwqx7g9hrrhyhfbv475bfxw193zinrksx858aypf86r0xf57zcy";} + {name="kdegraphics-mobipocket";value="0cji929vibrb6nxnw151r9z3n70l2ldd01x8v8kijpd9igywwvc9";} + {name="kdegraphics-strigi-analyzer";value="1s9pcjskh8m69gi2r54z05p4k9xwn9j0ifb8p1163kg1qyff6bhy";} + {name="kdegraphics-thumbnailers";value="05bq2wr9knwjkk088fd0bnw1l352dgfb7bg6h5y691wc21dy5zi9";} + {name="kdelibs";value="0ykqhgjmfxvysd2skk5c4kijnkg1ynmi2z6agshijyiqjkx20gnh";} + {name="kdenetwork-filesharing";value="0gxiqlzxmmwyg2kxivhhyd9rxif3q800p7agp3rns91x1k1k6dxj";} + {name="kdenetwork-strigi-analyzers";value="1l8yigrzfrqdmnzsh8ass1n45bw4gp25s9zc22sgmz5ng9l72501";} + {name="kdepim";value="1axgk6v0sf7bakjkz3348kg25rdllbdy0rvxys1c3a5kcpxi6z49";} + {name="kdepimlibs";value="1qj7mv2dn3833fpcfqirqh6wa3046d75mn7amkbmgkh0iq7s8xg4";} + {name="kdepim-runtime";value="173a8mlq1lmz47p9r56dp8pxll0qyam5mfm0fiffvjygc2wlczbq";} + {name="kdeplasma-addons";value="1f6shv7d0a0v1iq75ywgs0p9n8x2y0n7p9g185904giz40d7sm0x";} + {name="kde-runtime";value="14vipbrnmnzapz1c8l0rfy93i4vap9lgqks6q819xbvm3hqg38ac";} + {name="kdesdk-kioslaves";value="1f18ddm8lwx3yqwj3gmvmvg3frsq10k7rn52yd60yxl2q4ifba2z";} + {name="kdesdk-strigi-analyzers";value="1ya6dg6a2b7p83wgj7hw2nky6x72cy6g5vmi6id8v70gix3c21bi";} + {name="kdesdk-thumbnailers";value="09kz9yck8lwjbfgvw2qppk6x82fm0cyvzi0k9qj3pkz9lva1g4ri";} + {name="kde-wallpapers";value="0ipqnnnrl04kdmcc492c3l62d1fmsf3w3gannxhmrwr17hkl530n";} + {name="kdewebdev";value="0sbwmwb6h5ddx3s86p01a4jdjjbgvkvji7baxjdpvxscyhp6b0m4";} + {name="kdf";value="190mcs9s6rcfa8p5m7c2vs6ghdlfygxz9m038ibvbfic4zyl1kk0";} + {name="kdiamond";value="09b9wjn30118q5c8y6ixwhd4041pb8g7izy0w420riaal314lj9b";} + {name="kdnssd";value="0bir835kn6m0bsrsh09ph41jn1bm347zfl5fkrwnhnxp937mba9c";} + {name="kfloppy";value="1mr353kij4rn4qcip81dhcxswscsmwzsk0a29rqcpxli66ydv015";} + {name="kfourinline";value="01qaamcmvcbv90fgmfwmgmdx5asw8mp0biayhimmsi6fc4ykbl54";} + {name="kgamma";value="1hhd9qw8bqrc9zj5l8lh1izay2s58qfrj2an7yvppjvcx5n8gbgw";} + {name="kgeography";value="1nhgl85lj9w86425n2ndird10j28ffvf0kdy8rgz99bgdhsrk15c";} + {name="kget";value="1ix29z9sh575z9srndzryjra0phvhs8izy849dykczjh0kqx5cvn";} + {name="kgoldrunner";value="01rrdx2wd0962lrf8cw4c6pyp3yj95wmxf5v0dl95y7zqg81hzaq";} + {name="kgpg";value="17jd3cylpj690zd2rawa12cdp5nfcqik2kvqk6i2lq2zlqm3z4aq";} + {name="khangman";value="1gj2wybjbrzwf7r2svsip32ll009q89y7khmvmmwz6xl2klk1s21";} + {name="kig";value="13i9ddj8d3w6jisdlfw7l8krsdr38g60j18hcpc2sd875ba7qv15";} + {name="kigo";value="180b6yqiydwfv62jfmvcxqhsc2pmp7n5s5m4cr3g58090q9lj0li";} + {name="killbots";value="099k2y9y2f0rbl1hafqrih58ky1al5nrslx3i1kzkbhqphl8khqa";} + {name="kimono";value="004ch6pi60qcrzrnz5fsfx25gmm2nx0hmx88h1s292zbi0c9ccd0";} + {name="kiriki";value="0niajfivghvdc88dwk13bqjzj8x8nj6h357wd4jnsvrx90wm8mp3";} + {name="kiten";value="07xz2rl8f5683a3zjv8rs2acp81d806vx3w5z1xbvlziiw1y2sj6";} + {name="kjumpingcube";value="1hn2n27vyk6zjc8jmnv8hmxhmb3323zg4qkwb6rmqkai28q9rdnd";} + {name="klettres";value="15is8hrmh4m45npg40iv06c1v9yjv2rk2xwfm8c7a5r3xncqh6im";} + {name="klickety";value="0n72r56xx9vgy19izwbddbssgnmvzacdjq6g5s9vrlnkz2lac0ak";} + {name="klines";value="0lrka7pgx26v5rf0kp3mqbw65q9p281hsi3whnjf0c3nnq80v25i";} + {name="kmag";value="0y0l19m0irmd5q3fxarr18d7f6a4537g8b1bm6hnq48v63w6f13i";} + {name="kmahjongg";value="06dvr50x6y0115pr2rx605pm3nll3lglz2z1q07dc8ydfgqjy2sp";} + {name="kmines";value="1fz2q1xbagzi27xvl2wx5hd6fnk0qy33apr103cqq1lprb68n2dl";} + {name="kmix";value="137v4np9nhynwybabb1z1h9wvcrzm9yvjxybjkfwz0csz747pyah";} + {name="kmousetool";value="1n1isbq1vncs5kw1hp0g7s84bggksg14wgas3bqzhcbcxcfdj0i3";} + {name="kmouth";value="07im0lvkws27sgg68lgwc5fzx8wiz758ynxigbx85gavmjvr2cv1";} + {name="kmplot";value="18s8826yh9krsbh20widv53z0cvd6js60apvj6iwzq00506bjjlh";} + {name="knavalbattle";value="1gc7kgg5q4ha5bil6r5amf5ww4jby953b4xk87m9cb7pwhp65z7s";} + {name="knetwalk";value="1ky2933f2mp4m6mh5z4ighvd255pqsmblqrbbsnpy8ks7qx9acwm";} + {name="kolf";value="0s1qkvfsw42hsi84wi6a93zm7cz1kciiqgp1p9izgdyd3qr48lml";} + {name="kollision";value="02jczgs348wlb8djvb1l44hkg8055zk4fl6am70i943jc1f9isiv";} + {name="kolourpaint";value="1m7vjnx8f7y59lf9z8gncspvw1pfbqz7aqbb1msgwphhr06m5x59";} + {name="kompare";value="0s8a53bn8k6x10gi9bdfyrqm30742krv2gjz9gpckpycb4d7g8k1";} + {name="konquest";value="1n3aai02vgb2cclljak9cvfdrcv75ay6lbaji065qnx9zb925zn7";} + {name="konsole";value="1qh4jjwxp3wxyh876bwg6mwbvgr5b9kcyfn7679j04z5hydzxpvc";} + {name="kopete";value="04xhp0293xzrimfhnhxi7l760a5bliqk370pl0bw05j9lc3fa2gw";} + {name="korundum";value="06cajw6disdhyajnhqjsxc68mwc34qqv95z46345i08b2z7xy7b7";} + {name="kpat";value="1rphkkdx7076zxfx186znay355sfz0y2m2xi7mimngydi4n0fa93";} + {name="kppp";value="0zji9ihid90drdd561gqqzi2bmxi2vsznf4lpi09iy2x3sl4z4ah";} + {name="krdc";value="0dimldcijnw14s9archnqfhyi2b519xgd65jpz2z8nw7vxnfja9y";} + {name="kremotecontrol";value="1rx0pa5gvncsczvdzncqhra4rxign6nnawp1w2g4amv0mpjpxdz8";} + {name="kreversi";value="1gh5dqsfx6hzlmxp9xivj571f3x9d434p9683cy16ck6rg3290kr";} + {name="krfb";value="1s515wb0bh8lhgbffkji48mvsq8wl80k6c3fka3fn84kyqc74kn8";} + {name="kross-interpreters";value="0qvhs3d691kzzqkg48y2d9gc45l4mr5qyzg0sb2hkmwzskdmim2b";} + {name="kruler";value="1q7z31g67cg5v4x1b348cics063dcy0fpbmh2vmj3g51kha9a3za";} + {name="ksaneplugin";value="0h05db6gid0519a79b89y74vfqjls71ncqc28wysvpcpi80rwhzn";} + {name="kscd";value="0q6yl13n0gblida0k5a66g8xaliizsjd6zw4xssfj5x67bfmnkq7";} + {name="kshisen";value="10c3akddm1qgbmays7v9fh61f9p857l9cpa0k6gvxjg9z2sixd23";} + {name="ksirk";value="067i4y1m4c7m6lh0c3hzwslvysfibprr2zp3hsn22if0l5l37fgp";} + {name="ksnakeduel";value="1wg266jvs7krvh8mpj6v7r8p5f8znpd3br4x6fs27vcy8pw91bac";} + {name="ksnapshot";value="0mylgwysysw1cbhf1jh34qh4d1frhrz85icwg4s7vpw8v6iz26nk";} + {name="kspaceduel";value="1x7sn50pxj7v36xziszzq96pl1qcb0ycczx8sxdk30wllpyi50k1";} + {name="ksquares";value="1mqxmzvf2wyhcn24rd7glr8g7xks87fd7l5vyh2z73w7dshlf1q2";} + {name="kstars";value="05yd9q1n2ja452x6b2b3x0rrr3cpg3zphcvzqk7qv1pdc7dckyyx";} + {name="ksudoku";value="1vmslqp8kdmbr5zj0kh0mpsagrhins0y7a5xfb2p61bwprpvqqp8";} + {name="ksystemlog";value="1syyjsb0yn59fvbjbdhg4i20lb1ynjd3jj4b5z3bh34d3wzbcfz5";} + {name="kteatime";value="1y59cnx65p5i9fw9vm2hls40nq253ps3zj7ps34fcspnjvfcipgx";} + {name="ktimer";value="155sbcj4lqxs6sbl2wrc7pgnha4ji5mii1jkax1rggjxspk540n4";} + {name="ktouch";value="1v8ybp03cv7xwx9k6ia9b0fnh657an205grk9k0zx5v930ag3p0v";} + {name="ktuberling";value="1bcf9vq0hcm9n4343vi8slbqjhv1bffwr7kk4m12gr38yshx5r4v";} + {name="kturtle";value="0lgahnmjnwsd20a9xw7f66wqg29klkz7f2i4qalzcrh55a8sbjxg";} + {name="ktux";value="1jw8fh47hc8i5aykrir2wq4r3n6ikbrqw1vy3wsz3jcd94434c55";} + {name="kubrick";value="0ylz4wf4vbaqbm78ahcz43sxcv3j7znmx20jby0i83izard9w169";} + {name="kuser";value="0wsdwi0cac9d1r66l6kial13gqyiyclvrnwi602jmzs10c3vz7lk";} + {name="kwallet";value="0a541jgbwpv0ar128bfc67j0piza4n1mifp0dx9hmjqahfylw8yv";} + {name="kwordquiz";value="0s6ii237625wfr5qzzdf4s5x9dmwmv2xc0qzmcniib0g4230y53k";} + {name="libkcddb";value="03mkgcgcg50r66gfvb9gqxhkl6ixvg5mjcshcz8wlxzamx0vkdcg";} + {name="libkcompactdisc";value="1kdcanilyanzi5ixxh357335030x2hlkykg0p3i6375jcivx0j4z";} + {name="libkdcraw";value="01xbsb6nsp3rq6l1fyg5i8ysf09hy93n8hy5n3z5jzx8j5gar0jh";} + {name="libkdeedu";value="16sibrnaw57j7ngj6d32hn5k0piqmvl6b9slnijzy46yaf60qqjd";} + {name="libkdegames";value="0gz23vigrm1q9fm02xs0pi2dkvcwackcp4by6swp8wvz5bx6r3sq";} + {name="libkexiv2";value="185cbm1a8sl0hrd7dq69mbkxw88c9qwlhnnip76r3cpzh0fqqcx2";} + {name="libkipi";value="1bgrr1dqmn3i844x5ib88z2gq4c2s0zkrxyfv54scy57gnp8z666";} + {name="libkmahjongg";value="1svawck122495cdp6vx427nd4vjwmvvpav8xgh15p1av4jdvlpyy";} + {name="libkomparediff2";value="17hiffmpknyp86h4lc9q1grn7m8ywhlk5f6p2vq6xl2la6zca6k0";} + {name="libksane";value="1dc4cf9wxxg9bg4ldf5ldvl0jpsh6av41kk4fnzsj8h153mak4dx";} + {name="lokalize";value="0yvqwbwbs8njzahcp44slg9jaagjrv2ypk8b7abynsa8zlgwjh2h";} + {name="lskat";value="129a9bmpiiz3rscnwck4adnmsimb9ql7dqs113yyvkmxj5ncgfdd";} + {name="marble";value="1fzaqck6b7gw047jjlbwwsgjlnan3jqj9drd7adxb9klx1ikpskl";} + {name="mplayerthumbs";value="13v63lmzzcaz83rjfydhz508m4083ksxdi1m8qrjnlkbwnc6ks2k";} + {name="nepomuk-core";value="0p3aya5ajaxzbwmgaqc8rpilzw5vzkms1c7jcsjmyyr51iplkyb4";} + {name="nepomuk-widgets";value="1am2gg46ybn6xgfgnzcwzizf9r441i2l7jx655z4zff6wgms9mz5";} + {name="okteta";value="0227l2hnz3i8ap19r5lai02y5hqhc3sgkz33wd7j23y0nr5cpv0k";} + {name="okular";value="1722ncmd81yz8qfisrllniv0iqwn2i1gyvdd0d0ygs416wj6rmjx";} + {name="oxygen-icons";value="1v314rrj0d6jgir7hrhapqagl376f5hwciqxkxkg7vynp6kli33r";} + {name="pairs";value="1pfpam1n9bwni2pcq429grzxanprazwz7g1h0l02jbksfv4sabz7";} + {name="palapeli";value="0ip07xsr8w45cf0mxya9i64315d7r1zaj0nd0bq4xhcw09qmyyxr";} + {name="parley";value="1rqw0y0p7fka6v8hpcq75n8nlk43697js99cdzb0zvrm6gzjmjm5";} + {name="perlkde";value="0sxz0bvavclqdimd5hmcsc884alsyflc8v31wd79l3pc51alsibs";} + {name="perlqt";value="18dbzm94wa49ysbar7fi64cyhd38w0b0b9rj9pjacxrpfvwa3vg2";} + {name="picmi";value="07ycx2xgzqr0sbirsd9gcs9bmxf01i2jnmbp2i13znv2y25xm7j6";} + {name="poxml";value="1skyms17zdds878rzzxnc393pvw2fv01wysyr8v7nkylzi77a8fc";} + {name="print-manager";value="0rjwi4l99h5wqd728by9ax26v2b7brmkam990s3waids91kbcxrb";} + {name="pykde4";value="0x3vz31cz12jp1prdh6rmc501f5av0qby8yi1hkqwgpkfyyqmczj";} + {name="qtruby";value="1y79azyhspcnfnkgx54b3k60k0a14aga85cv9hilzl6jn7w8qmmz";} + {name="qyoto";value="19fnpzf5bq3i75gb51fm0vrlkgi79jgjcb3sw1w1g5gzy1lkr4nc";} + {name="rocs";value="1a1p72slgv7ss73v4md7w1avsssbwflfb339abpc44h361w5pwnz";} + {name="smokegen";value="14ashkkh8g0s5i56p5v10w2rskcr435s01hb36yjqva1gfxbs1vf";} + {name="smokekde";value="0infmb6gsfiq8iargwba3xl4115dp2fj0whg1f595x0qkl2dlkbf";} + {name="smokeqt";value="1nf7jcn2cwdrws8dqk5vgxnda507yh6mg093mgxdjrr8h787x2gn";} + {name="step";value="1h29lm6k89nbz038z19irid0fk20dv5h829wvmmmylk1d881a6l6";} + {name="superkaramba";value="1n7x85zafz4z7i5p9cw15s5dbfbcr864ml7nw0rwybacppdgp59n";} + {name="svgpart";value="0m019wf56pq4c8qds6g7l2h51r5n7ayyf7yyhil8rp4fdwmz44ia";} + {name="sweeper";value="0r8qfy5a9y3pcza8ik1yl73d4jn0biiv7kdmv72ci7jjv93fiyq5";} + {name="umbrello";value="1d9zl92xcyqhc8b9pn1ih856dainwvgbcqvz6bky891pmggp1n7w";} +]; +modules=[ +{ + module="kdemultimedia"; + split=true; + pkgs=[ + { name="audiocd-kio"; sane="audiocd_kio"; } + { name="dragon"; } + { name="ffmpegthumbs"; } + { name="juk"; } + { name="kmix"; } + { name="kscd"; } + { name="libkcddb"; } + { name="libkcompactdisc"; } + { name="mplayerthumbs"; } + ]; +} +{ + module="kdegraphics"; + split=true; + pkgs=[ + { name="gwenview"; } + { name="kamera"; } + { name="kcolorchooser"; } + { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; } + { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; } + { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; } + { name="kgamma"; } + { name="kolourpaint"; } + { name="kruler"; } + { name="ksaneplugin"; } + { name="ksnapshot"; } + { name="libkdcraw"; } + { name="libkexiv2"; } + { name="libkipi"; } + { name="libksane"; } + { name="okular"; } + { name="svgpart"; } + ]; +} +{ + module="kdelibs"; + split=true; + pkgs=[ + { name="kdelibs"; } + { name="nepomuk-core"; sane="nepomuk_core"; } + { name="nepomuk-widgets"; sane="nepomuk_widgets"; } + ]; +} +{ + module="kdenetwork"; + split=true; + pkgs=[ + { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; } + { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; } + { name="kdnssd"; } + { name="kget"; } + { name="kopete"; } + { name="kppp"; } + { name="krdc"; } + { name="krfb"; } + ]; +} +{ + module="kdeutils"; + split=true; + pkgs=[ + { name="ark"; } + { name="filelight"; } + { name="kcalc"; } + { name="kcharselect"; } + { name="kdf"; } + { name="kfloppy"; } + { name="kgpg"; } + { name="kremotecontrol"; } + { name="ktimer"; } + { name="kwallet"; } + { name="print-manager"; sane="print_manager"; } + { name="superkaramba"; } + { name="sweeper"; } + ]; +} +{ + module="applications"; + split=true; + pkgs=[ + { name="kate"; } + { name="konsole"; } + ]; +} +{ + module="kdetoys"; + split=true; + pkgs=[ + { name="amor"; } + { name="kteatime"; } + { name="ktux"; } + ]; +} +{ + module="kdesdk"; + split=true; + pkgs=[ + { name="cervisia"; } + { name="dolphin-plugins"; sane="dolphin_plugins"; } + { name="kapptemplate"; } + { name="kcachegrind"; } + { name="kde-dev-scripts"; sane="kde_dev_scripts"; } + { name="kde-dev-utils"; sane="kde_dev_utils"; } + { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; } + { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; } + { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; } + { name="kompare"; } + { name="libkomparediff2"; } + { name="lokalize"; } + { name="okteta"; } + { name="poxml"; } + { name="umbrello"; } + ]; +} +{ + module="kdegames"; + split=true; + pkgs=[ + { name="bomber"; } + { name="bovo"; } + { name="granatier"; } + { name="kajongg"; } + { name="kapman"; } + { name="katomic"; } + { name="kblackbox"; } + { name="kblocks"; } + { name="kbounce"; } + { name="kbreakout"; } + { name="kdiamond"; } + { name="kfourinline"; } + { name="kgoldrunner"; } + { name="kigo"; } + { name="killbots"; } + { name="kiriki"; } + { name="kjumpingcube"; } + { name="klickety"; } + { name="klines"; } + { name="kmahjongg"; } + { name="kmines"; } + { name="knavalbattle"; } + { name="knetwalk"; } + { name="kolf"; } + { name="kollision"; } + { name="konquest"; } + { name="kpat"; } + { name="kreversi"; } + { name="kshisen"; } + { name="ksirk"; } + { name="ksnakeduel"; } + { name="kspaceduel"; } + { name="ksquares"; } + { name="ksudoku"; } + { name="ktuberling"; } + { name="kubrick"; } + { name="libkdegames"; } + { name="libkmahjongg"; } + { name="lskat"; } + { name="palapeli"; } + { name="picmi"; } + ]; +} +{ + module="kdeedu"; + split=true; + pkgs=[ + { name="analitza"; } + { name="blinken"; } + { name="cantor"; } + { name="kalgebra"; } + { name="kalzium"; } + { name="kanagram"; } + { name="kbruch"; } + { name="kgeography"; } + { name="khangman"; } + { name="kig"; } + { name="kiten"; } + { name="klettres"; } + { name="kmplot"; } + { name="kstars"; } + { name="ktouch"; } + { name="kturtle"; } + { name="kwordquiz"; } + { name="libkdeedu"; } + { name="marble"; } + { name="pairs"; } + { name="parley"; } + { name="rocs"; } + { name="step"; } + ]; +} +{ + module="kdeadmin"; + split=true; + pkgs=[ + { name="kcron"; } + { name="ksystemlog"; } + { name="kuser"; } + ]; +} +{ + module="kdebindings"; + split=true; + pkgs=[ + { name="kimono"; } + { name="korundum"; } + { name="kross-interpreters"; sane="kross_interpreters"; } + { name="perlkde"; } + { name="perlqt"; } + { name="pykde4"; } + { name="qtruby"; } + { name="qyoto"; } + { name="smokegen"; } + { name="smokekde"; } + { name="smokeqt"; } + ]; +} +{ + module="kdeaccessibility"; + split=true; + pkgs=[ + { name="jovie"; } + { name="kaccessible"; } + { name="kmag"; } + { name="kmousetool"; } + { name="kmouth"; } + ]; +} +{ + module="kde-baseapps"; +sane="kde_baseapps"; split=true; + pkgs=[ + { name="kde-baseapps"; sane="kde_baseapps"; } + ]; +} +{ module="kactivities"; split=false;} +{ module="kdeartwork"; split=false; + pkgs=[ + { name="ColorSchemes"; } + { name="IconThemes"; } + { name="emoticons"; } + { name="kscreensaver"; } + { name="kwin-styles"; sane="kwin_styles";} + { name="styles"; } + { name="wallpapers"; } + { name="HighResolutionWallpapers"; } + { name="WeatherWallpapers"; } + { name="desktopthemes"; } + ]; + +} +{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;} +{ module="kdelibs"; split=false;} +{ module="kdepim"; split=false;} +{ module="kdepimlibs"; split=false;} +{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;} +{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;} +{ module="kde-runtime"; sane="kde_runtime"; split=false;} +{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;} +{ module="kdewebdev"; split=false; + pkgs=[ + { name="klinkstatus"; } + { name="kfilereplace"; } + { name="kimagemapeditor"; } + { name="kommander"; } + ]; + +} +{ module="kde-workspace"; sane="kde_workspace"; split=false;} +{ module="oxygen-icons"; sane="oxygen_icons"; split=false;} +]; +} diff --git a/pkgs/desktops/kde-4.10/kde-package/default.nix b/pkgs/desktops/kde-4.12/kde-package/default.nix similarity index 95% rename from pkgs/desktops/kde-4.10/kde-package/default.nix rename to pkgs/desktops/kde-4.12/kde-package/default.nix index 8a6e8e167517..6b4e1ba0ad87 100644 --- a/pkgs/desktops/kde-4.10/kde-package/default.nix +++ b/pkgs/desktops/kde-4.12/kde-package/default.nix @@ -1,5 +1,5 @@ { callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4 -, release, ignoreList, extraSubpkgs +, release, branch, ignoreList, extraSubpkgs }: let @@ -19,6 +19,7 @@ rec { # Default meta attribute defMeta = { homepage = http://www.kde.org; + inherit branch; platforms = stdenv.lib.platforms.linux; inherit (qt4.meta) maintainers; }; @@ -26,9 +27,9 @@ rec { # KDE package built from the whole tarball # This function is used both for monolithic modules and modules which are # released as individual tarballs - kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, ...}: + kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, version ? release, ...}: stdenv.mkDerivation ({ - name = "${name}-${release}"; + name = "${name}-${version}"; src = kdesrc name; meta = defMeta // meta; enableParallelBuilding = true; diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh similarity index 100% rename from pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh rename to pkgs/desktops/kde-4.12/kde-package/kde-manifest.sh diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt similarity index 100% rename from pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt rename to pkgs/desktops/kde-4.12/kde-package/kde-submodules.xslt diff --git a/pkgs/desktops/kde-4.10/kde-runtime.nix b/pkgs/desktops/kde-4.12/kde-runtime.nix similarity index 50% rename from pkgs/desktops/kde-4.10/kde-runtime.nix rename to pkgs/desktops/kde-4.12/kde-runtime.nix index a2fef65d75c0..1c9706f4f4bf 100644 --- a/pkgs/desktops/kde-4.10/kde-runtime.nix +++ b/pkgs/desktops/kde-4.12/kde-runtime.nix @@ -1,14 +1,15 @@ -{ kde, kdelibs, shared_desktop_ontologies, bzip2, libssh, exiv2, attica -, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, qca2, xz, pulseaudio -, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, config +{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2 +, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio +, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme }: kde { buildInputs = [ kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack - qca2 samba libcanberra pulseaudio + qca2 samba libcanberra pulseaudio gpgme networkmanager kactivities kdepimlibs openexr #todo: add openslp +#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/desktops/kde-4.10/kde-wallpapers.nix b/pkgs/desktops/kde-4.12/kde-wallpapers.nix similarity index 80% rename from pkgs/desktops/kde-4.10/kde-wallpapers.nix rename to pkgs/desktops/kde-4.12/kde-wallpapers.nix index 6e559ad8a6c2..30e68934acf3 100644 --- a/pkgs/desktops/kde-4.10/kde-wallpapers.nix +++ b/pkgs/desktops/kde-4.12/kde-wallpapers.nix @@ -9,7 +9,7 @@ kde { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "01k4rr7xkay5j0g8qwmfmvf4d0rjc9sdk121wravsagbidz3s9ci"; + outputHash = "19d2ly05hv2x1kkzgdgvkcpjypp2nk4q9bffv17lz2q5pzhjhsa4"; meta = { description = "Wallpapers for KDE"; diff --git a/pkgs/desktops/kde-4.12/kde-workspace.nix b/pkgs/desktops/kde-4.12/kde-workspace.nix new file mode 100644 index 000000000000..39e9c10a0fbe --- /dev/null +++ b/pkgs/desktops/kde-4.12/kde-workspace.nix @@ -0,0 +1,46 @@ +{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors +, pciutils, libraw1394, libusb1, python, libqalculate, akonadi +, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison +, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl +}: + +kde { + + version = "4.11.6"; + + src = fetchurl { + url = "mirror://kde/stable/4.12.2/src/kde-workspace-4.11.6.tar.xz"; + sha256 = "0lk3k9zl4x4il5dqpw7mf25gv8a3y48fd3jq3jvgmwwlviwcpcz1"; + }; + +#todo: wayland, xmms, libusb isn't found + buildInputs = + [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg + xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp + xorg.libxkbfile xorg.libXcomposite xorg.libXtst + xorg.libXdamage + + python boost qjson lm_sensors gpsd libraw1394 pciutils udev + akonadi pam libusb1 libqalculate kdepimlibs prison + kactivities + ]; + + nativeBuildInputs = [ pkgconfig ]; + + preConfigure = + '' + # Fix incorrect path to kde4-config. + substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config + + # Fix the path to the keyboard configuration files. + substituteInPlace kcontrol/keyboard/xkb_rules.cpp \ + --replace /usr/share/X11 ${xkeyboard_config}/etc/X11 + ''; + + enableParallelBuilding = false; # frequent problems on Hydra + + meta = { + description = "KDE workspace components such as Plasma, Kwin and System Settings"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix rename to pkgs/desktops/kde-4.12/kdeaccessibility/jovie.nix diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix rename to pkgs/desktops/kde-4.12/kdeaccessibility/kaccessible.nix diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix rename to pkgs/desktops/kde-4.12/kdeaccessibility/kmag.nix diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix rename to pkgs/desktops/kde-4.12/kdeaccessibility/kmousetool.nix diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix rename to pkgs/desktops/kde-4.12/kdeaccessibility/kmouth.nix diff --git a/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix new file mode 100644 index 000000000000..f585461af381 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdeadmin/kcron.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "Configure and schedule tasks"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix new file mode 100644 index 000000000000..88757a6b91c7 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdeadmin/ksystemlog.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "System log viewer tool"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix similarity index 68% rename from pkgs/desktops/kde-4.10/kdeutils/kgpg.nix rename to pkgs/desktops/kde-4.12/kdeadmin/kuser.nix index f3b00a5b968c..6118cf558bbd 100644 --- a/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix +++ b/pkgs/desktops/kde-4.12/kdeadmin/kuser.nix @@ -4,6 +4,6 @@ kde { buildInputs = [ kdelibs kdepimlibs ]; meta = { - description = "Simple KDE GUI for GPG"; + description = "User management tool"; }; } diff --git a/pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix rename to pkgs/desktops/kde-4.12/kdeartwork/ColorSchemes.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake rename to pkgs/desktops/kde-4.12/kdeartwork/FindXscreensaver.cmake diff --git a/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix rename to pkgs/desktops/kde-4.12/kdeartwork/HighResolutionWallpapers.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix rename to pkgs/desktops/kde-4.12/kdeartwork/IconThemes.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix rename to pkgs/desktops/kde-4.12/kdeartwork/WeatherWallpapers.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix rename to pkgs/desktops/kde-4.12/kdeartwork/desktopthemes.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix rename to pkgs/desktops/kde-4.12/kdeartwork/emoticons.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix similarity index 77% rename from pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix rename to pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix index 7028b9db228d..84cb008056e4 100644 --- a/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix +++ b/pkgs/desktops/kde-4.12/kdeartwork/kscreensaver.nix @@ -5,7 +5,7 @@ kde { nativeBuildInputs = [ pkgconfig ]; - preConfigure = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake"; + prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake"; cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ]; diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix rename to pkgs/desktops/kde-4.12/kdeartwork/kwin-styles.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/styles.nix b/pkgs/desktops/kde-4.12/kdeartwork/styles.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/styles.nix rename to pkgs/desktops/kde-4.12/kdeartwork/styles.nix diff --git a/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix rename to pkgs/desktops/kde-4.12/kdeartwork/wallpapers.nix diff --git a/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix similarity index 84% rename from pkgs/desktops/kde-4.10/kdebindings/perlqt.nix rename to pkgs/desktops/kde-4.12/kdebindings/perlqt.nix index 689223e31486..48eed141ce64 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/perlqt.nix @@ -1,8 +1,11 @@ { kde, cmake, smokeqt, perl }: kde { -#todo: qscintilla2, qwt5 + + # TODO: qscintilla2, qwt5 + buildInputs = [ smokeqt perl ]; + nativeBuildInputs = [ cmake ]; meta = { diff --git a/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix similarity index 82% rename from pkgs/desktops/kde-4.10/kdebindings/pykde4.nix rename to pkgs/desktops/kde-4.12/kdebindings/pykde4.nix index 7f6973c054bb..64e196452e31 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/pykde4.nix @@ -9,13 +9,12 @@ kde { buildInputs = [ python kdepimlibs shared_desktop_ontologies - boost polkit_qt_1 pkgconfig + boost polkit_qt_1 ]; - propagatedBuildInputs = [ pyqt4 sip ]; + nativeBuildInputs = [ pkgconfig ]; -# patches = [ ./pykde4-hardcode-lib-python.patch ]; -# cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON "; + propagatedBuildInputs = [ pyqt4 sip ]; preConfigure = '' @@ -29,6 +28,5 @@ kde { meta = { description = "Python bindings for KDE"; - kde.name = "pykde4"; }; } diff --git a/pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch similarity index 100% rename from pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch rename to pkgs/desktops/kde-4.12/kdebindings/qtruby-install-prefix.patch diff --git a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix similarity index 68% rename from pkgs/desktops/kde-4.10/kdebindings/qtruby.nix rename to pkgs/desktops/kde-4.12/kdebindings/qtruby.nix index 18a3703426c9..03e9dc9a007f 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/qtruby.nix @@ -1,10 +1,15 @@ { kde, cmake, smokeqt, ruby }: kde { -#todo: scintilla2, qwt5 + + # TODO: scintilla2, qwt5 + buildInputs = [ smokeqt ruby ]; + nativeBuildInputs = [ cmake ]; + # The patch is not ready for upstream submmission. + # I should add an option() instead. patches = [ ./qtruby-install-prefix.patch ]; cmakeFlags="-DRUBY_ROOT_DIR=${ruby}"; diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch similarity index 77% rename from pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch rename to pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch index 33ec3df6452d..f0811d335a73 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch +++ b/pkgs/desktops/kde-4.12/kdebindings/smokegen-CMakeLists.txt-nix.patch @@ -1,5 +1,5 @@ --- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000 -+++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000 ++++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000 @@ -36,6 +36,10 @@ set (CMAKE_SKIP_BUILD_RPATH FALSE) set (CMAKE_SKIP_RPATH FALSE) @@ -10,5 +10,4 @@ + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY ) - add_executable(smokegen ${generator_SRC}) - + add_executable(smokegen ${generator_SRC}) \ No newline at end of file diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch b/pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch similarity index 100% rename from pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch rename to pkgs/desktops/kde-4.12/kdebindings/smokegen-nix.patch diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix similarity index 68% rename from pkgs/desktops/kde-4.10/kdebindings/smokegen.nix rename to pkgs/desktops/kde-4.12/kdebindings/smokegen.nix index 0a3f2a85efaf..a80574ff67ab 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/smokegen.nix @@ -4,7 +4,7 @@ kde { buildInputs = [ qt4 ]; nativeBuildInputs = [ cmake ]; - patches = [ ./smokegen-SmokeConfig.cmake.in-nix.patch ./smokegen-CMakeLists.txt-nix.patch ]; + patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ]; meta = { description = "C++ parser used to generate language bindings for Qt/KDE"; diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix similarity index 55% rename from pkgs/desktops/kde-4.10/kdebindings/smokekde.nix rename to pkgs/desktops/kde-4.12/kdebindings/smokekde.nix index d129686b2de1..4474c1d9731e 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/smokekde.nix @@ -1,15 +1,18 @@ { kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular -, shared_desktop_ontologies, attica }: +, shared_desktop_ontologies, attica, pkgconfig }: kde { - # attica, akonadi and kdepimlibs are disabled due to smokegen crash + + # TODO: attica, akonadi and kdepimlibs are disabled due to smokegen crash # okular is disabled because the code generated is broken buildInputs = [ smokeqt kdelibs shared_desktop_ontologies ]; - nativeBuildInputs = [ cmake ]; - cmakeFlags = "-DQTDEFINES_FILE=${smokeqt}/share/smokegen/qtdefines"; + nativeBuildInputs = [ cmake pkgconfig ]; + + LD_LIBRARY_PATH = "${smokeqt}/lib/"; + meta = { description = "SMOKE bindings for kdelibs"; }; diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix similarity index 91% rename from pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix rename to pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix index e95b686aee20..72b267e43c5e 100644 --- a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix +++ b/pkgs/desktops/kde-4.12/kdebindings/smokeqt.nix @@ -1,7 +1,9 @@ { kde, qt4, cmake, phonon, qimageblitz, smokegen }: kde { -#todo: Qwt5, QScintilla2 + +# TODO: Qwt5, QScintilla2 + propagatedBuildInputs = [ qt4 phonon qimageblitz ]; nativeBuildInputs = [ cmake ]; propagatedNativeBuildInputs = [ smokegen ]; diff --git a/pkgs/desktops/kde-4.10/kdeedu/analitza.nix b/pkgs/desktops/kde-4.12/kdeedu/analitza.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/analitza.nix rename to pkgs/desktops/kde-4.12/kdeedu/analitza.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/blinken.nix b/pkgs/desktops/kde-4.12/kdeedu/blinken.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/blinken.nix rename to pkgs/desktops/kde-4.12/kdeedu/blinken.nix diff --git a/pkgs/desktops/kde-4.12/kdeedu/cantor.nix b/pkgs/desktops/kde-4.12/kdeedu/cantor.nix new file mode 100644 index 000000000000..a8cd2e44957a --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdeedu/cantor.nix @@ -0,0 +1,13 @@ +{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }: +kde { + +# TODO: R is not found + + buildInputs = [ kdelibs libspectre analitza R libqalculate python ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "KDE Frontend to Mathematical Software"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix rename to pkgs/desktops/kde-4.12/kdeedu/kalgebra.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix similarity index 89% rename from pkgs/desktops/kde-4.10/kdeedu/kalzium.nix rename to pkgs/desktops/kde-4.12/kdeedu/kalzium.nix index 78fa8119583e..09de79ce1c05 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/kalzium.nix @@ -1,6 +1,8 @@ { kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }: kde { -#todo:chemical mime data + +# TODO: chemical mime data + buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.12/kdeedu/kanagram.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kanagram.nix rename to pkgs/desktops/kde-4.12/kdeedu/kanagram.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.12/kdeedu/kbruch.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kbruch.nix rename to pkgs/desktops/kde-4.12/kdeedu/kbruch.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.12/kdeedu/kgeography.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kgeography.nix rename to pkgs/desktops/kde-4.12/kdeedu/kgeography.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/khangman.nix b/pkgs/desktops/kde-4.12/kdeedu/khangman.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/khangman.nix rename to pkgs/desktops/kde-4.12/kdeedu/khangman.nix diff --git a/pkgs/desktops/kde-4.12/kdeedu/kig.nix b/pkgs/desktops/kde-4.12/kdeedu/kig.nix new file mode 100644 index 000000000000..37906c32bcb2 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdeedu/kig.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs, boost, python}: +kde { + buildInputs = [ kdelibs boost python ]; + + cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1"; + meta = { + description = "KDE Interactive Geometry"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kiten.nix b/pkgs/desktops/kde-4.12/kdeedu/kiten.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kiten.nix rename to pkgs/desktops/kde-4.12/kdeedu/kiten.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/klettres.nix b/pkgs/desktops/kde-4.12/kdeedu/klettres.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/klettres.nix rename to pkgs/desktops/kde-4.12/kdeedu/klettres.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix similarity index 75% rename from pkgs/desktops/kde-4.10/kdeedu/kmplot.nix rename to pkgs/desktops/kde-4.12/kdeedu/kmplot.nix index 18458cf6f0bf..fc7b0578c27b 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/kmplot.nix @@ -5,8 +5,5 @@ kde { meta = { description = "A KDE mathematical function plotter"; - kde = { - name = "kmplot"; - }; }; } diff --git a/pkgs/desktops/kde-4.10/kdeedu/kstars.nix b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix similarity index 52% rename from pkgs/desktops/kde-4.10/kdeedu/kstars.nix rename to pkgs/desktops/kde-4.12/kdeedu/kstars.nix index ce0a13b969df..0832dc2121e2 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/kstars.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/kstars.nix @@ -1,9 +1,13 @@ -{ kde, kdelibs, eigen, xplanet, indilib }: +{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }: kde { -#todo:wcslib + +# TODO: wcslib, astrometry + buildInputs = [ kdelibs eigen xplanet indilib ]; + nativeBuildInputs = [ pkgconfig ]; + meta = { description = "A KDE graphical desktop planetarium"; }; diff --git a/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.12/kdeedu/ktouch.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/ktouch.nix rename to pkgs/desktops/kde-4.12/kdeedu/ktouch.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.12/kdeedu/kturtle.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kturtle.nix rename to pkgs/desktops/kde-4.12/kdeedu/kturtle.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix rename to pkgs/desktops/kde-4.12/kdeedu/kwordquiz.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix rename to pkgs/desktops/kde-4.12/kdeedu/libkdeedu.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/marble.nix b/pkgs/desktops/kde-4.12/kdeedu/marble.nix similarity index 57% rename from pkgs/desktops/kde-4.10/kdeedu/marble.nix rename to pkgs/desktops/kde-4.12/kdeedu/marble.nix index 4f73472f6314..2dc07d14a0d9 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/marble.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/marble.nix @@ -1,7 +1,9 @@ { kde, kdelibs, gpsd }: kde { -#todo: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate + +# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip + buildInputs = [ kdelibs gpsd ]; meta = { diff --git a/pkgs/desktops/kde-4.10/kdeedu/pairs.nix b/pkgs/desktops/kde-4.12/kdeedu/pairs.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/pairs.nix rename to pkgs/desktops/kde-4.12/kdeedu/pairs.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/parley.nix b/pkgs/desktops/kde-4.12/kdeedu/parley.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeedu/parley.nix rename to pkgs/desktops/kde-4.12/kdeedu/parley.nix diff --git a/pkgs/desktops/kde-4.10/kdeedu/rocs.nix b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix similarity index 79% rename from pkgs/desktops/kde-4.10/kdeedu/rocs.nix rename to pkgs/desktops/kde-4.12/kdeedu/rocs.nix index 91976b840011..ce30d11fda31 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/rocs.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/rocs.nix @@ -1,7 +1,7 @@ -{ kde, kdelibs, boost }: +{ kde, kdelibs, boost, grantlee }: kde { - buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) ]; + buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ]; NIX_CFLAGS_COMPILE = "-fexceptions"; diff --git a/pkgs/desktops/kde-4.10/kdeedu/step.nix b/pkgs/desktops/kde-4.12/kdeedu/step.nix similarity index 59% rename from pkgs/desktops/kde-4.10/kdeedu/step.nix rename to pkgs/desktops/kde-4.12/kdeedu/step.nix index fac9974baf18..f36ccef9b7cd 100644 --- a/pkgs/desktops/kde-4.10/kdeedu/step.nix +++ b/pkgs/desktops/kde-4.12/kdeedu/step.nix @@ -1,12 +1,12 @@ -{ kde, kdelibs, gsl, libqalculate, eigen }: +{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }: kde { + buildInputs = [ kdelibs gsl libqalculate eigen ]; + nativeBuildInputs = [ pkgconfig ]; + meta = { description = "A KDE interactive physical simulator"; - kde = { - name = "step"; - }; }; } diff --git a/pkgs/desktops/kde-4.10/kdegames/bomber.nix b/pkgs/desktops/kde-4.12/kdegames/bomber.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/bomber.nix rename to pkgs/desktops/kde-4.12/kdegames/bomber.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/bovo.nix b/pkgs/desktops/kde-4.12/kdegames/bovo.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/bovo.nix rename to pkgs/desktops/kde-4.12/kdegames/bovo.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/granatier.nix b/pkgs/desktops/kde-4.12/kdegames/granatier.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/granatier.nix rename to pkgs/desktops/kde-4.12/kdegames/granatier.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kajongg.nix b/pkgs/desktops/kde-4.12/kdegames/kajongg.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kajongg.nix rename to pkgs/desktops/kde-4.12/kdegames/kajongg.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kapman.nix b/pkgs/desktops/kde-4.12/kdegames/kapman.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kapman.nix rename to pkgs/desktops/kde-4.12/kdegames/kapman.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/katomic.nix b/pkgs/desktops/kde-4.12/kdegames/katomic.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/katomic.nix rename to pkgs/desktops/kde-4.12/kdegames/katomic.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.12/kdegames/kblackbox.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kblackbox.nix rename to pkgs/desktops/kde-4.12/kdegames/kblackbox.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kblocks.nix b/pkgs/desktops/kde-4.12/kdegames/kblocks.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kblocks.nix rename to pkgs/desktops/kde-4.12/kdegames/kblocks.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kbounce.nix b/pkgs/desktops/kde-4.12/kdegames/kbounce.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kbounce.nix rename to pkgs/desktops/kde-4.12/kdegames/kbounce.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.12/kdegames/kbreakout.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kbreakout.nix rename to pkgs/desktops/kde-4.12/kdegames/kbreakout.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.12/kdegames/kdiamond.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kdiamond.nix rename to pkgs/desktops/kde-4.12/kdegames/kdiamond.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.12/kdegames/kfourinline.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kfourinline.nix rename to pkgs/desktops/kde-4.12/kdegames/kfourinline.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix rename to pkgs/desktops/kde-4.12/kdegames/kgoldrunner.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kigo.nix b/pkgs/desktops/kde-4.12/kdegames/kigo.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kigo.nix rename to pkgs/desktops/kde-4.12/kdegames/kigo.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/killbots.nix b/pkgs/desktops/kde-4.12/kdegames/killbots.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/killbots.nix rename to pkgs/desktops/kde-4.12/kdegames/killbots.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kiriki.nix b/pkgs/desktops/kde-4.12/kdegames/kiriki.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kiriki.nix rename to pkgs/desktops/kde-4.12/kdegames/kiriki.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix rename to pkgs/desktops/kde-4.12/kdegames/kjumpingcube.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/klickety.nix b/pkgs/desktops/kde-4.12/kdegames/klickety.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/klickety.nix rename to pkgs/desktops/kde-4.12/kdegames/klickety.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/klines.nix b/pkgs/desktops/kde-4.12/kdegames/klines.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/klines.nix rename to pkgs/desktops/kde-4.12/kdegames/klines.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix rename to pkgs/desktops/kde-4.12/kdegames/kmahjongg.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kmines.nix b/pkgs/desktops/kde-4.12/kdegames/kmines.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kmines.nix rename to pkgs/desktops/kde-4.12/kdegames/kmines.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix rename to pkgs/desktops/kde-4.12/kdegames/knavalbattle.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.12/kdegames/knetwalk.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/knetwalk.nix rename to pkgs/desktops/kde-4.12/kdegames/knetwalk.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kolf.nix b/pkgs/desktops/kde-4.12/kdegames/kolf.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kolf.nix rename to pkgs/desktops/kde-4.12/kdegames/kolf.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kollision.nix b/pkgs/desktops/kde-4.12/kdegames/kollision.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kollision.nix rename to pkgs/desktops/kde-4.12/kdegames/kollision.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/konquest.nix b/pkgs/desktops/kde-4.12/kdegames/konquest.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/konquest.nix rename to pkgs/desktops/kde-4.12/kdegames/konquest.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kpat.nix b/pkgs/desktops/kde-4.12/kdegames/kpat.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kpat.nix rename to pkgs/desktops/kde-4.12/kdegames/kpat.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kreversi.nix b/pkgs/desktops/kde-4.12/kdegames/kreversi.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kreversi.nix rename to pkgs/desktops/kde-4.12/kdegames/kreversi.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kshisen.nix b/pkgs/desktops/kde-4.12/kdegames/kshisen.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kshisen.nix rename to pkgs/desktops/kde-4.12/kdegames/kshisen.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/ksirk.nix b/pkgs/desktops/kde-4.12/kdegames/ksirk.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/ksirk.nix rename to pkgs/desktops/kde-4.12/kdegames/ksirk.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix rename to pkgs/desktops/kde-4.12/kdegames/ksnakeduel.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix rename to pkgs/desktops/kde-4.12/kdegames/kspaceduel.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/ksquares.nix b/pkgs/desktops/kde-4.12/kdegames/ksquares.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/ksquares.nix rename to pkgs/desktops/kde-4.12/kdegames/ksquares.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.12/kdegames/ksudoku.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/ksudoku.nix rename to pkgs/desktops/kde-4.12/kdegames/ksudoku.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.12/kdegames/ktuberling.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/ktuberling.nix rename to pkgs/desktops/kde-4.12/kdegames/ktuberling.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/kubrick.nix b/pkgs/desktops/kde-4.12/kdegames/kubrick.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/kubrick.nix rename to pkgs/desktops/kde-4.12/kdegames/kubrick.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.12/kdegames/libkdegames.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/libkdegames.nix rename to pkgs/desktops/kde-4.12/kdegames/libkdegames.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix rename to pkgs/desktops/kde-4.12/kdegames/libkmahjongg.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/lskat.nix b/pkgs/desktops/kde-4.12/kdegames/lskat.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/lskat.nix rename to pkgs/desktops/kde-4.12/kdegames/lskat.nix diff --git a/pkgs/desktops/kde-4.10/kdegames/palapeli.nix b/pkgs/desktops/kde-4.12/kdegames/palapeli.nix similarity index 84% rename from pkgs/desktops/kde-4.10/kdegames/palapeli.nix rename to pkgs/desktops/kde-4.12/kdegames/palapeli.nix index 555ffe43c451..010dbd5d6232 100644 --- a/pkgs/desktops/kde-4.10/kdegames/palapeli.nix +++ b/pkgs/desktops/kde-4.12/kdegames/palapeli.nix @@ -1,7 +1,10 @@ { kde, kdelibs, libkdegames }: kde { -#todo:package qvoronoi + +# TODO: package qvoronoi + buildInputs = [ kdelibs libkdegames ]; + meta = { description = "a single-player jigsaw puzzle game"; }; diff --git a/pkgs/desktops/kde-4.10/kdegames/picmi.nix b/pkgs/desktops/kde-4.12/kdegames/picmi.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegames/picmi.nix rename to pkgs/desktops/kde-4.12/kdegames/picmi.nix diff --git a/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix new file mode 100644 index 000000000000..b6fd701ac129 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdegraphics/gwenview.nix @@ -0,0 +1,15 @@ +{ kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core +, libjpeg, pkgconfig, kactivities, lcms2 }: + +kde { + + buildInputs = + [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "Gwenview, the KDE image viewer"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.12/kdegraphics/kamera.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kamera.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kamera.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kcolorchooser.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-mobipocket.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-strigi-analyzer.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix similarity index 64% rename from pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix index 55bf8309b2a9..18c6534eb5c9 100644 --- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix +++ b/pkgs/desktops/kde-4.12/kdegraphics/kdegraphics-thumbnailers.nix @@ -1,8 +1,11 @@ -{ kde, kdelibs, libkexiv2, libkdcraw }: +{ kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }: kde { + buildInputs = [ kdelibs libkexiv2 libkdcraw ]; + nativeBuildInputs = [ pkgconfig ]; + meta = { description = "Thumbnailers for various graphics file formats"; license = "GPLv2"; diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kgamma.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kgamma.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kolourpaint.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.12/kdegraphics/kruler.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/kruler.nix rename to pkgs/desktops/kde-4.12/kdegraphics/kruler.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix rename to pkgs/desktops/kde-4.12/kdegraphics/ksaneplugin.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix rename to pkgs/desktops/kde-4.12/kdegraphics/ksnapshot.nix diff --git a/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix new file mode 100644 index 000000000000..e7c01f98a8c8 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdegraphics/libkdcraw.nix @@ -0,0 +1,13 @@ +{ kde, kdelibs, pkgconfig, libraw, lcms2 }: + +kde { + + buildInputs = [ kdelibs libraw lcms2 ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "Library for decoding RAW images"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix rename to pkgs/desktops/kde-4.12/kdegraphics/libkexiv2.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix rename to pkgs/desktops/kde-4.12/kdegraphics/libkipi.nix diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.12/kdegraphics/libksane.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/libksane.nix rename to pkgs/desktops/kde-4.12/kdegraphics/libksane.nix diff --git a/pkgs/desktops/kde-4.12/kdegraphics/okular.nix b/pkgs/desktops/kde-4.12/kdegraphics/okular.nix new file mode 100644 index 000000000000..aca1691eace6 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdegraphics/okular.nix @@ -0,0 +1,17 @@ +{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2 +, qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }: + +kde { + +# TODO: package activeapp, qmobipocket + + buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4 + qca2 qimageblitz libtiff kactivities libkexiv2 ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "Okular, the KDE document viewer"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix rename to pkgs/desktops/kde-4.12/kdegraphics/svgpart.nix diff --git a/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix similarity index 57% rename from pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix rename to pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix index 4386317309fd..396adf9ba752 100644 --- a/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix +++ b/pkgs/desktops/kde-4.12/kdelibs/kdelibs.nix @@ -1,22 +1,26 @@ { kde, gcc, cmake, perl -, qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper -, openexr, avahi, kerberos, attr, shared_desktop_ontologies, libXScrnSaver -, automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee -, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1 -, getopt, udev, herqq, phonon, libjpeg, xz, ilmbase +, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi +, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver +, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee +, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst +, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt , pkgconfig }: kde { + +# TODO: media-player-info + buildInputs = - [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq jasper - libdbusmenu_qt libXScrnSaver libxslt polkit_qt_1 qca2 + [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq + libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt shared_desktop_ontologies xz udev libjpeg kerberos openexr + libXtst attr ]; NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; - propagatedBuildInputs = [ qt4 soprano strigi phonon ]; + propagatedBuildInputs = [ qt4 soprano phonon strigi ]; propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ]; @@ -26,15 +30,14 @@ kde { patches = [ ../files/polkit-install.patch ]; - # cmake fails to find acl.h because of C++-style comment - cmakeFlags = [ "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook" "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook" "-DHUPNP_ENABLED=ON" + "-DWITH_SOLID_UDISKS2=ON" ]; - passthru.wantsUdisks2 = false; + passthru.wantsUdisks2 = true; meta = { description = "KDE libraries"; diff --git a/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix new file mode 100644 index 000000000000..7e29eebf3b79 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-core.nix @@ -0,0 +1,20 @@ +{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4 +, pkgconfig, doxygen, ebook_tools +}: + +kde { + +# TODO: qmobipocket + + buildInputs = [ + kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg + popplerQt4 ebook_tools + ]; + + nativeBuildInputs = [ pkgconfig doxygen ]; + + meta = { + description = "NEPOMUK core"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix rename to pkgs/desktops/kde-4.12/kdelibs/nepomuk-widgets.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/audiocd-kio.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/dragon.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/ffmpegthumbs.nix diff --git a/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix new file mode 100644 index 000000000000..5d7b1db224ea --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdemultimedia/juk.nix @@ -0,0 +1,10 @@ +{ kde, kdelibs, taglib, libtunepimp }: +kde { + +# TODO: opusfile + + buildInputs = [ kdelibs taglib libtunepimp ]; + meta = { + description = "an audio jukebox application"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/kmix.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/kscd.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/libkcddb.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/libkcompactdisc.nix diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix rename to pkgs/desktops/kde-4.12/kdemultimedia/mplayerthumbs.nix diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix new file mode 100644 index 000000000000..0330511a258b --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-filesharing.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "KDE properties dialog plugin to share a directory with the local network"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix new file mode 100644 index 000000000000..e838d84fc5eb --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kdenetwork-strigi-analyzers.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs, boost }: + +kde { + buildInputs = [ kdelibs boost ]; + + meta = { + description = "Strigi analyzers for various network protocols"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix new file mode 100644 index 000000000000..f65960cc337b --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "KDE tool that monitors the network for DNS-SD services"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kget.nix b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix new file mode 100644 index 000000000000..f986da2de214 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kget.nix @@ -0,0 +1,20 @@ +{ kde, kdelibs, libktorrent, kde_workspace, sqlite, boost +, kde_baseapps, libmms, qca2, nepomuk_core, nepomuk_widgets +, pkgconfig }: + +kde { + +# TODO: QGpgME + + buildInputs = + [ kdelibs libktorrent nepomuk_core nepomuk_widgets sqlite qca2 + libmms kde_baseapps kde_workspace boost ]; + + nativeBuildInputs = [ pkgconfig ]; + + KDEDIRS = libktorrent; + + meta = { + description = "KDE download manager"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix new file mode 100644 index 000000000000..7d8aec21ce6c --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kopete.nix @@ -0,0 +1,26 @@ +{ kde, kdelibs, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent, + jasper, libidn, mediastreamer, pkgconfig, libxslt, giflib, + libgadu, boost, qca2, sqlite, jsoncpp, + ortp, srtp, libv4l }: + +kde { + +# TODO: libmeanwhile, xmms, jsoncpp(not found), kleopatra(from kdepim but doesn't install headers?), + + buildInputs = [ + kdelibs qca2 mediastreamer libgadu jsoncpp + kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib + libidn libxslt boost + ortp srtp libv4l + ]; + + nativeBuildInputs = [ pkgconfig ]; + + KDEDIRS = libktorrent; + + cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ]; + + meta = { + description = "A KDE multi-protocol IM client"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix new file mode 100644 index 000000000000..4c6bd65769f7 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/kppp.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "PPP(Dial-Up) client tool"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix new file mode 100644 index 000000000000..80557e827fe0 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/krdc.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }: + +kde { + buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ]; + + meta = { + description = "KDE remote desktop client"; + }; +} diff --git a/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix new file mode 100644 index 000000000000..cb4857965a34 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdenetwork/krfb.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg, telepathy_qt }: + +kde { + buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg telepathy_qt ]; + + meta = { + description = "KDE desktop sharing"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdepim-runtime.nix b/pkgs/desktops/kde-4.12/kdepim-runtime.nix similarity index 55% rename from pkgs/desktops/kde-4.10/kdepim-runtime.nix rename to pkgs/desktops/kde-4.12/kdepim-runtime.nix index 8fdd9fc8fa17..d92e22548206 100644 --- a/pkgs/desktops/kde-4.10/kdepim-runtime.nix +++ b/pkgs/desktops/kde-4.12/kdepim-runtime.nix @@ -1,12 +1,14 @@ -{ kde, fetchurl, cmake, kdelibs, libxslt, boost, kdepimlibs, akonadi -, shared_desktop_ontologies }: +{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }: kde { + +# TODO: libkgapi(2), LibKFbAPI,libkolab, libkolabxml + buildInputs = [ kdepimlibs akonadi boost shared_desktop_ontologies libxslt ]; -#todo: libkgapi, libkolab, libkolabxml + meta = { description = "KDE PIM runtime"; license = "GPL"; diff --git a/pkgs/desktops/kde-4.10/kdepim.nix b/pkgs/desktops/kde-4.12/kdepim.nix similarity index 63% rename from pkgs/desktops/kde-4.10/kdepim.nix rename to pkgs/desktops/kde-4.12/kdepim.nix index dca60d3d4b64..4f364648d238 100644 --- a/pkgs/desktops/kde-4.10/kdepim.nix +++ b/pkgs/desktops/kde-4.12/kdepim.nix @@ -1,14 +1,20 @@ { kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime , akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison -, nepomuk_widgets, dblatex }: +, nepomuk_widgets, kactivities, libXScrnSaver, qjson +, pkgconfig }: kde { +# TODO: LinkGrammar + buildInputs = - [ kdepimlibs boost akonadi shared_desktop_ontologies nepomuk_widgets - libxslt cyrus_sasl gpgme libassuan grantlee prison dblatex + [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets + libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities + libXScrnSaver qjson ]; + nativeBuildInputs = [ pkgconfig ]; + passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ]; meta = { diff --git a/pkgs/desktops/kde-4.10/kdepimlibs.nix b/pkgs/desktops/kde-4.12/kdepimlibs.nix similarity index 63% rename from pkgs/desktops/kde-4.10/kdepimlibs.nix rename to pkgs/desktops/kde-4.12/kdepimlibs.nix index 7ec1612b1e5f..ca0af9400b11 100644 --- a/pkgs/desktops/kde-4.10/kdepimlibs.nix +++ b/pkgs/desktops/kde-4.12/kdepimlibs.nix @@ -1,12 +1,12 @@ -{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info -, kdelibs, akonadi, libxslt, prison, nepomuk_core +{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, prison +, kdelibs, akonadi, libxslt, nepomuk_core , shared_desktop_ontologies, qjson }: kde { nativeBuildInputs = [ pkgconfig ]; buildInputs = - [ boost gpgme libical libxslt qjson + [ boost gpgme libical libxslt qjson prison openldap cyrus_sasl akonadi shared_desktop_ontologies ]; diff --git a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix similarity index 65% rename from pkgs/desktops/kde-4.10/kdeplasma-addons.nix rename to pkgs/desktops/kde-4.12/kdeplasma-addons.nix index 2bd6f5037db8..550099830d91 100644 --- a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix +++ b/pkgs/desktops/kde-4.12/kdeplasma-addons.nix @@ -1,17 +1,18 @@ { kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig -, boost, eigen, kde_workspace, attica, python, qca2, qimageblitz +, boost, eigen, kde_workspace, attica, qca2, qimageblitz , kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt , qjson, qoauth }: -# TODO: qwt, scim, ibus kde { +# TODO: qwt, scim, ibus + KDEDIRS=marble; buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth - eigen qca2 libXtst qimageblitz - libqalculate shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt -]; + eigen qca2 libXtst qimageblitz libqalculate + shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt + ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.12/kdesdk/cervisia.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/cervisia.nix rename to pkgs/desktops/kde-4.12/kdesdk/cervisia.nix diff --git a/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix new file mode 100644 index 000000000000..ad8132a850e5 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdesdk/dolphin-plugins.nix @@ -0,0 +1,11 @@ +{ kde, kdelibs, kde_baseapps }: + +kde { + + # Needs kdebase for libkonq + buildInputs = [ kdelibs kde_baseapps ]; + + meta = { + description = "Svn, mercurial, git and bazaar plugins for dolphin"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix rename to pkgs/desktops/kde-4.12/kdesdk/kapptemplate.nix diff --git a/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix rename to pkgs/desktops/kde-4.12/kdesdk/kcachegrind.nix diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix rename to pkgs/desktops/kde-4.12/kdesdk/kde-dev-scripts.nix diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix similarity index 70% rename from pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix rename to pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix index 85b6ea6ac00f..215c0a3c613a 100644 --- a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix +++ b/pkgs/desktops/kde-4.12/kdesdk/kde-dev-utils.nix @@ -1,7 +1,7 @@ -{ kde, kdelibs, gcc }: +{ kde, kdelibs, gcc, libtool }: kde { - buildInputs = [ kdelibs ]; + buildInputs = [ kdelibs libtool ]; preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}"; diff --git a/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix new file mode 100644 index 000000000000..98bbce35a97c --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-kioslaves.nix @@ -0,0 +1,12 @@ +{ kde, kdelibs, subversionClient, apr, aprutil,perl }: + +kde { + + buildInputs = [ kdelibs subversionClient apr aprutil perl ]; + + cmakeFlags = [ "-DBUILD_perldoc=ON" ]; + + meta = { + description = "Subversion and perldoc kioslaves"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix rename to pkgs/desktops/kde-4.12/kdesdk/kdesdk-strigi-analyzers.nix diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix similarity index 71% rename from pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix rename to pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix index f96b0df2b955..d707fe9038fe 100644 --- a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix +++ b/pkgs/desktops/kde-4.12/kdesdk/kdesdk-thumbnailers.nix @@ -4,8 +4,6 @@ kde { buildInputs = [ kdelibs gettext ]; - patches = [ ./thumbnailers-add-subdirectory.patch ]; - meta = { description = "PO file format thumbnailer"; }; diff --git a/pkgs/desktops/kde-4.10/kdesdk/kompare.nix b/pkgs/desktops/kde-4.12/kdesdk/kompare.nix similarity index 61% rename from pkgs/desktops/kde-4.10/kdesdk/kompare.nix rename to pkgs/desktops/kde-4.12/kdesdk/kompare.nix index 1ddb4b8ea5b9..644c7c48dc97 100644 --- a/pkgs/desktops/kde-4.10/kdesdk/kompare.nix +++ b/pkgs/desktops/kde-4.12/kdesdk/kompare.nix @@ -1,7 +1,7 @@ -{ kde, kdelibs }: +{ kde, kdelibs, libkomparediff2 }: kde { - buildInputs = [ kdelibs ]; + buildInputs = [ kdelibs libkomparediff2 ]; meta = { description = "A program to view the differences between files and optionally generate a diff"; diff --git a/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix new file mode 100644 index 000000000000..5933682c70a0 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdesdk/libkomparediff2.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs }: + +kde { + buildInputs = [ kdelibs ]; + + meta = { + description = "A library to compare files and strings"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.12/kdesdk/lokalize.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/lokalize.nix rename to pkgs/desktops/kde-4.12/kdesdk/lokalize.nix diff --git a/pkgs/desktops/kde-4.10/kdesdk/okteta.nix b/pkgs/desktops/kde-4.12/kdesdk/okteta.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/okteta.nix rename to pkgs/desktops/kde-4.12/kdesdk/okteta.nix diff --git a/pkgs/desktops/kde-4.12/kdesdk/poxml.nix b/pkgs/desktops/kde-4.12/kdesdk/poxml.nix new file mode 100644 index 000000000000..6e46c3e3ab4f --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdesdk/poxml.nix @@ -0,0 +1,9 @@ +{ kde, kdelibs, antlr, gettext }: + +kde { + buildInputs = [ kdelibs antlr gettext ]; + + meta = { + description = "Po<->xml tools"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.12/kdesdk/umbrello.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdesdk/umbrello.nix rename to pkgs/desktops/kde-4.12/kdesdk/umbrello.nix diff --git a/pkgs/desktops/kde-4.10/kdetoys/amor.nix b/pkgs/desktops/kde-4.12/kdetoys/amor.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdetoys/amor.nix rename to pkgs/desktops/kde-4.12/kdetoys/amor.nix diff --git a/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.12/kdetoys/kteatime.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdetoys/kteatime.nix rename to pkgs/desktops/kde-4.12/kdetoys/kteatime.nix diff --git a/pkgs/desktops/kde-4.10/kdetoys/ktux.nix b/pkgs/desktops/kde-4.12/kdetoys/ktux.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdetoys/ktux.nix rename to pkgs/desktops/kde-4.12/kdetoys/ktux.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/ark.nix b/pkgs/desktops/kde-4.12/kdeutils/ark.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/ark.nix rename to pkgs/desktops/kde-4.12/kdeutils/ark.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/filelight.nix b/pkgs/desktops/kde-4.12/kdeutils/filelight.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/filelight.nix rename to pkgs/desktops/kde-4.12/kdeutils/filelight.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.12/kdeutils/kcalc.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kcalc.nix rename to pkgs/desktops/kde-4.12/kdeutils/kcalc.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix rename to pkgs/desktops/kde-4.12/kdeutils/kcharselect.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix b/pkgs/desktops/kde-4.12/kdeutils/kdf.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kdf.nix rename to pkgs/desktops/kde-4.12/kdeutils/kdf.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix rename to pkgs/desktops/kde-4.12/kdeutils/kfloppy.nix diff --git a/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix new file mode 100644 index 000000000000..3ff1a286ae58 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kdeutils/kgpg.nix @@ -0,0 +1,10 @@ +{ kde, kdelibs, kdepimlibs, boost }: + +kde { + + buildInputs = [ kdelibs kdepimlibs boost ]; + + meta = { + description = "Simple KDE GUI for GPG"; + }; +} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix rename to pkgs/desktops/kde-4.12/kdeutils/kremotecontrol.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.12/kdeutils/ktimer.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/ktimer.nix rename to pkgs/desktops/kde-4.12/kdeutils/ktimer.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.12/kdeutils/kwallet.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kwallet.nix rename to pkgs/desktops/kde-4.12/kdeutils/kwallet.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix similarity index 76% rename from pkgs/desktops/kde-4.10/kdeutils/print-manager.nix rename to pkgs/desktops/kde-4.12/kdeutils/print-manager.nix index 99feaf3e4f99..ae72becd1e49 100644 --- a/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix +++ b/pkgs/desktops/kde-4.12/kdeutils/print-manager.nix @@ -1,6 +1,5 @@ { kde, kdelibs -, pythonPackages, cups, sip, pyqt4, pykde4, pycups, rhpl, system_config_printer -, pythonDBus, makeWrapper }: +, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }: let s_c_p = system_config_printer.override { withGUI = false; }; in @@ -16,7 +15,7 @@ kde rec { '' wrapPythonPrograms - # ‘system-config-printer’ supplies some D-Bus policy that we need. + # "system-config-printer" supplies some D-Bus policy that we need. mkdir -p $out/nix-support echo ${s_c_p} > $out/nix-support/propagated-user-env-packages ''; diff --git a/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix rename to pkgs/desktops/kde-4.12/kdeutils/superkaramba.nix diff --git a/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.12/kdeutils/sweeper.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/sweeper.nix rename to pkgs/desktops/kde-4.12/kdeutils/sweeper.nix diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix rename to pkgs/desktops/kde-4.12/kdewebdev/kfilereplace.nix diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix rename to pkgs/desktops/kde-4.12/kdewebdev/kimagemapeditor.nix diff --git a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix similarity index 53% rename from pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix rename to pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix index 21971beb80a0..918512e2b2de 100644 --- a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix +++ b/pkgs/desktops/kde-4.12/kdewebdev/klinkstatus.nix @@ -1,9 +1,10 @@ { kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }: kde { -#todo: ruby is not found. needed for some example scripts - buildInputs = - [ kdelibs kdepimlibs htmlTidy boost ]; + +# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old + + buildInputs = [ kdelibs kdepimlibs htmlTidy boost ]; meta = { description = "A KDE link checker"; diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.12/kdewebdev/kommander.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdewebdev/kommander.nix rename to pkgs/desktops/kde-4.12/kdewebdev/kommander.nix diff --git a/pkgs/desktops/kde-4.10/l10n/default.nix b/pkgs/desktops/kde-4.12/l10n/default.nix similarity index 92% rename from pkgs/desktops/kde-4.10/l10n/default.nix rename to pkgs/desktops/kde-4.12/l10n/default.nix index c9fab80bffb4..fa6406043b1b 100644 --- a/pkgs/desktops/kde-4.10/l10n/default.nix +++ b/pkgs/desktops/kde-4.12/l10n/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, kdelibs, gettext, release, stable }: +{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }: let @@ -22,6 +22,7 @@ let meta = { description = "KDE translation for ${lang}"; + inherit branch; license = "GPL"; platforms = stdenv.lib.platforms.linux; inherit (kdelibs.meta) maintainers homepage; diff --git a/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh similarity index 100% rename from pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh rename to pkgs/desktops/kde-4.12/l10n/l10n-manifest.sh diff --git a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.2.nix b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.2.nix new file mode 100644 index 000000000000..9040e7006fb7 --- /dev/null +++ b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.2.nix @@ -0,0 +1,262 @@ +[ +{ + lang = "ar"; + saneName = "ar"; + sha256 = "1y740kbf2dl9mvfnd7lsxc8vzxz4a7i0xxsmq78dmclid6ard3pk"; +} +{ + lang = "bg"; + saneName = "bg"; + sha256 = "1gdyplprirglmkiwxy5kv9p7zjzb4vx7za7hvs0swmi7whlx6ff2"; +} +{ + lang = "bs"; + saneName = "bs"; + sha256 = "115prvyvg5pg8ya901iwrphxih5nbrimq3awmnr4fylwvjghcxxx"; +} +{ + lang = "ca"; + saneName = "ca"; + sha256 = "0chf5kay9k810hqih18ya2dj8xzhdqqn6bj28r1gf1dwz0f8h4jb"; +} +{ + lang = "ca@valencia"; + saneName = "ca_valencia"; + sha256 = "0svgfginqjpspz556z3vsn3ldcp32fv0q4jjc8mllc9fq45331h5"; +} +{ + lang = "cs"; + saneName = "cs"; + sha256 = "0bs5pmrvgn59ff6s7a6j17xc4gjwbydklbcinfz22mjni1kl2blc"; +} +{ + lang = "da"; + saneName = "da"; + sha256 = "0z3nj26ajixvjm072ii86idd3xfflzraf7fgqyra89lzz47ahiar"; +} +{ + lang = "de"; + saneName = "de"; + sha256 = "0q7ilziqbrqs4khj91smqr88h1g8n662f1y2zh3nlm096x3gvz1n"; +} +{ + lang = "el"; + saneName = "el"; + sha256 = "0xgyi75985dz32f4q99vkfhhpx6186zknjl63xnca2603jxqcr4n"; +} +{ + lang = "en_GB"; + saneName = "en_GB"; + sha256 = "0bxg4hsixz35b2waxc5hpd4dqk5bny5j9szb8i1prdqsdhcgaqas"; +} +{ + lang = "es"; + saneName = "es"; + sha256 = "1qjipllcdc6an5vnza5bnyxaznbc9igvazrkxh9j0vpdv3g1fdgq"; +} +{ + lang = "et"; + saneName = "et"; + sha256 = "13gdhidd6qw60fdgbp73wbbb8n93maj7xf94p75mi1dzbd5i8xh8"; +} +{ + lang = "eu"; + saneName = "eu"; + sha256 = "0sbnbn6vpd66k3bb9k09vslxwqz1nb9rvaqiii8q1dkgx32fy5k6"; +} +{ + lang = "fi"; + saneName = "fi"; + sha256 = "021ylfbsvig3dq87z8f0n1hm589a2a0qymv5pkc0p43rf7bcp23n"; +} +{ + lang = "fr"; + saneName = "fr"; + sha256 = "1g175xmyphc60fi73bslnysn8sys1w65p8qhj7r52pb0ynvmg02r"; +} +{ + lang = "ga"; + saneName = "ga"; + sha256 = "13h7m9hq8rc1q1pl91253qvl69cda69lqkl4axass2l23ksfm9jr"; +} +{ + lang = "gl"; + saneName = "gl"; + sha256 = "0m6691cl3n63qznx8vb7z70yz57ll676pvplfwpvcd2nq3kc7863"; +} +{ + lang = "he"; + saneName = "he"; + sha256 = "1rxb03cdcz2cqiwwvwmilhcw36dq1b3dh1jhbjd22rkkxi6m6pl6"; +} +{ + lang = "hi"; + saneName = "hi"; + sha256 = "0ckdfqk49xqlr4pjl0kqcwg6c65lzv2hwvw83qyicaw5h8ga7rwk"; +} +{ + lang = "hr"; + saneName = "hr"; + sha256 = "1gc1ah58y5psd7v66qj1bl1yd47g36wnsdwnhz3m7hjrj87k1g7z"; +} +{ + lang = "hu"; + saneName = "hu"; + sha256 = "0kw87f4xv6zfa7xfhlpqv1fxdv8szzhb6vkmcih069h0q5s9sfxq"; +} +{ + lang = "ia"; + saneName = "ia"; + sha256 = "1izhms762vyw9ddik11dg7yg7mw3684ywp4m1648sc0jiq33p5vx"; +} +{ + lang = "is"; + saneName = "is"; + sha256 = "12r9sv7p56ilan6s1cy30pdl60sx4pn4cic8xx3wyj97i44wwq8c"; +} +{ + lang = "it"; + saneName = "it"; + sha256 = "1jy0j92426ldlnhmfh76amgaxvrkpj97a75whi49a4ki79m9z4kk"; +} +{ + lang = "ja"; + saneName = "ja"; + sha256 = "0kh3vjdvb8jhdgq3r1lg7z6vvi1qlpgmnmm64w5mqv28fg4ycrzi"; +} +{ + lang = "kk"; + saneName = "kk"; + sha256 = "0cg1ffkh3r8h0fc0fl5qljc7y0y20ynvgp5j2mhzqnxihmdfskr9"; +} +{ + lang = "km"; + saneName = "km"; + sha256 = "1rzi4wcl9dhn10k3x3j69dmc6x44kwvfh5sx1fpgrdxd08h5ga9a"; +} +{ + lang = "ko"; + saneName = "ko"; + sha256 = "1dqdk94djpy46w3jskm85k4v0gr58p2vmm3swlp4xf0fzk32x0hh"; +} +{ + lang = "lt"; + saneName = "lt"; + sha256 = "0cjcj49m8c1ldr9zv8qbk9sni66vnlk640yyv765xqppccd4gg1y"; +} +{ + lang = "lv"; + saneName = "lv"; + sha256 = "1x3a609pbvrna5zbycmk45q4fx9ycqf514yr7wygh4prl49ah5fs"; +} +{ + lang = "mr"; + saneName = "mr"; + sha256 = "1n7nr438kc2g1hdbj2ysp24yybilcjzqan39571d6n7w6qpw6b5x"; +} +{ + lang = "nb"; + saneName = "nb"; + sha256 = "0hx59fv30bgfcmqaf9xiakcvl4x4ji7imlmnyfyk4h8dvf0hj7vw"; +} +{ + lang = "nds"; + saneName = "nds"; + sha256 = "1zs25srv7z8c6hcavcq0552iykz7psw3lr77zzjzwj6y734zsjir"; +} +{ + lang = "nl"; + saneName = "nl"; + sha256 = "105km17vk03g06kdxyi487dswd3bgq0l814wqcjd6kfdgzdi3q8n"; +} +{ + lang = "nn"; + saneName = "nn"; + sha256 = "08vb5vbmvsp7chanvmmh336lh583p5xyb71ifhin4l0zkbpcv0r7"; +} +{ + lang = "pa"; + saneName = "pa"; + sha256 = "1dhsn84ai9brdy60m3r7wk91liw2wp0vhq57jqb03dgv4nzgfshd"; +} +{ + lang = "pl"; + saneName = "pl"; + sha256 = "14jhhs5mxll2102aq1019sizjggyiiqb3wdi7hnljycry22qkim6"; +} +{ + lang = "pt"; + saneName = "pt"; + sha256 = "0bs6rjqqk4vzw06w2hqdj04yan1fcrk9lpf4bag9imdxpy2380nr"; +} +{ + lang = "pt_BR"; + saneName = "pt_BR"; + sha256 = "120ccxca131r1h48vycd5jd9644yqw1ad3nsy7g6i9vqga4ibpn4"; +} +{ + lang = "ro"; + saneName = "ro"; + sha256 = "0p1scqncdrm1njlqq5npkizrvypd37xf2wzg4jyfvl8ycbv2ssx0"; +} +{ + lang = "ru"; + saneName = "ru"; + sha256 = "0k1ldvcls8shga6faym6hkknj5dk8aivq50ikakj9mkj2spp09wr"; +} +{ + lang = "sk"; + saneName = "sk"; + sha256 = "1lxpb0szs4fmsgvl482sq93g7pmlwbjdysdsd3xqq36vqz7y2ba8"; +} +{ + lang = "sl"; + saneName = "sl"; + sha256 = "0n25sll8nmidv43sq2rblpg99469hc73ykhp9zblzz4662f3fsip"; +} +{ + lang = "sr"; + saneName = "sr"; + sha256 = "1cca06ij41k3n3kyaajidkffmxng03y816xvqki250w7sz23nf3v"; +} +{ + lang = "sv"; + saneName = "sv"; + sha256 = "1jnm8931ik8vld625hn0h7x46m2v7vwmdjn4g302lkprdccp309m"; +} +{ + lang = "tr"; + saneName = "tr"; + sha256 = "04r5w6zyl6nl056c0a3rfg1qh1bkjlliin42dla6qsma9qmzhm8s"; +} +{ + lang = "ug"; + saneName = "ug"; + sha256 = "1s16lh7w6xrcv7g4gnqs959h369inmv6sdnf1zr3ijz17zd0zhpl"; +} +{ + lang = "uk"; + saneName = "uk"; + sha256 = "0600600v4r7skqw0lmj917a8rx3mnaiky3k0ckiz58z1zwbqg5fa"; +} +{ + lang = "vi"; + saneName = "vi"; + sha256 = "0vyfg21xkzk0jr20bsw1x7wmij78razynn8nll96dadfikbmz0hb"; +} +{ + lang = "wa"; + saneName = "wa"; + sha256 = "1iryrrs1jp340nkx05452gxm8yrri89qjz240n9inl9crbha35w6"; +} +{ + lang = "zh_CN"; + saneName = "zh_CN"; + sha256 = "0xjfrlfv56g2hhzifg5l19szi7vb9x5gxvnid3apwrfs9b2lgrb3"; +} +{ + lang = "zh_TW"; + saneName = "zh_TW"; + sha256 = "0jlv40v2lwlmd4qss55vwbx72wr2ld3pjx0pd13da5afr5n1dcf3"; +} +] diff --git a/pkgs/desktops/kde-4.10/oxygen-icons.nix b/pkgs/desktops/kde-4.12/oxygen-icons.nix similarity index 78% rename from pkgs/desktops/kde-4.10/oxygen-icons.nix rename to pkgs/desktops/kde-4.12/oxygen-icons.nix index adee87c83169..626948cb24d1 100644 --- a/pkgs/desktops/kde-4.10/oxygen-icons.nix +++ b/pkgs/desktops/kde-4.12/oxygen-icons.nix @@ -3,7 +3,7 @@ kde { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1aad2qb9zrjcild5s584q4zz6zc3wgkclv79gnfwkhmy0viqx9l6"; + outputHash = "0i28c8iz83ian5mnci66jlrdkwiw09j0vxgfs74mc4wgbj5xns2f"; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/desktops/kde-4.10/support/akonadi/default.nix b/pkgs/desktops/kde-4.12/support/akonadi/default.nix similarity index 75% rename from pkgs/desktops/kde-4.10/support/akonadi/default.nix rename to pkgs/desktops/kde-4.12/support/akonadi/default.nix index e1d8a5ef9ae7..d51996e3bc1e 100644 --- a/pkgs/desktops/kde-4.10/support/akonadi/default.nix +++ b/pkgs/desktops/kde-4.12/support/akonadi/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }: stdenv.mkDerivation rec { - name = "akonadi-1.9.2"; + name = "akonadi-1.11.0"; src = fetchurl { url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2"; - sha256 = "1ndzc7a1q1hqy4pn9xnihq6ni02zsqfdyy6z6lwn27bkb7pg64p7"; + sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc"; }; buildInputs = [ qt4 soprano libxslt boost sqlite ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "KDE PIM Storage Service"; license = "LGPL"; homepage = http://pim.kde.org/akonadi; - maintainers = [ maintainers.sander maintainers.urkud ]; + maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ]; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix index b54ea8cc623f..9badeb5370e8 100644 --- a/pkgs/desktops/xfce/applications/gigolo.nix +++ b/pkgs/desktops/xfce/applications/gigolo.nix @@ -3,20 +3,16 @@ stdenv.mkDerivation rec { p_name = "gigolo"; ver_maj = "0.4"; - ver_min = "1"; + ver_min = "2"; src = fetchurl { url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; + sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm"; }; name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ python gettext intltool gtk pkgconfig gvfs]; - preConfigure = '' - sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^"; - ''; - meta = { homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; description = "A frontend to easily manage connections to remote filesystems"; diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix index c1a4ecd787d8..598c50380928 100644 --- a/pkgs/desktops/xfce/applications/parole.nix +++ b/pkgs/desktops/xfce/applications/parole.nix @@ -18,21 +18,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool ]; buildInputs = [ - makeWrapper gst_all_1.gst-plugins-base + makeWrapper gtk dbus_glib libxfce4ui libxfce4util xfconf taglib libnotify - ]; + ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]); configureFlags = [ "--with-gstreamer=1.0" ]; postInstall = stdenv.lib.optionalString withGstPlugins '' wrapProgram "$out/bin/parole" --prefix \ - GST_PLUGIN_PATH ":" ${stdenv.lib.concatStringsSep ":" - (map (s: s+"/lib/gstreamer-1.0") (with gst_all_1; [ - gst-plugins-base gst-plugins-good - gst-plugins-bad gst-plugins-ugly - gst-libav - ])) } + GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; meta = { diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix index c8916bf502cb..6e0d9d3e7e71 100644 --- a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix +++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { homepage = http://goodies.xfce.org/projects/applications/xfce4-screenshooter; description = "Xfce screenshooter"; license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix index baef68728487..df743e4cc9c8 100644 --- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix +++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { p_name = "xfce4-taskmanager"; ver_maj = "1.0"; - ver_min = "0"; + ver_min = "1"; src = fetchurl { url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; + sha256 = "11pfiglfg3mzsmpiwva6l7dj44zsv76vyf0282pghwcrvnb2gapm"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix index a97a11c6f123..0a30d8ac48b5 100644 --- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix +++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk, gtk3 }: stdenv.mkDerivation rec { p_name = "gtk-xfce-engine"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { name = "${p_name}-${ver_maj}.${ver_min}"; #TODO: gtk3 - buildInputs = [ pkgconfig intltool gtk ]; + buildInputs = [ pkgconfig intltool gtk gtk3 ]; meta = { homepage = http://www.xfce.org/; diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix index 06902792624e..8988d072e2c8 100644 --- a/pkgs/desktops/xfce/core/tumbler.nix +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -4,11 +4,11 @@ libgsf, poppler, bzip2 }: stdenv.mkDerivation rec { p_name = "tumbler"; ver_maj = "0.1"; - ver_min = "29"; + ver_min = "30"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "14zw69x5979d19brjbyq81wvbikb13vgv901gxnbw8lyc3pc9fn3"; + sha256 = "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch b/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch new file mode 100644 index 000000000000..6b6f14fdae78 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-power-manager-brightness.patch @@ -0,0 +1,307 @@ +From 05d12e12596512f7a31d3cdb4845a69dc2d4c611 Mon Sep 17 00:00:00 2001 +From: Martin Matuska +Date: Tue, 23 Jul 2013 11:27:41 +0200 +Subject: Change brightness level from glong to gint32 + +The "Backlight" RandR property is a 32-bit integer. This means that the int32 (gint32) type should be used to represent brightness levels. The attached patch does nothing else than changing the brightness level representation from glong to gint32. This fixes the screen auto-dimming issue and brightness panel plugin issue. + +diff --git a/common/xfpm-brightness.c b/common/xfpm-brightness.c +index aa1ef33..f1524cb 100644 +--- a/common/xfpm-brightness.c ++++ b/common/xfpm-brightness.c +@@ -92,11 +92,11 @@ out: + } + + static gboolean +-xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, long *current) ++xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, gint32 *current) + { + unsigned long nitems; + unsigned long bytes_after; +- long *prop; ++ gint32 *prop; + Atom actual_type; + int actual_format; + gboolean ret = FALSE; +@@ -124,7 +124,7 @@ xfpm_brightness_xrandr_get_level (XfpmBrightness *brightness, RROutput output, l + } + + static gboolean +-xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, long level) ++xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, gint32 level) + { + gboolean ret = TRUE; + +@@ -137,7 +137,7 @@ xfpm_brightness_xrandr_set_level (XfpmBrightness *brightness, RROutput output, l + + if ( gdk_error_trap_pop () ) + { +- g_warning ("failed to XRRChangeOutputProperty for brightness %li", level); ++ g_warning ("failed to XRRChangeOutputProperty for brightness %d", level); + ret = FALSE; + } + +@@ -225,11 +225,11 @@ xfpm_brightness_setup_xrandr (XfpmBrightness *brightness) + } + + static gboolean +-xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_xrand_up (XfpmBrightness *brightness, gint32 *new_level) + { +- long hw_level; ++ gint32 hw_level; + gboolean ret = FALSE; +- long set_level; ++ gint32 set_level; + + ret = xfpm_brightness_xrandr_get_level (brightness, brightness->priv->output, &hw_level); + +@@ -250,14 +250,14 @@ xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) + + if ( !ret ) + { +- g_warning ("xfpm_brightness_xrand_up failed for %li", set_level); ++ g_warning ("xfpm_brightness_xrand_up failed for %d", set_level); + return FALSE; + } + + /* Nothing changed in the hardware*/ + if ( *new_level == hw_level ) + { +- g_warning ("xfpm_brightness_xrand_up did not change the hw level to %li", set_level); ++ g_warning ("xfpm_brightness_xrand_up did not change the hw level to %d", set_level); + return FALSE; + } + +@@ -265,11 +265,11 @@ xfpm_brightness_xrand_up (XfpmBrightness *brightness, glong *new_level) + } + + static gboolean +-xfpm_brightness_xrand_down (XfpmBrightness *brightness, long *new_level) ++xfpm_brightness_xrand_down (XfpmBrightness *brightness, gint32 *new_level) + { +- long hw_level; ++ gint32 hw_level; + gboolean ret; +- long set_level; ++ gint32 set_level; + + ret = xfpm_brightness_xrandr_get_level (brightness, brightness->priv->output, &hw_level); + +@@ -290,14 +290,14 @@ xfpm_brightness_xrand_down (XfpmBrightness *brightness, long *new_level) + + if ( !ret ) + { +- g_warning ("xfpm_brightness_xrand_down failed for %li", set_level); ++ g_warning ("xfpm_brightness_xrand_down failed for %d", set_level); + return FALSE; + } + + /* Nothing changed in the hardware*/ + if ( *new_level == hw_level ) + { +- g_warning ("xfpm_brightness_xrand_down did not change the hw level to %li", set_level); ++ g_warning ("xfpm_brightness_xrand_down did not change the hw level to %d", set_level); + return FALSE; + } + +@@ -361,7 +361,7 @@ xfpm_brightness_setup_helper (XfpmBrightness *brightness) + } + + static gboolean +-xfpm_brightness_helper_get_level (XfpmBrightness *brg, glong *level) ++xfpm_brightness_helper_get_level (XfpmBrightness *brg, gint32 *level) + { + int ret; + +@@ -406,11 +406,11 @@ out: + } + + static gboolean +-xfpm_brightness_helper_up (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_helper_up (XfpmBrightness *brightness, gint32 *new_level) + { +- glong hw_level; ++ gint32 hw_level; + gboolean ret = FALSE; +- gint set_level; ++ gint32 set_level; + + ret = xfpm_brightness_helper_get_level (brightness, &hw_level); + +@@ -446,11 +446,11 @@ xfpm_brightness_helper_up (XfpmBrightness *brightness, glong *new_level) + } + + static gboolean +-xfpm_brightness_helper_down (XfpmBrightness *brightness, glong *new_level) ++xfpm_brightness_helper_down (XfpmBrightness *brightness, gint32 *new_level) + { +- glong hw_level; ++ gint32 hw_level; + gboolean ret; +- gint set_level; ++ gint32 set_level; + + ret = xfpm_brightness_helper_get_level (brightness, &hw_level); + +@@ -572,7 +572,7 @@ xfpm_brightness_setup (XfpmBrightness *brightness) + return FALSE; + } + +-gboolean xfpm_brightness_up (XfpmBrightness *brightness, glong *new_level) ++gboolean xfpm_brightness_up (XfpmBrightness *brightness, gint32 *new_level) + { + gboolean ret = FALSE; + +@@ -589,7 +589,7 @@ gboolean xfpm_brightness_up (XfpmBrightness *brightness, glong *new_level) + return ret; + } + +-gboolean xfpm_brightness_down (XfpmBrightness *brightness, glong *new_level) ++gboolean xfpm_brightness_down (XfpmBrightness *brightness, gint32 *new_level) + { + gboolean ret = FALSE; + +@@ -618,7 +618,7 @@ gint xfpm_brightness_get_max_level (XfpmBrightness *brightness) + return brightness->priv->max_level; + } + +-gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, glong *level) ++gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, gint32 *level) + { + gboolean ret = FALSE; + +@@ -632,7 +632,7 @@ gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, glong *level) + return ret; + } + +-gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, glong level) ++gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, gint32 level) + { + gboolean ret = FALSE; + +diff --git a/common/xfpm-brightness.h b/common/xfpm-brightness.h +index 0c4e3ed..26b3dbe 100644 +--- a/common/xfpm-brightness.h ++++ b/common/xfpm-brightness.h +@@ -51,20 +51,20 @@ XfpmBrightness *xfpm_brightness_new (void); + gboolean xfpm_brightness_setup (XfpmBrightness *brightness); + + gboolean xfpm_brightness_up (XfpmBrightness *brightness, +- glong *new_level); ++ gint32 *new_level); + + gboolean xfpm_brightness_down (XfpmBrightness *brightness, +- glong *new_level); ++ gint32 *new_level); + + gboolean xfpm_brightness_has_hw (XfpmBrightness *brightness); + + gint xfpm_brightness_get_max_level (XfpmBrightness *brightness); + + gboolean xfpm_brightness_get_level (XfpmBrightness *brightness, +- glong *level); ++ gint32 *level); + + gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, +- glong level); ++ gint32 level); + + gboolean xfpm_brightness_dim_down (XfpmBrightness *brightness); + +diff --git a/panel-plugins/brightness/brightness-button.c b/panel-plugins/brightness/brightness-button.c +index 6e60c29..bd466c9 100644 +--- a/panel-plugins/brightness/brightness-button.c ++++ b/panel-plugins/brightness/brightness-button.c +@@ -186,7 +186,7 @@ static gboolean + brightness_button_popup_win (GtkWidget *widget, GdkEvent *ev, guint32 ev_time) + { + gint x, y; +- glong current_level = 0; ++ gint32 current_level = 0; + GdkDisplay *display; + GdkScreen *screen; + BrightnessButton *button; +@@ -342,7 +342,7 @@ plus_clicked (GtkWidget *widget, BrightnessButton *button) + static void + range_value_changed (GtkWidget *widget, BrightnessButton *button) + { +- glong range_level, hw_level; ++ gint32 range_level, hw_level; + + range_level = (gint) gtk_range_get_value (GTK_RANGE (button->priv->range)); + +@@ -428,8 +428,8 @@ brightness_button_create_popup (BrightnessButton *button) + static void + brightness_button_up (BrightnessButton *button) + { +- glong level; +- glong max_level; ++ gint32 level; ++ gint32 max_level; + + xfpm_brightness_get_level (button->priv->brightness, &level); + max_level = xfpm_brightness_get_max_level (button->priv->brightness); +@@ -443,7 +443,7 @@ brightness_button_up (BrightnessButton *button) + static void + brightness_button_down (BrightnessButton *button) + { +- glong level; ++ gint32 level; + xfpm_brightness_get_level (button->priv->brightness, &level); + + if ( level != 0 ) +diff --git a/src/xfpm-backlight.c b/src/xfpm-backlight.c +index baeeb43..45c990f 100644 +--- a/src/xfpm-backlight.c ++++ b/src/xfpm-backlight.c +@@ -63,8 +63,8 @@ struct XfpmBacklightPrivate + gboolean has_hw; + gboolean on_battery; + +- glong last_level; +- glong max_level; ++ gint32 last_level; ++ gint32 max_level; + + gboolean dimmed; + gboolean block; +@@ -79,7 +79,7 @@ xfpm_backlight_dim_brightness (XfpmBacklight *backlight) + + if (xfpm_power_get_mode (backlight->priv->power) == XFPM_POWER_MODE_NORMAL ) + { +- glong dim_level; ++ gint32 dim_level; + + g_object_get (G_OBJECT (backlight->priv->conf), + backlight->priv->on_battery ? BRIGHTNESS_LEVEL_ON_BATTERY : BRIGHTNESS_LEVEL_ON_AC, &dim_level, +@@ -101,7 +101,7 @@ xfpm_backlight_dim_brightness (XfpmBacklight *backlight) + **/ + if (backlight->priv->last_level > dim_level) + { +- XFPM_DEBUG ("Current brightness level before dimming : %li, new %li", backlight->priv->last_level, dim_level); ++ XFPM_DEBUG ("Current brightness level before dimming : %d, new %d", backlight->priv->last_level, dim_level); + backlight->priv->dimmed = xfpm_brightness_set_level (backlight->priv->brightness, dim_level); + } + } +@@ -182,7 +182,7 @@ xfpm_backlight_reset_cb (EggIdletime *idle, XfpmBacklight *backlight) + { + if ( !backlight->priv->block) + { +- XFPM_DEBUG ("Alarm reset, setting level to %li", backlight->priv->last_level); ++ XFPM_DEBUG ("Alarm reset, setting level to %d", backlight->priv->last_level); + xfpm_brightness_set_level (backlight->priv->brightness, backlight->priv->last_level); + } + backlight->priv->dimmed = FALSE; +@@ -192,7 +192,7 @@ xfpm_backlight_reset_cb (EggIdletime *idle, XfpmBacklight *backlight) + static void + xfpm_backlight_button_pressed_cb (XfpmButton *button, XfpmButtonKey type, XfpmBacklight *backlight) + { +- glong level; ++ gint32 level; + gboolean ret = TRUE; + + gboolean enable_brightness, show_popup; +-- +cgit v0.10.1 + diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix index 5f38308f6d42..7740af438d9c 100644 --- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -11,11 +11,6 @@ stdenv.mkDerivation rec { sha256 = "1sc4f4wci5yl3l9lk7vcsbwj6hdjshbxw9qm43s64jr882jriyyp"; }; - brightness_patch = fetchurl { - url = "http://git.xfce.org/xfce/xfce4-power-manager/patch/?id=05d12e12596512f7a31d3cdb4845a69dc2d4c611"; - sha256 = "0rbldvjwpj93hx59xrmvbdql1pgkbqzjh4vp6gkavn4z6sv535v8"; - }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = @@ -24,7 +19,7 @@ stdenv.mkDerivation rec { ]; preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - patches = [ brightness_patch ]; + patches = ./xfce4-power-manager-brightness.patch; meta = { homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix index 57d1bf74154e..ddf16bc2219e 100644 --- a/pkgs/development/compilers/aldor/default.nix +++ b/pkgs/development/compilers/aldor/default.nix @@ -2,12 +2,12 @@ , autoconf, automake, libtool, openjdk, perl }: stdenv.mkDerivation { - name = "aldor-1.1.0"; + name = "aldor-1.2.0"; src = fetchgit { url = "https://github.com/pippijn/aldor"; - sha256 = "14xv3jl15ib2knsdz0bd7jx64zg1qrr33q5zcr8gli860ps8gkg3"; - rev = "f7b95835cf709654744441ddb1c515bfc2bec998"; + sha256 = "1l9fc2cgwabifwbijcp293abc8hcv40nzx2w31jkxh8n0plbiczn"; + rev = "15471e75f3d65b93150f414ebcaf59a03054b68d"; }; buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool diff --git a/pkgs/development/compilers/ats/default.nix b/pkgs/development/compilers/ats/default.nix new file mode 100644 index 000000000000..a5ed478a879f --- /dev/null +++ b/pkgs/development/compilers/ats/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, gmp }: + +let version = "0.2.11"; in stdenv.mkDerivation { + name = "ats-anairiats-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/ats-lang/ats-lang-anairiats-${version}.tgz"; + sha256 = "0rqykyx5whichx85jr4l4c9fdan0qsdd4kwd7a81k3l07zbd9fc6"; + }; + # this is necessary because atxt files usually include some .hats files + patches = [ ./install-atsdoc-hats-files.patch ]; + + buildInputs = [ gmp ]; + + meta = { + description = "A statically typed programming language that unifies implementation with formal specification"; + homepage = http://www.ats-lang.org/; + license = stdenv.lib.licenses.gpl3Plus; + longDescription = + '' + ATS is a programming language with a highly expressive type system + rooted in the framework Applied Type System. In particular, both + dependent types and linear types are available in ATS. The current + implementation of ATS (ATS/Anairiats) is written in ATS itself. It can + be as efficient as C/C++ and supports a variety of programming + paradigms. + + In addition, ATS contains a component ATS/LF that supports a form of + (interactive) theorem proving, where proofs are constructed as total + functions. With this component, ATS advocates a programming style that + combines programming with theorem proving. Furthermore, this component + may be used as a logical framework to encode various deduction systems + and their (meta-)properties. + + This package contains the compiler atsopt, the frontend atscc, + and the lexer atslex. + ''; + }; + + platforms = stdenv.lib.platforms.all; +} diff --git a/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch b/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch new file mode 100644 index 000000000000..93c6fa07d8a6 --- /dev/null +++ b/pkgs/development/compilers/ats/install-atsdoc-hats-files.patch @@ -0,0 +1,38 @@ +--- ats-lang-anairiats-0.2.11/Makefile 2013-12-10 00:43:52.000000000 +0100 ++++ ats-lang-anairiats-0.2.11/Makefile 2014-03-02 07:49:06.985837425 +0100 +@@ -97,7 +97,7 @@ + cd $(abs_top_srcdir) + [ -d $(bindir2) ] || $(MKDIR_P) $(bindir2) + $(MKDIR_P) $(ATSLIBHOME2)/bin +- find ccomp contrib doc libats libc prelude -type d \ ++ find ccomp contrib doc libats libatsdoc libc prelude -type d \ + -exec $(MKDIR_P) $(ATSLIBHOME2)/\{} \; \ + -print + +@@ -105,7 +105,7 @@ + # + # recursively install all files in the list except .svn control files. + # +- for d in ccomp/runtime contrib doc libats libc prelude; do \ ++ for d in ccomp/runtime contrib doc libats libatsdoc libc prelude; do \ + cd $(abs_top_srcdir) && \ + $(INSTALL) -d $(ATSLIBHOME2)/"$$d" && \ + find "$$d" -name .svn -prune -o -type f \ +@@ -143,6 +143,17 @@ + $(INSTALL) -m 755 ats_env.sh $(bindir2)/"$$b" && \ + echo [ats_env.sh] is installed into $(bindir2)/"$$b"; \ + done ++# ++# install atsdoc headers ++# ++ for f in \ ++ utils/atsdoc/SATS/*.sats utils/atsdoc/DATS/*.dats utils/atsdoc/HATS/*.hats; \ ++ do \ ++ [ -f "$$f" ] || continue; \ ++ cd $(abs_top_srcdir) && \ ++ $(INSTALL) -m 644 -D "$$f" $(ATSLIBHOME2)/"$$f" && \ ++ echo "$$f"; \ ++ done + + install:: install_files + diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index 074fc4f334f6..c1c71b0dfe21 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gmp }: -let version = "0.0.3"; in stdenv.mkDerivation { +let version = "0.0.6"; in stdenv.mkDerivation { name = "ats2-postiats-${version}"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "0hq63zrmm92j5ffnsmylhhllm8kgjpjkaj4xvzz1zlshz39lijxp"; + sha256 = "110a4drzf656j9s5yfvxj1cwgh5g9ysnh40cv8y9qfjjkki8vd5b"; }; buildInputs = [ gmp ]; @@ -14,6 +14,7 @@ let version = "0.0.3"; in stdenv.mkDerivation { description = "A statically typed programming language that unifies implementation with formal specification"; homepage = http://www.ats-lang.org/; license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; + + platforms = stdenv.lib.platforms.all; } diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index f68f918d5850..af93cb13d37a 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { } else throw "cudatoolkit does not support platform ${stdenv.system}"; + outputs = [ "out" "sdk" ]; + buildInputs = [ perl ]; runtimeDependencies = [ @@ -30,6 +32,7 @@ stdenv.mkDerivation rec { sh $src --keep --noexec cd pkg/run_files sh cuda-linux64-rel-5.5.22-16488124.run --keep --noexec + sh cuda-samples-linux-5.5.22-16488124.run --keep --noexec cd pkg ''; @@ -44,8 +47,9 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir $out + mkdir $out $sdk perl ./install-linux.pl --prefix="$out" + perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out" ''; meta = { diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix index 539588ac3add..f37dae808301 100644 --- a/pkgs/development/compilers/dev86/default.nix +++ b/pkgs/development/compilers/dev86/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { name = "dev86-0.16.19"; - + src = fetchurl { url = http://www.debath.co.uk/dev86/Dev86src-0.16.19.tar.gz; sha256 = "33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e"; @@ -17,7 +17,7 @@ stdenv.mkDerivation { '' substituteInPlace makefile.in --replace "-O2" "" --replace "-O" "" ''; - + meta = { description = "Linux 8086 development environment"; homepage = http://www.debath.co.uk/; diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index 3c2a4f779fdd..9787d0da9292 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -10,12 +10,12 @@ else throw "Unsupported architecture"; edk2 = stdenv.mkDerivation { - name = "edk2-2013-10-09"; + name = "edk2-2014-02-01"; src = fetchgit { url = git://github.com/tianocore/edk2; - rev = "5bcb62a4098c9bde9be6af0833a025adc768e08d"; - sha256 = "3e2958877061bf6bbfb28b150743d7244486929c1c320bdb1ff2586774aa042a"; + rev = "2818c158de6a164d012e6afb0fc145656aed4e4b"; + sha256 = "a756b5de3a3e71d82ce1de8c7832bc69d2affb98d704894b26540571f9f5e214"; }; buildInputs = [ libuuid pythonFull ]; @@ -47,10 +47,10 @@ edk2 = stdenv.mkDerivation { configurePhase = '' mkdir -v Conf sed -e 's|Nt32Pkg/Nt32Pkg.dsc|${projectDscPath}|' -e \ - 's|MYTOOLS|GCC46|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\ + 's|MYTOOLS|GCC48|' -e 's|IA32|${targetArch}|' -e 's|DEBUG|RELEASE|'\ < ${edk2}/BaseTools/Conf/target.template > Conf/target.txt - sed -e 's|DEFINE GCC46_IA32_PREFIX = /usr/bin/|DEFINE GCC46_IA32_PREFIX = ""|' \ - -e 's|DEFINE GCC46_X64_PREFIX = /usr/bin/|DEFINE GCC46_X64_PREFIX = ""|' \ + sed -e 's|DEFINE GCC48_IA32_PREFIX = /usr/bin/|DEFINE GCC48_IA32_PREFIX = ""|' \ + -e 's|DEFINE GCC48_X64_PREFIX = /usr/bin/|DEFINE GCC48_X64_PREFIX = ""|' \ -e 's|DEFINE UNIX_IASL_BIN = /usr/bin/iasl|DEFINE UNIX_IASL_BIN = ${iasl}/bin/iasl|' \ < ${edk2}/BaseTools/Conf/tools_def.template > Conf/tools_def.txt export WORKSPACE="$PWD" diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix index 760a6f072de1..fce6f4a26995 100644 --- a/pkgs/development/compilers/elm/elm-server.nix +++ b/pkgs/development/compilers/elm/elm-server.nix @@ -1,21 +1,20 @@ -{ cabal, blazeHtml, deepseq, Elm, filepath, happstackServer, HTTP -, mtl, parsec, transformers +{ cabal, cmdargs, Elm, filepath, mtl, snapCore, snapServer +, unorderedContainers }: cabal.mkDerivation (self: { pname = "elm-server"; - version = "0.10.1"; - sha256 = "0rh01jm9h9zbslnzy6xg7bin76gdmypannh3ly40azplw9xmf2dn"; + version = "0.11"; + sha256 = "1977fa03n2m2apxhbzpcn6b5y5gf7ksnpigibi8djlpp76rliaz2"; isLibrary = false; isExecutable = true; buildDepends = [ - blazeHtml deepseq Elm filepath happstackServer HTTP mtl parsec - transformers + cmdargs Elm filepath mtl snapCore snapServer unorderedContainers ]; jailbreak = true; meta = { homepage = "http://elm-lang.org"; - description = "The Elm language server"; + description = "Server for developing Elm projects"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix index 0f3c4d2ef643..bc9f73b28495 100644 --- a/pkgs/development/compilers/elm/elm.nix +++ b/pkgs/development/compilers/elm/elm.nix @@ -1,12 +1,14 @@ { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup -, cmdargs, filepath, HTF, indents, languageEcmascript, mtl, pandoc -, parsec, text, transformers, unionFind, unorderedContainers +, cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript +, mtl, pandoc, parsec, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, text, transformers +, unionFind, unorderedContainers }: cabal.mkDerivation (self: { pname = "Elm"; - version = "0.10.1"; - sha256 = "1y533vanhrxc14x304ig6q8ch6zih8yqgpfgw4h5vk5fpdmn09a2"; + version = "0.12"; + sha256 = "1gmhnpcfv49bdifvz70fif71947q482pd1dbs5c84m8sn7c5n3ss"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -14,8 +16,17 @@ cabal.mkDerivation (self: { indents languageEcmascript mtl pandoc parsec text transformers unionFind unorderedContainers ]; - testDepends = [ HTF ]; + testDepends = [ + aeson binary blazeHtml blazeMarkup cmdargs filemanip filepath HUnit + indents languageEcmascript mtl pandoc parsec QuickCheck + testFramework testFrameworkHunit testFrameworkQuickcheck2 text + transformers unionFind unorderedContainers + ]; doCheck = false; + preConfigure = '' + rm -f Setup.hs + echo -e "import Distribution.Simple\nmain=defaultMain\n" > Setup.hs + ''; meta = { homepage = "http://elm-lang.org"; description = "The Elm language module"; diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index bb9c6d75d446..1d7955045893 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -1,18 +1,30 @@ -{ stdenv, fetchurl, mono, unzip, pkgconfig - } : -stdenv.mkDerivation rec { - pname = "fsharp"; - date = "2011-08-10"; - name = "${pname}-${date}"; +{ stdenv, fetchgit, mono, pkgconfig, autoconf, automake, which }: - src = fetchurl { - url = "http://download.mono-project.com/sources/fsharp/fsharp-cc126f2.zip"; - sha256 = "03j2ypnfddl2zpvg8ivhafjy8dlz49b38rdy89l8c3irxdsb7k6i"; +stdenv.mkDerivation rec { + name = "fsharp-${version}"; + version = "3.1.0"; + + src = fetchgit { + url = "https://github.com/fsharp/fsharp"; + rev = "refs/heads/fsharp_31"; + sha256 = "0d41ae31c57ec9ac8a4ea149b615ae085f3774b8877d8e53ddbf68856c32eda0"; }; - buildInputs = [mono unzip pkgconfig]; + buildInputs = [ mono pkgconfig autoconf automake which ]; + configurePhase = '' + substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh" + ./autogen.sh --prefix $out + ''; - sourceRoot = "fsharp"; + # Make sure the executables use the right mono binary, + # and set up some symlinks for backwards compatibility. + postInstall = '' + substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono " + substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono " + substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono " + ln -s $out/bin/fsharpc $out/bin/fsc + ln -s $out/bin/fsharpi $out/bin/fsi + ''; # To fix this error when running: # The file "/nix/store/path/whatever.exe" is an not a valid CIL image @@ -20,9 +32,9 @@ stdenv.mkDerivation rec { meta = { description = "A functional CLI language"; - homepage = "http://tryfsharp.org/"; + homepage = "http://fsharp.org/"; license = stdenv.lib.licenses.asl20; - maintainers = [ stdenv.lib.maintainers.raskin ]; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix new file mode 100644 index 000000000000..62e08d1fa7c0 --- /dev/null +++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -0,0 +1,46 @@ +{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }: +with stdenv.lib; +let + versionParts = splitString "-" version; # 4.7 2013q3 20130916 + majorVersion = elemAt versionParts 0; # 4.7 + yearQuarter = elemAt versionParts 1; # 2013q3 + underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916 + yearQuarterParts = splitString "q" yearQuarter; # 2013 3 + year = elemAt yearQuarterParts 0; # 2013 + quarter = elemAt yearQuarterParts 1; # 3 + subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update +in +stdenv.mkDerivation { + name = "gcc-arm-embedded-${version}"; + + src = fetchurl { + url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; + sha256 = sha256; + }; + + buildInputs = [ bzip2 patchelf ]; + + dontPatchELF = true; + + phases = "unpackPhase patchPhase installPhase"; + + installPhase = '' + mkdir -pv $out + cp -r ./* $out + + for f in $(find $out); do + if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then + patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \ + --set-rpath $out/lib:${gcc}/lib \ + "$f" || true + fi + done + ''; + + meta = with stdenv.lib; { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)"; + homepage = "https://launchpad.net/gcc-arm-embedded"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/compilers/gcc/4.2/default.nix b/pkgs/development/compilers/gcc/4.2/default.nix index 68a174cc5797..69cac159d4a5 100644 --- a/pkgs/development/compilers/gcc/4.2/default.nix +++ b/pkgs/development/compilers/gcc/4.2/default.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation { url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2"; sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg"; }); - + patches = - [./pass-cxxcpp.patch] + [./pass-cxxcpp.patch ./siginfo_t.patch] ++ optional noSysDirs [./no-sys-dirs.patch]; - + inherit noSysDirs profiledCompiler staticCompiler; buildInputs = [gmp mpfr texinfo]; diff --git a/pkgs/development/compilers/gcc/4.2/siginfo_t.patch b/pkgs/development/compilers/gcc/4.2/siginfo_t.patch new file mode 100644 index 000000000000..bfb9f9753728 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.2/siginfo_t.patch @@ -0,0 +1,15 @@ +https://bbs.archlinux.org/viewtopic.php?id=144949 +--- a/gcc/config/i386/linux-unwind.h 2011-01-03 20:52:22.000000000 +0000 ++++ b/gcc/config/i386/linux-unwind.h 2012-07-06 12:23:51.562859470 +0100 +@@ -133,9 +133,9 @@ + { + struct rt_sigframe { + int sig; +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + } *rt_ = context->cfa; + /* The void * cast is necessary to avoid an aliasing warning. diff --git a/pkgs/development/compilers/gcc/4.3/default.nix b/pkgs/development/compilers/gcc/4.3/default.nix index 7dd5be781859..4446876ab1f8 100644 --- a/pkgs/development/compilers/gcc/4.3/default.nix +++ b/pkgs/development/compilers/gcc/4.3/default.nix @@ -29,7 +29,7 @@ assert langVhdl -> gnat != null; with stdenv.lib; let - version = "4.3.4"; + version = "4.3.6"; crossConfigureFlags = "--target=${cross.config}" + @@ -54,27 +54,27 @@ in stdenv.mkDerivation ({ name = "${name}-${version}" + crossNameAddon; - + builder = ./builder.sh; - + src = optional /*langC*/ true (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "1yk80nwyw8vkpw8d3x7lkg3zrv3ngjqlvj0i8zslzgj7a27q729i"; + sha256 = "0ygrfw3hgp48hkqipbl9lw38f27npigc2sm6f01g9iswpq1igbw6"; }) ++ optional langCC (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "0d8pyk5c9zmph25f4fl63vd8vhljj6ildbxpz2hr594g5i6pplpq"; + sha256 = "105xz3991b57zx3146xwlpchdb2sjmlknclvi1iac2gawm4mhxhf"; }) ++ optional langFortran (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "1xf2njykv1qcgxiqwj693dxjf77ss1rcxirylvnsp5hs89mdlj12"; + sha256 = "12bqvf53hvhrwjnh101vn9frb5g8cr98cra4f11dzhzs4ppydpi1"; }) ++ optional langJava (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "1v3krhxi3zyaqfj0x8dbxvg67fjp29cr1psyf71r9zf757p3vqsw"; + sha256 = "03w6jln9gmdv149s774rlw4rzi2zhbqna54r86cd6mql8flmy7fs"; }); - + patches = [ ./pass-cxxcpp.patch ./libmudflap-cpp.patch ./siginfo_t_fix.patch ] ++ optional noSysDirs ./no-sys-dirs.patch diff --git a/pkgs/development/compilers/gcc/4.4/default.nix b/pkgs/development/compilers/gcc/4.4/default.nix index 3ecaf5cb5d29..99c342da780f 100644 --- a/pkgs/development/compilers/gcc/4.4/default.nix +++ b/pkgs/development/compilers/gcc/4.4/default.nix @@ -31,7 +31,7 @@ assert langVhdl -> gnat != null; with stdenv.lib; -let version = "4.4.6"; +let version = "4.4.7"; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at # `configure' time. @@ -246,7 +246,8 @@ stdenv.mkDerivation ({ enableMultilib version; }; # ghdl does not build fine with parallel building - enableParallelBuilding = !langVhdl && !langAda; + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46173 + #enableParallelBuilding = !langVhdl && !langAda; meta = { homepage = http://gcc.gnu.org/; diff --git a/pkgs/development/compilers/gcc/4.4/sources.nix b/pkgs/development/compilers/gcc/4.4/sources.nix index 357cc2634edc..5517e7c3b922 100644 --- a/pkgs/development/compilers/gcc/4.4/sources.nix +++ b/pkgs/development/compilers/gcc/4.4/sources.nix @@ -1,26 +1,26 @@ /* Automatically generated by `update-gcc.sh', do not edit. - For GCC 4.4.6. */ + For GCC 4.4.7. */ { fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: -assert version == "4.4.6"; +assert version == "4.4.7"; optional /* langC */ true (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "c2959820de3e42eee6b1d381586992f26430f0083b9a51db31d706080fc9b44a"; + sha256 = "c4663b7023909a4a075d3c2b2e17f6e082a9625aebfd0ce7f1d7817e44bf5542"; }) ++ optional langCC (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "6d5d2dacab9569472e4caa291abe94017a9b19574b9b0d866de7b04702634ddf"; + sha256 = "1882ff29be51eeb3fb349cbcda9df200a5c3cd20c97dd1d593101e0998b3c469"; }) ++ optional langFortran (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "2b9998716a16b80f4cf843ce81da1cf58ce116e0b85422e3004ce4454e8ff923"; + sha256 = "545a1e8e97d9364de4408c6a91830f9051ce24b4fbfbfdc56e72c7b4be17ebdd"; }) ++ optional langJava (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "7c8c12eac21d2a5c605ea4d9b7aa52e482354205b801bc93d62603b6f0956b35"; + sha256 = "3c31ddd80f945b797d8d4ed7761426c26343781c361ec1b33bcea9874cc4c6c0"; }) ++ optional langAda (fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; - sha256 = "771ef0e90abf61208ce84689bed15391ad249287e36a28e816d6a044035af0c6"; + sha256 = "fb9f30b85d48838390554b948d137487f0db09ad5f8ba73ca4d7ca35765c6ed8"; }) ++ [] diff --git a/pkgs/development/compilers/gcc/4.4/update-gcc.sh b/pkgs/development/compilers/gcc/4.4/update-gcc.sh index 6b0bbb993309..03297fbadd64 100755 --- a/pkgs/development/compilers/gcc/4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc/4.4/update-gcc.sh @@ -21,7 +21,7 @@ options["g++"]="langCC" options["fortran"]="langFortran" options["java"]="langJava" options["ada"]="langAda" -options["go"]="langGo" +#options["go"]="langGo" cat > "$out"< "$out"< - // -Index: gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc -=================================================================== ---- gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (revision 194579) -+++ gcc-4_7-branch/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc (revision 194580) -@@ -1,5 +1,5 @@ - // { dg-options "-std=gnu++0x -funsigned-char -fshort-enums" } --// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+// { dg-options "-std=gnu++0x -funsigned-char -fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - - // 2007-05-03 Benjamin Kosnik - // -Index: gcc-4_7-branch/libjava/configure.ac -=================================================================== ---- gcc-4_7-branch/libjava/configure.ac (revision 194579) -+++ gcc-4_7-branch/libjava/configure.ac (revision 194580) -@@ -931,7 +931,7 @@ - # on Darwin -single_module speeds up loading of the dynamic libraries. - extra_ldflags_libjava=-Wl,-single_module - ;; --arm*linux*eabi) -+arm*-*-linux*eabi*) - # Some of the ARM unwinder code is actually in libstdc++. We - # could in principle replicate it in libgcj, but it's better to - # have a dependency on libstdc++. -Index: gcc-4_7-branch/libjava/configure -=================================================================== ---- gcc-4_7-branch/libjava/configure (revision 194579) -+++ gcc-4_7-branch/libjava/configure (revision 194580) -@@ -20542,7 +20542,7 @@ - # on Darwin -single_module speeds up loading of the dynamic libraries. - extra_ldflags_libjava=-Wl,-single_module - ;; --arm*linux*eabi) -+arm*-*-linux*eabi*) - # Some of the ARM unwinder code is actually in libstdc++. We - # could in principle replicate it in libgcj, but it's better to - # have a dependency on libstdc++. -Index: gcc-4_7-branch/libgcc/config.host -=================================================================== ---- gcc-4_7-branch/libgcc/config.host (revision 194579) -+++ gcc-4_7-branch/libgcc/config.host (revision 194580) -@@ -327,7 +327,7 @@ - arm*-*-linux*) # ARM GNU/Linux with ELF - tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix" - case ${host} in -- arm*-*-linux-*eabi) -+ arm*-*-linux-*eabi*) - tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc" - tm_file="$tm_file arm/bpabi-lib.h" - unwind_header=config/arm/unwind-arm.h -Index: gcc-4_7-branch/gcc/doc/install.texi -=================================================================== ---- gcc-4_7-branch/gcc/doc/install.texi (revision 194579) -+++ gcc-4_7-branch/gcc/doc/install.texi (revision 194580) -@@ -3222,7 +3222,7 @@ - @heading @anchor{arm-x-eabi}arm-*-eabi - ARM-family processors. Subtargets that use the ELF object format - require GNU binutils 2.13 or newer. Such subtargets include: --@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi} -+@code{arm-*-netbsdelf}, @code{arm-*-*linux-gnueabi*} - and @code{arm-*-rtemseabi}. - - @html -Index: gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/gcc.target/arm/synchronize.c (revision 194580) -@@ -1,4 +1,4 @@ --/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi } } } */ -+/* { dg-final { scan-assembler "__sync_synchronize|dmb|mcr" { target arm*-*-linux-*eabi* } } } */ - - void *foo (void) - { -Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.jason/enum6.C (revision 194580) -@@ -7,10 +7,10 @@ - // enum-size attributes should only be emitted if there are values of - // enum type that can escape the compilation unit, gcc cannot currently - // detect this; if this facility is added then this linker option should --// not be needed. arm-*-linux*eabi should be a good approximation to -+// not be needed. arm-*-linux*eabi* should be a good approximation to - // those platforms where the EABI supplement defines enum values to be - // 32 bits wide. --// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - - #include - -Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.other/enum4.C (revision 194580) -@@ -9,10 +9,10 @@ - // enum-size attributes should only be emitted if there are values of - // enum type that can escape the compilation unit, gcc cannot currently - // detect this; if this facility is added then this linker option should --// not be needed. arm-*-linux*eabi should be a good approximation to -+// not be needed. arm-*-linux*eabi* should be a good approximation to - // those platforms where the EABI supplement defines enum values to be - // 32 bits wide. --// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - - enum E { - a = -312 -Index: gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/g++.old-deja/g++.law/enum9.C (revision 194580) -@@ -7,10 +7,10 @@ - // enum-size attributes should only be emitted if there are values of - // enum type that can escape the compilation unit, gcc cannot currently - // detect this; if this facility is added then this linker option should --// not be needed. arm-*-linux*eabi should be a good approximation to -+// not be needed. arm-*-linux*eabi* should be a good approximation to - // those platforms where the EABI supplement defines enum values to be - // 32 bits wide. --// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - - // GROUPS passed enums - extern "C" int printf (const char *, ...); -Index: gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/lib/target-supports.exp (revision 194580) -@@ -3818,7 +3818,7 @@ - } - } "" - }] -- } elseif { [istarget arm*-*-linux-gnueabi] } { -+ } elseif { [istarget arm*-*-linux-gnueabi*] } { - return [check_runtime sync_longlong_runtime { - #include - int main () -@@ -3860,7 +3860,7 @@ - || [istarget i?86-*-*] - || [istarget x86_64-*-*] - || [istarget alpha*-*-*] -- || [istarget arm*-*-linux-gnueabi] -+ || [istarget arm*-*-linux-gnueabi*] - || [istarget bfin*-*linux*] - || [istarget hppa*-*linux*] - || [istarget s390*-*-*] -@@ -3890,7 +3890,7 @@ - || [istarget i?86-*-*] - || [istarget x86_64-*-*] - || [istarget alpha*-*-*] -- || [istarget arm*-*-linux-gnueabi] -+ || [istarget arm*-*-linux-gnueabi*] - || [istarget hppa*-*linux*] - || [istarget s390*-*-*] - || [istarget powerpc*-*-*] -Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90 -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90 (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_9.f90 (revision 194580) -@@ -1,6 +1,6 @@ - ! { dg-do run } - ! { dg-options "-fshort-enums" } --! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - ! Program to test enumerations when option -fshort-enums is given - - program main -Index: gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90 -=================================================================== ---- gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90 (revision 194579) -+++ gcc-4_7-branch/gcc/testsuite/gfortran.dg/enum_10.f90 (revision 194580) -@@ -1,7 +1,7 @@ - ! { dg-do run } - ! { dg-additional-sources enum_10.c } - ! { dg-options "-fshort-enums -w" } --! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } -+! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi* } } - ! Make sure short enums are indeed interoperable with the - ! corresponding C type. - -Index: gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in -=================================================================== ---- gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in (revision 194579) -+++ gcc-4_7-branch/gcc/ada/gcc-interface/Makefile.in (revision 194580) -@@ -1866,7 +1866,7 @@ - LIBRARY_VERSION := $(LIB_VERSION) - endif - --ifeq ($(strip $(filter-out arm% linux-gnueabi,$(arch) $(osys)-$(word 4,$(targ)))),) -+ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),) - LIBGNAT_TARGET_PAIRS = \ - a-intnam.ads. ++ ++// 25.3.2 [lib.alg.nth.element] ++ ++// { dg-options "-std=gnu++11" } ++ ++#include ++#include ++#include ++ ++using __gnu_test::test_container; ++using __gnu_test::random_access_iterator_wrapper; ++ ++typedef test_container Container; ++ ++void test01() ++{ ++ std::vector v = { ++ 207089, ++ 202585, ++ 180067, ++ 157549, ++ 211592, ++ 216096, ++ 207089 ++ }; ++ ++ Container con(v.data(), v.data() + 7); ++ ++ std::nth_element(con.begin(), con.begin() + 3, con.end()); ++} ++ ++int main() ++{ ++ test01(); ++ return 0; ++} diff --git a/pkgs/development/compilers/gcc/4.7/builder.sh b/pkgs/development/compilers/gcc/4.8/builder.sh similarity index 96% rename from pkgs/development/compilers/gcc/4.7/builder.sh rename to pkgs/development/compilers/gcc/4.8/builder.sh index 37400fba5bf5..b781fa6c7ef6 100644 --- a/pkgs/development/compilers/gcc/4.7/builder.sh +++ b/pkgs/development/compilers/gcc/4.8/builder.sh @@ -33,7 +33,7 @@ if test "$noSysDirs" = "1"; then # The path to the Glibc binaries such as `crti.o'. glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" - + else # Hack: support impure environments. extraFlags="-isystem /usr/include" @@ -50,10 +50,10 @@ if test "$noSysDirs" = "1"; then # bootstrap compiler are optimized and (optionally) contain # debugging information (info "(gccinstall) Building"). if test -n "$dontStrip"; then - extraFlags="-O2 -g $extraFlags" + extraFlags="-O2 -g $extraFlags" else - # Don't pass `-g' at all; this saves space while building. - extraFlags="-O2 $extraFlags" + # Don't pass `-g' at all; this saves space while building. + extraFlags="-O2 $extraFlags" fi EXTRA_FLAGS="$extraFlags" @@ -155,7 +155,7 @@ if test -n "$targetConfig"; then dontStrip=1 fi - +providedPreConfigure="$preConfigure"; preConfigure() { if test -n "$newlibSrc"; then tar xvf "$newlibSrc" -C .. @@ -188,6 +188,9 @@ preConfigure() { configureFlags="$configureFlags --with-build-sysroot=`pwd`/.." fi + # Eval the preConfigure script from nix expression. + eval $providedPreConfigure; + env; # Perform the build in a different directory. mkdir ../build cd ../build @@ -210,7 +213,7 @@ postInstall() { # previous gcc. rm -rf $out/libexec/gcc/*/*/install-tools rm -rf $out/lib/gcc/*/*/install-tools - + # More dependencies with the previous gcc or some libs (gccbug stores the build command line) rm -rf $out/bin/gccbug # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix similarity index 82% rename from pkgs/development/compilers/gcc/4.7/default.nix rename to pkgs/development/compilers/gcc/4.8/default.nix index da2d8c33161f..890122fe4770 100644 --- a/pkgs/development/compilers/gcc/4.7/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -11,7 +11,7 @@ , perl ? null # optional, for texi2pod (then pod2man); required for Java , gmp, mpfr, mpc, gettext, which , libelf # optional, for link-time optimizations (LTO) -, ppl ? null, cloog ? null # optional, for the Graphite optimization framework. +, ppl ? null, cloog ? null, isl ? null # optional, for the Graphite optimization framework. , zlib ? null, boehmgc ? null , zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null @@ -37,6 +37,9 @@ assert langJava -> zip != null && unzip != null assert langAda -> gnatboot != null; assert langVhdl -> gnat != null; +# We enable the isl cloog backend. +assert cloog != null -> isl != null; + # LTO needs libelf and zlib. assert libelf != null -> zlib != null; @@ -49,14 +52,18 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "4.7.3"; +let version = "4.8.2"; # Whether building a cross-compiler for GNU/Hurd. crossGNU = cross != null && cross.config == "i586-pc-gnu"; - patches = [ - ./build-race.patch - ] ++ optional stdenv.isArm [ ./arm-eabi.patch ] + /* gccinstall.info says that "parallel make is currently not supported since + collisions in profile collecting may occur". + */ + enableParallelBuilding = !profiledCompiler; + + patches = [ ./bug-58800.patch ] # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800 + ++ optional enableParallelBuilding ./parallel-bconfig.patch ++ optional (cross != null) ./libstdc++-target.patch # ++ optional noSysDirs ./no-sys-dirs.patch # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its @@ -89,35 +96,35 @@ let version = "4.7.3"; /* Platform flags */ platformFlags = let - gccArch = stdenv.lib.attrByPath [ "platform" "gcc" "arch" ] null stdenv; - gccCpu = stdenv.lib.attrByPath [ "platform" "gcc" "cpu" ] null stdenv; - gccAbi = stdenv.lib.attrByPath [ "platform" "gcc" "abi" ] null stdenv; - gccFpu = stdenv.lib.attrByPath [ "platform" "gcc" "fpu" ] null stdenv; - gccFloat = stdenv.lib.attrByPath [ "platform" "gcc" "float" ] null stdenv; - gccMode = stdenv.lib.attrByPath [ "platform" "gcc" "mode" ] null stdenv; + gccArch = stdenv.platform.gcc.arch or null; + gccCpu = stdenv.platform.gcc.cpu or null; + gccAbi = stdenv.platform.gcc.abi or null; + gccFpu = stdenv.platform.gcc.fpu or null; + gccFloat = stdenv.platform.gcc.float or null; + gccMode = stdenv.platform.gcc.mode or null; withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; withFpu = if gccFpu != null then " --with-fpu=${gccFpu}" else ""; withFloat = if gccFloat != null then " --with-float=${gccFloat}" else ""; withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; - in - (withArch + + in + withArch + withCpu + withAbi + withFpu + withFloat + - withMode); + withMode; /* Cross-gcc settings */ crossMingw = (cross != null && cross.libc == "msvcrt"); crossConfigureFlags = let - gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; - gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; - gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross; - gccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null cross; - gccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null cross; - gccMode = stdenv.lib.attrByPath [ "gcc" "mode" ] null cross; + gccArch = stdenv.cross.gcc.arch or null; + gccCpu = stdenv.cross.gcc.cpu or null; + gccAbi = stdenv.cross.gcc.abi or null; + gccFpu = stdenv.cross.gcc.fpu or null; + gccFloat = stdenv.cross.gcc.float or null; + gccMode = stdenv.cross.gcc.mode or null; withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; @@ -180,8 +187,7 @@ let version = "4.7.3"; " --enable-nls" + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) ); - stageNameAddon = if crossStageStatic then "-stage-static" else - "-stage-final"; + stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if cross != null then "-${cross.config}" + stageNameAddon else ""; bootstrap = cross == null && !stdenv.isArm && !stdenv.isMips; @@ -198,7 +204,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; - sha256 = "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g"; + sha256 = "1j6dwgby4g3p3lz7zkss32ghr45zpdidrg8xvazvn91lqxv25p09"; }; inherit patches; @@ -267,6 +273,7 @@ stdenv.mkDerivation ({ buildInputs = [ gmp mpfr mpc libelf ] ++ (optional (ppl != null) ppl) ++ (optional (cloog != null) cloog) + ++ (optional (isl != null) isl) ++ (optional (zlib != null) zlib) ++ (optionals langJava [ boehmgc zip unzip ]) ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs)) @@ -279,22 +286,40 @@ stdenv.mkDerivation ({ ++ (optional stdenv.isDarwin gnused) ; - configureFlagsArray = stdenv.lib.optionals - (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic) - [ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ]; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-lm -ldl"; - # 'iant' at #go-nuts@freenode, gccgo maintainer, said that - # they have a bug in 4.7.1 if adding "--disable-static" - dontDisableStatic = langGo; + preConfigure = '' + configureFlagsArray=( + ${stdenv.lib.optionalString (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic) + "'--with-host-libstdcxx=-lstdc++ -lgcc_s'"} + ${stdenv.lib.optionalString (ppl != null && stdenv.isSunOS) + "\"--with-host-libstdcxx=-Wl,-rpath,\$prefix/lib/amd64 -lstdc++\" + \"--with-boot-ldflags=-L../prev-x86_64-pc-solaris2.11/libstdc++-v3/src/.libs\""} + ); + ${stdenv.lib.optionalString (stdenv.isSunOS && stdenv.is64bit) + '' + export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g` + export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET" + export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET" + export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET" + ''} + ''; + + dontDisableStatic = true; configureFlags = " - ${if enableMultilib then "" else "--disable-multilib"} - ${if enableShared then "" else "--disable-shared"} - ${if enablePlugin then "--enable-plugin" else ""} - ${if ppl != null then "--with-ppl=${ppl}" else ""} - ${if cloog != null then - "--with-cloog=${cloog} --enable-cloog-backend=isl" + ${if stdenv.isSunOS then + " --enable-long-long --enable-libssp --enable-threads=posix --disable-nls --enable-__cxa_atexit " + + # On Illumos/Solaris GNU as is preferred + " --with-gnu-as --without-gnu-ld " else ""} + --enable-lto + ${if enableMultilib then "--disable-libquadmath" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if enablePlugin then "--enable-plugin" else "--disable-plugin"} + ${if ppl != null then "--with-ppl=${ppl} --disable-ppl-version-check" else ""} + ${optionalString (isl != null) "--with-isl=${isl}"} + ${optionalString (cloog != null) "--with-cloog=${cloog} --disable-cloog-version-check --enable-cloog-backend=isl"} ${if langJava then "--with-ecj-jar=${javaEcj} " + @@ -311,6 +336,7 @@ stdenv.mkDerivation ({ --disable-libstdcxx-pch --without-included-gettext --with-system-zlib + --enable-static --enable-languages=${ concatStrings (intersperse "," ( optional langC "c" @@ -345,11 +371,11 @@ stdenv.mkDerivation ({ else "install"; crossAttrs = let - xgccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null stdenv.cross; - xgccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null stdenv.cross; - xgccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null stdenv.cross; - xgccFpu = stdenv.lib.attrByPath [ "gcc" "fpu" ] null stdenv.cross; - xgccFloat = stdenv.lib.attrByPath [ "gcc" "float" ] null stdenv.cross; + xgccArch = stdenv.cross.gcc.arch or null; + xgccCpu = stdenv.cross.gcc.cpu or null; + xgccAbi = stdenv.cross.gcc.abi or null; + xgccFpu = stdenv.cross.gcc.fpu or null; + xgccFloat = stdenv.cross.gcc.float or null; xwithArch = if xgccArch != null then " --with-arch=${xgccArch}" else ""; xwithCpu = if xgccCpu != null then " --with-cpu=${xgccCpu}" else ""; xwithAbi = if xgccAbi != null then " --with-abi=${xgccAbi}" else ""; @@ -408,7 +434,8 @@ stdenv.mkDerivation ({ # Needed for the cross compilation to work AR = "ar"; LD = "ld"; - CC = "gcc"; + # http://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 + CC = if stdenv.system == "x86_64-solaris" then "gcc -m64" else "gcc"; # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find # the library headers and binaries, regarless of the language being @@ -432,8 +459,7 @@ stdenv.mkDerivation ({ # On GNU/Hurd glibc refers to Mach & Hurd # headers. - ++ optionals (libcCross != null && - hasAttr "propagatedBuildInputs" libcCross) + ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" ) libcCross.propagatedBuildInputs))); LIBRARY_PATH = concatStrings @@ -456,14 +482,10 @@ stdenv.mkDerivation ({ " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") else null; - passthru = { inherit langC langCC langAda langFortran langVhdl - langGo enableMultilib version; }; + passthru = + { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; }; - /* From gccinstall.info: - "parallel make is currently not supported since collisions in profile - collecting may occur" - */ - enableParallelBuilding = !profiledCompiler; + inherit enableParallelBuilding; meta = { homepage = http://gcc.gnu.org/; @@ -480,16 +502,15 @@ stdenv.mkDerivation ({ compiler used in the GNU system including the GNU/Linux variant. ''; - maintainers = [ - stdenv.lib.maintainers.ludo - stdenv.lib.maintainers.viric - stdenv.lib.maintainers.shlevy - ]; + maintainers = with stdenv.lib.maintainers; [ ludo viric shlevy simons ]; # Volunteers needed for the {Cyg,Dar}win ports of *PPL. # gnatboot is not available out of linux platforms, so we disable the darwin build # for the gnat (ada compiler). - platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ]; + platforms = + stdenv.lib.platforms.linux ++ + stdenv.lib.platforms.freebsd ++ + optionals (langAda == false) stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.8/gfortran-driving.patch similarity index 100% rename from pkgs/development/compilers/gcc/4.7/gfortran-driving.patch rename to pkgs/development/compilers/gcc/4.8/gfortran-driving.patch diff --git a/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch b/pkgs/development/compilers/gcc/4.8/gnat-cflags.patch similarity index 100% rename from pkgs/development/compilers/gcc/4.7/gnat-cflags.patch rename to pkgs/development/compilers/gcc/4.8/gnat-cflags.patch diff --git a/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc/4.8/java-jvgenmain-link.patch similarity index 100% rename from pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch rename to pkgs/development/compilers/gcc/4.8/java-jvgenmain-link.patch diff --git a/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch b/pkgs/development/compilers/gcc/4.8/libstdc++-target.patch similarity index 100% rename from pkgs/development/compilers/gcc/4.7/libstdc++-target.patch rename to pkgs/development/compilers/gcc/4.8/libstdc++-target.patch diff --git a/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch similarity index 100% rename from pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch rename to pkgs/development/compilers/gcc/4.8/no-sys-dirs.patch diff --git a/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch b/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch new file mode 100644 index 000000000000..bc56ac698f5a --- /dev/null +++ b/pkgs/development/compilers/gcc/4.8/parallel-bconfig.patch @@ -0,0 +1,32 @@ +Hacky work-around for highly parallel builds. +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57125 + +diff --git a/gcc/Makefile.in b/gcc/Makefile.in +index aad927c..182f666 100644 +--- a/gcc/Makefile.in ++++ b/gcc/Makefile.in +@@ -3908,21 +3908,21 @@ build/gengtype-lex.o: $(BCONFIG_H) + + gengtype-parse.o build/gengtype-parse.o : gengtype-parse.c gengtype.h \ + $(SYSTEM_H) +-gengtype-parse.o: $(CONFIG_H) ++gengtype-parse.o: $(CONFIG_H) $(BCONFIG_H) + CFLAGS-gengtype-parse.o += -DGENERATOR_FILE + build/gengtype-parse.o: $(BCONFIG_H) + + gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \ + gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \ + $(XREGEX_H) +-gengtype-state.o: $(CONFIG_H) ++gengtype-state.o: $(CONFIG_H) $(BCONFIG_H) + CFLAGS-gengtype-state.o += -DGENERATOR_FILE + build/gengtype-state.o: $(BCONFIG_H) + + gengtype.o build/gengtype.o : gengtype.c $(SYSTEM_H) gengtype.h \ + rtl.def insn-notes.def errors.h double-int.h version.h $(HASHTAB_H) \ + $(OBSTACK_H) $(XREGEX_H) +-gengtype.o: $(CONFIG_H) ++gengtype.o: $(CONFIG_H) $(BCONFIG_H) + CFLAGS-gengtype.o += -DGENERATOR_FILE + build/gengtype.o: $(BCONFIG_H) + diff --git a/pkgs/development/compilers/gcl/default.nix b/pkgs/development/compilers/gcl/default.nix index 85da8f72bf80..73492fc65b77 100644 --- a/pkgs/development/compilers/gcl/default.nix +++ b/pkgs/development/compilers/gcl/default.nix @@ -16,15 +16,12 @@ assert a.stdenv.gcc.gcc != null ; assert a.stdenv.gcc.libc != null ; rec { - src = a.fetchcvs { - cvsRoot = ":pserver:anonymous@cvs.sv.gnu.org:/sources/gcl"; - module = "gcl"; - # tag = "Version_2_6_8pre"; - date = "2010-07-01"; - sha256 = "a61d1bf669fd11d13050e8e1ab850a5eecb38126b47c744c3e21646773c4fb4d"; + src = a.fetchurl { + sha256 = "1vsicv81ml7d92c87bckgkpvcshi6hzdnj44k0j6zs5mj8pzp8br"; + url="http://gnu.spinellicreations.com/gcl/gcl-2.6.10.tar.gz"; }; - name = "gcl-2.6.8pre"; + name = "gcl-2.6.10"; inherit buildInputs; configureFlags = [ "--enable-ansi" diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix index 0bc2a8553069..497a59e17fa5 100644 --- a/pkgs/development/compilers/ghc/7.4.2.nix +++ b/pkgs/development/compilers/ghc/7.4.2.nix @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; - enableParallelBuilding = true; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" @@ -22,6 +21,7 @@ stdenv.mkDerivation rec { preConfigure = '' echo "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" ''; diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix index 99c93c7a980a..5a63d30390da 100644 --- a/pkgs/development/compilers/ghc/7.6.1.nix +++ b/pkgs/development/compilers/ghc/7.6.1.nix @@ -12,17 +12,6 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; - # My attempts to compile GHC with parallel build support enabled, failed - # 4 consecutive times with the following error: - # - # building rts/dist/build/AutoApply.debug_o - # building rts/dist/build/AutoApply.thr_o - # rts_dist_HC rts/dist/build/AutoApply.debug_o - # /nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a/bin/ld: cannot find libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers_o_split/gmp-wrappers__1.o - # collect2: ld returned 1 exit status - # make[1]: *** [libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.p_o] Error 1 - enableParallelBuilding = false; - buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" diff --git a/pkgs/development/compilers/ghc/7.6.2.nix b/pkgs/development/compilers/ghc/7.6.2.nix index ac2810c62b26..45f877ffc7c9 100644 --- a/pkgs/development/compilers/ghc/7.6.2.nix +++ b/pkgs/development/compilers/ghc/7.6.2.nix @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; - enableParallelBuilding = true; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix index 427d21660b89..1839c982e991 100644 --- a/pkgs/development/compilers/ghc/7.6.3.nix +++ b/pkgs/development/compilers/ghc/7.6.3.nix @@ -12,7 +12,6 @@ stdenv.mkDerivation rec { buildInputs = [ ghc perl gmp ncurses ]; - enableParallelBuilding = true; buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" @@ -22,6 +21,7 @@ stdenv.mkDerivation rec { preConfigure = '' echo "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" ''; diff --git a/pkgs/development/compilers/ghc/7.8.2.nix b/pkgs/development/compilers/ghc/7.8.2.nix new file mode 100644 index 000000000000..8200c8c759e7 --- /dev/null +++ b/pkgs/development/compilers/ghc/7.8.2.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: + +stdenv.mkDerivation rec { + version = "7.8.2"; + name = "ghc-${version}"; + + src = fetchurl { + url = "http://www.haskell.org/ghc/dist/7.8.2/${name}-src.tar.xz"; + sha256 = "15kyz98zq22sgwkzy2bkx0yz98qkrzgdigz919vafd7fxnkf3la5"; + }; + + buildInputs = [ ghc perl gmp ncurses ]; + + enableParallelBuilding = true; + + buildMK = '' + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + DYNAMIC_BY_DEFAULT = NO + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" + ''; + + configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc"; + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags = [ "-S" "--keep-file-symbols" ]; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "The Glasgow Haskell Compiler"; + maintainers = [ + stdenv.lib.maintainers.marcweber + stdenv.lib.maintainers.andres + stdenv.lib.maintainers.simons + ]; + inherit (ghc.meta) license platforms; + }; + +} diff --git a/pkgs/development/compilers/ghc/ghc-get-packages.sh b/pkgs/development/compilers/ghc/ghc-get-packages.sh deleted file mode 100755 index 9ed1455d2321..000000000000 --- a/pkgs/development/compilers/ghc/ghc-get-packages.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh -# Usage: -# $1: version of GHC -# $2: invocation path of GHC -# $3: prefix -version="$1" -if test -z "$3"; then - prefix="-package-conf " -else - prefix="$3" -fi -PATH="$2:$PATH" -IFS=":" -for p in $PATH; do - PkgDir="$p/../lib/ghc-pkgs/ghc-$version" - for i in $PkgDir/*.installedconf; do - # output takes place here - test -f $i && echo -n " $prefix$i" - done -done -test -f "$2/../lib/ghc-$version/package.conf" && echo -n " $prefix$2/../lib/ghc-$version/package.conf" diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index f4f8be273679..cc220eb7b1c2 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }: stdenv.mkDerivation rec { - version = "7.7.20131202"; + version = "7.9.20140313"; name = "ghc-${version}"; src = fetchurl { url = "http://cryp.to/${name}.tar.xz"; - sha256 = "1gnp5c3x7dbaz7s2yvkw2fmvqh5by2gpp0zlcyj8p2gv13gxi2cb"; + sha256 = "03i9ajgzlp2y0qq7qnmyji6vdcgx2xnsyrc2zbqbziinf86igwhi"; }; buildInputs = [ ghc perl gmp ncurses happy alex ]; @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { preConfigure = '' echo "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}" ''; diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix new file mode 100644 index 000000000000..cd33d3d79a70 --- /dev/null +++ b/pkgs/development/compilers/ghdl/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, gnat, zlib }: + +assert stdenv.system == "i686-linux"; + +let + version = "0.31"; +in +stdenv.mkDerivation rec { + name = "ghdl-mcode-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/ghdl/ghdl-${version}.tar.gz"; + sha256 = "1v0l9h6906b0bvnwfi2qg5nz9vjg80isc5qgjxr1yqxpkfm2xcf0"; + }; + + buildInputs = [ gnat zlib ]; + + # Tarbomb + preUnpack = '' + mkdir ghdl + cd ghdl + ''; + + sourceRoot = "translate/ghdldrv"; + + patchPhase = '' + sed -i 's,$$curdir/lib,'$out'/share/ghdl_mcode/translate/lib,' Makefile + ''; + + postBuild = '' + # Build the LIB + ln -s ghdl_mcode ghdl + make install.mcode + ''; + + installPhase = '' + ensureDir $out/bin + cp ghdl_mcode $out/bin + + ensureDir $out/share/ghdl_mcode/translate + cp -R ../lib $out/share/ghdl_mcode/translate + cp -R ../../libraries $out/share/ghdl_mcode + + ensureDir $out/share/man/man1 + cp ../../doc/ghdl.1 $out/share/man/man1/ghdl_mcode.1 + + # Ghdl has some timestamps checks, storing file timestamps in '.cf' files. + # As we will change the timestamps to 1970-01-01 00:00:01, we also set the + # content of that .cf to that value. This way ghdl does not complain on + # the installed object files from the basic libraries (ieee, ...) + pushd $out + find . -name "*.cf" -exec \ + sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \; + popd + ''; + + meta = { + homepage = "http://sourceforge.net/p/ghdl-updates/wiki/Home/"; + description = "Free VHDL simulator, mcode flavour"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + license = "GPLv2+"; + }; +} diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix index 2abdc51e4c6a..7b7e16d837db 100644 --- a/pkgs/development/compilers/go/1.2.nix +++ b/pkgs/development/compilers/go/1.2.nix @@ -7,11 +7,11 @@ let in stdenv.mkDerivation { - name = "go-1.2"; + name = "go-1.2.1"; src = fetchurl { - url = http://go.googlecode.com/files/go1.2.src.tar.gz; - sha1 = "7dd2408d40471aeb30a9e0b502c6717b5bf383a5"; + url = http://go.googlecode.com/files/go1.2.1.src.tar.gz; + sha1 = "6a4b9991eddd8039438438d6aa25126ab7e07f2f"; }; buildInputs = [ bison glibc bash makeWrapper ]; @@ -60,6 +60,7 @@ stdenv.mkDerivation { else if stdenv.system == "armv5tel-linux" then "arm" else throw "Unsupported system"; GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 installPhase = '' mkdir -p "$out/bin" @@ -79,7 +80,7 @@ stdenv.mkDerivation { homepage = http://golang.org/; description = "The Go Programming language"; license = "BSD"; - maintainers = with stdenv.lib.maintainers; [ pierron viric ]; + maintainers = with stdenv.lib.maintainers; [ pierron viric wizeman ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix index 00c5ef36a381..f2b5a04df986 100644 --- a/pkgs/development/compilers/gprolog/default.nix +++ b/pkgs/development/compilers/gprolog/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q"; }; + patchPhase = '' + sed -i -e "s|/tmp/make.log|$TMPDIR/make.log|g" src/Pl2Wam/check_boot + ''; + preConfigure = '' cd src configureFlagsArray=( diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix new file mode 100644 index 000000000000..c9697bac36c7 --- /dev/null +++ b/pkgs/development/compilers/icedtea-web/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash }: + +stdenv.mkDerivation rec { + name = "icedtea-web-${version}"; + + version = "1.5"; + + src = fetchurl { + url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz"; + + sha256 = "0bbwa944kaam0r8ldlqrrj9z9zj54v6zdc3q663ck59shw5z828w"; + }; + + buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ]; + + preConfigure = '' + substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' + + configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags" + ''; + + configureFlags = [ + "--with-jdk-home=${jdk}" + ]; + + mozillaPlugin = "/lib"; + + meta = { + description = "Java web browser plugin and an implementation of Java Web Start"; + longDescription = '' + A Free Software web browser plugin running applets written in the Java + programming language and an implementation of Java Web Start, originally + based on the NetX project. + ''; + homepage = http://icedtea.classpath.org/wiki/IcedTea-Web; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch b/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch new file mode 100644 index 000000000000..d5fcd9f44565 --- /dev/null +++ b/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch @@ -0,0 +1,58 @@ + +# HG changeset patch +# User Andrew John Hughes +# Date 1396030366 0 +# Node ID e8e59c50a451b45bd10cd495b81e5c61b2b4bca8 +# Parent 46f9059509fec2498b1a04ccefee538a45aeff8c +PR1726: configure fails looking for ecj.jar before even trying to find javac + +2014-03-28 Andrew John Hughes + + * acinclude.m4: + (IT_FIND_COMPILER): Check value of ECJ_JAR + and JAVAC here ... + (IT_FIND_ECJ_JAR): ... rather than here where + ${JAVAC} may not yet be defined. + +diff -r 46f9059509fe -r e8e59c50a451 NEWS +--- a/NEWS Fri Mar 28 18:06:31 2014 +0000 ++++ b/NEWS Fri Mar 28 18:12:46 2014 +0000 +@@ -14,6 +14,9 @@ + + New in release 2.4.7 (2014-04-XX): + ++* Bug fixes ++ - PR1726: configure fails looking for ecj.jar before even trying to find javac ++ + New in release 2.4.6 (2014-03-28): + + * Backports +diff -r 46f9059509fe -r e8e59c50a451 acinclude.m4 +--- a/acinclude.m4 Fri Mar 28 18:06:31 2014 +0000 ++++ b/acinclude.m4 Fri Mar 28 18:12:46 2014 +0000 +@@ -134,6 +134,12 @@ + IT_USING_ECJ + IT_WITH_GCJ + ++ if test "x${ECJ_JAR}" = "xno"; then ++ if test "x${JAVAC}" = "x"; then ++ AC_MSG_ERROR("No compiler or ecj JAR file was found.") ++ fi ++ fi ++ + if test x"${GCJ}" != xno ; then + JAVAC="${JAVA} -classpath ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main" + fi +@@ -350,11 +356,6 @@ + fi + fi + AC_MSG_RESULT(${ECJ_JAR}) +- if test "x${ECJ_JAR}" = "xno"; then +- if test "x${JAVAC}" = "x"; then +- AC_MSG_ERROR("No compiler or ecj JAR file was found.") +- fi +- fi + AC_SUBST(ECJ_JAR) + ]) + + diff --git a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch new file mode 100644 index 000000000000..8931c122538f --- /dev/null +++ b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch @@ -0,0 +1,16 @@ +diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk +--- openjdk-orig/jdk/make/sun/awt/mawt.gmk 2012-08-28 19:13:16.000000000 -0400 ++++ openjdk/jdk/make/sun/awt/mawt.gmk 2013-01-22 11:56:22.315418708 -0500 +@@ -234,12 +234,6 @@ + endif # !HEADLESS + endif # PLATFORM + +-ifeq ($(PLATFORM), linux) +- # Checking for the X11/extensions headers at the additional location +- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \ +- $(wildcard /usr/include/X11/extensions)) +-endif +- + ifeq ($(PLATFORM), macosx)) + CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \ + -I$(OPENWIN_HOME)/include diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix new file mode 100644 index 000000000000..de3a013e7df9 --- /dev/null +++ b/pkgs/development/compilers/icedtea/default.nix @@ -0,0 +1,181 @@ +{ stdenv, fetchurl, jdk, jdkPath, ant, wget, zip, unzip, cpio, file, libxslt +, xorg, zlib, pkgconfig, libjpeg, libpng, giflib, lcms2, gtk2, krb5, attr +, alsaLib, procps, automake, autoconf, cups, which, perl, coreutils, binutils +, cacert, setJavaClassPath +}: + +let + + /** + * The JRE libraries are in directories that depend on the CPU. + */ + architecture = + if stdenv.system == "i686-linux" then + "i386" + else if stdenv.system == "x86_64-linux" then + "amd64" + else + throw "icedtea requires i686-linux or x86_64 linux"; + + srcInfo = (import ./sources.nix).icedtea7; + + pkgName = "icedtea7-${srcInfo.version}"; + + defSrc = name: + with (builtins.getAttr name srcInfo.bundles); fetchurl { + inherit url sha256; + name = "${pkgName}-${name}-${baseNameOf url}"; + }; + + bundleNames = builtins.attrNames srcInfo.bundles; + + sources = stdenv.lib.genAttrs bundleNames (name: defSrc name); + + bundleFun = name: "--with-${name}-src-zip=" + builtins.getAttr name sources; + bundleFlags = map bundleFun bundleNames; + +in + +with srcInfo; stdenv.mkDerivation { + name = pkgName; + + src = fetchurl { + inherit url sha256; + }; + + patches = [ ./build-fix-2.4.6.patch ]; + + outputs = [ "out" "jre" ]; + + # TODO: Probably some more dependencies should be on this list but are being + # propagated instead + buildInputs = [ + jdk ant wget zip unzip cpio file libxslt pkgconfig procps automake + autoconf which perl coreutils xorg.lndir + zlib libjpeg libpng giflib lcms2 krb5 attr alsaLib cups + xorg.libX11 xorg.libXtst gtk2 + ]; + + configureFlags = bundleFlags ++ [ + "--disable-bootstrap" + "--disable-downloading" + + "--without-rhino" + # Uncomment this when paxctl lands in stdenv: "--with-pax=paxctl" + "--with-jdk-home=${jdkPath}" + ]; + + preConfigure = '' + unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS + + substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' + substituteInPlace javah.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' + + ./autogen.sh + ''; + + preBuild = '' + make stamps/extract.stamp + + substituteInPlace openjdk/jdk/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo' + substituteInPlace openjdk/corba/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo' + + patch -p0 < ${./cppflags-include-fix.patch} + patch -p0 < ${./fix-java-home.patch} + ''; + + NIX_NO_SELF_RPATH = true; + + makeFlags = [ + "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h" + "ALT_UNIXCOMMAND_PATH=" + "ALT_USRBIN_PATH=" + "ALT_DEVTOOLS_PATH=" + "ALT_COMPILER_PATH=" + "ALT_CUPS_HEADERS_PATH=${cups}/include" + "ALT_OBJCOPY=${binutils}/bin/objcopy" + "SORT=${coreutils}/bin/sort" + "UNLIMITED_CRYPTO=1" + ]; + + installPhase = '' + mkdir -p $out/lib/icedtea $out/share $jre/lib/icedtea + + cp -av openjdk.build/j2sdk-image/* $out/lib/icedtea + + # Move some stuff to top-level. + mv $out/lib/icedtea/include $out/include + mv $out/lib/icedtea/man $out/share/man + + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/linux/*_md.h $out/include/ + + # Remove some broken manpages. + rm -rf $out/share/man/ja* + + # Remove crap from the installation. + rm -rf $out/lib/icedtea/demo $out/lib/icedtea/sample + + # Move the JRE to a separate output. + mv $out/lib/icedtea/jre $jre/lib/icedtea/ + mkdir $out/lib/icedtea/jre + lndir $jre/lib/icedtea/jre $out/lib/icedtea/jre + + # The following files cannot be symlinked, as it seems to violate Java security policies + rm $out/lib/icedtea/jre/lib/ext/* + cp $jre/lib/icedtea/jre/lib/ext/* $out/lib/icedtea/jre/lib/ext/ + + rm -rf $out/lib/icedtea/jre/bin + ln -s $out/lib/icedtea/bin $out/lib/icedtea/jre/bin + + # Remove duplicate binaries. + for i in $(cd $out/lib/icedtea/bin && echo *); do + if [ "$i" = java ]; then continue; fi + if cmp -s $out/lib/icedtea/bin/$i $jre/lib/icedtea/jre/bin/$i; then + ln -sfn $jre/lib/icedtea/jre/bin/$i $out/lib/icedtea/bin/$i + fi + done + + # Generate certificates. + pushd $jre/lib/icedtea/jre/lib/security + rm cacerts + perl ${./generate-cacerts.pl} $jre/lib/icedtea/jre/bin/keytool ${cacert}/etc/ca-bundle.crt + popd + + ln -s $out/lib/icedtea/bin $out/bin + ln -s $jre/lib/icedtea/jre/bin $jre/bin + ''; + + # FIXME: this is unnecessary once the multiple-outputs branch is merged. + preFixup = '' + prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}" + patchELF $jre + propagatedNativeBuildInputs+=" $jre" + + # Propagate the setJavaClassPath setup hook from the JRE so that + # any package that depends on the JRE has $CLASSPATH set up + # properly. + mkdir -p $jre/nix-support + echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/icedtea; fi + EOF + ''; + + meta = { + description = "Free Java development kit based on OpenJDK 7.0 and the IcedTea project"; + longDescription = '' + Free Java environment based on OpenJDK 7.0 and the IcedTea project. + - Full Java runtime environment + - Needed for executing Java Webstart programs and the free Java web browser plugin. + ''; + homepage = http://icedtea.classpath.org; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; + platforms = stdenv.lib.platforms.linux; + }; + + passthru = { inherit architecture; }; +} diff --git a/pkgs/development/compilers/icedtea/fix-java-home.patch b/pkgs/development/compilers/icedtea/fix-java-home.patch new file mode 100644 index 000000000000..5def344f1717 --- /dev/null +++ b/pkgs/development/compilers/icedtea/fix-java-home.patch @@ -0,0 +1,17 @@ +diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp +--- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp 2013-09-06 20:22:03.000000000 +0200 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2014-01-24 22:44:08.223857012 +0100 +@@ -2358,12 +2358,10 @@ + CAST_FROM_FN_PTR(address, os::jvm_path), + dli_fname, sizeof(dli_fname), NULL); + assert(ret, "cannot locate libjvm"); + char *rp = NULL; + if (ret && dli_fname[0] != '\0') { +- rp = realpath(dli_fname, buf); ++ snprintf(buf, buflen, "%s", dli_fname); + } +- if (rp == NULL) +- return; + + if (Arguments::created_by_gamma_launcher()) { + // Support for the gamma launcher. Typical value for buf is diff --git a/pkgs/development/compilers/icedtea/generate-cacerts.pl b/pkgs/development/compilers/icedtea/generate-cacerts.pl new file mode 100644 index 000000000000..3bdd42f7274f --- /dev/null +++ b/pkgs/development/compilers/icedtea/generate-cacerts.pl @@ -0,0 +1,366 @@ +#!/usr/bin/perl + +# Copyright (C) 2007, 2008 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# generate-cacerts.pl generates a JKS keystore named 'cacerts' from +# OpenSSL's certificate bundle using OpenJDK's keytool. + +# First extract each of OpenSSL's bundled certificates into its own +# aliased filename. + +# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2 +# Check and prevention of duplicate aliases added by Vlastimil Babka + +$file = $ARGV[1]; +open(CERTS, $file); +@certs = ; +close(CERTS); + +$pem_file_count = 0; +$in_cert_block = 0; +$write_current_cert = 1; +foreach $cert (@certs) +{ + if ($cert =~ /Issuer: /) + { + $_ = $cert; + if ($cert =~ /personal-freemail/) + { + $cert_alias = "thawtepersonalfreemailca"; + } + elsif ($cert =~ /personal-basic/) + { + $cert_alias = "thawtepersonalbasicca"; + } + elsif ($cert =~ /personal-premium/) + { + $cert_alias = "thawtepersonalpremiumca"; + } + elsif ($cert =~ /server-certs/) + { + $cert_alias = "thawteserverca"; + } + elsif ($cert =~ /premium-server/) + { + $cert_alias = "thawtepremiumserverca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass1ca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass1g2ca"; + } + elsif ($cert =~ + /VeriSign Class 1 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass1g3ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass2ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass2g2ca"; + } + elsif ($cert =~ + /VeriSign Class 2 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass2g3ca"; + } + elsif ($cert =~ /Class 3 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass3ca"; + } + # Version 1 of Class 3 Public Primary Certification Authority + # - G2 is added. Version 3 is excluded. See below. + elsif ($cert =~ + /VeriSign Class 3 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass3g3ca"; + } + elsif ($cert =~ + /RSA Data Security.*Secure Server Certification Authority/) + { + $cert_alias = "verisignserverca"; + } + elsif ($cert =~ /GTE CyberTrust Global Root/) + { + $cert_alias = "gtecybertrustglobalca"; + } + elsif ($cert =~ /Baltimore CyberTrust Root/) + { + $cert_alias = "baltimorecybertrustca"; + } + elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/) + { + $cert_alias = "entrustclientca"; + } + elsif ($cert =~ /www.entrust.net\/GCCA_CPS/) + { + $cert_alias = "entrustglobalclientca"; + } + elsif ($cert =~ /www.entrust.net\/CPS_2048/) + { + $cert_alias = "entrust2048ca"; + } + elsif ($cert =~ /www.entrust.net\/CPS /) + { + $cert_alias = "entrustsslca"; + } + elsif ($cert =~ /www.entrust.net\/SSL_CPS/) + { + $cert_alias = "entrustgsslca"; + } + elsif ($cert =~ /The Go Daddy Group/) + { + $cert_alias = "godaddyclass2ca"; + } + elsif ($cert =~ /Starfield Class 2 Certification Authority/) + { + $cert_alias = "starfieldclass2ca"; + } + elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/) + { + $cert_alias = "valicertclass2ca"; + } + elsif ($cert =~ /GeoTrust Global CA$/) + { + $cert_alias = "geotrustglobalca"; + } + elsif ($cert =~ /Equifax Secure Certificate Authority/) + { + $cert_alias = "equifaxsecureca"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-1/) + { + $cert_alias = "equifaxsecureebusinessca1"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-2/) + { + $cert_alias = "equifaxsecureebusinessca2"; + } + elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/) + { + $cert_alias = "equifaxsecureglobalebusinessca1"; + } + elsif ($cert =~ /Sonera Class1 CA/) + { + $cert_alias = "soneraclass1ca"; + } + elsif ($cert =~ /Sonera Class2 CA/) + { + $cert_alias = "soneraclass2ca"; + } + elsif ($cert =~ /AAA Certificate Services/) + { + $cert_alias = "comodoaaaca"; + } + elsif ($cert =~ /AddTrust Class 1 CA Root/) + { + $cert_alias = "addtrustclass1ca"; + } + elsif ($cert =~ /AddTrust External CA Root/) + { + $cert_alias = "addtrustexternalca"; + } + elsif ($cert =~ /AddTrust Qualified CA Root/) + { + $cert_alias = "addtrustqualifiedca"; + } + elsif ($cert =~ /UTN-USERFirst-Hardware/) + { + $cert_alias = "utnuserfirsthardwareca"; + } + elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/) + { + $cert_alias = "utnuserfirstclientauthemailca"; + } + elsif ($cert =~ /UTN - DATACorp SGC/) + { + $cert_alias = "utndatacorpsgcca"; + } + elsif ($cert =~ /UTN-USERFirst-Object/) + { + $cert_alias = "utnuserfirstobjectca"; + } + elsif ($cert =~ /America Online Root Certification Authority 1/) + { + $cert_alias = "aolrootca1"; + } + elsif ($cert =~ /DigiCert Assured ID Root CA/) + { + $cert_alias = "digicertassuredidrootca"; + } + elsif ($cert =~ /DigiCert Global Root CA/) + { + $cert_alias = "digicertglobalrootca"; + } + elsif ($cert =~ /DigiCert High Assurance EV Root CA/) + { + $cert_alias = "digicerthighassuranceevrootca"; + } + elsif ($cert =~ /GlobalSign Root CA$/) + { + $cert_alias = "globalsignca"; + } + elsif ($cert =~ /GlobalSign Root CA - R2/) + { + $cert_alias = "globalsignr2ca"; + } + elsif ($cert =~ /Elektronik.*Kas.*2005/) + { + $cert_alias = "extra-elektronikkas2005"; + } + elsif ($cert =~ /Elektronik/) + { + $cert_alias = "extra-elektronik2005"; + } + # Mozilla does not provide these certificates: + # baltimorecodesigningca + # gtecybertrust5ca + # trustcenterclass2caii + # trustcenterclass4caii + # trustcenteruniversalcai + else + { + # Generate an alias using the OU and CN attributes of the + # Issuer field if both are present, otherwise use only the + # CN attribute. The Issuer field must have either the OU + # or the CN attribute. + $_ = $cert; + if ($cert =~ /OU=/) + { + s/Issuer:.*?OU=//; + # Remove other occurrences of OU=. + s/OU=.*CN=//; + # Remove CN= if there were not other occurrences of OU=. + s/CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + elsif ($cert =~ /CN=/) + { + s/Issuer:.*CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = "extra-$_"; + + } + while (-e "$cert_alias.pem") + { + $cert_alias = "$cert_alias" . "_"; + } + } + # When it attempts to parse: + # + # Class 3 Public Primary Certification Authority - G2, Version 3 + # + # keytool says: + # + # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false + # Unparseable AuthorityInfoAccess extension due to + # java.io.IOException: Invalid encoding of URI + # + # If we do not exclude this file + # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails + # on this cert, printing: + # + # Couldn't verify: java.security.SignatureException: Signature + # does not match. + # + elsif ($cert =~ + /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/) + { + $write_current_cert = 0; + $pem_file_count--; + } + elsif ($cert eq "-----BEGIN CERTIFICATE-----\n") + { + $_ = $cert; + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = "extra-$_"; + while (-e "$cert_alias.pem") + { + $cert_alias = "$cert_alias" . "_"; + } + if ($in_cert_block != 0) + { + die "$file is malformed."; + } + $in_cert_block = 1; + if ($write_current_cert == 1) + { + $pem_file_count++; + if (-e "$cert_alias.pem") + { + print "$cert_alias"; + die "already exists" + } + open(PEM, ">$cert_alias.pem"); + print PEM $cert; + } + } + elsif ($cert eq "-----END CERTIFICATE-----\n") + { + $in_cert_block = 0; + if ($write_current_cert == 1) + { + print PEM $cert; + close(PEM); + } + $write_current_cert = 1 + } + else + { + if ($in_cert_block == 1 && $write_current_cert == 1) + { + print PEM $cert; + } + } +} + +# Check that the correct number of .pem files were produced. +@pem_files = <*.pem>; +if (@pem_files != $pem_file_count) +{ + print "$pem_file_count"; + die "Number of .pem files produced does not match". + " number of certs read from $file."; +} + +# Now store each cert in the 'cacerts' file using keytool. +$certs_written_count = 0; +foreach $pem_file (@pem_files) +{ + system "$ARGV[0] -noprompt -import". + " -alias `basename $pem_file .pem`". + " -keystore cacerts -storepass 'changeit' -file $pem_file"; + unlink($pem_file); + $certs_written_count++; +} + +# Check that the correct number of certs were added to the keystore. +if ($certs_written_count != $pem_file_count) +{ + die "Number of certs added to keystore does not match". + " number of certs read from $file."; +} diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix new file mode 100644 index 000000000000..6600c8117862 --- /dev/null +++ b/pkgs/development/compilers/icedtea/sources.nix @@ -0,0 +1,56 @@ +# This file is autogenerated from update.py in the same directory. +{ + icedtea7 = rec { + branch = "2.4"; + version = "${branch}.6"; + + url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz"; + sha256 = "06gsrci7934xmlddmi9wpawpgb1mp7c8cx3jmjsq91kdljmvqcy3"; + + hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}"; + + bundles = { + openjdk = rec { + changeset = "b028e58c1b77"; + url = "${hg_url}/archive/${changeset}.tar.gz"; + sha256 = "e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2"; + }; + + corba = rec { + changeset = "48ef1bb6d120"; + url = "${hg_url}/corba/archive/${changeset}.tar.gz"; + sha256 = "2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6"; + }; + + jaxp = rec { + changeset = "e0ba4b9a8b91"; + url = "${hg_url}/jaxp/archive/${changeset}.tar.gz"; + sha256 = "e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca"; + }; + + jaxws = rec { + changeset = "4bd947cd146b"; + url = "${hg_url}/jaxws/archive/${changeset}.tar.gz"; + sha256 = "17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a"; + }; + + jdk = rec { + changeset = "b5282042aae0"; + url = "${hg_url}/jdk/archive/${changeset}.tar.gz"; + sha256 = "ab9b0e973625604b12a2f027cb2a6f9bc5160ef7df55408da6ca8a9c3aaed2d5"; + }; + + langtools = rec { + changeset = "06eeb77dac24"; + url = "${hg_url}/langtools/archive/${changeset}.tar.gz"; + sha256 = "a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477"; + }; + + hotspot = rec { + changeset = "172674e0ab65"; + url = "${hg_url}/hotspot/archive/${changeset}.tar.gz"; + sha256 = "2aadfe9b1848a619bd2d35f802b3e71ef5286e7822f9e7b02ce2539ca817d9b0"; + }; + }; + }; +} diff --git a/pkgs/development/compilers/icedtea/update.py b/pkgs/development/compilers/icedtea/update.py new file mode 100755 index 000000000000..ba3c5fc51ad1 --- /dev/null +++ b/pkgs/development/compilers/icedtea/update.py @@ -0,0 +1,275 @@ +#!/usr/bin/env python3 + +import subprocess, urllib.request, re, os, tarfile +from html.parser import HTMLParser + +HG_URL = 'http://icedtea.classpath.org/hg/release/icedtea{}-forest-{}' +DOWNLOAD_URL = 'http://icedtea.wildebeest.org/download/source/' +DOWNLOAD_HTML = DOWNLOAD_URL + '?C=M;O=D' + +ICEDTEA_JDKS = [7] + +BUNDLES = ['openjdk', 'corba', 'jaxp', 'jaxws', 'jdk', 'langtools', 'hotspot'] + +SRC_PATH = './sources.nix' + +def get_output(cmd, env = None): + try: + proc = subprocess.Popen(cmd, env = env, stdout = subprocess.PIPE) + out = proc.communicate()[0] + except subprocess.CalledProcessError as e: + return None + + return out.decode('utf-8').strip() + +def nix_prefetch_url(url): + env = os.environ.copy() + env['PRINT_PATH'] = '1' + out = get_output(['nix-prefetch-url', url], env = env) + + return out.split('\n') + +def get_nix_attr(path, attr): + out = get_output(['nix-instantiate', '--eval-only', '-A', attr, path]) + + if len(out) < 2 or out[0] != '"' or out[-1] != '"': + raise Exception('Cannot find Nix attribute "{}" (parsing failure?)'.format(attr)) + + # Strip quotes + return out[1:-1] + +def get_jdk_attr(jdk, attr): + return get_nix_attr(SRC_PATH, 'icedtea{}.{}'.format(jdk, attr)) + +class Parser(HTMLParser): + def __init__(self, link_regex): + HTMLParser.__init__(self) + + self.regex = link_regex + self.href = None + self.version = None + + def handle_starttag(self, tag, attrs): + if self.href != None or tag != 'a': + return + + href = None + for attr in attrs: + if attr[0] == 'href': + href = attr[1] + if href == None: + return + + m = re.match(self.regex, href) + if m != None: + self.href = href + self.version = m.group(1) + +def get_latest_version_url(major): + f = urllib.request.urlopen(DOWNLOAD_HTML) + html = f.read().decode('utf-8') + f.close() + + parser = Parser(r'^icedtea\d?-({}\.\d[\d.]*)\.tar\.xz$'.format(major)) + parser.feed(html) + parser.close() + + if parser.href == None: + raise Exception('Error: could not find download url for major version "{}"'.format(major)) + + return parser.version, DOWNLOAD_URL + parser.href + +def get_old_bundle_attrs(jdk, bundle): + attrs = {} + for attr in ('changeset', 'url', 'sha256'): + attrs[attr] = get_jdk_attr(jdk, 'bundles.{}.{}'.format(bundle, attr)) + + return attrs + +def get_old_attrs(jdk): + attrs = {} + + for attr in ('branch', 'version', 'url', 'sha256'): + attrs[attr] = get_jdk_attr(jdk, attr) + + attrs['bundles'] = {} + + for bundle in BUNDLES: + attrs['bundles'][bundle] = get_old_bundle_attrs(jdk, bundle) + + return attrs + +def get_member_filename(tarball, name): + for fname in tarball.getnames(): + m = re.match(r'^icedtea\d?-\d[\d.]*/{}$'.format(name), fname) + if m != None: + return m.group(0) + + return None + +def get_member_file(tarball, name): + path = get_member_filename(tarball, name) + if path == None: + raise Exception('Could not find "{}" inside tarball'.format(name)) + + f = tarball.extractfile(path) + data = f.read().decode('utf-8') + f.close() + + return data + +def get_new_bundle_attr(makefile, bundle, attr): + var = '{}_{}'.format(bundle.upper(), attr.upper()) + regex = r'^{} = (.*?)$'.format(var) + + m = re.search(regex, makefile, re.MULTILINE) + if m == None: + raise Exception('Could not find variable "{}" in Makefile.am'.format(var)) + + return m.group(1) + +def get_new_bundle_attrs(jdk, branch, path): + hg_url = HG_URL.format(jdk, branch) + + attrs = {} + + print('Opening file: "{}"'.format(path)) + tar = tarfile.open(name = path, mode = 'r:xz') + + makefile = get_member_file(tar, 'Makefile.am') + hotspot_map = get_member_file(tar, 'hotspot.map') + + for bundle in BUNDLES: + battrs = {} + + if bundle == 'hotspot': + m = re.search(r'^default (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE) + if m == None: + raise Exception('Could not find info for hotspot bundle in hotspot.map') + + battrs['url'] = '{}/archive/{}.tar.gz'.format(m.group(1), m.group(2)) + battrs['changeset'] = m.group(2) + battrs['sha256'] = m.group(3) + + attrs[bundle] = battrs + continue + + changeset = get_new_bundle_attr(makefile, bundle, 'changeset') + battrs['changeset'] = changeset + battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum') + + if bundle == 'openjdk': + battrs['url'] = '{}/archive/{}.tar.gz'.format(hg_url, changeset) + else: + battrs['url'] = '{}/{}/archive/{}.tar.gz'.format(hg_url, bundle, changeset) + + attrs[bundle] = battrs + + tar.close() + + return attrs + +def get_new_attrs(jdk): + print('Getting old attributes for JDK {}...'.format(jdk)) + old_attrs = get_old_attrs(jdk) + attrs = {} + + # The major version corresponds to a specific JDK (1 = OpenJDK6, 2 = OpenJDK7, 3 = OpenJDK8) + major = jdk - 5 + + print('Getting latest version for JDK {}...'.format(jdk)) + version, url = get_latest_version_url(major) + + print() + print('Old version: {}'.format(old_attrs['version'])) + print('New version: {}'.format(version)) + print() + + if version == old_attrs['version']: + print('No update available, skipping...') + print() + return old_attrs + + print('Update available, generating new attributes for JDK {}...'.format(jdk)) + + attrs['version'] = version + attrs['branch'] = '.'.join(version.split('.')[:2]) + attrs['url'] = url + + print('Downloading tarball from url "{}"...'.format(url)) + print() + attrs['sha256'], path = nix_prefetch_url(url) + print() + + print('Inspecting tarball for bundle information...') + + attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['branch'], path) + + print('Done!') + + return attrs + +def generate_jdk(jdk): + attrs = get_new_attrs(jdk) + + branch = attrs['branch'] + src_version = attrs['version'].replace(branch, '${branch}') + src_url = attrs['url'].replace(attrs['version'], '${version}') + + hg_url = HG_URL.format(jdk, branch) + src_hg_url = HG_URL.format(jdk, '${branch}') + + src = ' icedtea{} = rec {{\n'.format(jdk) + src += ' branch = "{}";\n'.format(branch) + src += ' version = "{}";\n'.format(src_version) + src += '\n' + src += ' url = "{}";\n'.format(src_url) + src += ' sha256 = "{}";\n'.format(attrs['sha256']) + src += '\n' + src += ' hg_url = "{}";\n'.format(src_hg_url) + src += '\n' + src += ' bundles = {\n' + + for bundle in BUNDLES: + battrs = attrs['bundles'][bundle] + + b_url = battrs['url'] + b_url = b_url.replace(hg_url, '${hg_url}') + b_url = b_url.replace(battrs['changeset'], '${changeset}') + + src += ' {} = rec {{\n'.format(bundle) + src += ' changeset = "{}";\n'.format(battrs['changeset']) + src += ' url = "{}";\n'.format(b_url) + src += ' sha256 = "{}";\n'.format(battrs['sha256']) + src += ' };\n' + + if bundle != BUNDLES[-1]: + src += '\n' + + src += ' };\n' + src += ' };\n' + + return src + +def generate_sources(jdks): + src = '# This file is autogenerated from update.py in the same directory.\n' + src += '{\n' + + for jdk in jdks: + print() + print('Generating sources for JDK {}...'.format(jdk)) + src += generate_jdk(jdk) + + src += '}\n' + return src + +if __name__ == '__main__': + print('Generating {}...'.format(SRC_PATH)) + src = generate_sources(ICEDTEA_JDKS) + + f = open(SRC_PATH, 'w', encoding = 'utf-8') + f.write(src) + f.close() + + print() + print('Update complete!') diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index 4609dd0b4422..c32c14cf5848 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -1,24 +1,27 @@ -{ cabal, ansiTerminal, ansiWlPprint, binary, boehmgc, Cabal -, deepseq, filepath, gmp, happy, haskeline, languageJava, mtl -, network, parsers, split, text, time, transformers, trifecta -, unorderedContainers, utf8String, vector, vectorBinaryInstances -, xml +{ cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint, binary +, boehmgc, Cabal, cheapskate, deepseq, filepath, gmp, happy +, haskeline, languageJava, lens, libffi, llvmGeneral +, llvmGeneralPure, mtl, network, parsers, split, text, time +, transformers, trifecta, unorderedContainers, utf8String, vector +, vectorBinaryInstances, xml, zlib }: cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.10.1"; - sha256 = "194gbpk8fy64maj9lcwj9hkbndc3287bh9mz2jm09vd11i23iyg1"; - isLibrary = false; + version = "0.9.12"; + sha256 = "151h9qkx7yw24q0b60r78hki1y8m6sxmfars7wywnbzk3kalqb6x"; + isLibrary = true; isExecutable = true; buildDepends = [ - ansiTerminal ansiWlPprint binary Cabal deepseq filepath haskeline - languageJava mtl network parsers split text time transformers + annotatedWlPprint ansiTerminal ansiWlPprint binary Cabal cheapskate + deepseq filepath haskeline languageJava lens libffi llvmGeneral + llvmGeneralPure mtl network parsers split text time transformers trifecta unorderedContainers utf8String vector - vectorBinaryInstances xml + vectorBinaryInstances xml zlib ]; buildTools = [ happy ]; extraLibraries = [ boehmgc gmp ]; + configureFlags = "-fllvm -fgmp -fffi"; meta = { homepage = "http://www.idris-lang.org/"; description = "Functional Programming Language with Dependent Types"; diff --git a/pkgs/development/compilers/jdk/jdk7-linux.nix b/pkgs/development/compilers/jdk/jdk7-linux.nix index 7ef575ba807b..2d2c07c67ff7 100644 --- a/pkgs/development/compilers/jdk/jdk7-linux.nix +++ b/pkgs/development/compilers/jdk/jdk7-linux.nix @@ -6,6 +6,19 @@ , installjdk ? true , pluginSupport ? true , installjce ? false +, glib +, libxml2 +, libav_0_8 +, ffmpeg +, libxslt +, mesa_noglu +, freetype +, fontconfig +, gnome +, cairo +, alsaLib +, atk +, gdk_pixbuf }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -35,22 +48,25 @@ let ""; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { + patchversion = "51"; + name = - if installjdk then "jdk-1.7.0_45" else "jre-1.7.0_45"; + if installjdk then "jdk-1.7.0_${patchversion}" else "jre-1.7.0_${patchversion}"; src = if stdenv.system == "i686-linux" then requireFile { - name = "jdk-7u45-linux-i586.tar.gz"; + name = "jdk-7u${patchversion}-linux-i586.tar.gz"; url = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; - sha256 = "1q0nw2rwmavcrssyigq76p1h00hm8kd3rhb5bdv7rbdcs0jxrjsa"; + sha256 = "1ks2zyx88bxdjcbdgg40mh1i9a83ll9ymxr79rplfvj48ig9d8mk"; } else if stdenv.system == "x86_64-linux" then + requireFile { - name = "jdk-7u45-linux-x64.tar.gz"; + name = "jdk-7u${patchversion}-linux-x64.tar.gz"; url = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; - sha256 = "06jbz536zycqkdpc7zriay0jidmj9nriqva60afsgpv93kcf9spj"; + sha256 = "0p7mfjj8fxlghvhcqhwgrifzb32b9y143yw962zk02bfycz7qdkp"; } else abort "jdk requires i686-linux or x86_64 linux"; @@ -84,7 +100,7 @@ stdenv.mkDerivation { # construct the rpath rpath= for i in $libraries; do - rpath=$rpath''${rpath:+:}$i/lib + rpath=$rpath''${rpath:+:}$i/lib''${rpath:+:}$i/lib64 done if test -z "$installjdk"; then @@ -99,6 +115,8 @@ stdenv.mkDerivation { fi rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli + rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server + rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture} # set all the dynamic linkers @@ -108,6 +126,12 @@ stdenv.mkDerivation { find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; + # HACK: For some reason, appending atk to the global patchelf rpath paths causes: + # java: relocation error: java: symbol , version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference + # Because only libglass.so needs atk, we put it only in it's rpath. + # This seems to work fine. + patchelf --set-rpath "$rpath:${atk}/lib" $out/jre/lib/${architecture}/libglass.so + if test -z "$pluginSupport"; then rm -f $out/bin/javaws if test -n "$installjdk"; then @@ -125,8 +149,8 @@ stdenv.mkDerivation { * libXt is only needed on amd64 */ libraries = - [stdenv.gcc.libc] ++ - (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt] else []); + [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf] ++ + (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.gcc.gcc] else []); passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins"; diff --git a/pkgs/development/compilers/julia/0.2.1.nix b/pkgs/development/compilers/julia/0.2.1.nix new file mode 100644 index 000000000000..f7d20a1e01f0 --- /dev/null +++ b/pkgs/development/compilers/julia/0.2.1.nix @@ -0,0 +1,140 @@ +{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib + , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl + , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack + , tcl, tk, xproto, libX11, git, mpfr + } : +let + realGcc = stdenv.gcc.gcc; +in +stdenv.mkDerivation rec { + pname = "julia"; + version = "0.2.1"; + name = "${pname}-${version}"; + + grisu_ver = "1.1.1"; + dsfmt_ver = "2.2"; + openblas_ver = "v0.2.2"; + lapack_ver = "3.4.1"; + arpack_ver = "3.1.3"; + clp_ver = "1.14.5"; + lighttpd_ver = "1.4.29"; + patchelf_ver = "0.6"; + pcre_ver = "8.31"; + + grisu_src = fetchurl { + url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz"; + sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d"; + }; + dsfmt_src = fetchurl { + url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; + name = "dsfmt-${dsfmt_ver}.tar.gz"; + sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899"; + }; + openblas_src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}"; + name = "openblas-${openblas_ver}.tar.gz"; + sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e"; + }; + arpack_src = fetchurl { + url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/"; + name = "arpack-ng-${arpack_ver}.tar.gz"; + sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d"; + }; + lapack_src = fetchurl { + url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz"; + name = "lapack-${lapack_ver}.tgz"; + sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; + }; + clp_src = fetchurl { + url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz"; + name = "clp-${clp_ver}.tar.gz"; + sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817"; + }; + lighttpd_src = fetchurl { + url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz"; + sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85"; + }; + patchelf_src = fetchurl { + url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2"; + sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"; + }; + pcre_src = fetchurl { + url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2"; + sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p"; + }; + + src = fetchgit { + url = "git://github.com/JuliaLang/julia.git"; + rev = "e44b5939057d87c1e854077108a1a6d66203f4fa"; + sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a"; + }; + + buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib + fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf + openblas liblapack tcl tk xproto libX11 git mpfr + ]; + + configurePhase = '' + for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR; + do + makeFlags="$makeFlags USE_SYSTEM_$i=1 " + done + + copy_kill_hash(){ + cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')" + } + + for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do + copy_kill_hash "$i" deps + done + copy_kill_hash "${dsfmt_src}" deps/random + + ${if realGcc ==null then "" else + ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''} + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC " + + export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia" + + export GLPK_PREFIX="${glpk}/include" + + mkdir -p "$out/lib" + sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile + sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile + + export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}" + + export dontPatchELF=1 + + export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia" + ''; + + preBuild = '' + mkdir -p usr/lib + + echo "$out" + mkdir -p "$out/lib" + ( + cd "$(mktemp -d)" + for i in "${suitesparse}"/lib/lib*.a; do + ar -x $i + done + gcc *.o --shared -o "$out/lib/libsuitesparse.so" + ) + cp "$out/lib/libsuitesparse.so" usr/lib + for i in umfpack cholmod amd camd colamd spqr; do + ln -s libsuitesparse.so "$out"/lib/lib$i.so; + ln -s libsuitesparse.so "usr"/lib/lib$i.so; + done + ''; + + preInstall = '' + ''; + + meta = { + description = "High-level performance-oriented dynamical language for technical computing"; + homepage = "http://julialang.org/"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/git-20131013.nix similarity index 100% rename from pkgs/development/compilers/julia/default.nix rename to pkgs/development/compilers/julia/git-20131013.nix diff --git a/pkgs/development/compilers/llvm/3.1/clang-include-paths.patch b/pkgs/development/compilers/llvm/3.1/clang-include-paths.patch new file mode 100644 index 000000000000..5e7370718ab4 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.1/clang-include-paths.patch @@ -0,0 +1,21 @@ +diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp +--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp 2012-05-11 20:16:02.000000000 -0400 ++++ clang-3.1.src/lib/Driver/ToolChains.cpp 2012-10-08 01:13:01.044083509 -0400 +@@ -2146,9 +2146,6 @@ + if (DriverArgs.hasArg(options::OPT_nostdinc)) + return; + +- if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include"); +- + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + llvm::sys::Path P(D.ResourceDir); + P.appendComponent("include"); +@@ -2264,6 +2261,7 @@ + return; + + // Check if libc++ has been enabled and provide its include paths if so. ++ // !!! Will need to modify this if/when nixpkgs uses libc++ + if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) { + // libc++ is always installed at a fixed path on Linux currently. + addSystemInclude(DriverArgs, CC1Args, diff --git a/pkgs/development/compilers/llvm/3.1/clang-ld-flags.patch b/pkgs/development/compilers/llvm/3.1/clang-ld-flags.patch new file mode 100644 index 000000000000..ffa67b464eca --- /dev/null +++ b/pkgs/development/compilers/llvm/3.1/clang-ld-flags.patch @@ -0,0 +1,57 @@ +diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp +--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp 2012-05-11 20:16:02.000000000 -0400 ++++ clang-3.1.src/lib/Driver/ToolChains.cpp 2012-10-08 01:22:53.458850737 -0400 +@@ -2077,16 +2077,6 @@ + addPathIfExists(LibPath + "/../" + Multilib, Paths); + } + } +- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths); +- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); +- +- // Try walking via the GCC triple path in case of multiarch GCC +- // installations with strange symlinks. +- if (GCCInstallation.isValid()) +- addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + +- "/../../" + Multilib, Paths); + + // Add the non-multilib suffixed paths (if potentially different). + if (GCCInstallation.isValid()) { +@@ -2100,8 +2090,6 @@ + addPathIfExists(LibPath, Paths); + } + } +- addPathIfExists(SysRoot + "/lib", Paths); +- addPathIfExists(SysRoot + "/usr/lib", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { +diff -Naur clang-3.1.src-orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp +--- clang-3.1.src-orig/lib/Driver/Tools.cpp 2012-04-18 17:32:25.000000000 -0400 ++++ clang-3.1.src/lib/Driver/Tools.cpp 2012-10-08 01:25:23.913501995 -0400 +@@ -5210,24 +5210,6 @@ + ToolChain.getArch() == llvm::Triple::thumb || + (!Args.hasArg(options::OPT_static) && + !Args.hasArg(options::OPT_shared))) { +- CmdArgs.push_back("-dynamic-linker"); +- if (ToolChain.getArch() == llvm::Triple::x86) +- CmdArgs.push_back("/lib/ld-linux.so.2"); +- else if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb) +- CmdArgs.push_back("/lib/ld-linux.so.3"); +- else if (ToolChain.getArch() == llvm::Triple::mips || +- ToolChain.getArch() == llvm::Triple::mipsel) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::mips64 || +- ToolChain.getArch() == llvm::Triple::mips64el) +- CmdArgs.push_back("/lib64/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc64) +- CmdArgs.push_back("/lib64/ld64.so.1"); +- else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); + } + + CmdArgs.push_back("-o"); diff --git a/pkgs/development/compilers/llvm/3.1/clang.nix b/pkgs/development/compilers/llvm/3.1/clang.nix new file mode 100644 index 000000000000..c152d2215d80 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.1/clang.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, perl, groff, llvm, cmake }: + +let + version = "3.1"; + gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc; +in + +stdenv.mkDerivation { + name = "clang-${version}"; + + buildInputs = [ perl llvm groff cmake ]; + + patches = stdenv.lib.optionals (stdenv.gcc.libc != null) + [ ./clang-include-paths.patch ./clang-ld-flags.patch ]; + + cmakeFlags = [ + "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_TARGETS_TO_BUILD=all" + "-DGCC_INSTALL_PREFIX=${gccReal}" + ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [ + "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/" + ]; + + enableParallelBuilding = true; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; + sha256 = "11m7sm9f8qcrayckfg3z91zb3fimilpm0f7azn7q7qnkvhay4qzz"; + }; + + passthru = { gcc = stdenv.gcc.gcc; }; + + meta = { + homepage = http://clang.llvm.org/; + description = "A C language family frontend for LLVM"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric vlstill]; + platforms = with stdenv.lib.platforms; all; + }; +} + diff --git a/pkgs/development/compilers/llvm/3.1/default.nix b/pkgs/development/compilers/llvm/3.1/default.nix new file mode 100644 index 000000000000..60837d58b295 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.1/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, perl, groff, cmake, python, binutils }: + +let version = "3.1"; in + +stdenv.mkDerivation { + name = "llvm-${version}"; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; + sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab"; + }; + + buildInputs = [ perl groff cmake python ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + ]; + + enableParallelBuilding = true; + + meta = { + homepage = http://llvm.org/; + description = "Collection of modular and reusable compiler and toolchain technologies"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric raskin vlstill]; + platforms = with stdenv.lib.platforms; all; + }; +} + diff --git a/pkgs/development/compilers/llvm/3.2/clang-purity.patch b/pkgs/development/compilers/llvm/3.2/clang-purity.patch new file mode 100644 index 000000000000..18c70b56c540 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.2/clang-purity.patch @@ -0,0 +1,137 @@ +diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver/ToolChains.cpp +--- clang-3.2.src-orig/lib/Driver/ToolChains.cpp 2012-12-16 10:59:27.000000000 -0500 ++++ clang-3.2.src/lib/Driver/ToolChains.cpp 2013-01-22 14:16:55.787547681 -0500 +@@ -2153,16 +2153,6 @@ + addPathIfExists(LibPath + "/../" + GCCTriple.str() + "/lib", Paths); + } + } +- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths); +- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); +- +- // Try walking via the GCC triple path in case of multiarch GCC +- // installations with strange symlinks. +- if (GCCInstallation.isValid()) +- addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + +- "/../../" + Multilib, Paths); + + // Add the non-multilib suffixed paths (if potentially different). + if (GCCInstallation.isValid()) { +@@ -2176,8 +2166,6 @@ + addPathIfExists(LibPath, Paths); + } + } +- addPathIfExists(SysRoot + "/lib", Paths); +- addPathIfExists(SysRoot + "/usr/lib", Paths); + } + + bool Linux::HasNativeLLVMSupport() const { +@@ -2228,9 +2216,6 @@ + if (DriverArgs.hasArg(options::OPT_nostdinc)) + return; + +- if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include"); +- + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + llvm::sys::Path P(D.ResourceDir); + P.appendComponent("include"); +@@ -2295,24 +2280,6 @@ + "/usr/include/powerpc64-linux-gnu" + }; + ArrayRef MultiarchIncludeDirs; +- if (getTriple().getArch() == llvm::Triple::x86_64) { +- MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::x86) { +- MultiarchIncludeDirs = X86MultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::arm) { +- if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) +- MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; +- else +- MultiarchIncludeDirs = ARMMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::mips) { +- MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::mipsel) { +- MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::ppc) { +- MultiarchIncludeDirs = PPCMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::ppc64) { +- MultiarchIncludeDirs = PPC64MultiarchIncludeDirs; +- } + for (ArrayRef::iterator I = MultiarchIncludeDirs.begin(), + E = MultiarchIncludeDirs.end(); + I != E; ++I) { +@@ -2324,13 +2291,6 @@ + + if (getTriple().getOS() == llvm::Triple::RTEMS) + return; +- +- // Add an include of '/include' directly. This isn't provided by default by +- // system GCCs, but is often used with cross-compiling GCCs, and harmless to +- // add even when Clang is acting as-if it were a system compiler. +- addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); +- +- addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include"); + } + + /// \brief Helper to add the thre variant paths for a libstdc++ installation. +diff -Naur clang-3.2.src-orig/lib/Driver/Tools.cpp clang-3.2.src/lib/Driver/Tools.cpp +--- clang-3.2.src-orig/lib/Driver/Tools.cpp 2012-11-21 02:56:23.000000000 -0500 ++++ clang-3.2.src/lib/Driver/Tools.cpp 2013-01-22 14:24:37.167212186 -0500 +@@ -5972,34 +5972,6 @@ + ToolChain.getArch() == llvm::Triple::thumb || + (!Args.hasArg(options::OPT_static) && + !Args.hasArg(options::OPT_shared))) { +- CmdArgs.push_back("-dynamic-linker"); +- if (isAndroid) +- CmdArgs.push_back("/system/bin/linker"); +- else if (ToolChain.getArch() == llvm::Triple::x86) +- CmdArgs.push_back("/lib/ld-linux.so.2"); +- else if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb) { +- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) +- CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); +- else +- CmdArgs.push_back("/lib/ld-linux.so.3"); +- } +- else if (ToolChain.getArch() == llvm::Triple::mips || +- ToolChain.getArch() == llvm::Triple::mipsel) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::mips64 || +- ToolChain.getArch() == llvm::Triple::mips64el) { +- if (hasMipsN32ABIArg(Args)) +- CmdArgs.push_back("/lib32/ld.so.1"); +- else +- CmdArgs.push_back("/lib64/ld.so.1"); +- } +- else if (ToolChain.getArch() == llvm::Triple::ppc) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc64) +- CmdArgs.push_back("/lib64/ld64.so.1"); +- else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); + } + + CmdArgs.push_back("-o"); +diff -Naur clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp +--- clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp 2012-10-24 12:19:39.000000000 -0400 ++++ clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp 2013-01-22 14:20:32.803925775 -0500 +@@ -221,8 +221,6 @@ + case llvm::Triple::Bitrig: + break; + default: +- // FIXME: temporary hack: hard-coded paths. +- AddPath("/usr/local/include", System, true, false, false); + break; + } + } +@@ -330,8 +328,6 @@ + break; + } + +- if ( os != llvm::Triple::RTEMS ) +- AddPath("/usr/include", System, false, false, false); + } + + void InitHeaderSearch:: diff --git a/pkgs/development/compilers/llvm/3.2/clang.nix b/pkgs/development/compilers/llvm/3.2/clang.nix new file mode 100644 index 000000000000..b8e9f946773d --- /dev/null +++ b/pkgs/development/compilers/llvm/3.2/clang.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2 }: + +let + version = "3.2"; + gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc; +in + +stdenv.mkDerivation { + name = "clang-${version}"; + + buildInputs = [ perl llvm groff cmake libxml2 ]; + + patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch; + + cmakeFlags = [ + "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_TARGETS_TO_BUILD=all" + "-DGCC_INSTALL_PREFIX=${gccReal}" + ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [ + "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/" + ]; + + enableParallelBuilding = true; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; + sha256 = "0n2nzw3pw2v7fk67f2k2qyzd9wibvi3i5j7cjzz1csqgghzz1aia"; + }; + + passthru = { gcc = stdenv.gcc.gcc; }; + + meta = { + homepage = http://clang.llvm.org/; + description = "A C language family frontend for LLVM"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.2/default.nix b/pkgs/development/compilers/llvm/3.2/default.nix new file mode 100644 index 000000000000..c373f1c1a4a2 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.2/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils }: + +let version = "3.2"; in + +stdenv.mkDerivation { + name = "llvm-${version}"; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; + sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j"; + }; + + patches = [ ./set_soname.patch ]; # http://llvm.org/bugs/show_bug.cgi?id=12334 + patchFlags = "-p0"; + + preConfigure = "patchShebangs ."; + + propagatedBuildInputs = [ libffi ]; + buildInputs = [ perl groff cmake python ]; # ToDo: polly, libc++; enable cxx11? + + # created binaries need to be run before installation... I coudn't find a better way + preBuild = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/lib''; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_SHARED_LIBS=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + ]; + + enableParallelBuilding = true; + #doCheck = true; # tests are broken, don't know why + + meta = { + homepage = http://llvm.org/; + description = "Collection of modular and reusable compiler and toolchain technologies"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric raskin vlstill]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.2/set_soname.patch b/pkgs/development/compilers/llvm/3.2/set_soname.patch new file mode 100644 index 000000000000..69ba74dddad8 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.2/set_soname.patch @@ -0,0 +1,12 @@ +https://bugs.gentoo.org/show_bug.cgi?id=409267 +http://llvm.org/bugs/show_bug.cgi?id=12334 +--- tools/llvm-shlib/Makefile.orig 2012-03-26 18:14:13.071797115 +0200 ++++ tools/llvm-shlib/Makefile 2012-03-26 17:31:12.491196254 +0200 +@@ -67,6 +67,7 @@ + # Include everything from the .a's into the shared library. + LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \ + -Wl,--no-whole-archive ++ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) + endif + + ifeq ($(HOST_OS),Linux) diff --git a/pkgs/development/compilers/llvm/3.3/clang-purity.patch b/pkgs/development/compilers/llvm/3.3/clang-purity.patch new file mode 100644 index 000000000000..e82305189e8f --- /dev/null +++ b/pkgs/development/compilers/llvm/3.3/clang-purity.patch @@ -0,0 +1,162 @@ +diff -Naur cfe-3.3.src-orig/lib/Driver/ToolChains.cpp cfe-3.3.src/lib/Driver/ToolChains.cpp +--- cfe-3.3.src-orig/lib/Driver/ToolChains.cpp 2013-05-06 12:26:41.000000000 -0400 ++++ cfe-3.3.src/lib/Driver/ToolChains.cpp 2013-06-21 19:28:12.120364372 -0400 +@@ -2318,17 +2318,6 @@ + Paths); + } + } +- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths); +- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); +- +- // Try walking via the GCC triple path in case of multiarch GCC +- // installations with strange symlinks. +- if (GCCInstallation.isValid()) +- addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + +- "/../../" + Multilib, Paths); +- + // Add the non-multilib suffixed paths (if potentially different). + if (GCCInstallation.isValid()) { + const std::string &LibPath = GCCInstallation.getParentLibPath(); +@@ -2341,8 +2330,6 @@ + addPathIfExists(LibPath, Paths); + } + } +- addPathIfExists(SysRoot + "/lib", Paths); +- addPathIfExists(SysRoot + "/usr/lib", Paths); + + IsPIEDefault = SanitizerArgs(*this, Args).hasZeroBaseShadow(); + } +@@ -2395,9 +2382,6 @@ + if (DriverArgs.hasArg(options::OPT_nostdinc)) + return; + +- if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) +- addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include"); +- + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + llvm::sys::Path P(D.ResourceDir); + P.appendComponent("include"); +@@ -2479,26 +2463,6 @@ + "/usr/include/powerpc64-linux-gnu" + }; + ArrayRef MultiarchIncludeDirs; +- if (getTriple().getArch() == llvm::Triple::x86_64) { +- MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::x86) { +- MultiarchIncludeDirs = X86MultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::aarch64) { +- MultiarchIncludeDirs = AArch64MultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::arm) { +- if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) +- MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; +- else +- MultiarchIncludeDirs = ARMMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::mips) { +- MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::mipsel) { +- MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::ppc) { +- MultiarchIncludeDirs = PPCMultiarchIncludeDirs; +- } else if (getTriple().getArch() == llvm::Triple::ppc64) { +- MultiarchIncludeDirs = PPC64MultiarchIncludeDirs; +- } + for (ArrayRef::iterator I = MultiarchIncludeDirs.begin(), + E = MultiarchIncludeDirs.end(); + I != E; ++I) { +@@ -2510,13 +2474,6 @@ + + if (getTriple().getOS() == llvm::Triple::RTEMS) + return; +- +- // Add an include of '/include' directly. This isn't provided by default by +- // system GCCs, but is often used with cross-compiling GCCs, and harmless to +- // add even when Clang is acting as-if it were a system compiler. +- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); +- +- addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include"); + } + + /// \brief Helper to add the three variant paths for a libstdc++ installation. +diff -Naur cfe-3.3.src-orig/lib/Driver/Tools.cpp cfe-3.3.src/lib/Driver/Tools.cpp +--- cfe-3.3.src-orig/lib/Driver/Tools.cpp 2013-05-30 14:01:30.000000000 -0400 ++++ cfe-3.3.src/lib/Driver/Tools.cpp 2013-06-21 19:30:51.604726574 -0400 +@@ -5976,43 +5976,6 @@ + } + } + +- if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb || +- (!Args.hasArg(options::OPT_static) && +- !Args.hasArg(options::OPT_shared))) { +- CmdArgs.push_back("-dynamic-linker"); +- if (isAndroid) +- CmdArgs.push_back("/system/bin/linker"); +- else if (ToolChain.getArch() == llvm::Triple::x86) +- CmdArgs.push_back("/lib/ld-linux.so.2"); +- else if (ToolChain.getArch() == llvm::Triple::aarch64) +- CmdArgs.push_back("/lib/ld-linux-aarch64.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb) { +- if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) +- CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); +- else +- CmdArgs.push_back("/lib/ld-linux.so.3"); +- } +- else if (ToolChain.getArch() == llvm::Triple::mips || +- ToolChain.getArch() == llvm::Triple::mipsel) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::mips64 || +- ToolChain.getArch() == llvm::Triple::mips64el) { +- if (hasMipsN32ABIArg(Args)) +- CmdArgs.push_back("/lib32/ld.so.1"); +- else +- CmdArgs.push_back("/lib64/ld.so.1"); +- } +- else if (ToolChain.getArch() == llvm::Triple::ppc) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc64 || +- ToolChain.getArch() == llvm::Triple::systemz) +- CmdArgs.push_back("/lib64/ld64.so.1"); +- else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); +- } +- + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + +diff -Naur cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp +--- cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp 2013-04-29 21:21:43.000000000 -0400 ++++ cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp 2013-06-21 19:32:47.627016565 -0400 +@@ -225,20 +225,6 @@ + const HeaderSearchOptions &HSOpts) { + llvm::Triple::OSType os = triple.getOS(); + +- if (HSOpts.UseStandardSystemIncludes) { +- switch (os) { +- case llvm::Triple::FreeBSD: +- case llvm::Triple::NetBSD: +- case llvm::Triple::OpenBSD: +- case llvm::Triple::Bitrig: +- break; +- default: +- // FIXME: temporary hack: hard-coded paths. +- AddPath("/usr/local/include", System, false); +- break; +- } +- } +- + // Builtin includes use #include_next directives and should be positioned + // just prior C include dirs. + if (HSOpts.UseBuiltinIncludes) { +@@ -332,9 +318,6 @@ + default: + break; + } +- +- if ( os != llvm::Triple::RTEMS ) +- AddPath("/usr/include", ExternCSystem, false); + } + + void InitHeaderSearch:: diff --git a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch new file mode 100644 index 000000000000..de6a468b239f --- /dev/null +++ b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch @@ -0,0 +1,9 @@ +--- a/utils/TableGen/CMakeLists.txt (revision 190146) ++++ b/utils/TableGen/CMakeLists.txt (working copy) +@@ -1,4 +1,5 @@ + set(LLVM_LINK_COMPONENTS Support) ++set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) + + add_tablegen(clang-tblgen CLANG + ClangASTNodesEmitter.cpp + diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix new file mode 100644 index 000000000000..262e0bff2483 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.3/clang.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }: + +let + version = "3.3"; + gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc; +in + +stdenv.mkDerivation { + name = "clang-${version}"; + + buildInputs = [ perl llvm groff cmake libxml2 python ]; + + patches = [ ./clang-tablegen-dir.patch ] ++ + stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch; + + cmakeFlags = [ + "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_TARGETS_TO_BUILD=all" + "-DGCC_INSTALL_PREFIX=${gccReal}" + ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [ + "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/" + ]; + + enableParallelBuilding = true; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz"; + sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi"; + }; + + passthru = { gcc = stdenv.gcc.gcc; }; + + meta = { + homepage = http://clang.llvm.org/; + description = "A C language family frontend for LLVM"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.3/llvm.nix b/pkgs/development/compilers/llvm/3.3/llvm.nix new file mode 100644 index 000000000000..e40014a960c4 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.3/llvm.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils }: +let + version = "3.3"; +in stdenv.mkDerivation rec { + name = "llvm-${version}"; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; + sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8"; + }; + + patches = [ + ./more-memory-for-bugpoint.patch # The default rlimits in 3.3 are too low for shared libraries. + ./no-rule-aarch64.patch # http://llvm.org/bugs/show_bug.cgi?id=16625 + ]; + + buildInputs = [ perl groff cmake python libffi ]; + + # hacky fix: created binaries need to be run before installation + preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD"; + in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib"; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa + ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; + + enableParallelBuilding = true; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Collection of modular and reusable compiler and toolchain technologies"; + homepage = http://llvm.org/; + license = licenses.bsd3; + maintainers = with maintainers; [ lovek323 raskin viric ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch b/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch similarity index 100% rename from pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch rename to pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch diff --git a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch new file mode 100644 index 000000000000..ea7214febe5a --- /dev/null +++ b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch @@ -0,0 +1,8 @@ +--- llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 04:32:15 182189 ++++ llvm/lib/Target/AArch64/Utils/CMakeLists.txt 2013/05/18 08:17:47 182190 +@@ -3,3 +3,5 @@ + add_llvm_library(LLVMAArch64Utils + AArch64BaseInfo.cpp + ) ++ ++add_dependencies(LLVMAArch64Utils AArch64CommonTableGen) diff --git a/pkgs/development/compilers/llvm/3.4/clang-purity.patch b/pkgs/development/compilers/llvm/3.4/clang-purity.patch new file mode 100644 index 000000000000..c7021a58f9bb --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/clang-purity.patch @@ -0,0 +1,19 @@ +diff -Naur clang-3.4-orig/lib/Driver/Tools.cpp clang-3.4/lib/Driver/Tools.cpp +--- clang-3.4-orig/lib/Driver/Tools.cpp 2013-12-08 21:59:27.000000000 -0500 ++++ clang-3.4/lib/Driver/Tools.cpp 2014-01-27 12:48:29.421872597 -0500 +@@ -6477,15 +6477,6 @@ + } + } + +- if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb || +- (!Args.hasArg(options::OPT_static) && +- !Args.hasArg(options::OPT_shared))) { +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString( +- D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain))); +- } +- + CmdArgs.push_back("-o"); + CmdArgs.push_back(Output.getFilename()); + diff --git a/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch b/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch new file mode 100644 index 000000000000..5fb67f169f45 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/clang-separate-build.patch @@ -0,0 +1,8 @@ +diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt +--- clang-3.4-orig/tools/extra/CMakeLists.txt 2013-11-07 19:08:23.000000000 -0500 ++++ clang-3.4/tools/extra/CMakeLists.txt 2014-01-20 11:47:22.678435223 -0500 +@@ -1,3 +1,4 @@ ++include(CheckLibraryExists) + check_library_exists(edit el_init "" HAVE_LIBEDIT) + + add_subdirectory(clang-apply-replacements) diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix new file mode 100644 index 000000000000..7032056f7e47 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/clang.nix @@ -0,0 +1,48 @@ +{ stdenv, fetch, cmake, libxml2, libedit, llvm, version }: + +stdenv.mkDerivation { + name = "clang-${version}"; + + unpackPhase = '' + unpackFile ${fetch "clang" "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"} + mv clang-${version} clang + sourceRoot=$PWD/clang + unpackFile ${fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"} + mv clang-tools-extra-${version} $sourceRoot/tools/extra + # !!! Hopefully won't be needed for 3.5 + unpackFile ${llvm.src} + export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}" + (cd llvm-${version} && patch -Np1 -i ${./llvm-separate-build.patch}) + ''; + + patches = [ ./clang-separate-build.patch ./clang-purity.patch ]; + + buildInputs = [ cmake libedit libxml2 ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" + ] ++ + (stdenv.lib.optional (stdenv.gcc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include") ++ + (stdenv.lib.optional (stdenv.gcc.gcc != null) "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}"); + + # Clang expects to find LLVMgold in its own prefix + # Clang expects to find sanitizer libraries in its own prefix + postInstall = '' + ln -sv ${llvm}/lib/LLVMgold.so $out/lib + ln -sv ${llvm}/lib/clang/3.4/lib $out/lib/clang/3.4/ + ''; + + passthru.gcc = stdenv.gcc.gcc; + + enableParallelBuilding = true; + + meta = { + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.4/default.nix b/pkgs/development/compilers/llvm/3.4/default.nix new file mode 100644 index 000000000000..0a8a72f59a96 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/default.nix @@ -0,0 +1,25 @@ +{ newScope, stdenv, isl, fetchurl }: +let + callPackage = newScope (self // { inherit stdenv isl version fetch; }); + + version = "3.4"; + + fetch = name: sha256: fetchurl { + url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz"; + inherit sha256; + }; + + self = { + llvm = callPackage ./llvm.nix {}; + + clang = callPackage ./clang.nix {}; + + lld = callPackage ./lld.nix {}; + + lldb = callPackage ./lldb.nix {}; + + polly = callPackage ./polly.nix {}; + + dragonegg = callPackage ./dragonegg.nix {}; + }; +in self diff --git a/pkgs/development/compilers/llvm/dragonegg.nix b/pkgs/development/compilers/llvm/3.4/dragonegg.nix similarity index 66% rename from pkgs/development/compilers/llvm/dragonegg.nix rename to pkgs/development/compilers/llvm/3.4/dragonegg.nix index 38d3546d9819..f8ea44793de0 100644 --- a/pkgs/development/compilers/llvm/dragonegg.nix +++ b/pkgs/development/compilers/llvm/3.4/dragonegg.nix @@ -1,13 +1,9 @@ -{stdenv, fetchurl, llvm, gmp, mpfr, mpc, ncurses, zlib}: +{stdenv, fetch, llvm, gmp, mpfr, mpc, ncurses, zlib, version}: stdenv.mkDerivation rec { - version = "3.4"; name = "dragonegg-${version}"; - src = fetchurl { - url = "http://llvm.org/releases/${version}/${name}.src.tar.gz"; - sha256 = "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl"; - }; + src = fetch "dragonegg" "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl"; # The gcc the plugin will be built for (the same used building dragonegg) GCC = "gcc"; @@ -24,7 +20,7 @@ stdenv.mkDerivation rec { homepage = http://dragonegg.llvm.org/; description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM"; license = "GPLv2+"; - maintainers = with stdenv.lib.maintainers; [viric]; + maintainers = with stdenv.lib.maintainers; [viric shlevy]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/development/compilers/llvm/3.4/lld.nix b/pkgs/development/compilers/llvm/3.4/lld.nix new file mode 100644 index 000000000000..22eb02a0e35b --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/lld.nix @@ -0,0 +1,31 @@ +{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }: + +stdenv.mkDerivation { + name = "lld-${version}"; + + src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz"; + + preUnpack = '' + # !!! Hopefully won't be needed for 3.5 + unpackFile ${llvm.src} + export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}" + ''; + + buildInputs = [ cmake ncurses zlib python ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLD_PATH_TO_LLVM_BUILD=${llvm}" + ]; + + enableParallelBuilding = true; + + meta = { + description = "A set of modular code for creating linker tools"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.4/lldb.nix b/pkgs/development/compilers/llvm/3.4/lldb.nix new file mode 100644 index 000000000000..7b35119a93fb --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/lldb.nix @@ -0,0 +1,44 @@ +{ stdenv +, fetch +, cmake +, zlib +, ncurses +, swig +, which +, libedit +, llvm +, clang +, python +, version +}: + +stdenv.mkDerivation { + name = "lldb-${version}"; + + src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g"; + + patchPhase = '' + sed -i 's|/usr/bin/env||' \ + scripts/Python/finish-swig-Python-LLDB.sh \ + scripts/Python/build-swig-Python.sh + ''; + + buildInputs = [ cmake python which swig ncurses zlib libedit ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}" + "-DLLDB_PATH_TO_CLANG_BUILD=${clang}" + ]; + + enableParallelBuilding = true; + + meta = { + description = "A next-generation high-performance debugger"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch b/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch new file mode 100644 index 000000000000..abfc11513cdc --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/llvm-separate-build.patch @@ -0,0 +1,12 @@ +diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake +--- llvm-3.4-orig/cmake/modules/TableGen.cmake 2013-10-06 21:00:07.000000000 -0400 ++++ llvm-3.4/cmake/modules/TableGen.cmake 2014-01-20 13:06:55.273022149 -0500 +@@ -78,8 +78,6 @@ + endif() + + macro(add_tablegen target project) +- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR}) +- + set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) + set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) + add_llvm_utility(${target} ${ARGN}) diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix new file mode 100644 index 000000000000..fad11b7a123e --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetch +, perl +, groff +, cmake +, python +, libffi +, binutils +, libxml2 +, valgrind +, ncurses +, version +, zlib +}: + +let + src = fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"; +in stdenv.mkDerivation rec { + name = "llvm-${version}"; + + unpackPhase = '' + unpackFile ${src} + mv llvm-${version} llvm + sourceRoot=$PWD/llvm + unpackFile ${fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"} + mv compiler-rt-${version} $sourceRoot/projects/compiler-rt + ''; + + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + + propagatedBuildInputs = [ ncurses zlib ]; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + postBuild = "rm -fR $out"; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + "-DCMAKE_CXX_FLAGS=-std=c++11" + ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; + + enableParallelBuilding = true; + + passthru.src = src; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ]; + platforms = stdenv.lib.platforms.all; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch b/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch new file mode 100644 index 000000000000..618dd4dc3b12 --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/polly-separate-build.patch @@ -0,0 +1,12 @@ +diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt +--- polly-3.4-orig/CMakeLists.txt 2013-11-21 06:51:46.000000000 -0500 ++++ polly-3.4/CMakeLists.txt 2014-01-20 18:49:34.907919933 -0500 +@@ -53,7 +53,7 @@ + execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags + OUTPUT_VARIABLE LLVM_CXX_FLAGS + OUTPUT_STRIP_TRAILING_WHITESPACE) +- set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}") + endif(NOT DEFINED LLVM_MAIN_SRC_DIR) + + set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/pkgs/development/compilers/llvm/3.4/polly.nix b/pkgs/development/compilers/llvm/3.4/polly.nix new file mode 100644 index 000000000000..61721ffad67d --- /dev/null +++ b/pkgs/development/compilers/llvm/3.4/polly.nix @@ -0,0 +1,27 @@ +{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }: + +stdenv.mkDerivation { + name = "polly-${version}"; + + src = fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz"; + + patches = [ ./polly-separate-build.patch ]; + + buildInputs = [ cmake isl python gmp ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLVM_INSTALL_ROOT=${llvm}" + ]; + + enableParallelBuilding = true; + + meta = { + description = "A polyhedral optimizer for llvm"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix deleted file mode 100644 index 1a8fa3097499..000000000000 --- a/pkgs/development/compilers/llvm/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils_gold, version }: - -with { inherit (stdenv.lib) optional; }; - -assert version == "3.4" || version == "3.3"; - -stdenv.mkDerivation rec { - name = "llvm-${version}"; - - src = fetchurl { - url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; - sha256 = - if version == "3.4" then "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995" - else /*3.3*/ "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8"; - }; - - # The default rlimits are too low for shared libraries. - patches = optional (version == "3.3") [ ./more-memory-for-bugpoint.patch ]; - - # libffi was propagated before, but it wasn't even being used, so - # unless something needs it just an input is fine. - buildInputs = [ perl groff cmake python libffi ]; # ToDo: polly, libc++; enable cxx11? - - # hacky fix: created binaries need to be run before installation - preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD"; - in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib"; - - cmakeFlags = with stdenv; [ - "-DCMAKE_BUILD_TYPE=Release" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include" - ] - ++ optional (version == "3.3") "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa - ++ optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; - - enableParallelBuilding = true; - - doCheck = true; - - meta = with stdenv.lib; { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = http://llvm.org/; - license = licenses.bsd3; - maintainers = with maintainers; [ lovek323 raskin viric ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/development/compilers/llvm/full.nix b/pkgs/development/compilers/llvm/full.nix deleted file mode 100644 index c3ca879c5527..000000000000 --- a/pkgs/development/compilers/llvm/full.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ stdenv -, fetchurl -, perl, groff -, cmake -, libxml2 -, python -, libffi -, zlib -, ncurses -, isl -, gmp -, doxygen -, binutils_gold -, swig -, which -, libedit -, valgrind -}: - -let - version = "3.4"; - - fetch = name: sha256: fetchurl { - url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz"; - inherit sha256; - }; - - inherit (stdenv.lib) concatStrings mapAttrsToList; -in stdenv.mkDerivation { - name = "llvm-full-${version}"; - - unpackPhase = '' - unpackFile ${fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"} - mv llvm-${version} llvm - sourceRoot=$PWD/llvm - ${concatStrings (mapAttrsToList (name: { location, sha256 }: '' - unpackFile ${fetch name sha256} - mv ${name}-${version} $sourceRoot/${location} - '') { - clang = { location = "tools/clang"; sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; }; - clang-tools-extra = { location = "tools/clang/tools/extra"; sha256 = "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"; }; - compiler-rt = { location = "projects/compiler-rt"; sha256 = "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"; }; - lld = { location = "tools/lld"; sha256 = "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz"; }; - lldb = { location = "tools/lldb"; sha256 = "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g"; }; - polly = { location = "tools/polly"; sha256 = "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz"; }; - })} - sed -i 's|/usr/bin/env||' \ - $sourceRoot/tools/lldb/scripts/Python/finish-swig-Python-LLDB.sh \ - $sourceRoot/tools/lldb/scripts/Python/build-swig-Python.sh - ''; - - buildInputs = [ perl - groff - cmake - libxml2 - python - libffi - zlib - ncurses - isl - gmp - doxygen - swig - which - libedit - valgrind - ]; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DLLVM_ENABLE_FFI=ON" - "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}" - "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/" - "-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include" - "-DCMAKE_CXX_FLAGS=-std=c++11" - ]; - - passthru.gcc = stdenv.gcc.gcc; - - enableParallelBuilding = true; - - meta = { - description = "Collection of modular and reusable compiler and toolchain technologies"; - homepage = http://llvm.org/; - license = stdenv.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.shlevy ]; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/compilers/mcpp/default.nix b/pkgs/development/compilers/mcpp/default.nix new file mode 100644 index 000000000000..34cb63e783ec --- /dev/null +++ b/pkgs/development/compilers/mcpp/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, mcpp }: + +stdenv.mkDerivation rec { + name = "mcpp-2.7.2"; + + src = fetchurl { + url = "mirror://sourceforge/mcpp/${name}.tar.gz"; + sha256 = "0r48rfghjm90pkdyr4khxg783g9v98rdx2n69xn8f6c5i0hl96rv"; + }; + + configureFlags = [ "--enable-mcpplib" ]; + + meta = with stdenv.lib; { + homepage = "http://mcpp.sourceforge.net/"; + description = "A portable c preprocessor"; + license = licenses.bsd2; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix index a5ff613a9b45..2fa986375ff8 100644 --- a/pkgs/development/compilers/mlton/default.nix +++ b/pkgs/development/compilers/mlton/default.nix @@ -1,30 +1,44 @@ -{ stdenv, fetchurl, gmp }: +{ stdenv, fetchurl, patchelf, gmp }: + +let + version = "20130715"; + + usr_prefix = if stdenv.isDarwin then "usr/local" else "usr"; + + dynamic_linker = + if stdenv.isx86_64 then "${stdenv.glibc}/lib/ld-linux-x86-64.so.2" + else "${stdenv.glibc}/lib/ld-linux.so.2"; +in stdenv.mkDerivation rec { - name = "mlton-20100608"; + name = "mlton-${version}"; binSrc = if stdenv.system == "i686-linux" then (fetchurl { - url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.x86-linux.static.tgz"; - sha256 = "16qg8df9hg2pmnsblkgxp6bgm7334rsqkxqzskv5fl21wivmnwfw"; + url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.x86-linux.tgz"; + sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j"; }) else if stdenv.system == "x86_64-linux" then (fetchurl { - url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}-1.amd64-linux.static.tgz"; - sha256 = "0i6ic8f6prl0cigrmf6bj9kqz3plzappxn17lz1rg2v832nfbw9r"; + url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-linux.tgz"; + sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn"; + }) + else if stdenv.system == "x86_64-darwin" then (fetchurl { + url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz"; + sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9"; }) else throw "Architecture not supported"; codeSrc = fetchurl { - url = "http://sourceforge.net/projects/mlton/files/mlton/20100608/${name}.src.tgz"; - sha256 = "0cqb3k6ld9965hyyfyayi510f205vqzd5qqm3crh13nasvq2rjzj"; + url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}.src.tgz"; + sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11"; }; srcs = [ binSrc codeSrc ]; sourceRoot = name; - buildInputs = [ gmp ]; + buildInputs = [ patchelf gmp ]; makeFlags = [ "all-no-docs" ]; @@ -35,22 +49,32 @@ stdenv.mkDerivation rec { substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp) # Fix paths in the binary distribution. - BIN_DIST_DIR="$(pwd)/../usr" + BIN_DIST_DIR="$(pwd)/../${usr_prefix}" for f in "bin/mlton" "lib/mlton/platform" "lib/mlton/static-library" ; do - substituteInPlace "$BIN_DIST_DIR/$f" --replace '/usr/bin/env bash' $(type -p bash) + substituteInPlace "$BIN_DIST_DIR/$f" --replace '/${usr_prefix}/bin/env bash' $(type -p bash) done - substituteInPlace $(pwd)/../usr/bin/mlton --replace '/usr/lib/mlton' $(pwd)/../usr/lib/mlton + substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton ''; preBuild = '' # To build the source we have to put the binary distribution in the $PATH. - export PATH="$PATH:$(pwd)/../usr/bin/" + export PATH="$PATH:$(pwd)/../${usr_prefix}/bin/" # Let the builder execute the binary distribution. - chmod u+x $(pwd)/../usr/bin/mllex - chmod u+x $(pwd)/../usr/bin/mlyacc - chmod u+x $(pwd)/../usr/bin/mlton + chmod u+x $(pwd)/../${usr_prefix}/bin/mllex + chmod u+x $(pwd)/../${usr_prefix}/bin/mlyacc + chmod u+x $(pwd)/../${usr_prefix}/bin/mlton + + # So the builder runs the binary compiler with gmp. + export LD_LIBRARY_PATH=${gmp}/lib:$LD_LIBRARY_PATH + + '' + stdenv.lib.optionalString stdenv.isLinux '' + # Patch ELF interpreter. + patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile + for e in mllex mlyacc ; do + patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e + done ''; doCheck = true; @@ -59,21 +83,21 @@ stdenv.mkDerivation rec { postInstall = '' # Fix path to mlton libraries. - substituteInPlace $(pwd)/install/usr/bin/mlton --replace '/usr/lib/mlton' $out/lib/mlton + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton # Path to libgmp. - substituteInPlace $(pwd)/install/usr/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'" + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp}/lib'" # Path to gmp.h. - substituteInPlace $(pwd)/install/usr/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'" + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp}/include'" # Path to the same gcc used in the build; needed at runtime. - substituteInPlace $(pwd)/install/usr/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p gcc)"'" + substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p gcc)"'" # Copy files to final positions. - cp -r $(pwd)/install/usr/bin $out - cp -r $(pwd)/install/usr/lib $out - cp -r $(pwd)/install/usr/man $out + cp -r $(pwd)/install/${usr_prefix}/bin $out + cp -r $(pwd)/install/${usr_prefix}/lib $out + cp -r $(pwd)/install/${usr_prefix}/man $out ''; meta = { @@ -89,6 +113,6 @@ stdenv.mkDerivation rec { homepage = http://mlton.org/; license = "bsd"; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"]; }; } diff --git a/pkgs/development/compilers/mono/build-fix-llvm.patch b/pkgs/development/compilers/mono/build-fix-llvm.patch new file mode 100644 index 000000000000..526986ad12c7 --- /dev/null +++ b/pkgs/development/compilers/mono/build-fix-llvm.patch @@ -0,0 +1,12 @@ +diff --git a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old b/lib/CodeGen/AsmPrinter/CMakeLists.txt +index be484a6..c92ff46 100644 +--- a/lib/CodeGen/AsmPrinter/CMakeLists.txt.old ++++ b/lib/CodeGen/AsmPrinter/CMakeLists.txt +@@ -10,6 +10,7 @@ add_llvm_library(LLVMAsmPrinter + DwarfCompileUnit.cpp + DwarfDebug.cpp + DwarfException.cpp ++ DwarfMonoException.cpp + ErlangGCPrinter.cpp + OcamlGCPrinter.cpp + Win64Exception.cpp diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix index 88bef618f743..4ff2dacff188 100644 --- a/pkgs/development/compilers/mono/default.nix +++ b/pkgs/development/compilers/mono/default.nix @@ -1,13 +1,18 @@ -{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11}: +{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? true }: +let + llvm = callPackage ./llvm.nix { }; + llvmOpts = stdenv.lib.optionalString withLLVM "--enable-llvm --enable-llvmloaded --with-llvm=${llvm}"; +in stdenv.mkDerivation rec { - name = "mono-2.11.4"; + name = "mono-${version}"; + version = "3.2.8"; src = fetchurl { url = "http://download.mono-project.com/sources/mono/${name}.tar.bz2"; - sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr"; + sha256 = "0h0s42pmgrhwqaym0b1401h70dcpr179ngcsp7f8i4hl4snqrd7x"; }; - buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11]; + buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11 ncurses zlib]; propagatedBuildInputs = [glib]; NIX_LDFLAGS = "-lgcc_s" ; @@ -17,7 +22,7 @@ stdenv.mkDerivation rec { # In fact I think this line does not help at all to what I # wanted to achieve: have mono to find libgdiplus automatically - configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so"; + configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so ${llvmOpts}"; # Attempt to fix this error when running "mcs --version": # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image @@ -26,10 +31,14 @@ stdenv.mkDerivation rec { # Parallel building doesn't work, as shows http://hydra.nixos.org/build/2983601 enableParallelBuilding = false; - preBuild = " + # Patch all the necessary scripts. Also, if we're using LLVM, we fix the default + # LLVM path to point into the Mono LLVM build, since it's private anyway. + preBuild = '' makeFlagsArray=(INSTALL=`type -tp install`) patchShebangs ./ - "; + '' + stdenv.lib.optionalString withLLVM '' + substituteInPlace mono/mini/aot-compiler.c --replace "llvm_path = g_strdup (\"\")" "llvm_path = g_strdup (\"${llvm}/bin/\")" + ''; #Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps #Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive @@ -46,7 +55,7 @@ stdenv.mkDerivation rec { homepage = http://mono-project.com/; description = "Cross platform, open source .NET development framework"; platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; + maintainers = with stdenv.lib.maintainers; [ viric thoughtpolice ]; license = "free"; # Combination of LGPL/X11/GPL ? }; } diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix new file mode 100644 index 000000000000..74f85b1519c6 --- /dev/null +++ b/pkgs/development/compilers/mono/llvm.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetchurl +, perl +, groff +, cmake +, python +, libffi +, binutils +, libxml2 +, valgrind +, ncurses +, zlib +}: + +stdenv.mkDerivation rec { + name = "llvm-${version}"; + version = "3.4svn-mono-f9b1a74368"; + src = fetchurl { + # from the HEAD of the 'mono3' branch + url = "https://github.com/mono/llvm/archive/f9b1a74368ec299fc04c4cfef4b5aa0992b7b806.tar.gz"; + name = "${name}.tar.gz"; + sha256 = "1bbkx4p5zdnk3nbdd5jxvbwqx8cdq8z1n1nhf639i98mggs0zhdg"; + }; + + patches = [ ./build-fix-llvm.patch ]; + unpackPhase = '' + unpackFile ${src} + mv llvm-* llvm + sourceRoot=$PWD/llvm + ''; + + buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; + + propagatedBuildInputs = [ ncurses zlib ]; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + postBuild = "rm -fR $out"; + + cmakeFlags = with stdenv; [ + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_BINUTILS_INCDIR=${binutils}/include" + "-DCMAKE_CXX_FLAGS=-std=c++11" + ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; + + enableParallelBuilding = true; + + meta = { + description = "Collection of modular and reusable compiler and toolchain technologies - Mono build"; + homepage = http://llvm.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix index cbbb5608a461..76359de65753 100644 --- a/pkgs/development/compilers/nasm/default.nix +++ b/pkgs/development/compilers/nasm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "nasm-2.10"; + name = "nasm-2.11.01"; src = fetchurl { - url = "http://www.nasm.us/pub/nasm/releasebuilds/2.10/${name}.tar.bz2"; - sha256 = "1wcxm0il06b17wjarw8pbf9bagjhfcf7yayahmyip03qkfka2yk8"; + url = "http://www.nasm.us/pub/nasm/releasebuilds/2.11.01/${name}.tar.bz2"; + sha256 = "0p0rhq18in2hyv3gircgxj72n2b1mvr8bvjlqscpaz8m62cyvam7"; }; meta = { diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix index 9c0b3d1d1921..cffd7c3f54a4 100644 --- a/pkgs/development/compilers/ocaml/3.11.2.nix +++ b/pkgs/development/compilers/ocaml/3.11.2.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "Objective Caml, the most popular variant of the Caml language"; longDescription = diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix index c719abc4abc7..f916f5a79233 100644 --- a/pkgs/development/compilers/ocaml/3.12.1.nix +++ b/pkgs/development/compilers/ocaml/3.12.1.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "OCaml, the most popular variant of the Caml language"; longDescription = diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix index d7c14e031b35..8662db70c26c 100644 --- a/pkgs/development/compilers/ocaml/4.00.1.nix +++ b/pkgs/development/compilers/ocaml/4.00.1.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "OCaml, the most popular variant of the Caml language"; longDescription = diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix index c11bb7536be1..79a7c8cd61f6 100644 --- a/pkgs/development/compilers/ocaml/4.01.0.nix +++ b/pkgs/development/compilers/ocaml/4.01.0.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://caml.inria.fr/ocaml; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "OCaml, the most popular variant of the Caml language"; longDescription = diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix index df3e9e73af59..9c5fa3764bad 100644 --- a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix +++ b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://okmij.org/ftp/ML/index.html#ber-metaocaml"; - licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + license = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; description = "a conservative extension of OCaml with the primitive type of code values, and three basic multi-stage expression forms: Brackets, Escape, and Run"; }; } diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix index ff9f12f80232..3e4835c8b531 100644 --- a/pkgs/development/compilers/openjdk-darwin/default.nix +++ b/pkgs/development/compilers/openjdk-darwin/default.nix @@ -1,6 +1,6 @@ -{stdenv, fetchurl, ...}: +{ stdenv, fetchurl, setJavaClassPath }: let -jdk = stdenv.mkDerivation { + jdk = stdenv.mkDerivation { name = "openjdk6-b16-24_apr_2009-r1"; src = fetchurl { @@ -11,6 +11,23 @@ jdk = stdenv.mkDerivation { installPhase = '' mkdir -p $out cp -vR * $out/ + + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/darwin/*_md.h $out/include/ + ''; + + preFixup = '' + # Propagate the setJavaClassPath setup hook from the JRE so that + # any package that depends on the JRE has $CLASSPATH set up + # properly. + mkdir -p $out/nix-support + echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs + + # Set JAVA_HOME automatically. + mkdir -p $out/nix-support + cat < $out/nix-support/setup-hook + if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi + EOF ''; passthru.jre = jdk; diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix index f29ab9399643..50f01f413720 100644 --- a/pkgs/development/compilers/openjdk/default.nix +++ b/pkgs/development/compilers/openjdk/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, unzip, zip, procps, coreutils, alsaLib, ant, freetype, cups -, which, jdk, nettools, libX11, libXt, libXext, libXrender, libXtst, libXi, libXinerama -, libXcursor, fontconfig, cpio, cacert, perl, setJavaClassPath }: +, which, jdk, nettools, xorg +, fontconfig, cpio, cacert, perl, setJavaClassPath }: let @@ -33,7 +33,8 @@ stdenv.mkDerivation rec { buildInputs = [ unzip procps ant which zip cpio nettools alsaLib - libX11 libXt libXext libXrender libXtst libXi libXinerama libXcursor + xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst + xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir fontconfig perl ]; @@ -48,7 +49,7 @@ stdenv.mkDerivation rec { openjdk/{jdk,corba}/make/common/shared/Defs-utils.gmk ''; - patches = [ ./cppflags-include-fix.patch ]; + patches = [ ./cppflags-include-fix.patch ./fix-java-home.patch ]; NIX_NO_SELF_RPATH = true; @@ -65,6 +66,7 @@ stdenv.mkDerivation rec { "DEVTOOLS_PATH=" "UNIXCOMMAND_PATH=" "BOOTDIR=${jdk}" + "STATIC_CXX=false" "UNLIMITED_CRYPTO=1" ]; @@ -79,6 +81,9 @@ stdenv.mkDerivation rec { mv $out/lib/openjdk/include $out/include mv $out/lib/openjdk/man $out/share/man + # jni.h expects jni_md.h to be in the header search path. + ln -s $out/include/linux/*_md.h $out/include/ + # Remove some broken manpages. rm -rf $out/share/man/ja* @@ -87,10 +92,15 @@ stdenv.mkDerivation rec { # Move the JRE to a separate output. mv $out/lib/openjdk/jre $jre/lib/openjdk/ - ln -s $jre/lib/openjdk/jre $out/lib/openjdk/jre + mkdir $out/lib/openjdk/jre + lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre + + rm -rf $out/lib/openjdk/jre/bin + ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin # Remove duplicate binaries. for i in $(cd $out/lib/openjdk/bin && echo *); do + if [ "$i" = java ]; then continue; fi if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i fi diff --git a/pkgs/development/compilers/openjdk/fix-java-home.patch b/pkgs/development/compilers/openjdk/fix-java-home.patch new file mode 100644 index 000000000000..5def344f1717 --- /dev/null +++ b/pkgs/development/compilers/openjdk/fix-java-home.patch @@ -0,0 +1,17 @@ +diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp +--- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp 2013-09-06 20:22:03.000000000 +0200 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2014-01-24 22:44:08.223857012 +0100 +@@ -2358,12 +2358,10 @@ + CAST_FROM_FN_PTR(address, os::jvm_path), + dli_fname, sizeof(dli_fname), NULL); + assert(ret, "cannot locate libjvm"); + char *rp = NULL; + if (ret && dli_fname[0] != '\0') { +- rp = realpath(dli_fname, buf); ++ snprintf(buf, buflen, "%s", dli_fname); + } +- if (rp == NULL) +- return; + + if (Arguments::created_by_gamma_launcher()) { + // Support for the gamma launcher. Typical value for buf is diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index fd5a85967ed6..7dfbe218bb7c 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "orc-0.4.18"; + name = "orc-0.4.19"; src = fetchurl { - url = "http://code.entropywave.com/download/orc/${name}.tar.gz"; - sha256 = "093a7a495bsy3j6i4wxaxqbqxk6hwg2hdhgvvkabwhlz4nkwilrl"; + url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.gz"; + sha256 = "17mmgwll2waz44m908lcxc5fd6n44yysh7p4pdw33hr138r507z2"; }; + doCheck = true; + meta = { description = "The Oil Runtime Compiler"; homepage = "http://code.entropywave.com/orc/"; @@ -15,6 +17,5 @@ stdenv.mkDerivation rec { # under the 3-clause BSD license. The rest is 2-clause BSD license. license = stdenv.lib.licenses.bsd3; platform = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.iyzsong ]; }; } diff --git a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch index 4de7683dcdd3..830fc3fa7f9a 100644 --- a/pkgs/development/compilers/pakcs/adjust-buildsystem.patch +++ b/pkgs/development/compilers/pakcs/adjust-buildsystem.patch @@ -1,7 +1,7 @@ -diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile ---- pakcs-1.11.2-upstream/Makefile 2013-03-21 04:58:38.000000000 -0430 -+++ pakcs-1.11.2/Makefile 2013-05-09 15:04:48.035646127 -0430 -@@ -55,7 +55,6 @@ +diff -Naur pakcs-1.11.3-upstream/Makefile pakcs-1.11.3/Makefile +--- pakcs-1.11.3-upstream/Makefile 2014-01-31 09:10:03.000000000 -0430 ++++ pakcs-1.11.3/Makefile 2014-02-03 20:27:41.558334480 -0430 +@@ -66,7 +66,6 @@ # .PHONY: install install: installscripts @@ -9,21 +9,20 @@ diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile # pre-compile all libraries: @cd lib && $(MAKE) fcy # install the Curry2Prolog compiler as a saved system: -@@ -66,11 +65,6 @@ - @cd lib && $(MAKE) acy - # prepare for separate compilation by compiling all librariers to Prolog code: - @if [ -r bin/pakcs ] ; then cd lib && $(MAKE) pl ; fi +@@ -105,10 +104,6 @@ + # compile the tools: + .PHONY: tools + tools: - # compile the Curry Port Name Server demon: -- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi +- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi - # compile the event handler demon for dynamic web pages: -- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi -- $(MAKE) tools - $(MAKE) docs - chmod -R go+rX . +- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd currytools && $(MAKE) ; fi + @if [ -r bin/pakcs ] ; then cd tools && $(MAKE) ; fi -diff -Naur pakcs-1.11.2-upstream/scripts/pakcs.sh pakcs-1.11.2/scripts/pakcs.sh ---- pakcs-1.11.2-upstream/scripts/pakcs.sh 2013-03-21 04:52:59.000000000 -0430 -+++ pakcs-1.11.2/scripts/pakcs.sh 2013-05-09 03:14:23.500876628 -0430 +diff -Naur pakcs-1.11.3-upstream/scripts/pakcs.sh pakcs-1.11.3/scripts/pakcs.sh +--- pakcs-1.11.3-upstream/scripts/pakcs.sh 2014-01-31 09:04:19.000000000 -0430 ++++ pakcs-1.11.3/scripts/pakcs.sh 2014-02-03 20:20:40.775350116 -0430 @@ -16,7 +16,7 @@ # use readline wrapper rlwrap if it is installed and we have tty as stdin: USERLWRAP=no diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index bb4657d8afff..37acb4f6d1f2 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -1,11 +1,12 @@ -{ stdenv, fetchurl, cabal, swiProlog, mtl, syb, makeWrapper, rlwrap, tk }: +{ stdenv, fetchurl, cabal, swiProlog, either, mtl, syb +, glibcLocales, makeWrapper, rlwrap, tk }: let - fname = "pakcs-1.11.2"; + fname = "pakcs-1.11.3"; fsrc = fetchurl { url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz"; - sha256 = "1x23kn91v44my4rd8j3247pj8i2myz82rzgbq07asi1x21bpvvmy"; + sha256 = "165f29zgb7ldl51zfwgc31fk6a67w0gznp5lhvb6i5m013g2ddi8"; }; in @@ -29,12 +30,12 @@ stdenv.mkDerivation rec { sourceRoot = "${name}/frontend/curry-frontend"; isLibrary = true; isExecutable = true; - buildDepends = [ mtl syb curryBase ]; + buildDepends = [ either mtl syb curryBase ]; }); src = fsrc; - buildInputs = [ swiProlog makeWrapper rlwrap tk ]; + buildInputs = [ swiProlog makeWrapper glibcLocales rlwrap tk ]; patches = [ ./adjust-buildsystem.patch ]; @@ -48,6 +49,10 @@ stdenv.mkDerivation rec { ''; preBuild = '' + # Some comments in files are in UTF-8, so include the locale needed by GHC runtime. + export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive + export LC_ALL=en_US.UTF-8 + # Set up link to cymake, which has been built already. ensureDir bin/.local ln -s ${curryFront}/bin/cymake bin/.local/ @@ -65,10 +70,6 @@ stdenv.mkDerivation rec { # Fixing PAKCSHOME and related paths. sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate} - # Fix symbolic links into the tmp build dir. - ln -s ../currytools/CASS/cass $out/pakcs/bin/cass - ln -s ../currytools/currydoc/CurryDoc $out/pakcs/bin/currydoc - # The Prolog sources must be rebuilt in their final directory, # to switch the embedded references to the tmp build directory. export TEMP=/tmp diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index a0c8b50ad3fa..ebdd49479e0d 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -1,6 +1,37 @@ {stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper}: -let snapshotName = "rust-stage0-2014-01-05-a6d3e57-linux-x86_64-aa8fbbacdb1d8a078f3a3fe3478dcbc506bd4090.tar.bz2"; in +/* Rust's build process has a few quirks : + +- It requires some patched in llvm that haven't landed upstream, so it + compiles its own llvm. This might change in the future, so at some + point we may be able to switch to nix's llvm. + +- The Rust compiler is written is Rust, so it requires a bootstrap + compiler, which is downloaded during the build. To make the build + pure, we download it ourself before and put it where it is + expected. Once the language is stable (1.0) , we might want to + switch it to use nix's packaged rust compiler. + +*/ + +with if stdenv.system == "i686-linux" then { + platform = "linux-i386"; + snapshot = "03e60be1f1b90dddd15f3597bc45ec8d9626b35d"; + snapshot_sha = "1v1l082gj7d2d4p53xgsxz2k965jcgqhw4cyxmjxc6yh5fw0idx6"; + target = "i686-unknown-linux-gnu"; +} else if stdenv.system == "x86_64-linux" then { + platform = "linux-x86_64"; + snapshot = "aa8fbbacdb1d8a078f3a3fe3478dcbc506bd4090"; + snapshot_sha = "17inc23jpznqp0vnskvznm74mm24c1nffhz2bkadhvp2ww0vpjjx"; + target = "x86_64-unknown-linux-gnu"; +} else if stdenv.system == "x86_64-darwin" then { + platform = "macos-x86_64"; + snapshot = "ec746585cb20d1f9edffec74f6ff8be6e93a75f7"; + snapshot_sha = "0r8f8x3x8jb1hm40pbgj4i9ll2y5dgjgvj24qg7mp4crbqcqhkd2"; +} else {}; +let snapshotDate = "2014-01-05"; + snapshotRev = "a6d3e57"; + snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; in stdenv.mkDerivation { name = "rust-0.9"; @@ -12,7 +43,7 @@ stdenv.mkDerivation { # We need rust to build rust. If we don't provide it, configure will try to download it snapshot = fetchurl { url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}"; - sha256 = "17inc23jpznqp0vnskvznm74mm24c1nffhz2bkadhvp2ww0vpjjx"; + sha256 = snapshot_sha; }; # Put the snapshot where it is expected @@ -21,21 +52,22 @@ stdenv.mkDerivation { ln -s $snapshot $sourceRoot/dl/${snapshotName} ''; + # The compiler requires cc, so we patch the source to tell it where to find it + patches = [ ./hardcode_paths.patch ]; + postPatch = '' + substituteInPlace src/librustc/back/link.rs \ + --subst-var-by "gccPath" ${stdenv.gcc}/bin/cc \ + --subst-var-by "binutilsPath" ${stdenv.gcc.binutils}/bin/ar + ''; + # Modify the snapshot compiler so that is can be executed preBuild = if stdenv.isLinux then '' - make x86_64-unknown-linux-gnu/stage0/bin/rustc - patchelf --interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \ - --set-rpath ${stdenv.gcc.gcc}/lib/ \ - x86_64-unknown-linux-gnu/stage0/bin/rustc + make ${target}/stage0/bin/rustc + patchelf --interpreter ${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker} \ + --set-rpath ${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/ \ + ${target}/stage0/bin/rustc '' else null; - # rustc requires cc - postInstall = '' - for f in $out/bin/*; do - wrapProgram $f --prefix PATH : "${stdenv.gcc}/bin" - done - ''; - buildInputs = [ which file perl curl python27 makeWrapper ]; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/rust/hardcode_paths.patch b/pkgs/development/compilers/rust/hardcode_paths.patch new file mode 100644 index 000000000000..1500446cea93 --- /dev/null +++ b/pkgs/development/compilers/rust/hardcode_paths.patch @@ -0,0 +1,44 @@ +diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs +index 101b2e3..124267f 100644 +--- a/src/librustc/back/link.rs ++++ b/src/librustc/back/link.rs +@@ -728,7 +728,7 @@ pub fn get_cc_prog(sess: Session) -> ~str { + _ => {}, + } + +- get_system_tool(sess, "cc") ++ ~"@gccPath@" + } + + pub fn get_ar_prog(sess: Session) -> ~str { +@@ -737,27 +737,9 @@ pub fn get_ar_prog(sess: Session) -> ~str { + None => {} + } + +- get_system_tool(sess, "ar") ++ ~"@binutilsPath@" + } + +-fn get_system_tool(sess: Session, tool: &str) -> ~str { +- match sess.targ_cfg.os { +- abi::OsAndroid => match sess.opts.android_cross_path { +- Some(ref path) => { +- let tool_str = match tool { +- "cc" => "gcc", +- _ => tool +- }; +- format!("{}/bin/arm-linux-androideabi-{}", *path, tool_str) +- } +- None => { +- sess.fatal(format!("need Android NDK path for the '{}' tool \ +- (--android-cross-path)", tool)) +- } +- }, +- _ => tool.to_owned(), +- } +-} + + /// Perform the linkage portion of the compilation phase. This will generate all + /// of the requested outputs for this compilation session. + + diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 0c653064eacf..36ea8981786e 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -4,11 +4,11 @@ let s= # Generated upstream information rec { baseName="sbcl"; - version="1.1.14"; + version="1.1.16"; name="${baseName}-${version}"; - hash="0vqsq6q4xvz7vn1akvjwxp406mysak4h955pp8x32dfqc6ina7k7"; - url="mirror://sourceforge/project/sbcl/sbcl/1.1.14/sbcl-1.1.14-source.tar.bz2"; - sha256="0vqsq6q4xvz7vn1akvjwxp406mysak4h955pp8x32dfqc6ina7k7"; + hash="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; + url="mirror://sourceforge/project/sbcl/sbcl/1.1.16/sbcl-1.1.16-source.tar.bz2"; + sha256="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; }; buildInputs = with a; [ clisp makeWrapper diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix index 1a51f087a28f..fe293fbc4b8d 100644 --- a/pkgs/development/compilers/sdcc/default.nix +++ b/pkgs/development/compilers/sdcc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, bison, flex, boost, gputils ? null }: stdenv.mkDerivation rec { - version = "3.3.0"; + version = "3.4.0"; name = "sdcc-${version}"; src = fetchurl { url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2"; - sha256 = "1pj4hssvq34vbryvxc2jpp2b14cgxp695ygwiax6b7l2kvr62gw7"; + sha256 = "1yavxffqdfhdyabdza936xxh9wq4cfwa385g26gjapsdp5ighsng"; }; # TODO: remove this comment when gputils != null is tested diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix index 61655e1bd1f7..2070da0bee41 100644 --- a/pkgs/development/compilers/swi-prolog/default.nix +++ b/pkgs/development/compilers/swi-prolog/default.nix @@ -4,14 +4,14 @@ }: let - version = "6.6.1"; + version = "6.6.3"; in stdenv.mkDerivation { name = "swi-prolog-${version}"; src = fetchurl { url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz"; - sha256 = "033b7z60jd1907p9idaa3xzbid2aadhqcdwsa2g9c1c7q8fj1gy8"; + sha256 = "01dr66d7rm2xvxwm6wy71bbjvfrmzxgvmaz3sl1fb63cn8d78nz3"; }; buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 95c37edb09a2..38c3ead7bff2 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -4,8 +4,8 @@ let major = "0.23"; - minor = "1"; - sha256 = "1m8f2d01r4jqp266mk29qsl68lzh7c258cqd5zzbpbryxszlzdfj"; + minor = "2"; + sha256 = "0g22ss9qbm3fqhx4fxhsyfmdc5g1hgdw4dz9d37f4489kl0qf8pl"; in stdenv.mkDerivation rec { name = "vala-${major}.${minor}"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { homepage = "http://live.gnome.org/Vala"; license = stdenv.lib.licenses.lgpl21Plus; platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ antono iyzsong ]; + maintainers = with stdenv.lib.maintainers; [ antono ]; }; src = fetchurl { diff --git a/pkgs/development/guile-modules/guile-xcb/default.nix b/pkgs/development/guile-modules/guile-xcb/default.nix new file mode 100644 index 000000000000..fc02ab305a38 --- /dev/null +++ b/pkgs/development/guile-modules/guile-xcb/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, guile, texinfo }: + +stdenv.mkDerivation { + name = "guile-xcb-1.3"; + + meta = with stdenv.lib; { + description = "XCB bindings for Guile"; + homepage = "http://www.markwitmer.com/guile-xcb/guile-xcb.html"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://www.markwitmer.com/dist/guile-xcb-1.3.tar.gz"; + sha256 = "04dvbqdrrs67490gn4gkq9zk8mqy3mkls2818ha4p0ckhh0pm149"; + }; + + buildInputs = [ pkgconfig guile texinfo ]; + + preConfigure = '' + configureFlags=" + --with-guile-site-dir=$out/share/guile/site + --with-guile-site-ccache-dir=$out/share/guile/site + "; + ''; +} diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix index 521933b0ed1f..7b811732a626 100644 --- a/pkgs/development/interpreters/clisp/2.44.1.nix +++ b/pkgs/development/interpreters/clisp/2.44.1.nix @@ -3,12 +3,12 @@ , libffi, libffcall, coreutils }: stdenv.mkDerivation rec { - v = "2.44.1"; + v = "2.49"; name = "clisp-${v}"; src = fetchurl { url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz"; - sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1"; + sha256 = "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx"; }; buildInputs = diff --git a/pkgs/development/interpreters/cython/default.nix b/pkgs/development/interpreters/cython/default.nix deleted file mode 100644 index 34bd63c29abf..000000000000 --- a/pkgs/development/interpreters/cython/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, python, pkgconfig }: - -stdenv.mkDerivation { - name = "cython-0.16"; - - src = fetchurl { - url = http://www.cython.org/release/Cython-0.16.tar.gz; - sha256 = "1yz6jwv25xx5mbr2nm4l7mi65gvpm63dzi3vrw73p51wbpy525lp"; - }; - - buildPhase = "python setup.py build --build-base $out"; - - installPhase = "python setup.py install --prefix=$out"; - - buildInputs = [ python pkgconfig ]; - - meta = { - description = "An interpreter to help writing C extensions for Python"; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 5f1749f33c9e..698c75cfd165 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -1,29 +1,30 @@ { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }: let - version = "0.12.0"; + version = "0.12.4"; in stdenv.mkDerivation { name = "elixir-${version}"; src = fetchurl { url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; - sha256 = "0cir2y36zljwphiqyz8xmq7qq0f094jmfy3qwk3wdm05c05nqnc8"; + sha256 = "0f9jbijby8alwn9yv1fncr2yn0pghdqsvixkdcd6s8yvjyhylm1l"; }; buildInputs = [ erlang rebar makeWrapper ]; preBuild = '' - substituteInPlace rebar \ - --replace "/usr/bin/env escript" ${erlang}/bin/escript + # The build process uses ./rebar. Link it to the nixpkgs rebar + rm -v rebar + ln -s ${rebar}/bin/rebar rebar + substituteInPlace Makefile \ - --replace '$(shell echo `pwd`/rebar)' ${rebar}/bin/rebar \ --replace "/usr/local" $out ''; postFixup = '' - # Elixirs binaries are shell scripts which run erl. This adds some - # stuff to PATH so the scripts run without problems. + # Elixir binaries are shell scripts which run erl. Add some stuff + # to PATH so the scripts can run without problems. for f in $out/bin/* do diff --git a/pkgs/development/interpreters/erlang/default.nix b/pkgs/development/interpreters/erlang/default.nix index 9562a0dc4522..077eaa9093b0 100644 --- a/pkgs/development/interpreters/erlang/default.nix +++ b/pkgs/development/interpreters/erlang/default.nix @@ -26,6 +26,10 @@ stdenv.mkDerivation rec { configureFlags = "--with-ssl=${openssl}"; + postInstall = '' + ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call + ''; + # Some erlang bin/ scripts run sed and awk postFixup = '' wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" diff --git a/pkgs/development/interpreters/hiphopvm/default.nix b/pkgs/development/interpreters/hiphopvm/default.nix index c18c81caff05..ae30d169b507 100644 --- a/pkgs/development/interpreters/hiphopvm/default.nix +++ b/pkgs/development/interpreters/hiphopvm/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, fetchgit, cmake, boost, libunwind, mysql, libmemcached, pcre , libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c -, expat, libcap, oniguruma, libdwarf, libmcrypt, inteltbb, gperftools -, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam +, expat, libcap, oniguruma, libdwarf, libmcrypt, inteltbb, gperftools, glog +, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng }: assert stdenv.system == "x86_64-linux"; let src = fetchgit { url = "git://github.com/facebook/hiphop-php.git"; - rev = "73f1c0ebd9b313f6b3baecd8c8046e0b595b1157"; - sha256 = "104133c6054bc9ab0288eaa0cea168b6699e537b3ea76ecdc38ee833d93dca09"; + rev = "1e23dec9f0b1ce8aaa5833d0527a369c8e254ffd"; + sha256 = "0fblwgq8c3hmamw0m5d1mn8qhyqf14v2zf62cgrkvmbiz6jlrbr6"; }; libxml2_280 = stdenv.lib.overrideDerivation libxml2 (args: rec { @@ -21,37 +21,35 @@ let patches = []; }); - - curlFB = stdenv.lib.overrideDerivation curl (args: { patches = [ "${src}/src/third_party/libcurl-7.22.1.fb-changes.diff" ]; }); - fbPatch = "${src}/src/third_party/libevent-1.4.14.fb-changes.diff"; + fbPatch = "${src}/hphp/third_party/libevent-1.4.14.fb-changes.diff"; + libeventFB = stdenv.lib.overrideDerivation libevent (args: { patches = [fbPatch]; }); in stdenv.mkDerivation { - name = "hiphop-php-73f1c0ebd9"; + name = "hiphop-php-1e23dec9f0"; inherit src; dontUseCmakeBuildDir = true; dontUseCmakeConfigure = true; USE_HHVM=1; preConfigure = '' - export HPHP_HOME=$PWD export HPHP_LIB=$PWD/bin export TBB_INSTALL_DIR=${inteltbb} export TBB_ARCH_PLATFORM="intel64/cc4.1.0_libc2.4_kernel2.6.16.21" - sed -i 's| DEPRECATED | DEPRECATED_ |' src/runtime/base/runtime_error.h + sed 's=/bin/bash=/${stdenv.shell}=g' -i hphp/util/generate-buildinfo.sh ''; NIX_LDFLAGS = "-lpam -L${pam}/lib"; + MYSQL_INCLUDE_DIR="${mysql}/include/mysql"; MYSQL_DIR=mysql; buildInputs = [ - cmake boost libunwind mysql libmemcached pcre libeventFB gd curlFB + cmake boost libunwind mysql libmemcached pcre libeventFB gd curl libxml2_280 icu flex bison openssl zlib php expat libcap oniguruma libdwarf libmcrypt inteltbb gperftools bzip2 openldap readline - libelf uwimap binutils cyrus_sasl pam + libelf uwimap binutils cyrus_sasl pam glog libpng ]; installPhase = '' mkdir -p $out/bin - cp src/hhvm/hhvm $out/bin - cp bin/systemlib.php $out/bin + cp hphp/hhvm/hhvm $out/bin ''; patches = [./tbb.patch]; diff --git a/pkgs/development/interpreters/lua-5/5.1.darwin.patch b/pkgs/development/interpreters/lua-5/5.1.darwin.patch new file mode 100644 index 000000000000..b7754da79baf --- /dev/null +++ b/pkgs/development/interpreters/lua-5/5.1.darwin.patch @@ -0,0 +1,52 @@ +diff --git a/Makefile b/Makefile +index 209a132..9387b09 100644 +--- a/Makefile ++++ b/Makefile +@@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp +-TO_LIB= liblua.a ++TO_LIB= liblua.5.1.5.dylib + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -64,6 +64,8 @@ install: dummy + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ++ ln -s -f liblua.5.1.5.dylib $(INSTALL_LIB)/liblua.5.1.dylib ++ ln -s -f liblua.5.1.dylib $(INSTALL_LIB)/liblua.dylib + + ranlib: + cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) +diff --git a/src/Makefile b/src/Makefile +index e0d4c9f..4477d7b 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -22,7 +22,7 @@ MYLIBS= + + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + +-LUA_A= liblua.a ++LUA_A= liblua.5.1.5.dylib + CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ + lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ + lundump.o lvm.o lzio.o +@@ -48,11 +48,13 @@ o: $(ALL_O) + a: $(ALL_A) + + $(LUA_A): $(CORE_O) $(LIB_O) +- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files +- $(RANLIB) $@ ++ $(CC) -dynamiclib -install_name $(out)/lib/liblua.5.1.dylib \ ++ -compatibility_version 5.1 -current_version 5.1.5 \ ++ -o liblua.5.1.5.dylib $^ + + $(LUA_T): $(LUA_O) $(LUA_A) +- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++ $(CC) -fno-common $(MYLDFLAGS) \ ++ -o $@ $(LUA_O) $(LUA_A) -L. -llua.5.1.5 $(LIBS) + + $(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix index 2923a8f960d1..9a57a034ad19 100644 --- a/pkgs/development/interpreters/lua-5/5.1.nix +++ b/pkgs/development/interpreters/lua-5/5.1.nix @@ -9,6 +9,7 @@ let in stdenv.mkDerivation rec { name = "lua-5.1.5"; + luaversion = "5.1"; src = fetchurl { url = "http://www.lua.org/ftp/${name}.tar.gz"; @@ -17,9 +18,14 @@ stdenv.mkDerivation rec { buildInputs = [ readline ]; - patches = [ dsoPatch ]; + patches = if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ]; - configurePhase = '' + configurePhase = + if stdenv.isDarwin + then '' + makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDLAGS="" ) + installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' ) + '' else '' makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDLAGS="-fPIC" ) installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.5.1.5" INSTALL_DATA='cp -d' ) ''; diff --git a/pkgs/development/interpreters/lua-5/5.2.darwin.patch b/pkgs/development/interpreters/lua-5/5.2.darwin.patch new file mode 100644 index 000000000000..ffc3ff34be70 --- /dev/null +++ b/pkgs/development/interpreters/lua-5/5.2.darwin.patch @@ -0,0 +1,52 @@ +diff --git a/Makefile b/Makefile +index 209a132..9387b09 100644 +--- a/Makefile ++++ b/Makefile +@@ -43,5 +43,5 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + # What to install. + TO_BIN= lua luac + TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp +-TO_LIB= liblua.a ++TO_LIB= liblua.${version}.dylib + TO_MAN= lua.1 luac.1 + + # Lua version and release. +@@ -64,3 +64,5 @@ install: dummy + cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) + cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) + cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ++ ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${majorVersion}.dylib ++ ln -s -f liblua.${majorVersion}.dylib $(INSTALL_LIB)/liblua.dylib + + ranlib: + cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) +diff --git a/src/Makefile b/src/Makefile +index fea895b..d9146d0 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -28,7 +28,7 @@ MYOBJS= + + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + +-LUA_A= liblua.a ++LUA_A= liblua.${version}.dylib + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ + lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ + ltm.o lundump.o lvm.o lzio.o +@@ -56,11 +56,13 @@ o: $(ALL_O) + a: $(ALL_A) + + $(LUA_A): $(BASE_O) +- $(AR) $@ $(BASE_O) +- $(RANLIB) $@ ++ $(CC) -dynamiclib -install_name $(out)/lib/liblua.${version}.dylib \ ++ -compatibility_version ${version} -current_version ${version} \ ++ -o liblua.${version}.dylib $^ + + $(LUA_T): $(LUA_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++ $(CC) -fno-common $(MYLDFLAGS) \ ++ -o $@ $(LUA_O) $(LUA_A) -L. -llua.${version} $(LIBS) + + $(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix index 70ab0c3bdf8b..3e7323e461d1 100644 --- a/pkgs/development/interpreters/lua-5/5.2.nix +++ b/pkgs/development/interpreters/lua-5/5.2.nix @@ -19,9 +19,14 @@ stdenv.mkDerivation rec { buildInputs = [ readline ]; - patches = [ dsoPatch ]; + patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch ]; - configurePhase = '' + configurePhase = + if stdenv.isDarwin + then '' + makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDLAGS="-fPIC" V=${majorVersion} R=${version} ) + installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' ) + '' else '' makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDLAGS="-fPIC" V=${majorVersion} R=${version} ) installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${majorVersion} liblua.so.${version}" INSTALL_DATA='cp -d' ) ''; diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix new file mode 100644 index 000000000000..a3f9adb09017 --- /dev/null +++ b/pkgs/development/interpreters/lua-5/sockets.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, lua5}: + +stdenv.mkDerivation rec { + name = "lua-sockets-${version}"; + version = "2.0.2"; + src = fetchurl { + url = "http://files.luaforge.net/releases/luasocket/luasocket/luasocket-${version}/luasocket-${version}.tar.gz"; + sha256 = "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag"; + }; + + luaver = "5.1"; # TODO + patchPhase = '' + sed -e "s,^INSTALL_TOP_SHARE.*,INSTALL_TOP_SHARE=$out/share/lua/${lua5.luaversion}," \ + -e "s,^INSTALL_TOP_LIB.*,INSTALL_TOP_LIB=$out/lib/lua/${lua5.luaversion}," \ + -i config + ''; + + buildInputs = [ lua5 ]; + + meta = { + homepage = "http://w3.impa.br/~diego/software/luasocket/"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.mornfall ]; + }; +} diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index f74ad18d5e41..46c0b49c3b89 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -1,28 +1,31 @@ { stdenv, fetchurl }: -stdenv.mkDerivation rec{ - version = "2.0.2"; - name = "LuaJIT-${version}"; +stdenv.mkDerivation rec { + name = "luajit-${version}"; + version = "2.0.3"; - src = fetchurl { - url="http://luajit.org/download/${name}.tar.gz"; - sha256="0f3cykihfdn3gi6na9p0xjd4jnv26z18m441n5vyg42q9abh4ln0"; - }; + src = fetchurl { + url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; + sha256 = "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"; + }; - patchPhase = stdenv.lib.optionalString (stdenv.gcc.libc != null) - '' - substituteInPlace Makefile \ - --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig - ''; + enableParallelBuilding = true; - installPhase = '' - make install PREFIX=$out - ''; + patchPhase = stdenv.lib.optionalString (stdenv.gcc.libc != null) + '' + substituteInPlace Makefile \ + --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig + ''; - meta = { - description= "Just-in-time compiler and interpreter for lua 5.1."; - homepage = http://luajit.org; - license = stdenv.lib.licenses.mit; - platorms = stdenv.lib.platforms.linux; - }; + configurePhase = false; + buildFlags = [ "amalg" ]; # Build highly optimized version + installPhase = "make install PREFIX=$out"; + + meta = { + description = "high-performance JIT compiler for Lua 5.1"; + homepage = http://luajit.org; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; } diff --git a/pkgs/development/interpreters/perl/5.14/default.nix b/pkgs/development/interpreters/perl/5.14/default.nix index 08690e9507fa..dd4e7acf71f3 100644 --- a/pkgs/development/interpreters/perl/5.14/default.nix +++ b/pkgs/development/interpreters/perl/5.14/default.nix @@ -17,7 +17,8 @@ stdenv.mkDerivation rec { patches = [ # Do not look in /usr etc. for dependencies. ./no-sys-dirs.patch - ] + ] + ++ stdenv.lib.optional stdenv.isSunOS ./ld-shared.patch ++ stdenv.lib.optional stdenv.isDarwin ./no-libutil.patch; # Build a thread-safe Perl with a dynamic libperls.o. We need the diff --git a/pkgs/development/interpreters/perl/5.14/ld-shared.patch b/pkgs/development/interpreters/perl/5.14/ld-shared.patch new file mode 100644 index 000000000000..b1834ff7a1f2 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.14/ld-shared.patch @@ -0,0 +1,11 @@ +--- perl-5.14.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000 ++++ perl-5.14.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000 +@@ -568,7 +568,7 @@ + # ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + # fi + ldflags="$ldflags -m64" +- lddlflags="$lddlflags -G -m64" ++ lddlflags="$lddlflags -shared -m64" + ;; + *) + getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index a3ab0ef4b96f..bbd9e003b2c7 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -6,6 +6,10 @@ let in +with { + inherit (stdenv.lib) optional optionalString; +}; + stdenv.mkDerivation rec { name = "perl-5.16.3"; @@ -18,7 +22,8 @@ stdenv.mkDerivation rec { [ # Do not look in /usr etc. for dependencies. ./no-sys-dirs.patch ] - ++ stdenv.lib.optionals stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ; + ++ optional stdenv.isSunOS ./ld-shared.patch + ++ stdenv.lib.optional stdenv.isDarwin [ ./cpp-precomp.patch ./no-libutil.patch ] ; # Build a thread-safe Perl with a dynamic libperls.o. We need the # "installstyle" option to ensure that modules are put under @@ -34,7 +39,7 @@ stdenv.mkDerivation rec { "-Dlocincpth=${libc}/include" "-Dloclibpth=${libc}/lib" ] - ++ stdenv.lib.optional (stdenv ? glibc) "-Dusethreads"; + ++ optional (stdenv ? glibc) "-Dusethreads"; configureScript = "${stdenv.shell} ./Configure"; @@ -46,12 +51,12 @@ stdenv.mkDerivation rec { '' configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3" - ${stdenv.lib.optionalString stdenv.isArm '' + ${optionalString stdenv.isArm '' configureFlagsArray=(-Dldflags="-lm -lrt") ''} ''; - preBuild = stdenv.lib.optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) + preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools)) '' # Make Cwd work on NixOS (where we don't have a /bin/pwd). substituteInPlace dist/Cwd/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" @@ -59,5 +64,29 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; + doCheck = !stdenv.isDarwin; + + # some network-related tests don't work, mostly probably due to our sandboxing + testsToSkip = '' + lib/Net/hostent.t \ + dist/IO/t/{io_multihomed.t,io_sock.t} \ + dist/Net-Ping/t/*.t \ + cpan/autodie/t/truncate.t \ + t/porting/{maintainers.t,regen.t} \ + cpan/Socket/t/get{name,addr}info.t \ + '' + optionalString stdenv.isFreeBSD '' + cpan/CPANPLUS/t/04_CPANPLUS-Module.t \ + cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t \ + '' + " "; + + postPatch = optionalString (!stdenv.isDarwin) /* this failed on Darwin, no idea why */ '' + for test in ${testsToSkip}; do + echo "Removing test" $test + rm "$test" + pat=`echo "$test" | sed 's,/,\\\\/,g'` # just escape slashes + sed "/^$pat/d" -i MANIFEST + done + ''; + passthru.libPrefix = "lib/perl5/site_perl"; } diff --git a/pkgs/development/interpreters/perl/5.16/ld-shared.patch b/pkgs/development/interpreters/perl/5.16/ld-shared.patch new file mode 100644 index 000000000000..be45230c8a73 --- /dev/null +++ b/pkgs/development/interpreters/perl/5.16/ld-shared.patch @@ -0,0 +1,11 @@ +--- perl-5.16.2/hints/solaris_2.sh.orig 2013-02-14 19:29:49.453988140 +0000 ++++ perl-5.16.2/hints/solaris_2.sh 2013-02-14 19:30:31.681631019 +0000 +@@ -568,7 +568,7 @@ + # ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" + # fi + ldflags="$ldflags -m64" +- lddlflags="$lddlflags -G -m64" ++ lddlflags="$lddlflags -shared -m64" + ;; + *) + getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`" diff --git a/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch b/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch index 54ffb28e2065..883b24889c37 100644 --- a/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch +++ b/pkgs/development/interpreters/perl/5.16/no-sys-dirs.patch @@ -1,7 +1,8 @@ -diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure ---- perl-5.14.2-orig/Configure 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/Configure 2012-01-20 17:05:23.089223129 +0100 -@@ -106,15 +106,7 @@ +diff --git a/Configure b/Configure +index fdbbf20..ba1fd07 100755 +--- a/Configure ++++ b/Configure +@@ -106,15 +106,7 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' ) 2>&1 >/dev/null ; then fi : Proper PATH setting @@ -18,7 +19,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure for p in $paths do -@@ -1311,8 +1303,7 @@ +@@ -1323,8 +1315,7 @@ archobjs='' archname='' : Possible local include directories to search. : Set locincpth to "" in a hint file to defeat local include searches. @@ -28,8 +29,8 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure : : no include file wanted by default inclwanted='' -@@ -1328,17 +1319,12 @@ - archobjs='' +@@ -1335,17 +1326,12 @@ DEBUGGING='' + libnames='' : change the next line if compiling for Xenix/286 on Xenix/386 -xlibpth='/usr/lib/386 /lib/386' @@ -49,7 +50,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure : Private path used by Configure to find libraries. Its value : is prepended to libpth. This variable takes care of special -@@ -1371,8 +1357,6 @@ +@@ -1380,8 +1366,6 @@ libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun" libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" : We probably want to search /usr/shlib before most other libraries. : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. @@ -58,7 +59,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure : Do not use vfork unless overridden by a hint file. usevfork=false -@@ -2380,7 +2364,6 @@ +@@ -2389,7 +2373,6 @@ uname zip " pth=`echo $PATH | sed -e "s/$p_/ /g"` @@ -66,7 +67,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure for file in $loclist; do eval xxx=\$$file case "$xxx" in -@@ -4785,7 +4768,7 @@ +@@ -4708,7 +4691,7 @@ $rm -f testcpp.c testcpp.out : Set private lib path case "$plibpth" in '') if ./mips; then @@ -75,7 +76,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure fi;; esac case "$libpth" in -@@ -8390,13 +8373,8 @@ +@@ -8354,13 +8337,8 @@ esac echo " " case "$sysman" in '') @@ -91,7 +92,7 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure ;; esac if $test -d "$sysman"; then -@@ -19721,9 +19699,10 @@ +@@ -19742,9 +19720,10 @@ $rm_try tryp case "$full_ar" in '') full_ar=$ar ;; esac @@ -103,10 +104,11 @@ diff -ru -x '*~' perl-5.14.2-orig/Configure perl-5.14.2/Configure : see what type gids are declared as in the kernel echo " " -diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Errno_pm.PL ---- perl-5.14.2-orig/ext/Errno/Errno_pm.PL 2011-09-26 11:44:34.000000000 +0200 -+++ perl-5.14.2/ext/Errno/Errno_pm.PL 2012-01-20 17:02:07.938138311 +0100 -@@ -137,11 +137,7 @@ +diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL +index 439f254..2cdfdb0 100644 +--- a/ext/Errno/Errno_pm.PL ++++ b/ext/Errno/Errno_pm.PL +@@ -137,11 +137,7 @@ sub get_files { if ($dep =~ /(\S+errno\.h)/) { $file{$1} = 1; } @@ -119,10 +121,11 @@ diff -ru -x '*~' perl-5.14.2-orig/ext/Errno/Errno_pm.PL perl-5.14.2/ext/Errno/Er # Some Linuxes have weird errno.hs which generate # no #file or #line directives my $linux_errno_h = -e '/usr/include/errno.h' ? -diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh ---- perl-5.14.2-orig/hints/freebsd.sh 2011-09-19 15:18:22.000000000 +0200 -+++ perl-5.14.2/hints/freebsd.sh 2012-01-20 17:10:37.267924044 +0100 -@@ -118,21 +118,21 @@ +diff --git a/hints/freebsd.sh b/hints/freebsd.sh +index a67c0bb..0f07ca5 100644 +--- a/hints/freebsd.sh ++++ b/hints/freebsd.sh +@@ -119,21 +119,21 @@ case "$osvers" in objformat=`/usr/bin/objformat` if [ x$objformat = xaout ]; then if [ -e /usr/lib/aout ]; then @@ -150,3 +153,73 @@ diff -ru -x '*~' perl-5.14.2-orig/hints/freebsd.sh perl-5.14.2/hints/freebsd.sh ldflags="-Wl,-E " lddlflags="-shared " cccdlflags='-DPIC -fPIC' +diff --git a/hints/linux.sh b/hints/linux.sh +index 688c68d..c12f5f5 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -60,17 +60,6 @@ libswanted="$*" + # Debian 4.0 puts ndbm in the -lgdbm_compat library. + libswanted="$libswanted gdbm_compat" + +-# If you have glibc, then report the version for ./myconfig bug reporting. +-# (Configure doesn't need to know the specific version since it just uses +-# gcc to load the library for all tests.) +-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they +-# are insufficiently precise to distinguish things like +-# libc-2.0.6 and libc-2.0.7. +-if test -L /lib/libc.so.6; then +- libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'` +- libc=/lib/$libc +-fi +- + # Configure may fail to find lstat() since it's a static/inline + # function in . + d_lstat=define +@@ -154,24 +143,6 @@ case "$optimize" in + ;; + esac + +-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +-# where to look. We don't want gcc's own libraries, however, so we +-# filter those out. +-# This could be conditional on Unbuntu, but other distributions may +-# follow suit, and this scheme seems to work even on rather old gcc's. +-# This unconditionally uses gcc because even if the user is using another +-# compiler, we still need to find the math library and friends, and I don't +-# know how other compilers will cope with that situation. +-# Morever, if the user has their own gcc earlier in $PATH than the system gcc, +-# we don't want its libraries. So we try to prefer the system gcc +-# Still, as an escape hatch, allow Configure command line overrides to +-# plibpth to bypass this check. +-if [ -x /usr/bin/gcc ] ; then +- gcc=/usr/bin/gcc +-else +- gcc=gcc +-fi + + case "$plibpth" in + '') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries | +@@ -345,22 +316,6 @@ sparc*) + ;; + esac + +-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than +-# true libraries. The scripts cause binding against static +-# version of -lgdbm which is a bad idea. So if we have 'nm' +-# make sure it can read the file +-# NI-S 2003/08/07 +-if [ -r /usr/lib/libndbm.so -a -x /usr/bin/nm ] ; then +- if /usr/bin/nm /usr/lib/libndbm.so >/dev/null 2>&1 ; then +- echo 'Your shared -lndbm seems to be a real library.' +- else +- echo 'Your shared -lndbm is not a real library.' +- set `echo X "$libswanted "| sed -e 's/ ndbm / /'` +- shift +- libswanted="$*" +- fi +-fi +- + + # This script UU/usethreads.cbu will get 'called-back' by Configure + # after it has prompted the user for whether to use threads. diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index bf60e90d634a..cc6e34b76fed 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -167,6 +167,10 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) configureFlags = ["--enable-ftp"]; }; + fpm = { + configureFlags = ["--enable-fpm"]; + }; + /* php is build within this derivation in order to add the xdebug lines to the php.ini. So both Apache and command line php both use xdebug without having to configure anything. @@ -208,6 +212,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) bz2Support = config.php.bz2 or false; zipSupport = config.php.zip or true; ftpSupport = config.php.ftp or true; + fpmSupport = config.php.fpm or true; }; configurePhase = '' diff --git a/pkgs/development/interpreters/pypy/2.2/default.nix b/pkgs/development/interpreters/pypy/2.2/default.nix index b870522f6297..2fee7bc74df7 100644 --- a/pkgs/development/interpreters/pypy/2.2/default.nix +++ b/pkgs/development/interpreters/pypy/2.2/default.nix @@ -5,8 +5,8 @@ assert zlibSupport -> zlib != null; let - majorVersion = "2.2.1"; - version = "${majorVersion}"; + majorVersion = "2.2"; + version = "${majorVersion}.1"; pythonVersion = "2.7"; libPrefix = "pypy${majorVersion}"; @@ -58,7 +58,8 @@ let # disable shutils because it assumes gid 0 exists # disable socket because it has two actual network tests that fail # disable test_mhlib because it fails for unknown reason - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_shutil -test_mhlib' lib-python + # disable test_multiprocessing due to transient errors + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_shutil -test_mhlib -test_multiprocessing' lib-python ''; installPhase = '' @@ -86,7 +87,7 @@ let homepage = "http://pypy.org/"; description = "PyPy is a fast, compliant alternative implementation of the Python language (2.7.3)"; license = licenses.mit; - platforms = platforms.all; + platforms = platforms.linux; maintainers = with maintainers; [ iElectric ]; }; }; diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index 7fba70377d74..d51838af5ad5 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2 -, sqlite, tcl, tk, x11, openssl, readline, db45, ncurses, gdbm +, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm }: assert zlibSupport -> zlib != null; @@ -9,13 +9,12 @@ with stdenv.lib; let majorVersion = "2.6"; - version = "${majorVersion}.8"; + version = "${majorVersion}.9"; - # http://www.python.org/download/releases/2.6.8/ - # md5 taken from webpage, python 2.6 will receive security fixes until Oct 2013 + # python 2.6 will receive security fixes until Oct 2013 src = fetchurl { - url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; - md5 = "c6e0420a21d8b23dee8b0195c9b9a125"; + url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; + sha256 = "0hbfs2691b60c7arbysbzr0w9528d5pl8a4x7mq5psh6a2cvprya"; }; patches = @@ -45,7 +44,7 @@ let C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions"; + configureFlags = "--enable-shared --with-threads --enable-unicode"; preConfigure = '' @@ -146,7 +145,7 @@ let bsddb = buildInternalPythonModule { moduleName = "bsddb"; - deps = [ db45 ]; + deps = [ db ]; }; crypt = buildInternalPythonModule { diff --git a/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch b/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch new file mode 100644 index 000000000000..95399bf76073 --- /dev/null +++ b/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch @@ -0,0 +1,57 @@ +# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly. +# It added the following line to NEWS: +# - Issue #20246: Fix buffer overflow in socket.recvfrom_into. + +# HG changeset patch +# User Benjamin Peterson +# Date 1389671978 18000 +# Node ID 87673659d8f7ba1623cd4914f09ad3d2ade034e9 +# Parent 2631d33ee7fbd5f0288931ef37872218d511d2e8 +complain when nbytes > buflen to fix possible buffer overflow (closes #20246) + +diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py +--- a/Lib/test/test_socket.py ++++ b/Lib/test/test_socket.py +@@ -1620,6 +1620,16 @@ class BufferIOTest(SocketConnectedTest): + + _testRecvFromIntoMemoryview = _testRecvFromIntoArray + ++ def testRecvFromIntoSmallBuffer(self): ++ # See issue #20246. ++ buf = bytearray(8) ++ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024) ++ ++ def _testRecvFromIntoSmallBuffer(self): ++ with test_support.check_py3k_warnings(): ++ buf = buffer(MSG*2048) ++ self.serv_conn.send(buf) ++ + + TIPC_STYPE = 2000 + TIPC_LOWER = 200 +diff --git a/Misc/ACKS b/Misc/ACKS +--- a/Misc/ACKS ++++ b/Misc/ACKS +@@ -979,6 +979,7 @@ Eric V. Smith + Christopher Smith + Gregory P. Smith + Roy Smith ++Ryan Smith-Roberts + Rafal Smotrzyk + Dirk Soede + Paul Sokolovsky +diff --git a/Misc/NEWS b/Misc/NEWS +--- a/Modules/socketmodule.c ++++ b/Modules/socketmodule.c +@@ -2742,6 +2742,10 @@ sock_recvfrom_into(PySocketSockObject *s + if (recvlen == 0) { + /* If nbytes was not specified, use the buffer's length */ + recvlen = buflen; ++ } else if (recvlen > buflen) { ++ PyErr_SetString(PyExc_ValueError, ++ "nbytes is greater than the length of the buffer"); ++ goto error; + } + + readlen = sock_recvfrom_guts(s, buf.buf, recvlen, flags, &addr); + diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index 617be4f29f13..eeadc3c8cc7f 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2 -, sqlite, tcl, tk, x11, openssl, readline, db4, ncurses, gdbm, libX11 }: +, sqlite, tcl, tk, x11, openssl, readline, db, ncurses, gdbm, libX11 }: assert zlibSupport -> zlib != null; @@ -8,11 +8,11 @@ with stdenv.lib; let majorVersion = "2.7"; - version = "${majorVersion}.5"; + version = "${majorVersion}.6"; src = fetchurl { - url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; - sha256 = "0nc091f19sllibvxm6n3qw5pflcphkwwxmz43q26lqafhra7airv"; + url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; + sha256 = "18gnpyh071dxa0rv3silrz92jw9qpblswzwv4gzqcwxzz20qxmhz"; }; patches = @@ -28,6 +28,10 @@ let # patch python to put zero timestamp into pyc # if DETERMINISTIC_BUILD env var is set ./deterministic-build.patch + + # See http://bugs.python.org/issue20246 + # This will be fixed in 2.7.7. + ./CVE-2014-1912.patch ]; postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) '' @@ -59,7 +63,7 @@ let C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs); LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions"; + configureFlags = "--enable-shared --with-threads --enable-unicode"; preConfigure = "${ensurePurity}" + optionalString stdenv.isCygwin '' @@ -156,7 +160,7 @@ let bsddb = buildInternalPythonModule { moduleName = "bsddb"; - deps = [ db4 ]; + deps = [ db ]; }; curses = buildInternalPythonModule { diff --git a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch new file mode 100644 index 000000000000..c69efd17f964 --- /dev/null +++ b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch @@ -0,0 +1,57 @@ +# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly. +# It added the following line to NEWS: +# - Issue #20246: Fix buffer overflow in socket.recvfrom_into. + + +# HG changeset patch +# User Benjamin Peterson +# Date 1389671978 18000 +# Node ID 9c56217e5c793685eeaf0ee224848c402bdf1e4c +# Parent 2b5cd6d4d149dea6c6941b7e07ada248b29fc9f6 +complain when nbytes > buflen to fix possible buffer overflow (closes #20246) + +diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py +--- a/Lib/test/test_socket.py ++++ b/Lib/test/test_socket.py +@@ -1968,6 +1968,14 @@ class BufferIOTest(SocketConnectedTest): + + _testRecvFromIntoMemoryview = _testRecvFromIntoArray + ++ def testRecvFromIntoSmallBuffer(self): ++ # See issue #20246. ++ buf = bytearray(8) ++ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024) ++ ++ def _testRecvFromIntoSmallBuffer(self): ++ self.serv_conn.send(MSG*2048) ++ + + TIPC_STYPE = 2000 + TIPC_LOWER = 200 +diff --git a/Misc/ACKS b/Misc/ACKS +--- a/Misc/ACKS ++++ b/Misc/ACKS +@@ -1020,6 +1020,7 @@ Eric V. Smith + Christopher Smith + Gregory P. Smith + Roy Smith ++Ryan Smith-Roberts + Rafal Smotrzyk + Dirk Soede + Paul Sokolovsky +diff --git a/Misc/NEWS b/Misc/NEWS +--- a/Modules/socketmodule.c ++++ b/Modules/socketmodule.c +@@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s + if (recvlen == 0) { + /* If nbytes was not specified, use the buffer's length */ + recvlen = buflen; ++ } else if (recvlen > buflen) { ++ PyBuffer_Release(&pbuf); ++ PyErr_SetString(PyExc_ValueError, ++ "nbytes is greater than the length of the buffer"); ++ return NULL; + } + + readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr); + diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix index e09602e7381e..c103b0f59cde 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , bzip2 -, db4 +, db , gdbm , libX11, xproto , ncurses @@ -20,7 +20,7 @@ let version = "${majorVersion}.5"; buildInputs = filter (p: p != null) [ - zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto + zlib bzip2 gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto ]; in stdenv.mkDerivation { @@ -32,6 +32,12 @@ stdenv.mkDerivation { sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v"; }; + patches = + [ + # See http://bugs.python.org/issue20246 + ./CVE-2014-1912.patch + ]; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; preConfigure = '' @@ -57,7 +63,7 @@ stdenv.mkDerivation { passthru = { zlibSupport = zlib != null; sqliteSupport = sqlite != null; - db4Support = db4 != null; + dbSupport = db != null; readlineSupport = readline != null; opensslSupport = openssl != null; tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index 36cb8158506f..d744fa9672f1 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl , bzip2 -, db4 +, db , gdbm , libX11, xproto +, lzma , ncurses , openssl , readline @@ -17,10 +18,10 @@ with stdenv.lib; let majorVersion = "3.3"; - version = "${majorVersion}.3"; + version = "${majorVersion}.5"; buildInputs = filter (p: p != null) [ - zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto + zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto ]; in stdenv.mkDerivation { @@ -28,8 +29,8 @@ stdenv.mkDerivation { inherit majorVersion version; src = fetchurl { - url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; - sha256 = "1jwd9pw7vx6xpjyi7iv5j3rwwkf3vzrwj36kcj1qh8zn2avfj9p5"; + url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; + sha256 = "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb"; }; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; @@ -57,7 +58,7 @@ stdenv.mkDerivation { passthru = { zlibSupport = zlib != null; sqliteSupport = sqlite != null; - db4Support = db4 != null; + dbSupport = db != null; readlineSupport = readline != null; opensslSupport = openssl != null; tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); @@ -69,8 +70,8 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - homepage = "http://python.org"; - description = "a high-level dynamically-typed programming language"; + homepage = http://python.org; + description = "A high-level dynamically-typed programming language"; longDescription = '' Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Some of its key @@ -81,7 +82,7 @@ stdenv.mkDerivation { high level dynamic data types. ''; license = stdenv.lib.licenses.psfl; - platforms = stdenv.lib.platforms.all; + platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [ simons chaoflow ]; }; } diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix new file mode 100644 index 000000000000..0b8774463245 --- /dev/null +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -0,0 +1,89 @@ +{ stdenv, fetchurl +, bzip2 +, db +, gdbm +, libX11, xproto +, lzma +, ncurses +, openssl +, readline +, sqlite +, tcl, tk +, zlib +}: + +assert readline != null -> ncurses != null; + +with stdenv.lib; + +let + majorVersion = "3.4"; + version = "${majorVersion}.0"; + fullVersion = "${version}"; + + buildInputs = filter (p: p != null) [ + zlib bzip2 lzma gdbm sqlite db readline ncurses openssl tcl tk libX11 xproto + ]; +in +stdenv.mkDerivation { + name = "python3-${fullVersion}"; + inherit majorVersion version; + + src = fetchurl { + url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; + sha256 = "1gjcn5c3zqg161vwzh43ciha15w0plf5v7cyfm372pnllb08cdpi"; + }; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + + preConfigure = '' + for i in /usr /sw /opt /pkg; do # improve purity + substituteInPlace ./setup.py --replace $i /no-such-path + done + ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} + + configureFlagsArray=( --enable-shared --with-threads + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + LIBS="-lcrypt ${optionalString (ncurses != null) "-lncurses"}" + ) + ''; + + setupHook = ./setup-hook.sh; + + postInstall = '' + rm -rf "$out/lib/python${majorVersion}/test" + ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}" + ''; + + passthru = { + zlibSupport = zlib != null; + sqliteSupport = sqlite != null; + dbSupport = db != null; + readlineSupport = readline != null; + opensslSupport = openssl != null; + tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); + libPrefix = "python${majorVersion}"; + executable = "python3.4m"; + is_py3k = true; + }; + + enableParallelBuilding = true; + + meta = { + homepage = http://python.org; + description = "A high-level dynamically-typed programming language"; + longDescription = '' + Python is a remarkably powerful dynamic programming language that + is used in a wide variety of application domains. Some of its key + distinguishing features include: clear, readable syntax; strong + introspection capabilities; intuitive object orientation; natural + expression of procedural code; full modularity, supporting + hierarchical packages; exception-based error handling; and very + high level dynamic data types. + ''; + license = stdenv.lib.licenses.psfl; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ simons chaoflow iElectric ]; + }; +} diff --git a/pkgs/development/interpreters/python/3.4/setup-hook.sh b/pkgs/development/interpreters/python/3.4/setup-hook.sh new file mode 100644 index 000000000000..ae71b4147ab7 --- /dev/null +++ b/pkgs/development/interpreters/python/3.4/setup-hook.sh @@ -0,0 +1,15 @@ +addPythonPath() { + addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.4/site-packages +} + +toPythonPath() { + local paths="$1" + local result= + for i in $paths; do + p="$i/lib/python3.4/site-packages" + result="${result}${result:+:}$p" + done + echo $result +} + +envHooks=(${envHooks[@]} addPythonPath) diff --git a/pkgs/development/interpreters/python/python-linkme-wrapper.nix b/pkgs/development/interpreters/python/python-linkme-wrapper.nix index 8d783a8c11ea..040dd7531a2b 100644 --- a/pkgs/development/interpreters/python/python-linkme-wrapper.nix +++ b/pkgs/development/interpreters/python/python-linkme-wrapper.nix @@ -10,4 +10,6 @@ stdenv.mkDerivation { cat ${./python-linkme-wrapper.sh} > $out/bin/.python-linkme-wrapper chmod +x $out/bin/.python-linkme-wrapper ''; + + preferLocalBuild = true; } diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix index 34af23740d5d..ccfbcfcdd42f 100644 --- a/pkgs/development/interpreters/python/wrapper.nix +++ b/pkgs/development/interpreters/python/wrapper.nix @@ -1,5 +1,5 @@ { stdenv, python, buildEnv, makeWrapper, recursivePthLoader, extraLibs ? [], postBuild ? "" -, stdLibs ? stdenv.lib.attrValues python.modules +, stdLibs ? stdenv.lib.attrValues python.modules, ignoreCollisions ? false }: # Create a python executable that knows about additional packages. @@ -7,7 +7,8 @@ (buildEnv { name = "python-${python.version}-wrapper"; paths = stdenv.lib.filter (x : x ? pythonPath) (stdenv.lib.closePropagation extraLibs) ++ stdLibs ++ [ python recursivePthLoader ]; - ignoreCollisions = false; + + inherit ignoreCollisions; postBuild = '' . "${makeWrapper}/nix-support/setup-hook" diff --git a/pkgs/development/interpreters/rascal/default.nix b/pkgs/development/interpreters/rascal/default.nix index d3eb98249892..6818a996d623 100644 --- a/pkgs/development/interpreters/rascal/default.nix +++ b/pkgs/development/interpreters/rascal/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { '' mkdir -p $out/bin makeWrapper ${jdk}/bin/java $out/bin/rascal \ - --add-flags "-Djava.home=$JAVA_HOME -jar ${src}" \ + --add-flags "-jar ${src}" \ ''; meta = { diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix index 60884fce69d1..237e58b5f932 100644 --- a/pkgs/development/interpreters/renpy/default.nix +++ b/pkgs/development/interpreters/renpy/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, python, pkgconfig, wrapPython +{ stdenv, fetchurl, python, cython, pkgconfig, wrapPython , pygame, SDL, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib }: stdenv.mkDerivation { - name = "renpy-6.16.3"; + name = "renpy-6.17.3"; meta = { description = "Ren'Py Visual Novel Engine"; @@ -14,12 +14,12 @@ stdenv.mkDerivation { }; src = fetchurl { - url = "http://www.renpy.org/dl/6.16.3/renpy-6.16.3-source.tar.bz2"; - sha256 = "0yd7wj85kp0hlaqlrhl40irhkmcng89vcxypyx40pqmk87gjagqn"; + url = "http://www.renpy.org/dl/6.17.3/renpy-6.17.3-source.tar.bz2"; + sha256 = "1707xrjmnr4a209jqm4zkda0jyjd76f679g7d51g7vd5cs46s6ph"; }; buildInputs = [ - python pkgconfig wrapPython + python cython pkgconfig wrapPython SDL libpng ffmpeg freetype glew mesa fribidi zlib pygame ]; diff --git a/pkgs/development/interpreters/ruby/patches.nix b/pkgs/development/interpreters/ruby/patches.nix index c5ab0f5e5e20..10cbf1ecfe56 100644 --- a/pkgs/development/interpreters/ruby/patches.nix +++ b/pkgs/development/interpreters/ruby/patches.nix @@ -10,10 +10,29 @@ let find "$1" -type f -name "*.rb" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g" find "$1" -type f -name "*.mk" | xargs sed -i "s@/usr/bin/env@$(type -p env)@g" ''; - + in { + buildr = { + # Many Buildfiles rely on RUBYLIB containing the current directory + # (as was the default in Ruby < 1.9.2). + extraWrapperFlags = "--prefix RUBYLIB : ."; + }; + + fakes3 = { + postInstall = '' + cd $out/${ruby.gemPath}/gems/* + patch -Np1 -i ${../../ruby-modules/fake-s3-list-bucket.patch} + ''; + }; + + ffi = { + postUnpack = "onetuh"; + buildFlags = ["--with-ffi-dir=${libffi}"]; + NIX_POST_EXTRACT_FILES_HOOK = patchUsrBinEnv; + }; + iconv = { buildInputs = [ libiconvOrEmpty ]; }; libv8 = { @@ -26,16 +45,16 @@ in # # Finally, we must set CC and AR explicitly to allow scons to find the # compiler and archiver - + preBuild = '' cat > $TMPDIR/g++ < openssl != null; -assert bdbSupport -> db4 != null; +assert bdbSupport -> db != null; assert ldapSupport -> openldap != null; let @@ -24,13 +24,13 @@ stdenv.mkDerivation rec { --with-apr=${apr} --with-expat=${expat} --with-crypto ${stdenv.lib.optionalString sslSupport "--with-openssl=${openssl}"} - ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db4}"} + ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db}"} ${stdenv.lib.optionalString ldapSupport "--with-ldap"} ''; propagatedBuildInputs = [ makeWrapper apr expat ] ++ optional sslSupport openssl - ++ optional bdbSupport db4 + ++ optional bdbSupport db ++ optional ldapSupport openldap; # Give apr1 access to sed for runtime invocations diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix index 7dfc6a60a99f..226f792c45a4 100644 --- a/pkgs/development/libraries/aqbanking/default.nix +++ b/pkgs/development/libraries/aqbanking/default.nix @@ -1,23 +1,28 @@ -{ stdenv, fetchurl, gwenhywfar, pkgconfig, gmp, zlib }: +{ stdenv, fetchurl, gmp, gwenhywfar, libtool, libxml2, libxslt +, pkgconfig, xmlsec, zlib +}: stdenv.mkDerivation rec { - name = "aqbanking-5.0.21"; + name = "aqbanking-5.4.0beta"; src = fetchurl { - url = "http://www2.aquamaniac.de/sites/download/download.php?package=03&release=91&file=01&dummy=aqbanking-5.0.21.tar.gz"; + url = "http://www2.aquamaniac.de/sites/download/download.php?package=03&release=112&file=01&dummy=aqbanking-5.4.0beta.tar.gz"; name = "${name}.tar.gz"; - sha256 = "1xvzg640fswkrjrkrqzj0j9lnij7kcpnyvzd7nsg1by40wxwgp52"; + sha256 = "0yd588sw9grc2c0bfyx8h39mr30pa1zxrcbv31p6pz6szilk2agh"; }; - buildInputs = [ gwenhywfar gmp zlib ]; + buildInputs = [ gmp gwenhywfar libtool libxml2 libxslt xmlsec zlib ]; nativeBuildInputs = [ pkgconfig ]; configureFlags = "--with-gwen-dir=${gwenhywfar}"; - meta = { - maintainers = [ stdenv.lib.maintainers.urkud ]; - # Tries to install gwenhywfar plugin, thus `make install` fails + meta = with stdenv.lib; { + description = "An interface to banking tasks, file formats and country information"; + homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=03&showall=1"; hydraPlatforms = []; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ goibhniu urkud ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix index a69cee99b2b6..6b054aaf44b1 100644 --- a/pkgs/development/libraries/aspell/default.nix +++ b/pkgs/development/libraries/aspell/default.nix @@ -12,6 +12,13 @@ stdenv.mkDerivation rec { doCheck = true; + preConfigure = '' + configureFlagsArray=( + --enable-pkglibdir=$out/lib/aspell + --enable-pkgdatadir=$out/lib/aspell + ); + ''; + # Note: Users should define the `ASPELL_CONF' environment variable to # `dict-dir $HOME/.nix-profile/lib/aspell/' so that they can access # dictionaries installed in their profile. diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix index 6500e602e854..79a75708c169 100644 --- a/pkgs/development/libraries/aspell/dictionaries.nix +++ b/pkgs/development/libraries/aspell/dictionaries.nix @@ -140,12 +140,21 @@ in { }; }; - pt = buildDict { - shortName = "pt-0.50-1"; + pt_BR = buildDict { + shortName = "pt_BR-20090702"; + fullName = "Brazilian Portuguese"; + src = fetchurl { + url = mirror://gnu/aspell/dict/pt_BR/aspell6-pt_BR-20090702-0.tar.bz2; + sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p"; + }; + }; + + pt_PT = buildDict { + shortName = "pt_PT-20070510"; fullName = "Portuguese"; src = fetchurl { - url = mirror://gnu/aspell/dict/pt/aspell-pt-0.50-1.tar.bz2; - sha256 = "07xzlnxxzadqsapng29p2gdwj0bijv10wpjnqlwzmkxnx6fxzkcy"; + url = mirror://gnu/aspell/dict/pt_PT/aspell6-pt_PT-20070510-0.tar.bz2; + sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq"; }; }; diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index a93aaa5a43fc..2dca2a8e1ec5 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }: let - ver_maj = "2.10"; + ver_maj = "2.12"; ver_min = "0"; in stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz"; - sha256 = "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"; + sha256 = "13zijfcmx7sda83qkryzsmr9hw0r3b73xkagq9cmm733fhcl7a28"; }; buildInputs = libintlOrEmpty; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index 3c5855ea284f..8d87e2ee50dd 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { - name = "attr-2.4.46"; + name = "attr-2.4.47"; src = fetchurl { url = "mirror://savannah/attr/${name}.src.tar.gz"; - sha256 = "07qf6kb2zk512az481bbnsk9jycn477xpva1a726n5pzlzf9pmnw"; + sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5"; }; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix index abfb3985f261..180de0e0bd52 100644 --- a/pkgs/development/libraries/aubio/default.nix +++ b/pkgs/development/libraries/aubio/default.nix @@ -1,25 +1,30 @@ -{ stdenv, fetchurl, pkgconfig, fftw, libsndfile, libsamplerate -, python, alsaLib, jackaudio }: +{ stdenv, fetchurl, alsaLib, fftw, jackaudio, libsamplerate +, libsndfile, pkgconfig, python +}: stdenv.mkDerivation rec { - name = "aubio-0.3.2"; + name = "aubio-0.4.0"; src = fetchurl { - url = "http://aubio.org/pub/${name}.tar.gz"; - sha256 = "1k8j2m8wdpa54hvrqy6nqfcx42x6nwa77hi3ym0n22k192q8f4yw"; + url = "http://aubio.org/pub/${name}.tar.bz2"; + sha256 = "18ik5nn8n984f0wnrwdfhc06b8blqgm9b2hrm7hc9m0rr039mpj9"; }; - buildInputs = - [ pkgconfig fftw libsndfile libsamplerate python - # optional: - alsaLib jackaudio - ]; + buildInputs = [ + alsaLib fftw jackaudio libsamplerate libsndfile pkgconfig python + ]; - meta = { + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { description = "Library for audio labelling"; homepage = http://aubio.org/; - license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = [ maintainers.goibhniu maintainers.marcweber ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix index 9150df8da7d4..d1510e342380 100644 --- a/pkgs/development/libraries/audio/lilv/default.nix +++ b/pkgs/development/libraries/audio/lilv/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A C library to make the use of LV2 plugins"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix index f5d48df03f84..25d19d089a57 100644 --- a/pkgs/development/libraries/audio/lv2/default.nix +++ b/pkgs/development/libraries/audio/lv2/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A plugin standard for audio systems"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix new file mode 100644 index 000000000000..0abe3f0376b9 --- /dev/null +++ b/pkgs/development/libraries/audio/lvtk/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, boost, gtkmm, lv2, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "lvtk-${version}"; + version = "1.1.1"; + + src = fetchurl { + url = "http://lvtoolkit.org/code/browse/lvtk/snapshot/${name}.tar.gz"; + sha256 = "161l4n3a2kar2r5mn3zz6dbj1p2s6361ainrka3s74518z7yf42w"; + }; + + buildInputs = [ boost gtkmm lv2 pkgconfig python ]; + + configurePhase = '' + python waf configure --prefix=$out --boost-includes=${boost}/include + ''; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A set C++ wrappers around the LV2 C API"; + homepage = http://lvtoolkit.org; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix new file mode 100644 index 000000000000..aad3656cde80 --- /dev/null +++ b/pkgs/development/libraries/audio/raul/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchsvn, boost, gtk, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "raul-svn-${rev}"; + rev = "5205"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/raul"; + rev = rev; + sha256 = "1rkl7vxhwf6d0qfl2ymfd1qwmh9cl1xv6kkz893xg0blpvzcdmp3"; + }; + + buildInputs = [ boost gtk pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "A C++ utility library primarily aimed at audio/musical applications"; + homepage = http://drobilla.net/software/raul; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix index 5c78296af971..ac0b9d233fa8 100644 --- a/pkgs/development/libraries/audio/sratom/default.nix +++ b/pkgs/development/libraries/audio/sratom/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A library for serialising LV2 atoms to/from RDF"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix index 8af725b6b80f..87e034726594 100644 --- a/pkgs/development/libraries/audio/suil/default.nix +++ b/pkgs/development/libraries/audio/suil/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for loading and wrapping LV2 plugin UIs"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix index bfca4a523046..f4c4220a8792 100644 --- a/pkgs/development/libraries/audio/vamp/default.nix +++ b/pkgs/development/libraries/audio/vamp/default.nix @@ -6,21 +6,21 @@ rec { vampSDK = stdenv.mkDerivation { - name = "vamp-sdk-2.2.1"; + name = "vamp-sdk-2.5"; src = fetchurl { - url = mirror://sourceforge/vamp/vamp-plugin-sdk-2.2.1.tar.gz; - sha256 = "09iw6gv8aqq5v322fhi872mrhjp0a2w63966g0mks4vhh84q252p"; + url = http://code.soundsoftware.ac.uk/attachments/download/690/vamp-plugin-sdk-2.5.tar.gz; + sha256 = "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv"; }; - buildInputs = [pkgconfig libsndfile]; + buildInputs = [ pkgconfig libsndfile ]; - meta = { + meta = with stdenv.lib; { description = "Audio processing plugin system for plugins that extract descriptive information from audio data"; homepage = http://sourceforge.net/projects/vamp; - license = "BSD"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.bsd3; + maintainers = [ maintainers.goibhniu maintainers.marcweber ]; + platforms = platforms.linux; }; }; diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix index 497909cf25c4..a5fd80dc0db9 100644 --- a/pkgs/development/libraries/audiofile/default.nix +++ b/pkgs/development/libraries/audiofile/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { description = "Library for reading and writing audio files in various formats"; homepage = http://www.68k.org/~michael/audiofile/; license = licenses.lgpl21Plus; - maintainers = with maintainers; [ lovek323 shlevy ]; + maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/boost/1.49.nix b/pkgs/development/libraries/boost/1.49.nix index f502df4e19c3..fca4249e963d 100644 --- a/pkgs/development/libraries/boost/1.49.nix +++ b/pkgs/development/libraries/boost/1.49.nix @@ -57,7 +57,12 @@ stdenv.mkDerivation { }; # See . - patches = [ ./boost_filesystem_post_1_49_0.patch ./time_utc.patch ./boost-149-cstdint.patch ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch ); + patches = [ + ./CVE-2013-0252.patch # https://svn.boost.org/trac/boost/ticket/7743 + ./boost_filesystem_post_1_49_0.patch + ./time_utc.patch + ./boost-149-cstdint.patch + ] ++ (stdenv.lib.optional stdenv.isDarwin ./boost-149-darwin.patch ); enableParallelBuilding = true; diff --git a/pkgs/development/libraries/boost/CVE-2013-0252.patch b/pkgs/development/libraries/boost/CVE-2013-0252.patch new file mode 100644 index 000000000000..fce52d479692 --- /dev/null +++ b/pkgs/development/libraries/boost/CVE-2013-0252.patch @@ -0,0 +1,48 @@ +Index: /boost/locale/utf.hpp +=================================================================== +--- /boost/locale/utf.hpp (revision 78304) ++++ /boost/locale/utf.hpp (revision 81590) +@@ -220,4 +220,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + case 2: +@@ -225,4 +227,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + case 1: +@@ -230,4 +234,6 @@ + return incomplete; + tmp = *p++; ++ if (!is_trail(tmp)) ++ return illegal; + c = (c << 6) | ( tmp & 0x3F); + } +Index: /libs/locale/test/test_codepage_converter.cpp +=================================================================== +--- /libs/locale/test/test_codepage_converter.cpp (revision 73786) ++++ /libs/locale/test/test_codepage_converter.cpp (revision 81590) +@@ -140,4 +140,18 @@ + TEST_TO("\xf8\x90\x80\x80\x80",illegal); // 400 0000 + TEST_TO("\xfd\xbf\xbf\xbf\xbf\xbf",illegal); // 7fff ffff ++ ++ std::cout << "-- Invalid trail" << std::endl; ++ TEST_TO("\xC2\x7F",illegal); ++ TEST_TO("\xdf\x7F",illegal); ++ TEST_TO("\xe0\x7F\x80",illegal); ++ TEST_TO("\xef\xbf\x7F",illegal); ++ TEST_TO("\xe0\x7F\x80",illegal); ++ TEST_TO("\xef\xbf\x7F",illegal); ++ TEST_TO("\xf0\x7F\x80\x80",illegal); ++ TEST_TO("\xf4\x7f\xbf\xbf",illegal); ++ TEST_TO("\xf0\x90\x7F\x80",illegal); ++ TEST_TO("\xf4\x8f\x7F\xbf",illegal); ++ TEST_TO("\xf0\x90\x80\x7F",illegal); ++ TEST_TO("\xf4\x8f\xbf\x7F",illegal); + + std::cout << "-- Invalid length" << std::endl; diff --git a/pkgs/development/libraries/boost/header-only-wrapper.nix b/pkgs/development/libraries/boost/header-only-wrapper.nix index 6027ea5c3939..96c9216a371b 100644 --- a/pkgs/development/libraries/boost/header-only-wrapper.nix +++ b/pkgs/development/libraries/boost/header-only-wrapper.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { tar xf $src -C $out/include --strip-components=1 ${pkgid}/boost ''; + preferLocalBuild = true; + meta = { homepage = "http://boost.org/"; description = "Boost C++ Library Collection"; diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 68ba7d1a9b26..6c73b17e6f4e 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { homepage = http://cairographics.org/; - licenses = [ "LGPLv2+" "MPLv1" ]; + license = [ "LGPLv2+" "MPLv1" ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix index e47645737b16..f21abedc1f52 100644 --- a/pkgs/development/libraries/cairomm/default.nix +++ b/pkgs/development/libraries/cairomm/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { homepage = http://cairographics.org/; - licenses = [ "LGPLv2+" "MPLv1" ]; + license = [ "LGPLv2+" "MPLv1" ]; }; } diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix new file mode 100644 index 000000000000..d61c82bb7d3b --- /dev/null +++ b/pkgs/development/libraries/capstone/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, bash }: + +stdenv.mkDerivation rec { + name = "capstone-${version}"; + version = "2.1.2"; + + src = fetchurl { + url = "http://www.capstone-engine.org/download/${version}/${name}.tgz"; + sha256 = "1k6px3vdcsfby3lakss5sazs875kbzkzqk7cj79xrm2y5ik1vr29"; + }; + + buildPhase = false; + + patchPhase = '' + substituteInPlace make.sh --replace "/usr/bin/env bash" "${bash}/bin/bash" + ''; + + installPhase = "PREFIX=$out ./make.sh install"; + + meta = { + description = "advanced disassembly library"; + homepage = "http://www.capstone-engine.org"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix index a424041dbc23..a0e1bcfa6121 100644 --- a/pkgs/development/libraries/check/default.nix +++ b/pkgs/development/libraries/check/default.nix @@ -1,12 +1,12 @@ { fetchurl, stdenv }: -let version = "0.9.11"; in +let version = "0.9.12"; in stdenv.mkDerivation { name = "check-${version}"; src = fetchurl { url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz"; - sha256 = "0dk9jx9hjjwsgly0iwvr5hhw870zlx21gwar7zxlzfq0zdzqqkpa"; + sha256 = "18qybf3s25s1gydp2lwbc4icnmdc6f9sj21fllcwm81kw5apxm67"; }; # Test can randomly fail: http://hydra.nixos.org/build/7243912 diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix index ab5737b20ede..c3878ef4b789 100644 --- a/pkgs/development/libraries/cloog/default.nix +++ b/pkgs/development/libraries/cloog/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, gmp, isl }: stdenv.mkDerivation rec { - name = "cloog-0.16.3"; + name = "cloog-0.18.0"; src = fetchurl { url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz"; - sha256 = "0lzbsszfzsr0jfwkccfbsvx913d2yc45dqwa472plmxkhbwykmc9"; + sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228"; }; buildInputs = [ gmp ]; diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix new file mode 100644 index 000000000000..8297dc9d5da3 --- /dev/null +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -0,0 +1,26 @@ +{ fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }: + +stdenv.mkDerivation rec { + name = "clutter-gst-2.0.10"; + + src = fetchurl { + url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz"; + sha256 = "f00cf492a6d4f1036c70d8a0ebd2f0f47586ea9a9b49b1ffda79c9dc7eadca00"; + }; + + propagatedBuildInputs = [ clutter gtk3 glib cogl ]; + nativeBuildInputs = [ pkgconfig ]; + + postBuild = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "Clutter-GST"; + + homepage = http://www.clutter-project.org/; + + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [ lethalman ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix index 587324461117..3614d149489d 100644 --- a/pkgs/development/libraries/clutter-gtk/default.nix +++ b/pkgs/development/libraries/clutter-gtk/default.nix @@ -1,17 +1,15 @@ -{ fetchurl, stdenv, pkgconfig, clutter, gtk3 }: +{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }: stdenv.mkDerivation rec { - name = "clutter-gtk-1.0.4"; + name = "clutter-gtk-1.4.4"; src = fetchurl { - url = mirror://gnome/sources/clutter-gtk/1.0/clutter-gtk-1.0.4.tar.xz; - sha256 = "0kj6vsvaqxx6vqqk9acc8b0p40klrpwlf2wsjkams1kxxcpzsh87"; + url = "mirror://gnome/sources/clutter-gtk/1.4/${name}.tar.xz"; + sha256 = "bc3108594a01a08bb6d9b538afe995e4fd78634a8356064ee8137d87aad51b2e"; }; propagatedBuildInputs = [ clutter gtk3 ]; - nativeBuildInputs = [ pkgconfig ]; - - configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK + nativeBuildInputs = [ pkgconfig gobjectIntrospection ]; postBuild = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index 1fc1021156d5..0f1c1dd82e2d 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty -, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland }: +, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland +, gstreamerSupport ? true, gst_all_1 }: let ver_maj = "1.16"; @@ -22,13 +23,15 @@ stdenv.mkDerivation rec { "--enable-kms-egl-platform" "--enable-wayland-egl-platform" "--enable-wayland-egl-server" - ]; + ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"; propagatedBuildInputs = with xorg; [ glib gdk_pixbuf gobjectIntrospection mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland ] - ++ libintlOrEmpty; + ++ libintlOrEmpty + ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer + gst_all_1.gst-plugins-base ]; buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ]; diff --git a/pkgs/development/libraries/coin3d/default.nix b/pkgs/development/libraries/coin3d/default.nix index 2ada02441492..f866b2299c1f 100644 --- a/pkgs/development/libraries/coin3d/default.nix +++ b/pkgs/development/libraries/coin3d/default.nix @@ -9,6 +9,15 @@ stdenv.mkDerivation rec { sha256 = "05ylhrcglm81dajbk132l1w892634z2i97x10fm64y1ih72phd2q"; }; + patches = [ + (fetchurl { + url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/coin/files/coin-3.1.3-gcc-4.7.patch; + name = "gcc-4.7.patch"; + sha256 = "076dyc52swk8qc7ylps53fg6iqmd52x8s7m18i80x49dd109yw20"; + }) + ./gcc-4.8.patch # taken from FC-17 source rpm + ]; + buildInputs = [ mesa ]; meta = { diff --git a/pkgs/development/libraries/coin3d/gcc-4.8.patch b/pkgs/development/libraries/coin3d/gcc-4.8.patch new file mode 100644 index 000000000000..be5b8b03b638 --- /dev/null +++ b/pkgs/development/libraries/coin3d/gcc-4.8.patch @@ -0,0 +1,38 @@ +From 9f5d96a2b9a71ab539237d2dab4c54fc46fc5c5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Thu, 18 Apr 2013 19:17:06 +0200 +Subject: [PATCH 10/10] GCC-4.8.0 fixes + +--- + src/fonts/freetype.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/fonts/freetype.cpp b/src/fonts/freetype.cpp +index 760b88b..e705d3a 100644 +--- a/src/fonts/freetype.cpp ++++ b/src/fonts/freetype.cpp +@@ -32,18 +32,18 @@ + + 20050613 mortene. */ + +-#include "fonts/freetype.h" +- + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif /* HAVE_CONFIG_H */ + +-#include ++#include + #include + + #include "glue/freetype.h" + #include "glue/GLUWrapper.h" + ++#include "fonts/freetype.h" ++ + /* ************************************************************************* */ + + #ifdef __cplusplus +-- +1.8.1.4 + diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix new file mode 100644 index 000000000000..59de923ad43d --- /dev/null +++ b/pkgs/development/libraries/concurrencykit/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "concurrencykit-${version}"; + version = "0.4.1"; + + src = fetchurl { + url = "http://concurrencykit.org/releases/ck-${version}.tar.gz"; + sha256 = "1gi5gpkxvbb6vkhjm9kab7dz1av2i11f1pggxp001rqq2mi3i6aq"; + }; + + meta = { + description = "A library of safe, high-performance concurrent data structures"; + homepage = "http://concurrencykit.org"; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix index a802f5716746..65489ee8c88d 100644 --- a/pkgs/development/libraries/ctl/default.nix +++ b/pkgs/development/libraries/ctl/default.nix @@ -8,12 +8,12 @@ stdenv.mkDerivation { sha256 = "16lzgbpxdyhykdwndj1i9vx3h4bfkxqqcrvasvgg70gb5raxj0mj"; }; - patches = [ ./patch.patch ]; - + patches = [ ./patch.patch ./gcc47.patch ]; + propagatedBuildInputs = [ ilmbase ]; - + configureFlags = "--with-ilmbase-prefix=${ilmbase}"; - + #configurePhase = " #export CXXFLAGS=\"-I${ilmbase}/include -L${ilmbase}/lib\" #echo $CXXFLAGS diff --git a/pkgs/development/libraries/ctl/gcc47.patch b/pkgs/development/libraries/ctl/gcc47.patch new file mode 100644 index 000000000000..1aa4be4fe6d0 --- /dev/null +++ b/pkgs/development/libraries/ctl/gcc47.patch @@ -0,0 +1,15 @@ + https://bugs.gentoo.org/426368 + + IlmCtl/CtlInterpreter.cpp | 1 + + 1 file changed, 1 insertion(+) + +--- a/IlmCtl/CtlInterpreter.cpp ++++ b/IlmCtl/CtlInterpreter.cpp +@@ -64,6 +64,7 @@ + #include + #include + #include ++#include + + #ifdef WIN32 + #include diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index e90ec4226619..712f05b8d651 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, db4, gettext, pam }: +{ stdenv, fetchurl, openssl, db, gettext, pam }: stdenv.mkDerivation rec { name = "cyrus-sasl-2.1.26"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"; }; - buildInputs = [ openssl db4 gettext ] ++ stdenv.lib.optional stdenv.isLinux pam; + buildInputs = [ openssl db gettext ] ++ stdenv.lib.optional stdenv.isLinux pam; patches = [ ./missing-size_t.patch ]; # https://bugzilla.redhat.com/show_bug.cgi?id=906519 patchFlags = "-p0"; diff --git a/pkgs/development/libraries/db4/cygwin-4.4.patch b/pkgs/development/libraries/db/cygwin-4.4.patch similarity index 100% rename from pkgs/development/libraries/db4/cygwin-4.4.patch rename to pkgs/development/libraries/db/cygwin-4.4.patch diff --git a/pkgs/development/libraries/db4/cygwin-4.5.patch b/pkgs/development/libraries/db/cygwin-4.5.patch similarity index 100% rename from pkgs/development/libraries/db4/cygwin-4.5.patch rename to pkgs/development/libraries/db/cygwin-4.5.patch diff --git a/pkgs/development/libraries/db/db-4.4.nix b/pkgs/development/libraries/db/db-4.4.nix new file mode 100644 index 000000000000..4a182353f25f --- /dev/null +++ b/pkgs/development/libraries/db/db-4.4.nix @@ -0,0 +1,7 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "4.4.20"; + extraPatches = [ ./cygwin-4.4.patch ]; + sha256 = "0y9vsq8dkarx1mhhip1vaciz6imbbyv37c1dm8b20l7p064bg2i9"; +}) diff --git a/pkgs/development/libraries/db/db-4.5.nix b/pkgs/development/libraries/db/db-4.5.nix new file mode 100644 index 000000000000..6a0a921d8de6 --- /dev/null +++ b/pkgs/development/libraries/db/db-4.5.nix @@ -0,0 +1,7 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "4.5.20"; + extraPatches = [ ./cygwin-4.5.patch ./register-race-fix.patch ]; + sha256 = "0bd81k0qv5i8w5gbddrvld45xi9k1gvmcrfm0393v0lrm37dab7m"; +}) diff --git a/pkgs/development/libraries/db/db-4.7.nix b/pkgs/development/libraries/db/db-4.7.nix new file mode 100644 index 000000000000..62ccfd7d3a56 --- /dev/null +++ b/pkgs/development/libraries/db/db-4.7.nix @@ -0,0 +1,6 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "4.7.25"; + sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi"; +}) diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix new file mode 100644 index 000000000000..e77307d6fa5a --- /dev/null +++ b/pkgs/development/libraries/db/db-4.8.nix @@ -0,0 +1,6 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "4.8.30"; + sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; +}) diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix new file mode 100644 index 000000000000..af16f1ddf549 --- /dev/null +++ b/pkgs/development/libraries/db/db-5.3.nix @@ -0,0 +1,6 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "5.3.28"; + sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0"; +}) diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix new file mode 100644 index 000000000000..22e858a9d180 --- /dev/null +++ b/pkgs/development/libraries/db/db-6.0.nix @@ -0,0 +1,7 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "6.0.20"; + sha256 = "00r2aaglq625y8r9xd5vw2y070plp88f1mb2gbq3kqsl7128lsl0"; + license = stdenv.lib.licenses.agpl3; +}) diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix new file mode 100644 index 000000000000..6217bc461249 --- /dev/null +++ b/pkgs/development/libraries/db/generic.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl +, cxxSupport ? true +, compat185 ? true + +# Options from inherited versions +, version, sha256 +, extraPatches ? [ ] +, license ? stdenv.lib.licenses.sleepycat +}: + +stdenv.mkDerivation rec { + name = "db-${version}"; + + src = fetchurl { + url = "http://download.oracle.com/berkeley-db/${name}.tar.gz"; + sha256 = sha256; + }; + + patches = extraPatches; + + configureFlags = [ + (if cxxSupport then "--enable-cxx" else "--disable-cxx") + (if compat185 then "--enable-compat185" else "--disable-compat185") + ]; + + preConfigure = '' + cd build_unix + configureScript=../dist/configure + ''; + + postInstall = '' + rm -rf $out/docs + ''; + + meta = with stdenv.lib; { + homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/index.html"; + description = "Berkeley DB"; + license = license; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/db4/register-race-fix.patch b/pkgs/development/libraries/db/register-race-fix.patch similarity index 100% rename from pkgs/development/libraries/db4/register-race-fix.patch rename to pkgs/development/libraries/db/register-race-fix.patch diff --git a/pkgs/development/libraries/db4/builder.sh b/pkgs/development/libraries/db4/builder.sh deleted file mode 100644 index b9d48b608032..000000000000 --- a/pkgs/development/libraries/db4/builder.sh +++ /dev/null @@ -1,12 +0,0 @@ -source $stdenv/setup - -preConfigure() { - cd build_unix - configureScript=../dist/configure -} - -postInstall() { - rm -rf $out/docs -} - -genericBuild diff --git a/pkgs/development/libraries/db4/db4-4.4.nix b/pkgs/development/libraries/db4/db4-4.4.nix deleted file mode 100644 index ab3ffa85cf27..000000000000 --- a/pkgs/development/libraries/db4/db4-4.4.nix +++ /dev/null @@ -1,22 +0,0 @@ -{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}: - -stdenv.mkDerivation { - name = "db4-4.4.20"; - - builder = ./builder.sh; - - src = fetchurl { - urls = [ - http://download.oracle.com/berkeley-db/db-4.4.20.NC.tar.gz - http://tarballs.nixos.org/db-4.4.20.NC.tar.gz - ]; - md5 = "afd9243ea353bbaa04421488d3b37900"; - }; - - configureFlags = [ - (if cxxSupport then "--enable-cxx" else "--disable-cxx") - (if compat185 then "--enable-compat185" else "--disable-compat185") - ]; - - patches = [ ./cygwin-4.4.patch ]; -} diff --git a/pkgs/development/libraries/db4/db4-4.5.nix b/pkgs/development/libraries/db4/db4-4.5.nix deleted file mode 100644 index e5cf6f35a01f..000000000000 --- a/pkgs/development/libraries/db4/db4-4.5.nix +++ /dev/null @@ -1,19 +0,0 @@ -{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}: - -stdenv.mkDerivation { - name = "db4-4.5.20"; - - builder = ./builder.sh; - - src = fetchurl { - url = http://download-east.oracle.com/berkeley-db/db-4.5.20.tar.gz; - md5 = "b0f1c777708cb8e9d37fb47e7ed3312d"; - }; - - configureFlags = [ - (if cxxSupport then "--enable-cxx" else "--disable-cxx") - (if compat185 then "--enable-compat185" else "--disable-compat185") - ]; - - patches = [./cygwin-4.5.patch ./register-race-fix.patch]; -} diff --git a/pkgs/development/libraries/db4/db4-4.7.nix b/pkgs/development/libraries/db4/db4-4.7.nix deleted file mode 100644 index 9fb0d6587c0f..000000000000 --- a/pkgs/development/libraries/db4/db4-4.7.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}: - -stdenv.mkDerivation { - name = "db4-4.7.25"; - - builder = ./builder.sh; - - src = fetchurl { - url = http://download-east.oracle.com/berkeley-db/db-4.7.25.tar.gz; - sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi"; - }; - - configureFlags = [ - (if cxxSupport then "--enable-cxx" else "--disable-cxx") - (if compat185 then "--enable-compat185" else "--disable-compat185") - ]; - -} diff --git a/pkgs/development/libraries/db4/db4-4.8.nix b/pkgs/development/libraries/db4/db4-4.8.nix deleted file mode 100644 index a56a42f22ae5..000000000000 --- a/pkgs/development/libraries/db4/db4-4.8.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}: - -stdenv.mkDerivation { - name = "db4-4.8.30"; - - builder = ./builder.sh; - - src = fetchurl { - url = http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz; - sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; - }; - - configureFlags = [ - (if cxxSupport then "--enable-cxx" else "--disable-cxx") - (if compat185 then "--enable-compat185" else "--disable-compat185") - ]; - -} diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix index 0a4b80d3f3ea..2bd4f8149853 100644 --- a/pkgs/development/libraries/dbus-cplusplus/default.nix +++ b/pkgs/development/libraries/dbus-cplusplus/default.nix @@ -10,6 +10,12 @@ stdenv.mkDerivation rec { sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"; }; + patches = [( fetchurl { + url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch; + name = "gcc-4.7.patch"; + sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g"; + })]; + buildInputs = [ dbus glib gtkmm pkgconfig expat ]; configureFlags = "--disable-ecore"; diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix index be6cf442a49f..9c774e802fc1 100644 --- a/pkgs/development/libraries/dbus-glib/default.nix +++ b/pkgs/development/libraries/dbus-glib/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }: +{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconvOrEmpty, dbus, glib }: stdenv.mkDerivation rec { - name = "dbus-glib-0.100.2"; + name = "dbus-glib-0.102"; src = fetchurl { url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz"; - sha256 = "1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"; + sha256 = "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"; }; nativeBuildInputs = [ pkgconfig gettext ]; - buildInputs = [ expat ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv; + buildInputs = [ expat ] ++ libiconvOrEmpty; propagatedBuildInputs = [ dbus.libs glib ]; diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 794128d054a7..ff1c9f76cd07 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -3,8 +3,8 @@ , libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }: let - version = "1.6.16"; # 1.7.* isn't recommended, even for gnome 3.8 - sha256 = "0wrmh5azszb54zpy7d0zjsy456khcv8yc19ivqrygkdg7a3l4gs6"; + version = "1.8.0"; + sha256 = "04qbsyw92279hfkwic5h6jc5999p87qsaqqgc6zcqddmh9r8r7vn"; inherit (stdenv) lib; @@ -56,7 +56,7 @@ let "--localstatedir=/var" "--sysconfdir=/etc" "--with-session-socket-dir=/tmp" - "--with-systemdsystemunitdir=$(out)/lib/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; enableParallelBuilding = true; @@ -67,14 +67,12 @@ let } merge ]); - libs = dbus_drv "libs" "dbus" ({ + libs = dbus_drv "libs" "dbus" { # Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11 # (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands. NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1"; - } // stdenv.lib.optionalAttrs (systemdOrEmpty != []) { - buildInputs = [ systemd.headers ]; - patches = [ ./systemd.patch ]; # bypass systemd detection - }); + buildInputs = [ systemdOrEmpty ]; + }; attrs = rec { @@ -83,14 +81,13 @@ let # This package has been split because most applications only need dbus.lib # which serves as an interface to a *system-wide* daemon, # see e.g. http://en.wikipedia.org/wiki/D-Bus#Architecture . - # Also some circular dependencies get split by this (like with systemd). inherit libs; tools = dbus_drv "tools" "tools" { configureFlags = [ "--with-dbus-daemondir=${daemon}/bin" ]; - buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs daemon dbus_glib ]; - NIX_CFLAGS_LINK = + buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs daemon ]; + NIX_CFLAGS_LINK = stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed " + "-ldbus-1"; @@ -102,16 +99,6 @@ let buildInputs = systemdOrEmpty; }; - # Some of the tests don't work yet; in fact, @vcunat tried several packages - # containing dbus testing, and all of them have some test failure. - tests = dbus_drv "tests" "test" { - preBuild = makeInternalLib; - buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs tools daemon dbus_glib python ]; - NIX_CFLAGS_LINK = - stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed " - + "-ldbus-1"; - }; - docs = dbus_drv "docs" "doc" { postInstall = ''rm -r "$out/lib"''; }; diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix index cdc54ef66916..6326efe1adb8 100644 --- a/pkgs/development/libraries/directfb/default.nix +++ b/pkgs/development/libraries/directfb/default.nix @@ -35,4 +35,22 @@ stdenv.mkDerivation { ] ++ stdenv.lib.optionals enableX11 [ "--enable-x11" ]; + + meta = with stdenv.lib; { + description = "Graphics and input library designed with embedded systems in mind"; + longDescription = '' + DirectFB is a thin library that provides hardware graphics acceleration, + input device handling and abstraction, integrated windowing system with + support for translucent windows and multiple display layers, not only on + top of the Linux Framebuffer Device. It is a complete hardware + abstraction layer with software fallbacks for every graphics operation + that is not supported by the underlying hardware. DirectFB adds graphical + power to embedded systems and sets a new standard for graphics under + Linux. + ''; + homepage = http://directfb.org/; + license = licenses.lgpl21; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; } diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix index a9c8c16a9d33..be583e08b6bc 100644 --- a/pkgs/development/libraries/directfb/src-for-default.nix +++ b/pkgs/development/libraries/directfb/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.6.2"; - name="directfb-1.6.2"; - hash="0k9x8lnjvlyalsd07a8z4iv2rfmpiz6j7aj0y4m4sybxhc8c86xr"; + version="1.6.3"; + name="directfb-1.6.3"; + hash="0w2yyx6l2wn8jj9y14ymknqyc88wwrl314p9204frck91znsr5ks"; url="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${version}.tar.gz"; - advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.2.tar.gz"; + advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-1.6.3.tar.gz"; } diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix index a7deb9f4c278..22b6cf242c80 100644 --- a/pkgs/development/libraries/exiv2/default.nix +++ b/pkgs/development/libraries/exiv2/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, zlib, expat}: stdenv.mkDerivation rec { - name = "exiv2-0.23"; + name = "exiv2-0.24"; src = fetchurl { url = "http://www.exiv2.org/${name}.tar.gz"; - sha256 = "04bbg2cg6mgcyz435zamx37sp5zw44n2alb59ki1daz71f851yl1"; + sha256 = "13pgvz14kyapxl89pxjaq3274k56d5lzfckpg1g9z7gvqzk4797l"; }; propagatedBuildInputs = [zlib expat]; diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix index 8bfaaf3ea497..2c4f8da77835 100644 --- a/pkgs/development/libraries/faac/default.nix +++ b/pkgs/development/libraries/faac/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { homepage = http://www.audiocoding.com/faac.html; # Incompatible with GPL. Some changes to the base code, included in faac, # are under LGPL though. - license = "unfree"; + license = "unfree-redistributable"; }; } diff --git a/pkgs/development/libraries/facile/default.nix b/pkgs/development/libraries/facile/default.nix index edbe99cd8b07..5e3776afbc05 100644 --- a/pkgs/development/libraries/facile/default.nix +++ b/pkgs/development/libraries/facile/default.nix @@ -9,9 +9,11 @@ stdenv.mkDerivation rec { }; dontAddPrefix = 1; - - patchPhase = "sed -e 's@mkdir@mkdir -p@' -i Makefile"; - + + patches = [ ./ocaml_4.xx.patch ]; + + postPatch = "sed -e 's@mkdir@mkdir -p@' -i Makefile"; + postConfigure = "make -C src .depend"; makeFlags = "FACILEDIR=\${out}/lib/ocaml/facile"; diff --git a/pkgs/development/libraries/facile/ocaml_4.xx.patch b/pkgs/development/libraries/facile/ocaml_4.xx.patch new file mode 100644 index 000000000000..429405fabdaa --- /dev/null +++ b/pkgs/development/libraries/facile/ocaml_4.xx.patch @@ -0,0 +1,12 @@ +diff -rupN facile-1.1/src/fcl_data.ml facile-1.1-patched//src/fcl_data.ml +--- facile-1.1/src/fcl_data.ml 2004-09-08 11:51:02.000000000 +0200 ++++ facile-1.1-patched//src/fcl_data.ml 2012-12-16 13:49:36.286722670 +0100 +@@ -16,7 +16,7 @@ end + + module Hashtbl = struct + type ('a, 'b) t = ('a, 'b) Hashtbl.t +- let create = Hashtbl.create ++ let create x = Hashtbl.create x + let get h = h + + let add h k d = diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix index 7d84cf889932..bcc3821d5e26 100644 --- a/pkgs/development/libraries/farstream/default.nix +++ b/pkgs/development/libraries/farstream/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst_plugins_base -, pygobject, gst_python, gupnp_igd -, gst_plugins_good, gst_plugins_bad, gst_ffmpeg +{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst-plugins-base +, pygobject, gst-python, gupnp_igd +, gst-plugins-good, gst-plugins-bad, gst-libav }: stdenv.mkDerivation rec { - name = "farstream-0.1.2"; + name = "farstream-0.2.3"; src = fetchurl { url = "http://www.freedesktop.org/software/farstream/releases/farstream/${name}.tar.gz"; - sha256 = "1nbkbvq959f70zhr03fwdibhs0sbf1k7zmbz9w99vda7gdcl0nps"; + sha256 = "15h4qv30ql3rnmlm4ac3h7rplvj7125z14fbfh1zrkajjaa3bxdz"; }; buildInputs = [ libnice python pygobject gupnp_igd libnice ]; nativeBuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ gstreamer gst_plugins_base gst_python - gst_plugins_good gst_plugins_bad gst_ffmpeg + propagatedBuildInputs = [ gstreamer gst-plugins-base gst-python + gst-plugins-good gst-plugins-bad gst-libav ]; meta = { diff --git a/pkgs/development/libraries/ffmpeg/0.10.nix b/pkgs/development/libraries/ffmpeg/0.10.nix index f51e3ccd3c00..99c823e7b297 100644 --- a/pkgs/development/libraries/ffmpeg/0.10.nix +++ b/pkgs/development/libraries/ffmpeg/0.10.nix @@ -21,11 +21,11 @@ assert vdpauSupport -> libvdpau != null; assert faacSupport -> faac != null; stdenv.mkDerivation rec { - name = "ffmpeg-0.10.10"; + name = "ffmpeg-0.10.12"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "14fbjhiwv5zg9yh0zk3k9h6id815xrikyz6l2cdl7z4vazbmhq4k"; + sha256 = "00nvm3iysn8zincpvv1abqrxqj1ky0322dh2j9csjw983358538i"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that diff --git a/pkgs/development/libraries/ffmpeg/1.x.nix b/pkgs/development/libraries/ffmpeg/1.x.nix index 34d0a4e49fe7..c43cd3299565 100644 --- a/pkgs/development/libraries/ffmpeg/1.x.nix +++ b/pkgs/development/libraries/ffmpeg/1.x.nix @@ -31,11 +31,11 @@ assert playSupport -> SDL != null; assert freetypeSupport -> freetype != null; stdenv.mkDerivation rec { - name = "ffmpeg-1.2.4"; + name = "ffmpeg-1.2.6"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1pqd544jmbggwisbkm0pj0l585b8a9x5n3jl9zbmqmw63g7ci5iv"; + sha256 = "174rf3g2pqaxa8rzg03qmy4cn2gsy0p2mk26y9yk5ksq6kg59m19"; }; # `--enable-gpl' (as well as the `postproc' and `swscale') mean that diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix index 4e975ea3d822..919972efb3c4 100644 --- a/pkgs/development/libraries/ffmpeg/2.x.nix +++ b/pkgs/development/libraries/ffmpeg/2.x.nix @@ -5,18 +5,18 @@ }: stdenv.mkDerivation rec { - name = "ffmpeg-2.1.1"; + name = "ffmpeg-2.2.1"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "1qnspbpwa6cflsb6mkm84ay4nfx60ism6d7lgvnasidck9dmxydy"; + sha256 = "153kfk8rzrfxx930rrk417b2m695dvy47v4hci3nd49iggx9jzz1"; }; mp3Support = config.ffmpeg.mp3 or true; speexSupport = config.ffmpeg.speex or true; theoraSupport = config.ffmpeg.theora or true; vorbisSupport = config.ffmpeg.vorbis or true; - vpxSupport = config.ffmpeg.vpx or false; + vpxSupport = config.ffmpeg.vpx or true; x264Support = config.ffmpeg.x264 or true; xvidSupport = config.ffmpeg.xvid or true; opusSupport = config.ffmpeg.opus or true; diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix index 6db0dc240ba3..85896cdb5e30 100644 --- a/pkgs/development/libraries/flite/default.nix +++ b/pkgs/development/libraries/flite/default.nix @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { description = "A small, fast run-time speech synthesis engine"; homepage = http://www.speech.cs.cmu.edu/flite/index.html; license = "free-non-copyleft"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/development/libraries/fltk/fltk13.nix b/pkgs/development/libraries/fltk/fltk13.nix index c6951db228b4..8fb4d40b1dba 100644 --- a/pkgs/development/libraries/fltk/fltk13.nix +++ b/pkgs/development/libraries/fltk/fltk13.nix @@ -1,5 +1,8 @@ { composableDerivation, fetchurl, pkgconfig, x11, inputproto, libXi -, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng }: +, freeglut, mesa, libjpeg, zlib, libXinerama, libXft, libpng + +, automake, autoconf, libtool +}: let inherit (composableDerivation) edf; in @@ -14,7 +17,12 @@ composableDerivation.composableDerivation {} { propagatedBuildInputs = [ x11 inputproto libXi freeglut ]; - nativeBuildInputs = [ pkgconfig ]; + enableParallelBilding = true; + + nativeBuildInputs = [ + pkgconfig + automake autoconf libtool # only required because of patch + ]; flags = # this could be tidied up (?).. eg why does it require freeglut without glSupport? @@ -46,4 +54,11 @@ composableDerivation.composableDerivation {} { description = "A C++ cross-platform light-weight GUI library binding"; homepage = http://www.fltk.org; }; + + patches = [ + # https://bugs.archlinux.org/task/36186 + (fetchurl { + url = "https://bugs.archlinux.org/task/36186?getfile=10750"; + sha256 = "1hpb1i87nc3zw6mgpgf3bfv557ci930bsn6rwlhaif51nlqd2wbj"; + }) ]; } diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix index d85a24fa63ad..ba9bb286cdfa 100644 --- a/pkgs/development/libraries/fmod/default.nix +++ b/pkgs/development/libraries/fmod/default.nix @@ -1,28 +1,32 @@ -{stdenv, fetchurl }: +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "fmod-42204"; - src = if stdenv.system == "i686-linux" then - fetchurl { - url = http://www.fmod.org/index.php/release/version/fmodapi42204linux.tar.gz; - sha256 = "64eedc5b37c597eb925de446106d75cab0b5a79697d5ec048d34702812c08563"; - } else if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.fmod.org/index.php/release/version/fmodapi42204linux64.tar.gz; - sha256 = "3f2eec8265838a1005febe07c4971660e85010e4622911890642dc438746edf3"; - } else throw "unsupported platform ${stdenv.system} (only i686-linux and x86_64 linux supported yet)"; +assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux"); +let + bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64"; +in +stdenv.mkDerivation rec { + name = "fmod-${version}"; + version = "4.44.32"; - preInstall = '' - sed -e /ldconfig/d -i Makefile - sed -e s@/usr/local@$out@ -i Makefile - sed -e s@/include/fmodex@/include@ -i Makefile - mkdir -p $out/lib - mkdir -p $out/include + src = fetchurl { + url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44432linux.tar.gz"; + sha256 = "071m2snzz5vc5ca7dvsf6w31nrgk5k9xb6mp7yzqdj4bkjad2hyd"; + }; + + buildPhase = "true"; + installPhase = '' + mkdir -p $out/lib $out/include/fmodex + + cd api/inc && cp * $out/include/fmodex && cd ../lib + cp libfmodex${bits}-${version}.so $out/lib/libfmodex.so + cp libfmodexL${bits}-${version}.so $out/lib/libfmodexL.so ''; meta = { - homepage = http://www.fmod.org/; description = "Programming library and toolkit for the creation and playback of interactive audio"; - license = "unfree"; + homepage = "http://www.fmod.org/"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index b2afc427b4c0..89feb3df8d5a 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { } else null; - buildInputs = [ pkgconfig freetype expat ]; + propagatedBuildInputs = [ freetype ]; + buildInputs = [ pkgconfig expat ]; configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts="; @@ -38,10 +39,11 @@ stdenv.mkDerivation rec { cd "$out/etc/fonts" && tar xvf ${infinality_patch} ''; - meta = { + meta = with stdenv.lib; { description = "A library for font customization and configuration"; homepage = http://fontconfig.org/; - license = "bsd"; - platforms = stdenv.lib.platforms.all; + license = licenses.bsd2; # custom but very bsd-like + platforms = platforms.all; + maintainers = [ maintainers.vcunat ]; }; } diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl index 68c91596ac5f..073e41659312 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl @@ -22,11 +22,11 @@ - /etc/fonts/conf.d - /etc/fonts/conf.d + /etc/fonts/conf.d + /etc/fonts/conf.d - /var/cache/fontconfig - ~/.fontconfig + /var/cache/fontconfig + ~/.fontconfig diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix index b39da46e4a26..0d8fa1bd281c 100644 --- a/pkgs/development/libraries/freetds/default.nix +++ b/pkgs/development/libraries/freetds/default.nix @@ -13,7 +13,6 @@ stdenv.mkDerivation { "Libraries to natively talk to Microsoft SQL Server and Sybase databases"; homepage = "http://www.freetds.org"; license = "lgpl"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix new file mode 100644 index 000000000000..40e0388d749e --- /dev/null +++ b/pkgs/development/libraries/ganv/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }: + +stdenv.mkDerivation rec { + name = "ganv-svn-${rev}"; + rev = "5318"; + + src = fetchsvn { + url = "http://svn.drobilla.net/lad/trunk/ganv"; + rev = rev; + sha256 = "0wi87ks2xjma979d9hy82wmlm06g4sr0pm3b1n3zv27y52wrf7fl"; + }; + + buildInputs = [ graphviz gtk gtkmm pkgconfig python ]; + + configurePhase = "python waf configure --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = "python waf install"; + + meta = with stdenv.lib; { + description = "An interactive Gtk canvas widget for graph-based interfaces"; + homepage = http://drobilla.net; + license = licenses.gpl3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix index 3b982582b54e..2ba49162e2f0 100644 --- a/pkgs/development/libraries/gdbm/default.nix +++ b/pkgs/development/libraries/gdbm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "gdbm-1.10"; + name = "gdbm-1.11"; src = fetchurl { url = "mirror://gnu/gdbm/${name}.tar.gz"; - sha256 = "0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13"; + sha256 = "1hz3jgh3pd4qzp6jy0l8pd8x01g9abw7csnrlnj1a2sxy122z4cd"; }; doCheck = true; diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index 4b92c6470eb1..39be4720eb14 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -3,16 +3,18 @@ let ver_maj = "2.30"; - ver_min = "2"; + ver_min = "6"; in stdenv.mkDerivation rec { name = "gdk-pixbuf-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz"; - sha256 = "1gzczsv41h28is4rrxjfyj1qx8ifp23fq2ckh0k099m9fnhbzfna"; + sha256 = "0nkz19xlh60bf9bqylh98n8rynpjyx1nzp1gcr6zljgvmnj4yfa3"; }; + setupHook = ./setup-hook.sh; + # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. buildInputs = [ libX11 libintlOrEmpty ]; @@ -24,7 +26,7 @@ stdenv.mkDerivation rec { + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes" ; - doCheck = false; # broken animation tester + doCheck = true; postInstall = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh new file mode 100644 index 000000000000..280d9aa4f1ba --- /dev/null +++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh @@ -0,0 +1,19 @@ +make_gtk_applications_find_pixbuf_loaders() { + + # set pixbuf loaders.cache for this package + mkdir -p "$out/lib/$name/gdk-pixbuf" + + if [ -f "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ]; then + cat "$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" >> "$out/lib/$name/gdk-pixbuf/loaders.cache" + fi + + if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then + cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$out/lib/$name/gdk-pixbuf/loaders.cache" + fi + + # note, this is not a search path + export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$out/lib/$name/gdk-pixbuf/loaders.cache") + +} + +envHooks+=(make_gtk_applications_find_pixbuf_loaders) diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix index a30d5c78e7f2..0649775ad216 100644 --- a/pkgs/development/libraries/gegl/default.nix +++ b/pkgs/development/libraries/gegl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg , librsvg, pango, gtk, bzip2, intltool }: - + stdenv.mkDerivation rec { name = "gegl-0.2.0"; @@ -9,6 +9,13 @@ stdenv.mkDerivation rec { sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426"; }; + patches = [( fetchurl { + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/" + + "gegl-0.2.0-CVE-2012-4433.patch?h=packages/gegl&id=57a60fbda5d7bbbd1cc4767cb0724baa80c5e3e9"; + sha256 = "0p8mxj3w09nn1cc6cbxrd9hx742c5y27903i608wx6ja3kdjis59"; + name = "CVE-2012-4433.patch"; + })]; + # needs fonts otherwise don't know how to pass them configureFlags = "--disable-docs"; diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix index 869820254164..1abcb7c6943d 100644 --- a/pkgs/development/libraries/geoip/default.nix +++ b/pkgs/development/libraries/geoip/default.nix @@ -1,25 +1,19 @@ -a : -let - s = import ./src-for-default.nix; - buildInputs = with a; [ - zlib - ]; -in -rec { - src = a.fetchUrlFromSrcInfo s; +{ stdenv, fetchurl }: - inherit (s) name; - inherit buildInputs; - configureFlags = []; +let version = "1.6.0"; in + +stdenv.mkDerivation { + name = "geoip-${version}"; + + src = fetchurl { + url = "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-${version}.tar.gz"; + sha256 = "0dd6si4cvip73kxdn43apg6yygvaf7dnk5awqfg9w2fd2ll0qnh7"; + }; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - goSrcDir = "cd GeoIP-*/"; - meta = { description = "Geolocation API"; - maintainers = [ - a.lib.maintainers.raskin - ]; + maintainers = [ stdenv.lib.maintainers.raskin ]; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/geoip/src-for-default.nix b/pkgs/development/libraries/geoip/src-for-default.nix deleted file mode 100644 index cb9a5e758fc8..000000000000 --- a/pkgs/development/libraries/geoip/src-for-default.nix +++ /dev/null @@ -1,8 +0,0 @@ -rec { - advertisedUrl="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz"; - version = "1.4.6"; - url="http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.6.tar.gz"; - hash = "1i4ixj6ha62qqzsn23qg428cv1zjj2ip7kmas62xgivvgm02kd0n"; - name = "geoip-1.4.6"; - -} diff --git a/pkgs/development/libraries/geoip/src-info-for-default.nix b/pkgs/development/libraries/geoip/src-info-for-default.nix deleted file mode 100644 index 99c79227c630..000000000000 --- a/pkgs/development/libraries/geoip/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://geolite.maxmind.com/download/geoip/api/c/"; - sourceRegexp = "GeoIP-[0-9.]+[.]tar[.]gz"; - choiceCommand = "tail -1"; - baseName = "geoip"; -} diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 4908662591cb..4d400a6ea7da 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,19 +1,17 @@ -{ stdenv, fetchurl, libiconvOrEmpty }: - -with { inherit (stdenv.lib) optionals optionalAttrs; }; +{ stdenv, fetchurl, libiconv, xz }: stdenv.mkDerivation (rec { - name = "gettext-0.18.1.1"; + name = "gettext-0.18.2"; src = fetchurl { url = "mirror://gnu/gettext/${name}.tar.gz"; - sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k"; + sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c"; }; - patches = [ ./no-gets.patch ]; + LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else ""; - configureFlags = [ "--disable-csharp" ] - ++ (optionals stdenv.isCygwin + configureFlags = [ "--disable-csharp" "--with-xz" ] + ++ (stdenv.lib.optionals stdenv.isCygwin [ # We have a static libiconv, so we can only build the static lib. "--disable-shared" "--enable-static" @@ -32,12 +30,12 @@ stdenv.mkDerivation (rec { fi ''; - buildInputs = libiconvOrEmpty; + buildInputs = [ xz ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv; enableParallelBuilding = true; crossAttrs = { - buildInputs = optional (stdenv.gccCross.libc ? libiconv) + buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv) stdenv.gccCross.libc.libiconv.crossDrv; # Gettext fails to guess the cross compiler configureFlags = "CXX=${stdenv.cross.config}-g++"; @@ -72,11 +70,11 @@ stdenv.mkDerivation (rec { }; } -// optionalAttrs stdenv.isDarwin { +// stdenv.lib.optionalAttrs stdenv.isDarwin { makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0"; } -// optionalAttrs stdenv.isCygwin { +// stdenv.lib.optionalAttrs stdenv.isCygwin { patchPhase = # Make sure `error.c' gets compiled and is part of `libgettextlib.la'. # This fixes: diff --git a/pkgs/development/libraries/gettext/no-gets.patch b/pkgs/development/libraries/gettext/no-gets.patch deleted file mode 100644 index 9daa48eae649..000000000000 --- a/pkgs/development/libraries/gettext/no-gets.patch +++ /dev/null @@ -1,42 +0,0 @@ -hack until gzip pulls a newer gnulib version - -From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001 -From: Eric Blake -Date: Thu, 29 Mar 2012 13:30:41 -0600 -Subject: [PATCH] stdio: don't assume gets any more - -Gnulib intentionally does not have a gets module, and now that C11 -and glibc have dropped it, we should be more proactive about warning -any user on a platform that still has a declaration of this dangerous -interface. - ---- a/gettext-tools/libgettextpo/stdio.in.h -+++ b/gettext-tools/libgettextpo/stdio.in.h -@@ -125,7 +125,6 @@ - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ - #undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ ---- a/gettext-tools/gnulib-lib/stdio.in.h -+++ b/gettext-tools/gnulib-lib/stdio.in.h -@@ -125,7 +125,6 @@ - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ - #undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ ---- a/gettext-runtime/gnulib-lib/stdio.in.h -+++ b/gettext-runtime/gnulib-lib/stdio.in.h -@@ -125,7 +125,6 @@ - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ - #undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix index 35d66b3647b4..13cd1c79b6a7 100644 --- a/pkgs/development/libraries/giflib/4.1.nix +++ b/pkgs/development/libraries/giflib/4.1.nix @@ -6,5 +6,8 @@ stdenv.mkDerivation { url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2; sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1"; }; + meta = { + branch = "4.1"; + }; } diff --git a/pkgs/development/libraries/glfw/default.nix b/pkgs/development/libraries/glfw/2.x.nix similarity index 51% rename from pkgs/development/libraries/glfw/default.nix rename to pkgs/development/libraries/glfw/2.x.nix index 292c15361b6c..8750cd955a65 100644 --- a/pkgs/development/libraries/glfw/default.nix +++ b/pkgs/development/libraries/glfw/2.x.nix @@ -1,27 +1,29 @@ -{ stdenv, fetchurl, mesa, libX11, libXext }: +{ stdenv, fetchurl, mesa, libX11 }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "glfw-2.7.9"; src = fetchurl { - url = mirror://sourceforge/glfw/glfw-2.7.9.tar.bz2; + url = "mirror://sourceforge/glfw/${name}.tar.bz2"; sha256 = "17c2msdcb7pn3p8f83805h1c216bmdqnbn9hgzr1j8wnwjcpxx6i"; }; - buildInputs = [ mesa libX11 libXext ]; + buildInputs = [ mesa libX11 ]; buildPhase = '' + make x11 + ''; + + installPhase = '' mkdir -p $out make x11-install PREFIX=$out - ''; + ''; - installPhase = ":"; - - meta = { + meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; - homepage = http://glfw.sourceforge.net/; - license = "zlib/libpng"; # http://www.opensource.org/licenses/zlib-license.php + homepage = "http://glfw.sourceforge.net/"; + license = licenses.zlib; maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix new file mode 100644 index 000000000000..ab7e312762fc --- /dev/null +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, cmake, mesa, libXrandr, libXi, libXxf86vm, libXfixes, x11 }: + +stdenv.mkDerivation rec { + name = "glfw-3.0.4"; + + src = fetchurl { + url = "mirror://sourceforge/glfw/${name}.tar.bz2"; + sha256 = "1h7g16ncgkl38w19x4dvnn17k9j0kqfvbb9whw9qc71lkq5xf2ag"; + }; + + enableParallelBuilding = true; + + buildInputs = [ cmake mesa libXrandr libXi libXxf86vm libXfixes x11 ]; + + meta = with stdenv.lib; { + description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; + homepage = "http://glfw.sourceforge.net/"; + license = licenses.zlib; + maintainers = with maintainers; [ marcweber ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index 2c651980eda8..618b37bae4c5 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -1,21 +1,33 @@ -{stdenv, fetchurl, pkgconfig, glib, libtool, intltool, gnutls2, libproxy -, gsettings_desktop_schemas, libgcrypt, libtasn1 }: +{ stdenv, fetchurl, pkgconfig, glib, intltool, gnutls, libproxy +, gsettings_desktop_schemas }: -stdenv.mkDerivation { - name = "glib-networking-2.30.2"; +let + ver_maj = "2.38"; + ver_min = "2"; +in +stdenv.mkDerivation rec { + name = "glib-networking-${ver_maj}.${ver_min}"; src = fetchurl { - url = mirror://gnome/sources/glib-networking/2.30/glib-networking-2.30.2.tar.xz; - sha256 = "1g2ran0rn37009fs3xl38m95i5w8sdf9ax0ady4jbjir15844xcz"; + url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz"; + sha256 = "1iwzjkx6q9gqr7fipc98zi2bi0gccrwq1v7skff1cdijkn8zxqp8"; }; - configureFlags = "--with-ca-certificates=/etc/ca-bundle.crt"; - + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; + preBuild = '' sed -e "s@${glib}/lib/gio/modules@$out/lib/gio/modules@g" -i $(find . -name Makefile) ''; nativeBuildInputs = [ pkgconfig intltool ]; - propagatedBuildInputs = - [ glib libtool gnutls2 libproxy libgcrypt libtasn1 gsettings_desktop_schemas ]; + propagatedBuildInputs = [ glib gnutls libproxy gsettings_desktop_schemas ]; + + doCheck = false; # tests need to access the certificates (among other things) + + meta = with stdenv.lib; { + description = "Network-related giomodules for glib"; + license = licenses.lgpl2Plus; + platforms = platforms.unix; + }; } + diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index e7bae0100a4f..033a1def3ce7 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -1,5 +1,9 @@ -{ stdenv, fetchurl, pkgconfig, gettext, perl, python, autoconf, automake, libtool -, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf, dbus }: +{ stdenv, fetchurl, pkgconfig, gettext, perl, python +, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf + +# this is just for tests (not in closure of any regular package) +, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false +}: # TODO: # * Add gio-module-fam @@ -17,7 +21,6 @@ https://wiki.gnome.org/GnomeGoals/InstalledTests * Support org.freedesktop.Application, including D-Bus activation from desktop files */ - let # Some packages don't get "Cflags" from pkgconfig correctly # and then fail to build when directly including like . @@ -32,36 +35,48 @@ let ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true ''; - ver_maj = "2.38"; - ver_min = "2"; + ver_maj = "2.40"; + ver_min = "0"; in -with { inherit (stdenv.lib) optionalString; }; +with { inherit (stdenv.lib) optional optionals optionalString; }; stdenv.mkDerivation rec { name = "glib-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; - sha256 = "0d2px8m77603s5pm3md4bcm5d0ksbcsb6ik1w52hjslnq1a9hsh5"; + sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"; }; - # configure script looks for d-bus but it is (probably) only needed for tests - buildInputs = [ libelf ]; + setupHook = ./setup-hook.sh; - # I don't know why the autotools are needed now, even without modifying configure scripts - nativeBuildInputs = [ pkgconfig gettext perl python ] ++ [ autoconf automake libtool ]; + buildInputs = [ libelf ] + ++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ]; + + nativeBuildInputs = [ pkgconfig gettext perl python ]; propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty; - preConfigure = "autoreconf -fi"; - configureFlags = "--with-pcre=system --disable-fam"; + configureFlags = + optional stdenv.isDarwin "--disable-compile-warnings" + ++ optional stdenv.isSunOS "--disable-modular-tests"; - NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-lintl"; + NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl" + + optionalString stdenv.isSunOS " -DBSD_COMP"; enableParallelBuilding = true; - doCheck = false; # ToDo: fix the remaining problems, so we have checked glib by default - LD_LIBRARY_PATH = optionalString doCheck "${stdenv.gcc.gcc}/lib"; + inherit doCheck; + preCheck = optionalString doCheck + # libgcc_s.so.1 must be installed for pthread_cancel to work + # also point to the glib/.libs path + '' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so)):$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH" + export TZDIR="${tzdata}/share/zoneinfo" + export XDG_CACHE_HOME="$TMP" + export XDG_RUNTIME_HOME="$TMP" + export HOME="$TMP" + export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share" + ''; postInstall = ''rm -rvf $out/share/gtk-doc''; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh new file mode 100644 index 000000000000..f173744e5ca6 --- /dev/null +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -0,0 +1,17 @@ +# Install gschemas, if any, in a package-specific directory +installFlagsArray+=("gsettingsschemadir=$out/share/gsettings-schemas/$name/glib-2.0/schemas/") + +make_glib_find_gsettings_schemas() { + # For packages that need gschemas of other packages (e.g. empathy) + if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then + addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"* + fi +} + +envHooks+=(make_glib_find_gsettings_schemas) + +glibPreFixupPhase() { + addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name" +} + +preFixupPhases="$preFixupPhases glibPreFixupPhase" diff --git a/pkgs/development/libraries/glibc/2.18/cve-2012-4412+4424.patch b/pkgs/development/libraries/glibc/2.18/cve-2012-4412+4424.patch deleted file mode 100644 index 67ffbbc217b6..000000000000 --- a/pkgs/development/libraries/glibc/2.18/cve-2012-4412+4424.patch +++ /dev/null @@ -1,1006 +0,0 @@ -https://projects.archlinux.org/svntogit/packages.git/tree/trunk/glibc-2.18-strcoll-CVE-2012-4412+4424.patch?h=packages/glibc - -diff --git a/string/strcoll_l.c b/string/strcoll_l.c -index ecda08f..bb34a72 100644 ---- a/string/strcoll_l.c -+++ b/string/strcoll_l.c -@@ -41,11 +41,434 @@ - - #include "../locale/localeinfo.h" - -+/* Track status while looking for sequences in a string. */ -+typedef struct -+{ -+ int len; /* Length of the current sequence. */ -+ size_t val; /* Position of the sequence relative to the -+ previous non-ignored sequence. */ -+ size_t idxnow; /* Current index in sequences. */ -+ size_t idxmax; /* Maximum index in sequences. */ -+ size_t idxcnt; /* Current count of indices. */ -+ size_t backw; /* Current Backward sequence index. */ -+ size_t backw_stop; /* Index where the backward sequences stop. */ -+ const USTRING_TYPE *us; /* The string. */ -+ int32_t *idxarr; /* Array to cache weight indices. */ -+ unsigned char *rulearr; /* Array to cache rules. */ -+ unsigned char rule; /* Saved rule for the first sequence. */ -+ int32_t idx; /* Index to weight of the current sequence. */ -+ int32_t save_idx; /* Save looked up index of a forward -+ sequence after the last backward -+ sequence. */ -+ const USTRING_TYPE *back_us; /* Beginning of the backward sequence. */ -+} coll_seq; -+ -+/* Get next sequence. The weight indices are cached, so we don't need to -+ traverse the string. */ -+static void -+get_next_seq_cached (coll_seq *seq, int nrules, int pass, -+ const unsigned char *rulesets, -+ const USTRING_TYPE *weights) -+{ -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing any more. The backward sequence -+ ended with the last sequence in the string. */ -+ idxnow = ~0ul; -+ break; -+ } -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxcnt; -+ -+ while (idxcnt < idxmax) -+ { -+ if ((rulesets[rulearr[idxcnt] * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop == idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt++; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxnow = idxnow; -+} -+ -+/* Get next sequence. Traverse the string as required. */ -+static void -+get_next_seq (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ /* Nothing any more. The backward sequence ended with -+ the last sequence in the string. Note that LEN -+ is still zero. */ -+ break; -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxmax; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ rulearr[idxmax] = tmp >> 24; -+ idxarr[idxmax] = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ if ((rulesets[rulearr[idxcnt] * nrules] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->idxnow = idxnow; -+ seq->us = us; -+} -+ -+/* Get next sequence. Traverse the string as required. This function does not -+ set or use any index or rule cache. */ -+static void -+get_next_seq_nocache (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect, -+ int pass) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ int32_t idx = seq->idx; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idx = seq->save_idx; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing anymore. The backward sequence ended with -+ the last sequence in the string. Note that len is -+ still zero. */ -+ idx = 0; -+ break; -+ } -+ } -+ else -+ { -+ /* XXX Traverse BACKW sequences from the beginning of -+ BACKW_STOP to get the next sequence. Is ther a quicker way -+ to do this? */ -+ size_t i = backw_stop; -+ us = seq->back_us; -+ while (i < backw) -+ { -+ int32_t tmp = findidx (&us, -1); -+ idx = tmp & 0xffffff; -+ i++; -+ } -+ --backw; -+ us = seq->us; -+ } -+ } -+ else -+ { -+ backw_stop = idxmax; -+ int32_t prev_idx = idx; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ unsigned char rule = tmp >> 24; -+ prev_idx = idx; -+ idx = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ /* Save the rule for the first sequence. */ -+ if (__glibc_unlikely (idxcnt == 0)) -+ seq->rule = rule; -+ -+ if ((rulesets[rule * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that len is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* We pushed backward sequences. If the stream ended with the -+ backward sequence, then we process the last sequence we -+ found. Otherwise we process the sequence before the last -+ one since the last one was a forward sequence. */ -+ seq->back_us = seq->us; -+ seq->us = us; -+ backw = idxcnt; -+ if (idxmax > idxcnt) -+ { -+ backw--; -+ seq->save_idx = idx; -+ idx = prev_idx; -+ } -+ if (backw > backw_stop) -+ backw--; -+ } -+ } -+ -+ len = weights[idx++]; -+ /* Skip over indices of previous levels. */ -+ for (int i = 0; i < pass; i++) -+ { -+ idx += len; -+ len = weights[idx]; -+ idx++; -+ } -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->us = us; -+ seq->idx = idx; -+} -+ -+/* Compare two sequences. This version does not use the index and rules -+ cache. */ -+static int -+do_compare_nocache (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int idx1 = seq1->idx; -+ int idx2 = seq2->idx; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1] != weights[idx2]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1] - weights[idx2]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1; -+ ++idx2; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ seq1->idx = idx1; -+ seq2->idx = idx2; -+ return result; -+} -+ -+/* Compare two sequences using the index cache. */ -+static int -+do_compare (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int32_t *idx1arr = seq1->idxarr; -+ int32_t *idx2arr = seq2->idxarr; -+ int idx1now = seq1->idxnow; -+ int idx2now = seq2->idxnow; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1arr[idx1now]; -+ ++idx2arr[idx2now]; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ return result; -+} -+ - int --STRCOLL (s1, s2, l) -- const STRING_TYPE *s1; -- const STRING_TYPE *s2; -- __locale_t l; -+STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) - { - struct __locale_data *current = l->__locales[LC_COLLATE]; - uint_fast32_t nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word; -@@ -56,34 +479,6 @@ STRCOLL (s1, s2, l) - const USTRING_TYPE *weights; - const USTRING_TYPE *extra; - const int32_t *indirect; -- uint_fast32_t pass; -- int result = 0; -- const USTRING_TYPE *us1; -- const USTRING_TYPE *us2; -- size_t s1len; -- size_t s2len; -- int32_t *idx1arr; -- int32_t *idx2arr; -- unsigned char *rule1arr; -- unsigned char *rule2arr; -- size_t idx1max; -- size_t idx2max; -- size_t idx1cnt; -- size_t idx2cnt; -- size_t idx1now; -- size_t idx2now; -- size_t backw1_stop; -- size_t backw2_stop; -- size_t backw1; -- size_t backw2; -- int val1; -- int val2; -- int position; -- int seq1len; -- int seq2len; -- int use_malloc; -- --#include WEIGHT_H - - if (nrules == 0) - return STRCMP (s1, s2); -@@ -98,7 +493,6 @@ STRCOLL (s1, s2, l) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_EXTRA,SUFFIX))].string; - indirect = (const int32_t *) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_INDIRECT,SUFFIX))].string; -- use_malloc = 0; - - assert (((uintptr_t) table) % __alignof__ (table[0]) == 0); - assert (((uintptr_t) weights) % __alignof__ (weights[0]) == 0); -@@ -106,18 +500,13 @@ STRCOLL (s1, s2, l) - assert (((uintptr_t) indirect) % __alignof__ (indirect[0]) == 0); - - /* We need this a few times. */ -- s1len = STRLEN (s1); -- s2len = STRLEN (s2); -+ size_t s1len = STRLEN (s1); -+ size_t s2len = STRLEN (s2); - - /* Catch empty strings. */ -- if (__builtin_expect (s1len == 0, 0) || __builtin_expect (s2len == 0, 0)) -+ if (__glibc_unlikely (s1len == 0) || __glibc_unlikely (s2len == 0)) - return (s1len != 0) - (s2len != 0); - -- /* We need the elements of the strings as unsigned values since they -- are used as indeces. */ -- us1 = (const USTRING_TYPE *) s1; -- us2 = (const USTRING_TYPE *) s2; -- - /* Perform the first pass over the string and while doing this find - and store the weights for each character. Since we want this to - be as fast as possible we are using `alloca' to store the temporary -@@ -127,411 +516,124 @@ STRCOLL (s1, s2, l) - - Please note that the localedef programs makes sure that `position' - is not used at the first level. */ -- if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -- { -- idx1arr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); -- idx2arr = &idx1arr[s1len]; -- rule1arr = (unsigned char *) &idx2arr[s2len]; -- rule2arr = &rule1arr[s1len]; -- -- if (idx1arr == NULL) -- /* No memory. Well, go with the stack then. -- -- XXX Once this implementation is stable we will handle this -- differently. Instead of precomputing the indeces we will -- do this in time. This means, though, that this happens for -- every pass again. */ -- goto try_stack; -- use_malloc = 1; -- } -- else -- { -- try_stack: -- idx1arr = (int32_t *) alloca (s1len * sizeof (int32_t)); -- idx2arr = (int32_t *) alloca (s2len * sizeof (int32_t)); -- rule1arr = (unsigned char *) alloca (s1len); -- rule2arr = (unsigned char *) alloca (s2len); -- } - -- idx1cnt = 0; -- idx2cnt = 0; -- idx1max = 0; -- idx2max = 0; -- idx1now = 0; -- idx2now = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- seq1len = 0; -- seq2len = 0; -- position = rulesets[0] & sort_position; -- while (1) -- { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq1len -- is still zero. */ -- break; -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1max; -- -- while (*us1 != L('\0')) -- { -- int32_t tmp = findidx (&us1, -1); -- rule1arr[idx1max] = tmp >> 24; -- idx1arr[idx1max] = tmp & 0xffffff; -- idx1cnt = idx1max++; -- -- if ((rulesets[rule1arr[idx1cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop >= idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max || backw1_stop > idx1cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq2len -- is still zero. */ -- break; -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2max; -- -- while (*us2 != L('\0')) -- { -- int32_t tmp = findidx (&us2, -1); -- rule2arr[idx2max] = tmp >> 24; -- idx2arr[idx2max] = tmp & 0xffffff; -- idx2cnt = idx2max++; -- -- if ((rulesets[rule2arr[idx2cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop >= idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max || backw2_stop > idx2cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -- -- /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -- { -- if (seq1len == seq2len) -- /* Both ended. So far so good, both strings are equal at the -- first level. */ -- break; -- -- /* This means one string is shorter than the other. Find out -- which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -- goto free_and_return; -- } -+ coll_seq seq1, seq2; -+ bool use_malloc = false; -+ int result = 0; - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -+ memset (&seq1, 0, sizeof (seq1)); -+ seq2 = seq1; - -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -- goto free_and_return; -- } -+ size_t size_max = SIZE_MAX / (sizeof (int32_t) + 1); - -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -+ /* If the strings are long enough to cause overflow in the size request, then -+ skip the allocation and proceed with the non-cached routines. */ -+ if (MIN (s1len, s2len) > size_max -+ || MAX (s1len, s2len) > size_max - MIN (s1len, s2len)) -+ goto begin_collate; - -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -+ if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -+ { -+ seq1.idxarr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); - -- if (position && seq1len != seq2len) -+ /* If we failed to allocate memory, we leave everything as NULL so that -+ we use the nocache version of traversal and comparison functions. */ -+ if (seq1.idxarr != NULL) - { -- result = seq1len - seq2len; -- goto free_and_return; -+ seq2.idxarr = &seq1.idxarr[s1len]; -+ seq1.rulearr = (unsigned char *) &seq2.idxarr[s2len]; -+ seq2.rulearr = &seq1.rulearr[s1len]; -+ use_malloc = true; - } - } -+ else -+ { -+ seq1.idxarr = (int32_t *) alloca (s1len * sizeof (int32_t)); -+ seq2.idxarr = (int32_t *) alloca (s2len * sizeof (int32_t)); -+ seq1.rulearr = (unsigned char *) alloca (s1len); -+ seq2.rulearr = (unsigned char *) alloca (s2len); -+ } - -- /* Now the remaining passes over the weights. We now use the -- indeces we found before. */ -- for (pass = 1; pass < nrules; ++pass) -+ int rule; -+ -+ begin_collate: -+ rule = 0; -+ /* Cache values in the first pass and if needed, use them in subsequent -+ passes. */ -+ for (int pass = 0; pass < nrules; ++pass) - { -+ seq1.idxcnt = 0; -+ seq1.idx = 0; -+ seq2.idx = 0; -+ seq1.backw_stop = ~0ul; -+ seq1.backw = ~0ul; -+ seq2.idxcnt = 0; -+ seq2.backw_stop = ~0ul; -+ seq2.backw = ~0ul; -+ -+ /* We need the elements of the strings as unsigned values since they -+ are used as indices. */ -+ seq1.us = (const USTRING_TYPE *) s1; -+ seq2.us = (const USTRING_TYPE *) s2; -+ - /* We assume that if a rule has defined `position' in one section - this is true for all of them. */ -- idx1cnt = 0; -- idx2cnt = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- position = rulesets[rule1arr[0] * nrules + pass] & sort_position; -+ int position = rulesets[rule * nrules + pass] & sort_position; - - while (1) - { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx1now = ~0ul; -- break; -- } -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1cnt; -- -- while (idx1cnt < idx1max) -- { -- if ((rulesets[rule1arr[idx1cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop == idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx2now = ~0ul; -- break; -- } -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2cnt; -- -- while (idx2cnt < idx2max) -- { -- if ((rulesets[rule2arr[idx2cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop == idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max) -- /* Note that seq2len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ { -+ get_next_seq_nocache (&seq1, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ get_next_seq_nocache (&seq2, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ } -+ else if (pass == 0) -+ { -+ get_next_seq (&seq1, nrules, rulesets, weights, table, extra, -+ indirect); -+ get_next_seq (&seq2, nrules, rulesets, weights, table, extra, -+ indirect); -+ } -+ else -+ { -+ get_next_seq_cached (&seq1, nrules, pass, rulesets, weights); -+ get_next_seq_cached (&seq2, nrules, pass, rulesets, weights); -+ } - - /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -+ if (seq1.len == 0 || seq2.len == 0) - { -- if (seq1len == seq2len) -+ if (seq1.len == seq2.len) - /* Both ended. So far so good, both strings are equal - at this level. */ - break; - - /* This means one string is shorter than the other. Find out - which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -+ result = seq1.len == 0 ? -1 : 1; - goto free_and_return; - } - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -- -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = (weights[idx1arr[idx1now]] -- - weights[idx2arr[idx2now]]); -- goto free_and_return; -- } -- -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -- -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -- -- if (position && seq1len != seq2len) -- { -- result = seq1len - seq2len; -- goto free_and_return; -- } -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ result = do_compare_nocache (&seq1, &seq2, position, weights); -+ else -+ result = do_compare (&seq1, &seq2, position, weights); -+ if (result != 0) -+ goto free_and_return; - } -+ -+ if (__glibc_likely (seq1.rulearr != NULL)) -+ rule = seq1.rulearr[0]; -+ else -+ rule = seq1.rule; - } - - /* Free the memory if needed. */ - free_and_return: - if (use_malloc) -- free (idx1arr); -+ free (seq1.idxarr); - - return result; - } diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4237.patch b/pkgs/development/libraries/glibc/2.18/cve-2013-4237.patch deleted file mode 100644 index f745cb003aa2..000000000000 --- a/pkgs/development/libraries/glibc/2.18/cve-2013-4237.patch +++ /dev/null @@ -1,302 +0,0 @@ -commit 91ce40854d0b7f865cf5024ef95a8026b76096f3 -Author: Florian Weimer -Date: Fri Aug 16 09:38:52 2013 +0200 - - CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r - - * sysdeps/posix/dirstream.h (struct __dirstream): Add errcode - member. - * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode - member. - * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member. - * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit. - Return delayed error code. Remove GETDENTS_64BIT_ALIGNED - conditional. - * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define - GETDENTS_64BIT_ALIGNED. - * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. - * manual/filesys.texi (Reading/Closing Directory): Document - ENAMETOOLONG return value of readdir_r. Recommend readdir more - strongly. - * manual/conf.texi (Limits for Files): Add portability note to - NAME_MAX, PATH_MAX. - (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX. - -diff --git a/manual/conf.texi b/manual/conf.texi -index 7eb8b36..c720063 100644 ---- a/manual/conf.texi -+++ b/manual/conf.texi -@@ -1149,6 +1149,9 @@ typed ahead as input. @xref{I/O Queues}. - @deftypevr Macro int NAME_MAX - The uniform system limit (if any) for the length of a file name component, not - including the terminating null character. -+ -+@strong{Portability Note:} On some systems, @theglibc{} defines -+@code{NAME_MAX}, but does not actually enforce this limit. - @end deftypevr - - @comment limits.h -@@ -1157,6 +1160,9 @@ including the terminating null character. - The uniform system limit (if any) for the length of an entire file name (that - is, the argument given to system calls such as @code{open}), including the - terminating null character. -+ -+@strong{Portability Note:} @Theglibc{} does not enforce this limit -+even if @code{PATH_MAX} is defined. - @end deftypevr - - @cindex limits, pipe buffer size -@@ -1476,6 +1482,9 @@ Inquire about the value of @code{POSIX_REC_MIN_XFER_SIZE}. - Inquire about the value of @code{POSIX_REC_XFER_ALIGN}. - @end table - -+@strong{Portability Note:} On some systems, @theglibc{} does not -+enforce @code{_PC_NAME_MAX} or @code{_PC_PATH_MAX} limits. -+ - @node Utility Limits - @section Utility Program Capacity Limits - -diff --git a/manual/filesys.texi b/manual/filesys.texi -index 1df9cf2..814c210 100644 ---- a/manual/filesys.texi -+++ b/manual/filesys.texi -@@ -444,9 +444,9 @@ symbols are declared in the header file @file{dirent.h}. - @comment POSIX.1 - @deftypefun {struct dirent *} readdir (DIR *@var{dirstream}) - This function reads the next entry from the directory. It normally --returns a pointer to a structure containing information about the file. --This structure is statically allocated and can be rewritten by a --subsequent call. -+returns a pointer to a structure containing information about the -+file. This structure is associated with the @var{dirstream} handle -+and can be rewritten by a subsequent call. - - @strong{Portability Note:} On some systems @code{readdir} may not - return entries for @file{.} and @file{..}, even though these are always -@@ -461,19 +461,61 @@ conditions are defined for this function: - The @var{dirstream} argument is not valid. - @end table - --@code{readdir} is not thread safe. Multiple threads using --@code{readdir} on the same @var{dirstream} may overwrite the return --value. Use @code{readdir_r} when this is critical. -+To distinguish between an end-of-directory condition or an error, you -+must set @code{errno} to zero before calling @code{readdir}. To avoid -+entering an infinite loop, you should stop reading from the directory -+after the first error. -+ -+In POSIX.1-2008, @code{readdir} is not thread-safe. In @theglibc{} -+implementation, it is safe to call @code{readdir} concurrently on -+different @var{dirstream}s, but multiple threads accessing the same -+@var{dirstream} result in undefined behavior. @code{readdir_r} is a -+fully thread-safe alternative, but suffers from poor portability (see -+below). It is recommended that you use @code{readdir}, with external -+locking if multiple threads access the same @var{dirstream}. - @end deftypefun - - @comment dirent.h - @comment GNU - @deftypefun int readdir_r (DIR *@var{dirstream}, struct dirent *@var{entry}, struct dirent **@var{result}) --This function is the reentrant version of @code{readdir}. Like --@code{readdir} it returns the next entry from the directory. But to --prevent conflicts between simultaneously running threads the result is --not stored in statically allocated memory. Instead the argument --@var{entry} points to a place to store the result. -+This function is a version of @code{readdir} which performs internal -+locking. Like @code{readdir} it returns the next entry from the -+directory. To prevent conflicts between simultaneously running -+threads the result is stored inside the @var{entry} object. -+ -+@strong{Portability Note:} It is recommended to use @code{readdir} -+instead of @code{readdir_r} for the following reasons: -+ -+@itemize @bullet -+@item -+On systems which do not define @code{NAME_MAX}, it may not be possible -+to use @code{readdir_r} safely because the caller does not specify the -+length of the buffer for the directory entry. -+ -+@item -+On some systems, @code{readdir_r} cannot read directory entries with -+very long names. If such a name is encountered, @theglibc{} -+implementation of @code{readdir_r} returns with an error code of -+@code{ENAMETOOLONG} after the final directory entry has been read. On -+other systems, @code{readdir_r} may return successfully, but the -+@code{d_name} member may not be NUL-terminated or may be truncated. -+ -+@item -+POSIX-1.2008 does not guarantee that @code{readdir} is thread-safe, -+even when access to the same @var{dirstream} is serialized. But in -+current implementations (including @theglibc{}), it is safe to call -+@code{readdir} concurrently on different @var{dirstream}s, so there is -+no need to use @code{readdir_r} in most multi-threaded programs. In -+the rare case that multiple threads need to read from the same -+@var{dirstream}, it is still better to use @code{readdir} and external -+synchronization. -+ -+@item -+It is expected that future versions of POSIX will obsolete -+@code{readdir_r} and mandate the level of thread safety for -+@code{readdir} which is provided by @theglibc{} and other -+implementations today. -+@end itemize - - Normally @code{readdir_r} returns zero and sets @code{*@var{result}} - to @var{entry}. If there are no more entries in the directory or an -@@ -481,15 +523,6 @@ error is detected, @code{readdir_r} sets @code{*@var{result}} to a - null pointer and returns a nonzero error code, also stored in - @code{errno}, as described for @code{readdir}. - --@strong{Portability Note:} On some systems @code{readdir_r} may not --return a NUL terminated string for the file name, even when there is no --@code{d_reclen} field in @code{struct dirent} and the file --name is the maximum allowed size. Modern systems all have the --@code{d_reclen} field, and on old systems multi-threading is not --critical. In any case there is no such problem with the @code{readdir} --function, so that even on systems without the @code{d_reclen} member one --could use multiple threads by using external locking. -- - It is also important to look at the definition of the @code{struct - dirent} type. Simply passing a pointer to an object of this type for - the second parameter of @code{readdir_r} might not be enough. Some -diff --git a/sysdeps/posix/dirstream.h b/sysdeps/posix/dirstream.h -index a7a074d..8e8570d 100644 ---- a/sysdeps/posix/dirstream.h -+++ b/sysdeps/posix/dirstream.h -@@ -39,6 +39,8 @@ struct __dirstream - - off_t filepos; /* Position of next entry to read. */ - -+ int errcode; /* Delayed error code. */ -+ - /* Directory block. */ - char data[0] __attribute__ ((aligned (__alignof__ (void*)))); - }; -diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c -index ddfc3a7..fc05b0f 100644 ---- a/sysdeps/posix/opendir.c -+++ b/sysdeps/posix/opendir.c -@@ -231,6 +231,7 @@ __alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) - dirp->size = 0; - dirp->offset = 0; - dirp->filepos = 0; -+ dirp->errcode = 0; - - return dirp; - } -diff --git a/sysdeps/posix/readdir_r.c b/sysdeps/posix/readdir_r.c -index b5a8e2e..8ed5c3f 100644 ---- a/sysdeps/posix/readdir_r.c -+++ b/sysdeps/posix/readdir_r.c -@@ -40,6 +40,7 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - DIRENT_TYPE *dp; - size_t reclen; - const int saved_errno = errno; -+ int ret; - - __libc_lock_lock (dirp->lock); - -@@ -70,10 +71,10 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - bytes = 0; - __set_errno (saved_errno); - } -+ if (bytes < 0) -+ dirp->errcode = errno; - - dp = NULL; -- /* Reclen != 0 signals that an error occurred. */ -- reclen = bytes != 0; - break; - } - dirp->size = (size_t) bytes; -@@ -106,29 +107,46 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - dirp->filepos += reclen; - #endif - -- /* Skip deleted files. */ -+#ifdef NAME_MAX -+ if (reclen > offsetof (DIRENT_TYPE, d_name) + NAME_MAX + 1) -+ { -+ /* The record is very long. It could still fit into the -+ caller-supplied buffer if we can skip padding at the -+ end. */ -+ size_t namelen = _D_EXACT_NAMLEN (dp); -+ if (namelen <= NAME_MAX) -+ reclen = offsetof (DIRENT_TYPE, d_name) + namelen + 1; -+ else -+ { -+ /* The name is too long. Ignore this file. */ -+ dirp->errcode = ENAMETOOLONG; -+ dp->d_ino = 0; -+ continue; -+ } -+ } -+#endif -+ -+ /* Skip deleted and ignored files. */ - } - while (dp->d_ino == 0); - - if (dp != NULL) - { --#ifdef GETDENTS_64BIT_ALIGNED -- /* The d_reclen value might include padding which is not part of -- the DIRENT_TYPE data structure. */ -- reclen = MIN (reclen, -- offsetof (DIRENT_TYPE, d_name) + sizeof (dp->d_name)); --#endif - *result = memcpy (entry, dp, reclen); --#ifdef GETDENTS_64BIT_ALIGNED -+#ifdef _DIRENT_HAVE_D_RECLEN - entry->d_reclen = reclen; - #endif -+ ret = 0; - } - else -- *result = NULL; -+ { -+ *result = NULL; -+ ret = dirp->errcode; -+ } - - __libc_lock_unlock (dirp->lock); - -- return dp != NULL ? 0 : reclen ? errno : 0; -+ return ret; - } - - #ifdef __READDIR_R_ALIAS -diff --git a/sysdeps/posix/rewinddir.c b/sysdeps/posix/rewinddir.c -index 2935a8e..d4991ad 100644 ---- a/sysdeps/posix/rewinddir.c -+++ b/sysdeps/posix/rewinddir.c -@@ -33,6 +33,7 @@ rewinddir (dirp) - dirp->filepos = 0; - dirp->offset = 0; - dirp->size = 0; -+ dirp->errcode = 0; - #ifndef NOT_IN_libc - __libc_lock_unlock (dirp->lock); - #endif -diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -index 8ebbcfd..a7d114e 100644 ---- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c -+++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -@@ -18,7 +18,6 @@ - #define __READDIR_R __readdir64_r - #define __GETDENTS __getdents64 - #define DIRENT_TYPE struct dirent64 --#define GETDENTS_64BIT_ALIGNED 1 - - #include - -diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -index 5ed8e95..290f2c8 100644 ---- a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -@@ -1,5 +1,4 @@ - #define readdir64_r __no_readdir64_r_decl --#define GETDENTS_64BIT_ALIGNED 1 - #include - #undef readdir64_r - weak_alias (__readdir_r, readdir64_r) diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4332.patch b/pkgs/development/libraries/glibc/2.18/cve-2013-4332.patch deleted file mode 100644 index 94d25d7bbe1c..000000000000 --- a/pkgs/development/libraries/glibc/2.18/cve-2013-4332.patch +++ /dev/null @@ -1,56 +0,0 @@ -https://projects.archlinux.org/svntogit/packages.git/tree/trunk/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch?h=packages/glibc - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index dd295f5..7f43ba3 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3082,6 +3082,13 @@ __libc_pvalloc(size_t bytes) - size_t page_mask = GLRO(dl_pagesize) - 1; - size_t rounded_bytes = (bytes + page_mask) & ~(page_mask); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 7f43ba3..3148c5f 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3046,6 +3046,13 @@ __libc_valloc(size_t bytes) - - size_t pagesz = GLRO(dl_pagesize); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 3148c5f..f7718a9 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3015,6 +3015,13 @@ __libc_memalign(size_t alignment, size_t bytes) - /* Otherwise, ensure that it is at least a minimum chunk size */ - if (alignment < MINSIZE) alignment = MINSIZE; - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - alignment - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - arena_get(ar_ptr, bytes + alignment + MINSIZE); - if(!ar_ptr) - return 0; diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4458.patch b/pkgs/development/libraries/glibc/2.18/cve-2013-4458.patch deleted file mode 100644 index bec4acde7548..000000000000 --- a/pkgs/development/libraries/glibc/2.18/cve-2013-4458.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit 7cbcdb3699584db8913ca90f705d6337633ee10f -Author: Siddhesh Poyarekar -Date: Fri Oct 25 10:22:12 2013 +0530 - - Fix stack overflow due to large AF_INET6 requests - - Resolves #16072 (CVE-2013-4458). - - This patch fixes another stack overflow in getaddrinfo when it is - called with AF_INET6. The AF_UNSPEC case was fixed as CVE-2013-1914, - but the AF_INET6 case went undetected back then. - -diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c -index e6ce4cf..8ff74b4 100644 ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -197,7 +197,22 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - &rc, &herrno, NULL, &localcanon)); \ - if (rc != ERANGE || herrno != NETDB_INTERNAL) \ - break; \ -- tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen); \ -+ if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen)) \ -+ tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen, \ -+ alloca_used); \ -+ else \ -+ { \ -+ char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL, \ -+ 2 * tmpbuflen); \ -+ if (newp == NULL) \ -+ { \ -+ result = -EAI_MEMORY; \ -+ goto free_and_return; \ -+ } \ -+ tmpbuf = newp; \ -+ malloc_tmpbuf = true; \ -+ tmpbuflen = 2 * tmpbuflen; \ -+ } \ - } \ - if (status == NSS_STATUS_SUCCESS && rc == 0) \ - h = &th; \ -@@ -209,7 +224,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - { \ - __set_h_errno (herrno); \ - _res.options |= old_res_options & RES_USE_INET6; \ -- return -EAI_SYSTEM; \ -+ result = -EAI_SYSTEM; \ -+ goto free_and_return; \ - } \ - if (herrno == TRY_AGAIN) \ - no_data = EAI_AGAIN; \ diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4788.patch b/pkgs/development/libraries/glibc/2.18/cve-2013-4788.patch deleted file mode 100644 index cf8c7911f68a..000000000000 --- a/pkgs/development/libraries/glibc/2.18/cve-2013-4788.patch +++ /dev/null @@ -1,222 +0,0 @@ -commit c61b4d41c9647a54a329aa021341c0eb032b793e -Author: Carlos O'Donell -Date: Mon Sep 23 00:52:09 2013 -0400 - - BZ #15754: CVE-2013-4788 - - The pointer guard used for pointer mangling was not initialized for - static applications resulting in the security feature being disabled. - The pointer guard is now correctly initialized to a random value for - static applications. Existing static applications need to be - recompiled to take advantage of the fix. - - The test tst-ptrguard1-static and tst-ptrguard1 add regression - coverage to ensure the pointer guards are sufficiently random - and initialized to a default value. - -diff --git a/csu/libc-start.c b/csu/libc-start.c -index e5da3ef..c898d06 100644 ---- a/csu/libc-start.c -+++ b/csu/libc-start.c -@@ -37,6 +37,12 @@ extern void __pthread_initialize_minimal (void); - in thread local area. */ - uintptr_t __stack_chk_guard attribute_relro; - # endif -+# ifndef THREAD_SET_POINTER_GUARD -+/* Only exported for architectures that don't store the pointer guard -+ value in thread local area. */ -+uintptr_t __pointer_chk_guard_local -+ attribute_relro attribute_hidden __attribute__ ((nocommon)); -+# endif - #endif - - #ifdef HAVE_PTR_NTHREADS -@@ -195,6 +201,16 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), - # else - __stack_chk_guard = stack_chk_guard; - # endif -+ -+ /* Set up the pointer guard value. */ -+ uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random, -+ stack_chk_guard); -+# ifdef THREAD_SET_POINTER_GUARD -+ THREAD_SET_POINTER_GUARD (pointer_chk_guard); -+# else -+ __pointer_chk_guard_local = pointer_chk_guard; -+# endif -+ - #endif - - /* Register the destructor of the dynamic linker if there is any. */ -diff --git a/ports/sysdeps/ia64/stackguard-macros.h b/ports/sysdeps/ia64/stackguard-macros.h -index dc683c2..3907293 100644 ---- a/ports/sysdeps/ia64/stackguard-macros.h -+++ b/ports/sysdeps/ia64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("adds %0 = -16, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -diff --git a/ports/sysdeps/tile/stackguard-macros.h b/ports/sysdeps/tile/stackguard-macros.h -index 589ea2b..f2e041b 100644 ---- a/ports/sysdeps/tile/stackguard-macros.h -+++ b/ports/sysdeps/tile/stackguard-macros.h -@@ -4,11 +4,17 @@ - # if __WORDSIZE == 64 - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; }) - # else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) - # endif - #else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; lw %0, %0" : "=r" (x)); x; }) - #endif -diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h -index ababf65..4fa3d96 100644 ---- a/sysdeps/generic/stackguard-macros.h -+++ b/sysdeps/generic/stackguard-macros.h -@@ -2,3 +2,6 @@ - - extern uintptr_t __stack_chk_guard; - #define STACK_CHK_GUARD __stack_chk_guard -+ -+extern uintptr_t __pointer_chk_guard_local; -+#define POINTER_CHK_GUARD __pointer_chk_guard_local -diff --git a/sysdeps/i386/stackguard-macros.h b/sysdeps/i386/stackguard-macros.h -index 8c31e19..0397629 100644 ---- a/sysdeps/i386/stackguard-macros.h -+++ b/sysdeps/i386/stackguard-macros.h -@@ -2,3 +2,11 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("movl %%gs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc32/stackguard-macros.h b/sysdeps/powerpc/powerpc32/stackguard-macros.h -index 839f6a4..b3d0af8 100644 ---- a/sysdeps/powerpc/powerpc32/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc32/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("lwz %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc64/stackguard-macros.h b/sysdeps/powerpc/powerpc64/stackguard-macros.h -index 9da879c..4620f96 100644 ---- a/sysdeps/powerpc/powerpc64/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc64/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ld %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-32/stackguard-macros.h b/sysdeps/s390/s390-32/stackguard-macros.h -index b74c579..449e8d4 100644 ---- a/sysdeps/s390/s390-32/stackguard-macros.h -+++ b/sysdeps/s390/s390-32/stackguard-macros.h -@@ -2,3 +2,14 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0; l %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-64/stackguard-macros.h b/sysdeps/s390/s390-64/stackguard-macros.h -index 0cebb5f..c8270fb 100644 ---- a/sysdeps/s390/s390-64/stackguard-macros.h -+++ b/sysdeps/s390/s390-64/stackguard-macros.h -@@ -2,3 +2,17 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0;" \ -+ "sllg %0,%0,32;" \ -+ "ear %0,%%a1;" \ -+ "lg %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/sparc/sparc32/stackguard-macros.h b/sysdeps/sparc/sparc32/stackguard-macros.h -index c0b02b0..1eef0f1 100644 ---- a/sysdeps/sparc/sparc32/stackguard-macros.h -+++ b/sysdeps/sparc/sparc32/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ld [%%g7+0x18], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/sparc/sparc64/stackguard-macros.h b/sysdeps/sparc/sparc64/stackguard-macros.h -index 80f0635..cc0c12c 100644 ---- a/sysdeps/sparc/sparc64/stackguard-macros.h -+++ b/sysdeps/sparc/sparc64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ldx [%%g7+0x30], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/x86_64/stackguard-macros.h b/sysdeps/x86_64/stackguard-macros.h -index d7fedb3..1948800 100644 ---- a/sysdeps/x86_64/stackguard-macros.h -+++ b/sysdeps/x86_64/stackguard-macros.h -@@ -4,3 +4,8 @@ - ({ uintptr_t x; \ - asm ("mov %%fs:%c1, %0" : "=r" (x) \ - : "i" (offsetof (tcbhead_t, stack_guard))); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; \ -+ asm ("mov %%fs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); x; }) diff --git a/pkgs/development/libraries/glibc/2.18/glibc-rh739743.patch b/pkgs/development/libraries/glibc/2.18/glibc-rh739743.patch deleted file mode 100644 index c390b772b16d..000000000000 --- a/pkgs/development/libraries/glibc/2.18/glibc-rh739743.patch +++ /dev/null @@ -1,55 +0,0 @@ -2009-04-26 Aurelien Jarno - - * sysdeps/posix/getaddrinfo.c (rfc3484_sort): don't assign native - result if the result has no associated interface. - ---- - sysdeps/posix/getaddrinfo.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -1456,13 +1456,13 @@ - - /* Fill in the results in all the records. */ - for (int i = 0; i < src->nresults; ++i) -- if (src->results[i].index == a1_index) -+ if (a1_index != -1 && src->results[i].index == a1_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a1_native); - src->results[i].native = a1_native; - } -- else if (src->results[i].index == a2_index) -+ else if (a2_index != -1 && src->results[i].index == a2_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a2_native); - -2009-03-15 Aurelien Jarno - - * sysdeps/posix/getaddrinfo.c (getaddrinfo): correctly detect - interface for all 127.X.Y.Z addresses. - ---- - sysdeps/posix/getaddrinfo.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -2265,7 +2265,14 @@ - tmp.addr[0] = 0; - tmp.addr[1] = 0; - tmp.addr[2] = htonl (0xffff); -- tmp.addr[3] = sinp->sin_addr.s_addr; -+ /* Special case for lo interface, the source address -+ being possibly different than the interface -+ address. */ -+ if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000) -+ == 0x7f000000) -+ tmp.addr[3] = htonl(0x7f000001); -+ else -+ tmp.addr[3] = sinp->sin_addr.s_addr; - } - else - { diff --git a/pkgs/development/libraries/glibc/2.18/scanf.patch b/pkgs/development/libraries/glibc/2.18/scanf.patch deleted file mode 100644 index 4eed86ca1109..000000000000 --- a/pkgs/development/libraries/glibc/2.18/scanf.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://sourceware.org/bugzilla/show_bug.cgi?id=15917 - -commit a4966c6104918ac884ee1131a4ed23c5ad6b4c5a -Author: Andreas Schwab -Date: Thu Oct 31 12:51:03 2013 +0100 - - Fix parsing of 0e+0 as float - -diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c -index 78dc2fc..e6fa8f3 100644 ---- a/stdio-common/vfscanf.c -+++ b/stdio-common/vfscanf.c -@@ -1966,6 +1966,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, - if (width > 0) - --width; - } -+ else -+ got_digit = 1; - } - - while (1) diff --git a/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch b/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch deleted file mode 100644 index cdf4c0253167..000000000000 --- a/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.archlinux.org/task/36556 -diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c -index cd63b68..03d8b9a 100644 ---- a/sysdeps/x86_64/multiarch/strstr.c -+++ b/sysdeps/x86_64/multiarch/strstr.c -@@ -86,7 +86,7 @@ - /* Simple replacement of movdqu to address 4KB boundary cross issue. - If EOS occurs within less than 16B before 4KB boundary, we don't - cross to next page. */ --static __m128i -+static inline __m128i - __m128i_strloadu (const unsigned char * p, __m128i zero) - { - if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0)) diff --git a/pkgs/development/libraries/glibc/2.18/builder.sh b/pkgs/development/libraries/glibc/2.19/builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.18/builder.sh rename to pkgs/development/libraries/glibc/2.19/builder.sh diff --git a/pkgs/development/libraries/glibc/2.18/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix similarity index 91% rename from pkgs/development/libraries/glibc/2.18/common.nix rename to pkgs/development/libraries/glibc/2.19/common.nix index 9271e33cf07b..b153d91934b3 100644 --- a/pkgs/development/libraries/glibc/2.18/common.nix +++ b/pkgs/development/libraries/glibc/2.19/common.nix @@ -13,7 +13,7 @@ cross: let - version = "2.18"; + version = "2.19"; in @@ -44,26 +44,21 @@ stdenv.mkDerivation ({ /* Don't use /etc/ld.so.cache, for non-NixOS systems. */ ./dont-use-system-ld-so-cache.patch + /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload. */ + ./dont-use-system-ld-so-preload.patch + /* Add blowfish password hashing support. This is needed for compatibility with old NixOS installations (since NixOS used to default to blowfish). */ ./glibc-crypt-blowfish.patch - /* Fix for random "./sysdeps/posix/getaddrinfo.c:1467: - rfc3484_sort: Assertion `src->results[i].native == -1 || - src->results[i].native == a2_native' failed." crashes. */ - ./glibc-rh739743.patch + /* The command "getconf CS_PATH" returns the default search path + "/bin:/usr/bin", which is inappropriate on NixOS machines. This + patch extends the search path by "/run/current-system/sw/bin". */ + ./fix_path_attribute_in_getconf.patch - ./scanf.patch - - ./cve-2012-4412+4424.patch - ./cve-2013-4237.patch - ./cve-2013-4332.patch - ./cve-2013-4458.patch - ./cve-2013-4788.patch - ] - # the problem only seems to affect i686, so avoid re-hash x86_64 ATM - ++ stdenv.lib.optional stdenv.isi686 ./strstr-sse42-hack.patch; + ./fix-math.patch + ]; postPatch = '' # Needed for glibc to build with the gnumake 3.82 @@ -146,7 +141,7 @@ stdenv.mkDerivation ({ } else fetchurl { url = "mirror://gnu/glibc/glibc-${version}.tar.gz"; - sha256 = "0d3pnh6kg5r48ga5rg4lhwlc1062brr6fiqs4j23327gzssjgry8"; + sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q"; }; # Remove absolute paths from `configure' & co.; build out-of-tree. diff --git a/pkgs/development/libraries/glibc/2.18/default.nix b/pkgs/development/libraries/glibc/2.19/default.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/default.nix rename to pkgs/development/libraries/glibc/2.19/default.nix diff --git a/pkgs/development/libraries/glibc/2.18/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/dont-use-system-ld-so-cache.patch rename to pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch new file mode 100644 index 000000000000..fabb6c3ec5e1 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch @@ -0,0 +1,12 @@ +diff -rupN a/elf/rtld.c b/elf/rtld.c +--- a/elf/rtld.c 2013-08-11 00:52:55.000000001 +0200 ++++ b/elf/rtld.c 2014-02-18 13:56:19.000000001 +0100 +@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load + open(). So we do this first. If it succeeds we do almost twice + the work but this does not matter, since it is not for production + use. */ +- static const char preload_file[] = "/etc/ld.so.preload"; ++ static const char preload_file[] = "/etc/ld-nix.so.preload"; + if (__builtin_expect (__access (preload_file, R_OK) == 0, 0)) + { + /* Read the contents of the file. */ diff --git a/pkgs/development/libraries/glibc/2.19/fix-math.patch b/pkgs/development/libraries/glibc/2.19/fix-math.patch new file mode 100644 index 000000000000..516f53954ddd --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/fix-math.patch @@ -0,0 +1,336 @@ +From: Siddhesh Poyarekar +Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530) +Subject: Fix sign of input to bsloww1 (BZ #16623) +X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65 + +Fix sign of input to bsloww1 (BZ #16623) + +In 84ba214c, I removed some redundant sign computations and in the +process, I incorrectly got rid of a temporary variable, thus passing +the absolute value of the input to bsloww1. This caused #16623. + +This fix undoes the incorrect change. + +[nix]: drop docs update (wouldn't apply) +--- + +diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in +index ac5348f..fafe96f 100644 +--- a/math/auto-libm-test-in ++++ b/math/auto-libm-test-in +@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0 + cos 0x1.00000162a932bp0 + cos 0x1.000002d452a10p0 + cos 0x1.000005bc7d86dp0 ++cos 0x1.200145a975ce6p32 + cos 1 + cos 2 + cos 3 +@@ -1748,6 +1749,7 @@ sin 7 + sin 8 + sin 9 + sin 10 ++sin 0x1.2001469775ce6p32 + + sincos 0 + sincos -0 +diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out +index 8f79359..59c08a7 100644 +--- a/math/auto-libm-test-out ++++ b/math/auto-libm-test-out +@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0 + = cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok + = cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok + = cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok ++cos 0x1.200145a975ce6p32 ++= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok ++= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok ++= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok ++= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok ++= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok ++= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok ++= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok ++= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok ++= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok + cos 1 + = cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok + = cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok +@@ -157744,6 +157813,75 @@ sin 10 + = sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok + = sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok + = sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok ++sin 0x1.2001469775ce6p32 ++= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok ++= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok ++= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok ++= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok ++= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok ++= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok ++= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok ++= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok ++= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok ++= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok ++= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok ++= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok + sincos 0 + = sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok + = sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok +diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c +index 6105e9f..50109b8 100644 +--- a/sysdeps/ieee754/dbl-64/s_sin.c ++++ b/sysdeps/ieee754/dbl-64/s_sin.c +@@ -447,19 +447,21 @@ __sin (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +@@ -671,19 +673,21 @@ __cos (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps +index f3980f8..544f1c7 100644 +--- a/sysdeps/x86_64/fpu/libm-test-ulps ++++ b/sysdeps/x86_64/fpu/libm-test-ulps +@@ -10900,6 +10900,14 @@ idouble: 1 + Test "cos_downward (0x1.0c152382d7365p+0)": + double: 1 + idouble: 1 ++Test "cos_downward (0x1.200145a975ce6p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 ++Test "cos_downward (0x1.200146p+32)": ++ildouble: 1 ++ldouble: 1 + Test "cos_downward (0x1.921fb4p+0)": + ildouble: 1 + ldouble: 1 +@@ -11126,6 +11134,9 @@ idouble: 1 + Test "cos_towardzero (0x1.0c152382d7365p+0)": + double: 1 + idouble: 1 ++Test "cos_towardzero (0x1.200146p+32)": ++double: 1 ++idouble: 1 + Test "cos_towardzero (0x1.921fb4p+0)": + ildouble: 1 + ldouble: 1 +@@ -11258,6 +11269,17 @@ idouble: 1 + Test "cos_upward (0x1.0c1524p+0)": + double: 1 + idouble: 1 ++Test "cos_upward (0x1.200144p+32)": ++double: 1 ++idouble: 1 ++Test "cos_upward (0x1.200145a975ce6p+32)": ++ildouble: 1 ++ldouble: 1 ++Test "cos_upward (0x1.200146p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 + Test "cos_upward (0x1.921fb4p+0)": + double: 1 + idouble: 1 +@@ -15155,6 +15177,19 @@ double: 1 + idouble: 1 + ildouble: 1 + ldouble: 1 ++Test "sin_downward (0x1.2001469775ce6p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 ++Test "sin_downward (0x1.200146p+32)": ++double: 1 ++idouble: 1 ++Test "sin_downward (0x1.200148p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 + Test "sin_downward (0x1.921fb54442d18468p+0)": + ildouble: 1 + ldouble: 1 +@@ -15383,6 +15418,9 @@ double: 1 + idouble: 1 + ildouble: 1 + ldouble: 1 ++Test "sin_towardzero (0x1.200146p+32)": ++double: 1 ++idouble: 1 + Test "sin_towardzero (0x1.921fb54442d18468p+0)": + ildouble: 1 + ldouble: 1 +@@ -15532,6 +15570,12 @@ ldouble: 1 + Test "sin_upward (-0x8.60a92p-4)": + ildouble: 1 + ldouble: 1 ++Test "sin_upward (0x1.2001469775ce6p+32)": ++ildouble: 1 ++ldouble: 1 ++Test "sin_upward (0x1.200148p+32)": ++ildouble: 1 ++ldouble: 1 + Test "sin_upward (0x1.921fb4p+0)": + double: 1 + idouble: 1 diff --git a/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch b/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch new file mode 100644 index 000000000000..714e49db5607 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch @@ -0,0 +1,6 @@ +diff -ubr glibc-2.17-orig/sysdeps/unix/confstr.h glibc-2.17/sysdeps/unix/confstr.h +--- glibc-2.17-orig/sysdeps/unix/confstr.h 2013-06-03 22:01:44.829726968 +0200 ++++ glibc-2.17/sysdeps/unix/confstr.h 2013-06-03 22:04:39.469376740 +0200 +@@ -1 +1 @@ +-#define CS_PATH "/bin:/usr/bin" ++#define CS_PATH "/run/current-system/sw/bin:/bin:/usr/bin" diff --git a/pkgs/development/libraries/glibc/2.18/glibc-crypt-blowfish.patch b/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/glibc-crypt-blowfish.patch rename to pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch diff --git a/pkgs/development/libraries/glibc/2.18/info.nix b/pkgs/development/libraries/glibc/2.19/info.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/info.nix rename to pkgs/development/libraries/glibc/2.19/info.nix diff --git a/pkgs/development/libraries/glibc/2.18/locales-builder.sh b/pkgs/development/libraries/glibc/2.19/locales-builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.18/locales-builder.sh rename to pkgs/development/libraries/glibc/2.19/locales-builder.sh diff --git a/pkgs/development/libraries/glibc/2.18/locales.nix b/pkgs/development/libraries/glibc/2.19/locales.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/locales.nix rename to pkgs/development/libraries/glibc/2.19/locales.nix diff --git a/pkgs/development/libraries/glibc/2.18/nix-locale-archive.patch b/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/nix-locale-archive.patch rename to pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch diff --git a/pkgs/development/libraries/glibc/2.18/rpcgen-path.patch b/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/rpcgen-path.patch rename to pkgs/development/libraries/glibc/2.19/rpcgen-path.patch diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix new file mode 100644 index 000000000000..098643ae70f0 --- /dev/null +++ b/pkgs/development/libraries/glog/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "glog-0.3.3"; + + src = fetchurl { + url = "http://google-glog.googlecode.com/files/${name}.tar.gz"; + sha1 = "ed40c26ecffc5ad47c618684415799ebaaa30d65"; + }; + + meta = { + homepage = http://code.google.com/p/google-glog/; + license = "BSD"; + description = "The glog library implements application-level logging."; + }; +} diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix index df7bd0ea3b96..f003979c701c 100644 --- a/pkgs/development/libraries/gmp/4.3.2.nix +++ b/pkgs/development/libraries/gmp/4.3.2.nix @@ -23,7 +23,9 @@ stdenv.mkDerivation rec { configureFlags = if cxx then "--enable-cxx" else "--disable-cxx"; - doCheck = true; + # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8. + # Newer versions of GMP don't have that issue anymore. + doCheck = false; meta = { description = "GMP, the GNU multiple precision arithmetic library"; diff --git a/pkgs/development/libraries/gmp/5.1.3.nix b/pkgs/development/libraries/gmp/5.1.x.nix similarity index 93% rename from pkgs/development/libraries/gmp/5.1.3.nix rename to pkgs/development/libraries/gmp/5.1.x.nix index ec6580942e6e..a25eabbee86e 100644 --- a/pkgs/development/libraries/gmp/5.1.3.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "gmp-5.1.3"; - src = fetchurl { + src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv urls = [ "mirror://gnu/gmp/${name}.tar.bz2" "ftp://ftp.gmplib.org/pub/${name}/${name}.tar.bz2" ]; sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m"; }; @@ -15,7 +15,8 @@ stdenv.mkDerivation rec { # (x86), except on Solaris where some tests crash with "Memory fault". # See , for instance. (stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat") - ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]); + ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]) + ++ (if stdenv.is64bit then [ "--with-pic" ] else []); doCheck = true; diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix index f741a0b4f34d..07c3c668793c 100644 --- a/pkgs/development/libraries/gnu-efi/default.nix +++ b/pkgs/development/libraries/gnu-efi/default.nix @@ -19,8 +19,8 @@ let version = "3.0u"; in stdenv.mkDerivation { platforms = ["x86_64-linux" "i686-linux"]; }; - buildFlags = [ - "CC=cc" + makeFlags = [ + "CC=gcc" "AS=as" "LD=ld" "AR=ar" @@ -29,12 +29,12 @@ let version = "3.0u"; in stdenv.mkDerivation { ]; buildPhase = '' - make $buildFlags - make $buildFlags -C apps clean all + make $makeFlags + make $makeFlags -C apps clean all ''; installPhase = '' - make PREFIX="$out" install + make PREFIX="$out" $makeFlags install mkdir -pv $out/share/gnu-efi install -D -m644 apps/*.efi $out/share/gnu-efi ''; diff --git a/pkgs/development/libraries/gnutls/2.12.nix b/pkgs/development/libraries/gnutls/2.12.nix deleted file mode 100644 index 86829a3a44b7..000000000000 --- a/pkgs/development/libraries/gnutls/2.12.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ fetchurl, stdenv, zlib, lzo, libtasn1, nettle -, guileBindings, guile, pkgconfig }: - -assert guileBindings -> guile != null; - -stdenv.mkDerivation rec { - - name = "gnutls-2.12.23"; - - src = fetchurl { # missing on standard mirrors - url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v2.12/${name}.tar.bz2"; - sha256 = "1lkys703z4yxfgzarmgas5ccvn6m254w9wvm7s8v0zkj81z7m9nz"; - }; - - configurePhase = '' - ./configure --prefix="$out" \ - --disable-dependency-tracking --enable-fast-install \ - --with-lzo --with-libtasn1-prefix="${libtasn1}" \ - --without-p11-kit \ - ${if guileBindings - then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\"" - else ""} - ''; - - buildInputs = [ zlib lzo libtasn1 pkgconfig ] - ++ stdenv.lib.optional guileBindings guile; - - propagatedBuildInputs = [ nettle ]; - - doCheck = true; - - meta = { - description = "The GNU Transport Layer Security Library"; - - longDescription = '' - GnuTLS is a project that aims to develop a library which - provides a secure layer, over a reliable transport - layer. Currently the GnuTLS library implements the proposed - standards by the IETF's TLS working group. - - Quoting from the TLS protocol specification: - - "The TLS protocol provides communications privacy over the - Internet. The protocol allows client/server applications to - communicate in a way that is designed to prevent eavesdropping, - tampering, or message forgery." - ''; - - homepage = http://www.gnu.org/software/gnutls/; - license = "LGPLv2.1+"; - - maintainers = [ ]; - }; -} diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/3.1.nix similarity index 82% rename from pkgs/development/libraries/gnutls/default.nix rename to pkgs/development/libraries/gnutls/3.1.nix index 0a98a2698fd9..1046310946a4 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/3.1.nix @@ -3,15 +3,17 @@ assert guileBindings -> guile != null; -stdenv.mkDerivation (rec { - - name = "gnutls-3.1.12"; +stdenv.mkDerivation rec { + name = "gnutls-3.1.22"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "1h8j3xi2jad2dclybgqffb5264hdqrxpsx99irs03yy9np6iw5l8"; + sha256 = "177kmq4jn67s7mmb249722nwxmbjwjpphmib7bhzfk43z02j3pvh"; }; + # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. + patches = stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch; + # Note: GMP is a dependency of Nettle, whose public headers include # GMP headers, hence the hack. configurePhase = '' @@ -21,15 +23,14 @@ stdenv.mkDerivation (rec { --with-lzo --with-libtasn1-prefix="${libtasn1}" \ --with-libnettle-prefix="${nettle}" \ CPPFLAGS="-I${gmp}/include" \ - ${if guileBindings - then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\"" - else ""} + ${stdenv.lib.optionalString guileBindings + "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""} ''; # Build of the Guile bindings is not parallel-safe. See # # for the actual fix. - enableParallelBuilding = false; + enableParallelBuilding = !guileBindings; buildInputs = [ zlib lzo lzip ] ++ stdenv.lib.optional guileBindings guile; @@ -42,7 +43,7 @@ stdenv.mkDerivation (rec { # http://hydra.nixos.org/build/2962084/nixlog/1/raw . doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); - meta = with stdenv.lib; { + meta = { description = "The GNU Transport Layer Security Library"; longDescription = '' @@ -61,13 +62,6 @@ stdenv.mkDerivation (rec { homepage = http://www.gnu.org/software/gnutls/; license = "LGPLv2.1+"; - maintainers = [ ]; + maintainers = [ stdenv.lib.maintainers.eelco ]; }; -} - -// - -(stdenv.lib.optionalAttrs stdenv.isFreeBSD { - # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. - patches = [ ./guile-gnulib-includes.patch ]; -})) +} \ No newline at end of file diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix index 5a5b6aa94e2b..45d0270de5a8 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -3,15 +3,19 @@ assert guileBindings -> guile != null; -stdenv.mkDerivation (rec { - - name = "gnutls-3.2.4"; +stdenv.mkDerivation rec { + name = "gnutls-3.2.12.1"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "0zl4h37g51xyaalv3qp2hvn1m6z7xzfw4yvpvi6mby4x5sqrrp8i"; + sha256 = "1787n4iard3ad0p44xbl4aj3r3f5ir3sz0b2s27qpaaia2w4774g"; }; + patches = + # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. + stdenv.lib.optional stdenv.isFreeBSD ./guile-gnulib-includes.patch + ; + # Note: GMP is a dependency of Nettle, whose public headers include # GMP headers, hence the hack. configurePhase = '' @@ -21,15 +25,14 @@ stdenv.mkDerivation (rec { --with-lzo --with-libtasn1-prefix="${libtasn1}" \ --with-libnettle-prefix="${nettle}" \ CPPFLAGS="-I${gmp}/include" \ - ${if guileBindings - then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\"" - else ""} + ${stdenv.lib.optionalString guileBindings + "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""} ''; # Build of the Guile bindings is not parallel-safe. See # # for the actual fix. - enableParallelBuilding = false; + enableParallelBuilding = !guileBindings; buildInputs = [ zlib lzo lzip ] ++ stdenv.lib.optional guileBindings guile; @@ -42,7 +45,7 @@ stdenv.mkDerivation (rec { # http://hydra.nixos.org/build/2962084/nixlog/1/raw . doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); - meta = with stdenv.lib; { + meta = { description = "The GNU Transport Layer Security Library"; longDescription = '' @@ -61,13 +64,8 @@ stdenv.mkDerivation (rec { homepage = http://www.gnu.org/software/gnutls/; license = "LGPLv2.1+"; - maintainers = [ ]; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.all; }; } -// - -(stdenv.lib.optionalAttrs stdenv.isFreeBSD { - # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. - patches = [ ./guile-gnulib-includes.patch ]; -})) diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index da746969ed78..7686fb308383 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -5,7 +5,7 @@ # In that case its about 6MB which could be separated let - ver_maj = "1.38"; + ver_maj = "1.40"; ver_min = "0"; in stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz"; - sha256 = "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"; + sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln"; }; buildInputs = [ flex bison glib pkgconfig python ] diff --git a/pkgs/development/libraries/google-gflags/default.nix b/pkgs/development/libraries/google-gflags/default.nix new file mode 100644 index 000000000000..3631d4927a38 --- /dev/null +++ b/pkgs/development/libraries/google-gflags/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "google-gflags-2.0"; + + src = fetchurl { + url = "https://gflags.googlecode.com/files/gflags-2.0.tar.gz"; + sha256 = "1mypfahsfy0piavhf7il2jfs1gq7jp6yarl9sq5hhypj34s5sjnf"; + }; + + doCheck = true; + + meta = { + description = "A C++ library that implements commandline flags processing"; + longDescription = '' + The gflags package contains a C++ library that implements commandline flags processing. + As such it's a replacement for getopt(). + It was owned by Google. google-gflags project has been renamed to gflags and maintained by new community. + ''; + homepage = https://code.google.com/p/gflags/; + license = stdenv.lib.licenses.bsd3; + + maintainers = [ stdenv.lib.maintainers.linquize ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix index a4a3a01299c0..70b4ab8639d3 100644 --- a/pkgs/development/libraries/gsasl/default.nix +++ b/pkgs/development/libraries/gsasl/default.nix @@ -8,7 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii"; }; - buildInputs = [ gss libidn ]; + buildInputs = [ libidn ] + ++ stdenv.lib.optional (!stdenv.isDarwin) gss; + + configureFlags = stdenv.lib.optionalString stdenv.isDarwin "--with-gssapi-impl=mit"; doCheck = true; diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index 49364f882429..eee977e97037 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -8,6 +8,10 @@ stdenv.mkDerivation rec { sha256 = "18qf6jzz1r3mzb5qynywv4xx3z9g61hgkbpkdrhbgqh2g7jhgfc5"; }; + # ToDo: there might be more impurities than FMA support check + patches = [ ./disable-fma.patch ]; # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html + patchFlags = "-p0"; + doCheck = true; meta = { diff --git a/pkgs/development/libraries/gsl/disable-fma.patch b/pkgs/development/libraries/gsl/disable-fma.patch new file mode 100644 index 000000000000..d5c0d620863e --- /dev/null +++ b/pkgs/development/libraries/gsl/disable-fma.patch @@ -0,0 +1,32 @@ +--- configure.ac 2011-09-22 16:13:22 +0000 ++++ configure.ac 2011-11-26 23:55:24 +0000 +@@ -381,6 +381,28 @@ + AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE) + AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE) + ++dnl check for compiler flags to disable use of FMA ++save_cflags="$CFLAGS" ++AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags, ++[ ++if test X"$GCC" = Xyes; then ++ fma_flags='-ffp-contract=off' ++else ++ fma_flags= ++fi ++if test X"$fma_flags" != X; then ++ CFLAGS="$fma_flags $CFLAGS" ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"]) ++else ++ ac_cv_c_fma_flags="none" ++fi]) ++ ++if test "$ac_cv_c_fma_flags" != "none" ; then ++ CFLAGS="$ac_cv_c_fma_flags $save_cflags" ++else ++ CFLAGS="$save_cflags" ++fi ++ + dnl Check for IEEE control flags + + save_cflags="$CFLAGS" + diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index 2c14451ba784..466406fbe793 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation { name = "gssdp-0.12.2.1"; src = fetchurl { - url = mirror://gnome/sources/gssdp/0.12/gssdp-0.12.2.1.tar.xz; - sha256 = "0544f9nv6dpnfd0qbmxm8xwqjh8dafcmf3vlzkdly12xh5bs52lj"; + url = mirror://gnome/sources/gssdp/0.14/gssdp-0.14.6.tar.xz; + sha256 = "1kgakr0rpdpm7nkp4ycka12nndga16wmzim79v1nbcc0j2wxxkws"; }; buildInputs = [pkgconfig libsoup glib libxml2]; diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 81207155625a..eed4c12f2547 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -1,34 +1,44 @@ { stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc -, faac, faad2, libass, libkate, libmms +, faacSupport ? false, faac ? null +, faad2, libass, libkate, libmms , libmodplug, mpeg2dec, mpg123 , openjpeg, libopus, librsvg , timidity, libvdpau, wayland , libwebp, xvidcore, gnutls }: -stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.2.2"; +assert faacSupport -> faac != null; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; +stdenv.mkDerivation rec { + name = "gst-plugins-bad-1.2.3"; + + meta = with stdenv.lib; { + description = "Gstreamer Bad Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that aren't up to par compared to the + rest. They might be close to being good quality, but they're missing + something - be it a good code review, some documentation, a set of tests, + a real live maintainer, or some actual wide use. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; - sha256 = "63e78db11b482d0529a0bde01e2ac23fd32c7cb99a5508b53ee4ca1051871b2c"; + sha256 = "1317hik9fdmy300p7c2y3aw43y6v9dr8f1906zm7s876m48pjpar"; }; nativeBuildInputs = [ pkgconfig python ]; buildInputs = [ gst-plugins-base orc - faac faad2 libass libkate libmms + faad2 libass libkate libmms libmodplug mpeg2dec mpg123 openjpeg libopus librsvg timidity libvdpau wayland libwebp xvidcore gnutls - ]; + ] ++ stdenv.lib.optional faacSupport faac; } diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 01a75ce52112..0c8dbb21cfb0 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -4,7 +4,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-base-1.2.2"; + name = "gst-plugins-base-1.2.3"; meta = { description = "Base plugins and helper libraries"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"; - sha256 = "fa90cf21eac0a77f9393100356aef99ae42072c31dc218d3ae2e7f86cd5ced69"; + sha256 = "1qfs4lv91ggcck61pw0ybn3gzvx4kl2vsd6lp8l6ky3hq8syrvb1"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 5e7548627fe2..881f31c66a6a 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "gstreamer-1.2.2"; + name = "gstreamer-1.2.3"; meta = { description = "Open source multimedia framework"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; - sha256 = "b9f12137ab663edc6c37429b38ca7911074b9c2a829267fe855d4e57d916a0b6"; + sha256 = "1syqn0kki5disx01q3y0z6p5qhr2a5g388wc6s649cw4lcbri6hg"; }; nativeBuildInputs = [ @@ -23,4 +23,6 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ glib ]; + + setupHook = ./setup-hook.sh; } diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh new file mode 100644 index 000000000000..04863ab3b612 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh @@ -0,0 +1,9 @@ +addGstreamer1LibPath () { + if test -d "$1/lib/gstreamer-1.0" + then + export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0" + fi +} + +envHooks=(${envHooks[@]} addGstreamer1LibPath) + diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 1d02e6459ab2..4796ce078dfb 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -12,4 +12,10 @@ rec { gst-plugins-ugly = callPackage ./ugly { inherit gst-plugins-base; }; gst-libav = callPackage ./libav { inherit gst-plugins-base; }; + + gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; }; + + gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; }; + + gst-editing-services = callPackage ./ges { inherit gnonlin; }; } diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix new file mode 100644 index 000000000000..90233abe31c1 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection +, gnonlin, libxml2 +}: + +stdenv.mkDerivation rec { + name = "gstreamer-editing-services-1.2.0"; + + meta = with stdenv.lib; { + description = "Library for creation of audio/video non-linear editors"; + homepage = "http://gstreamer.freedesktop.org"; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz"; + sha256 = "1n7nw8rqvwna9af55lggah44gdvfgld1igvgaya8glc37wpq89b0"; + }; + + nativeBuildInputs = [ pkgconfig python gobjectIntrospection ]; + + propagatedBuildInputs = [ gnonlin libxml2 ]; +} diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix new file mode 100644 index 000000000000..c45c1469cb36 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig +, gst-plugins-base +}: + +stdenv.mkDerivation rec { + name = "gnonlin-1.2.0"; + + meta = with stdenv.lib; { + description = "Gstreamer Non-Linear Multimedia Editing Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + Gnonlin is a library built on top of GStreamer which provides + support for writing non-linear audio and video editing + applications. It introduces the concept of a timeline. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "${meta.homepage}/src/gnonlin/${name}.tar.xz"; + sha256 = "15hyb0kg8sm92kj37cir4l3sa21b8zy4la1ccfhb358b4mf24vl7"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ gst-plugins-base ]; +} diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 616f63d7da7f..090c84600ab7 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -7,18 +7,24 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-good-1.2.2"; + name = "gst-plugins-good-1.2.3"; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + meta = with stdenv.lib; { + description = "Gstreamer Good Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that we consider to have good quality code, + correct functionality, our preferred license (LGPL for the plug-in + code, LGPL or LGPL-compatible for the supporting library). + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; - sha256 = "6c090f00e8e4588f12807bd9fbb06a03b84a512c93e84d928123ee4a42228a81"; + sha256 = "0w74hms2zg0rnhilj9cbhx9wfiryrkcvhr1g90scrg8mllv3bcxz"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh index ad184dc21e99..10671f9d227c 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh +++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh @@ -1,7 +1,7 @@ addGstreamerLibPath () { if test -d "$1/lib/gstreamer-0.10" then - export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}${GST_PLUGIN_PATH:+:}$1/lib/gstreamer-0.10" + export GST_PLUGIN_SYSTEM_PATH="${GST_PLUGIN_SYSTEM_PATH}${GST_PLUGIN_SYSTEM_PATH:+:}$1/lib/gstreamer-0.10" fi } diff --git a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix index c3510a69a123..c0cab607062d 100644 --- a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix @@ -2,12 +2,12 @@ , automoc4, flex, bison, pkgconfig }: stdenv.mkDerivation rec { - name = "${pname}-0.10.2"; + name = "${pname}-0.10.3"; pname = "qt-gstreamer"; src = fetchurl { url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2"; - sha256 = "1laryg5vgc3prdi7dmpfwa71nsrc3ngv27sgax44c4qfrgpsgwbf"; + sha256 = "1pqg9sxzk8sdrf7pazb5v21hasqai9i4l203gbdqz29w2ll1ybsl"; }; buildInputs = [ gstreamer gst_plugins_base glib qt4 ]; diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 47be4c8f4a05..ee2cb8830b00 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -6,7 +6,7 @@ assert withSystemLibav -> libav != null; stdenv.mkDerivation rec { - name = "gst-libav-1.2.2"; + name = "gst-libav-1.2.3"; meta = { homepage = "http://gstreamer.freedesktop.org"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-libav/${name}.tar.xz"; - sha256 = "585eb7971006100ad771a852e07bd2f3e23bcc6eb0b1253a40b5a0e40e4e7418"; + sha256 = "1mmwyp6wahrx73zxiv67bwh9dqp7fn86igy4rkv0vx2m17hzpizb"; }; configureFlags = stdenv.lib.optionalString withSystemLibav diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix new file mode 100644 index 000000000000..9a526de05b1c --- /dev/null +++ b/pkgs/development/libraries/gstreamer/python/default.nix @@ -0,0 +1,36 @@ +{ fetchurl, stdenv, pkgconfig, python, gstreamer + , gst-plugins-base, pygtk, pygobject3 +}: + +stdenv.mkDerivation rec { + name = "gst-python-1.2.0"; + + src = fetchurl { + urls = [ + "${meta.homepage}/src/gst-python/${name}.tar.bz2" + "mirror://gentoo/distfiles/${name}.tar.bz2" + ]; + sha256 = "09c6yls8ipbmwimdjr7xi3hvf2xa1xn1pv07855r7wfyzas1xbl1"; + }; + + patches = [ ./different-path-with-pygobject.patch ]; + + buildInputs = + [ pkgconfig gst-plugins-base pygtk pygobject3 ] + ; + + preConfigure = '' + export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides" + ''; + + propagatedBuildInputs = [ gstreamer python ]; + + meta = { + homepage = http://gstreamer.freedesktop.org; + + description = "Python bindings for GStreamer"; + + license = "LGPLv2+"; + }; +} + diff --git a/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch new file mode 100644 index 000000000000..7326b3630f70 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch @@ -0,0 +1,20 @@ +diff -Nru gst-python-1.2.0-orig/gi/overrides/Makefile.in gst-python-1.2.0/gi/overrides/Makefile.in +--- gst-python-1.2.0-orig/gi/overrides/Makefile.in 2014-03-22 21:47:56.235364405 +0800 ++++ gst-python-1.2.0/gi/overrides/Makefile.in 2014-03-22 21:48:28.737958066 +0800 +@@ -356,7 +356,7 @@ + + # We install everything in the gi/overrides folder + pygioverridesdir = $(PYGI_OVERRIDES_DIR) +-pygioverrides_PYTHON = Gst.py GstPbutils.py ++pygioverrides_PYTHON = Gst.py GstPbutils.py __init__.py + pygioverridesexecdir = $(PYGI_OVERRIDES_DIR) + EXTRA_DIST = Gst.py + INCLUDES = $(PYTHON_INCLUDES) +diff -Nru gst-python-1.2.0-orig/gi/overrides/__init__.py gst-python-1.2.0/gi/overrides/__init__.py +--- gst-python-1.2.0-orig/gi/overrides/__init__.py 1970-01-01 08:00:00.000000000 +0800 ++++ gst-python-1.2.0/gi/overrides/__init__.py 2014-03-22 21:48:15.442124287 +0800 +@@ -0,0 +1,4 @@ ++from pkgutil import extend_path ++ ++__path__ = extend_path(__path__, __name__) ++print(__path__, __name__) diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 8dafbf013f37..4f16fa4259c8 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -5,18 +5,25 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-ugly-1.2.2"; + name = "gst-plugins-ugly-1.2.3"; - meta = { - homepage = "http://gstreamer.freedesktop.org"; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + meta = with stdenv.lib; { + description = "Gstreamer Ugly Plugins"; + homepage = "http://gstreamer.freedesktop.org"; + longDescription = '' + a set of plug-ins that have good quality and correct functionality, + but distributing them might pose problems. The license on either + the plug-ins or the supporting libraries might not be how we'd + like. The code might be widely known to present patent problems. + ''; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; }; src = fetchurl { url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; - sha256 = "4b6aac272a5be0d68f365ef6fba0f829fc5c1d1d601bb4dd9e85f5289b2b56c3"; + sha256 = "0fzbazgqrbyckbh2xqlzslzmm638bddp1fw8cc19kr7f0xv0lysk"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index fdc2c675847f..92c6debaa661 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; stdenv.mkDerivation rec { - name = "gtk+-2.24.22"; + name = "gtk+-2.24.23"; src = fetchurl { url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; - sha256 = "0zxf810znlk80j230rbr0xscx3gm71jmf2bdiamg76rqzglvc55i"; + sha256 = "0z2ic7fma1lmmv4ncgki3vadqp7d0qkj2d235impsplvgvi0d950"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index e3237f83b74b..82e2e41aff87 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -9,28 +9,32 @@ assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; let - ver_maj = "3.10"; - ver_min = "5"; # .6 needs currently unreleased wayland for introspection (wl_proxy_marshal_constructor) + ver_maj = "3.12"; + ver_min = "1"; + version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation rec { - name = "gtk+-${ver_maj}.${ver_min}"; + name = "gtk+3-${version}"; src = fetchurl { - url = "mirror://gnome/sources/gtk+/${ver_maj}/${name}.tar.xz"; - sha256 = "1iyc566r61d3jfdiq5knwbssq5bsqsn8hqzdm30vmw6dx3cgd49i"; + url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; + sha256 = "1kbp0bmyzh7lbxv9y349vrj3d0n0hn68r5kyvg5683snvdgsx6ki"; }; - enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ]; - buildInputs = [ wayland libxkbcommon ]; + buildInputs = [ libxkbcommon ]; propagatedBuildInputs = with xlibs; with stdenv.lib; [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk ] - ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor ] + ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor wayland ] ++ optional stdenv.isDarwin x11 - ++ stdenv.lib.optional xineramaSupport libXinerama - ++ stdenv.lib.optionals cupsSupport [ cups ]; + ++ optional xineramaSupport libXinerama + ++ optional cupsSupport cups; + + # demos fail to install, no idea where's the problem + preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in"; + + enableParallelBuilding = true; postInstall = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index 8649abec6378..600ea1a0278f 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }: let - ver_maj = "3.10"; - ver_min = "1"; + ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable" + ver_min = "9"; in stdenv.mkDerivation rec { name = "gtkmm-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz"; - sha256 = "0f1587pc6x8hn268vqj5zr4dvyisj5zd9zpsfxyfm1pkbjmcv9bg"; + sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix new file mode 100644 index 000000000000..3cbb13972d35 --- /dev/null +++ b/pkgs/development/libraries/gupnp-av/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, gupnp, pkgconfig }: + +stdenv.mkDerivation rec { + name = "gupnp-av-${version}"; + majorVersion = "0.12"; + version = "${majorVersion}.4"; + src = fetchurl { + url = "mirror://gnome/sources/gupnp-av/${majorVersion}/gupnp-av-${version}.tar.xz"; + sha256 = "0nvsvpiyfslz54j4hjh2gsdjkbi2qj2f4k0aw8s7f05kibprr2jl"; + }; + + buildInputs = [ gupnp pkgconfig ]; + + meta = { + homepage = http://gupnp.org/; + description = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."; + longDescription = "GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification, and presentation (GUPnP includes basic web server functionality through libsoup). GUPnP does not include helpers for construction or control of specific standardized resources (e.g. MediaServer); this is left for higher level libraries utilizing the GUPnP framework."; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index ca92bb82a733..bae0639a61c9 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, pkgconfig, glib, libxml2, gssdp, libsoup, libuuid }: -stdenv.mkDerivation { - name = "gupnp-0.18.4"; - +stdenv.mkDerivation rec { + name = "gupnp-${version}"; + majorVersion = "0.20"; + version = "${majorVersion}.9"; src = fetchurl { - url = mirror://gnome/sources/gupnp/0.18/gupnp-0.18.4.tar.xz; - sha256 = "18bqmy8r44fnga9wz9inlq6k2s0292bnnql0c0n2j4mj25bpshvb"; + url = "mirror://gnome/sources/gupnp/${majorVersion}/gupnp-${version}.tar.xz"; + sha256 = "0vicydn3f72x1rqql7857ans85mg7dfap7n7h8xrfyb9whxhlrb1"; }; propagatedBuildInputs = [ libxml2 libsoup gssdp ]; @@ -13,7 +14,16 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; + postInstall = '' + cp -r ${libsoup}/include/libsoup-2.4/libsoup $out/include + cp -r ${gssdp}/include/gssdp-1.0/libgssdp $out/include + cp -r ${libxml2}/include/libxml2/libxml $out/include + ''; + meta = { homepage = http://www.gupnp.org/; + description = "GUPnP is an implementation of the UPnP specification."; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 083d0a10cdf8..3f20147d0e97 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -2,7 +2,7 @@ , glib, dbus, udev, udisks2, libgcrypt , libgphoto2, avahi, libarchive, fuse, libcdio , libxml2, libxslt, docbook_xsl -, lightWeight ? true, gnome, samba, makeWrapper }: +, lightWeight ? true, gnome, samba, libgnome_keyring, gconf, makeWrapper }: let ver_maj = "1.18"; @@ -31,8 +31,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # ToDo: one probably should specify schemas for samba and others here - fixupPhase = '' - wrapProgram $out/libexec/gvfsd --set GSETTINGS_SCHEMA_DIR "$out/share/glib-2.0/schemas" + preFixup = '' + wrapProgram $out/libexec/gvfsd --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/development/libraries/gwenhywfar/default.nix b/pkgs/development/libraries/gwenhywfar/default.nix index 724524e2b263..b8ad34427291 100644 --- a/pkgs/development/libraries/gwenhywfar/default.nix +++ b/pkgs/development/libraries/gwenhywfar/default.nix @@ -1,19 +1,27 @@ -{ stdenv, fetchurl, qt4, gtk, pkgconfig, gnutls, libgcrypt }: +{ stdenv, fetchurl, gnutls, gtk, libgcrypt, pkgconfig, qt4 }: stdenv.mkDerivation rec { - name = "gwenhywfar-4.3.1"; + name = "gwenhywfar-4.10.0beta"; src = fetchurl { - url = "http://www2.aquamaniac.de/sites/download/download.php?package=01&release=65&file=01&dummy=gwenhywfar-4.3.1.tar.gz"; + url = "http://www2.aquamaniac.de/sites/download/download.php?package=01&release=73&file=01&dummy=gwenhywfar-4.10.0beta.tar.gz"; name = "${name}.tar.gz"; - sha256 = "1r8ayi1nwcdcs4mncd7zigl8pk707j7whb85klsyir4nif52fxrs"; + sha256 = "1ihg2s263g540hl42y6g9wqcc4am70kv01yivsqfrpa9fnhbxm7f"; }; propagatedBuildInputs = [ gnutls libgcrypt ]; - buildInputs = [ qt4 gtk ]; + buildInputs = [ gtk qt4 ]; nativeBuildInputs = [ pkgconfig ]; QTDIR = qt4; + + meta = with stdenv.lib; { + description = "OS abstraction functions used by aqbanking and related tools"; + homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1"; + license = licenses.lgpl21; + maintainers = with maintainers; [ goibhniu ]; + platforms = platforms.linux; + }; } diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 4cee49bea517..f564c4bf1bd0 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -8,11 +8,11 @@ # (icu is a ~30 MB dependency, the rest is very small in comparison) stdenv.mkDerivation rec { - name = "harfbuzz-0.9.24"; + name = "harfbuzz-0.9.27"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "08i46xx92hvz2br2d9hdxjgi0g5jglwf5bdfsandxb0qlgc5vwpd"; + sha256 = "1ns7njbm45fjbc9p7gcpjc606ax120ab0i9cbx6v3mcq3kllln08"; }; configureFlags = [ diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix index 749802f95b25..5a1f00a995ce 100644 --- a/pkgs/development/libraries/haskell/Agda/default.nix +++ b/pkgs/development/libraries/haskell/Agda/default.nix @@ -1,4 +1,4 @@ -{ cabal, alex, binary, deepseq, filepath, geniplate, happy +{ cabal, alex, binary, deepseq, emacs, filepath, geniplate, happy , hashable, hashtables, haskeline, haskellSrcExts, mtl, parallel , QuickCheck, text, time, unorderedContainers, xhtml, zlib }: @@ -14,8 +14,11 @@ cabal.mkDerivation (self: { haskellSrcExts mtl parallel QuickCheck text time unorderedContainers xhtml zlib ]; - buildTools = [ alex happy ]; + buildTools = [ alex emacs happy ]; jailbreak = true; + postInstall = '' + $out/bin/agda-mode compile + ''; meta = { homepage = "http://wiki.portal.chalmers.se/agda/"; description = "A dependently typed functional programming language and proof assistant"; diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix index bc8e9dca159c..bb226733f8a5 100644 --- a/pkgs/development/libraries/haskell/Boolean/default.nix +++ b/pkgs/development/libraries/haskell/Boolean/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Boolean"; - version = "0.2"; - sha256 = "1r8qvsfbfjfp453pdy9ci9w584ad9bm4xv0ynx4b1yny34ag3zr3"; + version = "0.2.1"; + sha256 = "0vi09icwc254mbx85lf1n81mx4hr2sdf61a4njaqa91cf046sjlr"; meta = { description = "Generalized booleans and numbers"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix similarity index 89% rename from pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix rename to pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix index 024a4d5c1352..0ef09dc49b15 100644 --- a/pkgs/development/libraries/haskell/Cabal/1.18.1.2.nix +++ b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "Cabal"; - version = "1.18.1.2"; - sha256 = "0pbg9d40lskcps248fdcnm4hnib3vl10mbcdf830zw45q29gfkjr"; + version = "1.18.1.3"; + sha256 = "1m1m6f00sc4w0s5hnqy2z05rnaihaw1jy03bidc5pl6r1llkdi15"; buildDepends = [ deepseq filepath time ]; testDepends = [ extensibleExceptions filepath HUnit QuickCheck regexPosix diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix index e28ff279083b..90f93edd4dcd 100644 --- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix +++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix @@ -4,11 +4,12 @@ cabal.mkDerivation (self: { pname = "Chart-cairo"; - version = "1.1"; - sha256 = "0pm8iwd83pn5ba0g3231zs7f39cdjr7n7k76cm642n4b0hf93fmb"; + version = "1.2.2"; + sha256 = "1bbi5bvrh8wmgzv5am5ndgdr68gd68ipparkkk9ld4majwf4vm6w"; buildDepends = [ cairo Chart colour dataDefaultClass lens mtl operational time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "Cairo backend for Charts"; diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix new file mode 100644 index 000000000000..22e432f2f329 --- /dev/null +++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix @@ -0,0 +1,22 @@ +{ cabal, blazeSvg, Chart, colour, dataDefaultClass, diagramsCore +, diagramsLib, diagramsPostscript, diagramsSvg, lens, mtl +, operational, SVGFonts, text, time +}: + +cabal.mkDerivation (self: { + pname = "Chart-diagrams"; + version = "1.2.2"; + sha256 = "144dy9vp3x04s03jrkyfqczpwayb8k7dq702w9wm3d8q4ysva62q"; + buildDepends = [ + blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib + diagramsPostscript diagramsSvg lens mtl operational SVGFonts text + time + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/timbod7/haskell-chart/wiki"; + description = "Diagrams backend for Charts"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix index 0c2534c4c3bc..8b1ce6b89e73 100644 --- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix +++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "Chart-gtk"; - version = "1.1"; - sha256 = "1394h7jd8pk55396nz1xjisz4v7brqcf9fwdnw9g4q3x1b7dcgs8"; + version = "1.2.2"; + sha256 = "1mg6nln0jwp6hals9vhhsfqiwix424fv1v1p4h99s0xwy5cna1z9"; buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "Utility functions for using the chart library with GTK"; diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix index 50459dfa0076..7604cd28b8e3 100644 --- a/pkgs/development/libraries/haskell/Chart/default.nix +++ b/pkgs/development/libraries/haskell/Chart/default.nix @@ -2,11 +2,12 @@ cabal.mkDerivation (self: { pname = "Chart"; - version = "1.1"; - sha256 = "136s44mbhf3wmg85rr9qr0kv59lq1lfd3l58a5aijpv9vz1isf7p"; + version = "1.2.2"; + sha256 = "0yd3xca500lbzvlvhdsbrkiy53laikq6hc290rc061agvd535a7p"; buildDepends = [ colour dataDefaultClass lens mtl operational time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "A library for generating 2D Charts and Plots"; diff --git a/pkgs/development/libraries/haskell/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix index 4a413e2e7b85..ac8ab3d77286 100644 --- a/pkgs/development/libraries/haskell/CouchDB/default.nix +++ b/pkgs/development/libraries/haskell/CouchDB/default.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98"; buildDepends = [ HTTP json mtl network utf8String ]; testDepends = [ HTTP HUnit json mtl network utf8String ]; + doCheck = false; meta = { homepage = "http://github.com/arjunguha/haskell-couchdb/"; description = "CouchDB interface"; diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix index a7e15f2d6b4d..ac5a6636e76d 100644 --- a/pkgs/development/libraries/haskell/DAV/default.nix +++ b/pkgs/development/libraries/haskell/DAV/default.nix @@ -1,19 +1,21 @@ -{ cabal, caseInsensitive, httpClient, httpClientTls, httpTypes -, lens, liftedBase, monadControl, mtl, network, optparseApplicative -, transformers, transformersBase, xmlConduit, xmlHamlet +{ cabal, caseInsensitive, either, errors, httpClient, httpClientTls +, httpTypes, lens, liftedBase, monadControl, mtl, network +, optparseApplicative, transformers, transformersBase, xmlConduit +, xmlHamlet }: cabal.mkDerivation (self: { pname = "DAV"; - version = "0.6"; - sha256 = "1lqc1w40mzj5gvpd3gc4qwgz3zrivwkz6ssa5592dsnwz81k1dxk"; + version = "0.6.2"; + sha256 = "1alnjm0rfr7kwj6jax10bg8rcs8523n5dxyvw0mm65qykf78cprl"; isLibrary = true; isExecutable = true; buildDepends = [ - caseInsensitive httpClient httpClientTls httpTypes lens liftedBase - monadControl mtl network optparseApplicative transformers - transformersBase xmlConduit xmlHamlet + caseInsensitive either errors httpClient httpClientTls httpTypes + lens liftedBase monadControl mtl network optparseApplicative + transformers transformersBase xmlConduit xmlHamlet ]; + jailbreak = true; meta = { homepage = "http://floss.scru.org/hDAV"; description = "RFC 4918 WebDAV support"; diff --git a/pkgs/development/libraries/haskell/Extra/default.nix b/pkgs/development/libraries/haskell/Extra/default.nix new file mode 100644 index 000000000000..2634f8491141 --- /dev/null +++ b/pkgs/development/libraries/haskell/Extra/default.nix @@ -0,0 +1,19 @@ +{ cabal, bzlib, filepath, HUnit, mtl, network, pureMD5, QuickCheck +, random, regexCompat, time, Unixutils, zlib +}: + +cabal.mkDerivation (self: { + pname = "Extra"; + version = "1.46.1"; + sha256 = "0dgj72s60mhc36x7hpfdcdvxydq5d5aj006gxma9zz3hqzy5nnz9"; + buildDepends = [ + bzlib filepath HUnit mtl network pureMD5 QuickCheck random + regexCompat time Unixutils zlib + ]; + meta = { + homepage = "http://src.seereason.com/haskell-extra"; + description = "A grab bag of modules"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix b/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix similarity index 85% rename from pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix rename to pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix index da2c7f2b863d..1cfd9a37eb0d 100644 --- a/pkgs/development/libraries/haskell/GLUT/2.5.0.2.nix +++ b/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "GLUT"; - version = "2.5.0.2"; - sha256 = "0v6lwxn9karmym4fzd0hramcj86sb4wgiyqn47hmcg1dd1fsnhb5"; + version = "2.5.1.0"; + sha256 = "0zxj5i8rw402gpns5ivb1g5fkk502jwzrkviqhwhrxn7yxrybi1s"; buildDepends = [ OpenGL OpenGLRaw ]; extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ]; meta = { diff --git a/pkgs/development/libraries/haskell/Glob/default.nix b/pkgs/development/libraries/haskell/Glob/default.nix index 80c0eaa44ab9..d6f07e9168dc 100644 --- a/pkgs/development/libraries/haskell/Glob/default.nix +++ b/pkgs/development/libraries/haskell/Glob/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Glob"; - version = "0.7.3"; - sha256 = "0yl0wxbd03dv0hfr2aqwm9f3xnhjkdicymqv3nmhjjslqq3a59zd"; + version = "0.7.4"; + sha256 = "00f6xznqh27vbr8rggsrdphqsq1cvv931pa06b1grs7w01dcmw8s"; buildDepends = [ dlist filepath transformers ]; meta = { homepage = "http://iki.fi/matti.niemenmaa/glob/"; diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix index d22273f2030b..710605c52e33 100644 --- a/pkgs/development/libraries/haskell/GlomeVec/default.nix +++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "GlomeVec"; - version = "0.1.2"; - sha256 = "6023c11977bf16baf487235087e94f5a2f465e8403b8e40ab513e7879dd52639"; + version = "0.2"; + sha256 = "08hyiadkbkmcsd1g51xvxqzp6l94hnqqbz4r6yk0zk29iawq8610"; meta = { homepage = "http://www.haskell.org/haskellwiki/Glome"; description = "Simple 3D vector library"; diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC.nix b/pkgs/development/libraries/haskell/HDBC/HDBC.nix index a8275c31b858..08134abf8438 100644 --- a/pkgs/development/libraries/haskell/HDBC/HDBC.nix +++ b/pkgs/development/libraries/haskell/HDBC/HDBC.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "HDBC"; - version = "2.3.1.2"; - sha256 = "1rjamh8xscb9jhxgxcrs2qnvs2ipv9dqgnn0bpv5vwclmzmn5j87"; + version = "2.4.0.0"; + sha256 = "1zwkrr0pbgxi2y75n2sjr3xs8xa3pxbmnqg3phqkjqcz3j4gcq6y"; isLibrary = true; isExecutable = true; buildDepends = [ convertible mtl text time utf8String ]; diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix index 99cb73dcf1f1..15a7741d3351 100644 --- a/pkgs/development/libraries/haskell/HList/default.nix +++ b/pkgs/development/libraries/haskell/HList/default.nix @@ -1,12 +1,12 @@ { cabal, cmdargs, diffutils, doctest, filepath, hspec, lens, mtl -, syb +, syb, tagged }: cabal.mkDerivation (self: { pname = "HList"; - version = "0.3.0.1"; - sha256 = "03mp99pb8whh3whyffyj8wbld8lv8i930dyjdpyfwiaj13x05iy4"; - buildDepends = [ mtl ]; + version = "0.3.4.1"; + sha256 = "02hw496qv2p0nnbz7lq7jfqnis19qqjsylyvdksqbwmjprk32rh2"; + buildDepends = [ mtl tagged ]; testDepends = [ cmdargs doctest filepath hspec lens mtl syb ]; buildTools = [ diffutils ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix index 6f96bbbcb7f4..0f02d96fcd40 100644 --- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix +++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "HStringTemplate"; - version = "0.7.1"; - sha256 = "0hqc1496xazihlww8j90m1cwzj7cihqbfjdly9s8kjf8d5my64ld"; + version = "0.7.3"; + sha256 = "1gw4v16nk0878qplcx6by2bl4280lwyn9a252p6ldaqlbk9vygw8"; buildDepends = [ blazeBuilder deepseq filepath mtl parsec syb text time utf8String void diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix index 7abdc9b4730a..aeb80822f619 100644 --- a/pkgs/development/libraries/haskell/HTF/default.nix +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTF"; - version = "0.11.0.1"; - sha256 = "0c4z76rsmdck60p7p2ypxx0d0r7k2vcb9viqp2yalyxzaaj7a9f5"; + version = "0.11.3.4"; + sha256 = "0db47fvp33k83dnhvpygprm06p3z397f5ci154vqk7krjpxb2ynx"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.10.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix similarity index 88% rename from pkgs/development/libraries/haskell/HTTP/4000.2.10.nix rename to pkgs/development/libraries/haskell/HTTP/4000.2.12.nix index c893d2f1e750..b42703a403f4 100644 --- a/pkgs/development/libraries/haskell/HTTP/4000.2.10.nix +++ b/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTTP"; - version = "4000.2.10"; - sha256 = "1l97l6am45xgyg0dyxpfgbxc00wp8ishm7spd0hbgmwc5sgnvppg"; + version = "4000.2.12"; + sha256 = "0zaynz8s70xzqxxrr8yjxwc7qspd4q2ig1vqjz1p4qqm72rs3jwl"; buildDepends = [ mtl network parsec ]; testDepends = [ caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/default.nix index b490cf75d96c..996437cbeac2 100644 --- a/pkgs/development/libraries/haskell/HaXml/default.nix +++ b/pkgs/development/libraries/haskell/HaXml/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "HaXml"; - version = "1.24"; - sha256 = "18kvavqa84k2121ppxngn39fjz4w63chngb3255w1fhdz13v3ydn"; + version = "1.24.1"; + sha256 = "1pvqgczksxasayvdb6d4g7ya7g7w1v9hsa35kaxm9bcic9y8q9az"; isLibrary = true; isExecutable = true; buildDepends = [ filepath polyparse random ]; diff --git a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix new file mode 100644 index 000000000000..f20efdae4cfe --- /dev/null +++ b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix @@ -0,0 +1,18 @@ +{ cabal, HTTP, hxt, hxtHttp, MaybeT, mtl, network, parsec +, transformers +}: + +cabal.mkDerivation (self: { + pname = "HandsomeSoup"; + version = "0.3.2"; + sha256 = "0ixqk32sfv6kj41vc6fzflv6f6jwvnkvcdf9pmgkc675218ggh53"; + buildDepends = [ + HTTP hxt hxtHttp MaybeT mtl network parsec transformers + ]; + meta = { + homepage = "https://github.com/egonSchiele/HandsomeSoup"; + description = "Work with HTML more easily in HXT"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix index e2f78497a7a3..faaed63399a9 100644 --- a/pkgs/development/libraries/haskell/Hipmunk/default.nix +++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Hipmunk"; - version = "5.2.0.12"; - sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42"; + version = "5.2.0.13"; + sha256 = "0ddf7cbwaswyszq9rs5jq353npbry8l2cc7p5wq9wq97yplz10bc"; buildDepends = [ StateVar transformers ]; meta = { homepage = "https://github.com/meteficha/Hipmunk"; diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix index 485a80dadb3c..95831927a308 100644 --- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix +++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "JuicyPixels"; - version = "3.1.2"; - sha256 = "19bal3g3cp4nn8g3zp4yi5g4zw5wnkbi74gcra8mxs4zy99bf8s2"; + version = "3.1.5"; + sha256 = "1dcqqmj7skx17mwaf0sayqdknnz9w6q2y8z3c8ixmbjyg4jh6a66"; buildDepends = [ binary deepseq mtl primitive transformers vector zlib ]; diff --git a/pkgs/development/libraries/haskell/MemoTrie/default.nix b/pkgs/development/libraries/haskell/MemoTrie/default.nix index f3bd183d1373..5d8fc314819e 100644 --- a/pkgs/development/libraries/haskell/MemoTrie/default.nix +++ b/pkgs/development/libraries/haskell/MemoTrie/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "MemoTrie"; - version = "0.6.1"; - sha256 = "1bx0xd28irxjrq181wirx0vdrdj4qg4n4wj7ya27lkh408mwsxm6"; + version = "0.6.2"; + sha256 = "1g4b82s30bqkfids3iywf873nyn8h7l8rp8l3xl58smj5lbi3p4x"; buildDepends = [ void ]; meta = { homepage = "http://haskell.org/haskellwiki/MemoTrie"; diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix index 59656d519781..303a4852649e 100644 --- a/pkgs/development/libraries/haskell/MissingH/default.nix +++ b/pkgs/development/libraries/haskell/MissingH/default.nix @@ -1,17 +1,17 @@ -{ cabal, filepath, hslogger, HUnit, mtl, network, parsec -, QuickCheck, random, regexCompat, testpack, time +{ cabal, errorcallEqInstance, filepath, hslogger, HUnit, mtl +, network, parsec, QuickCheck, random, regexCompat, testpack, time }: cabal.mkDerivation (self: { pname = "MissingH"; - version = "1.2.0.2"; - sha256 = "1wrrfa8dy0h0c53f1zjzwdkj8wkwsbi6qhv35wwlaz39dk32c4nn"; + version = "1.2.1.0"; + sha256 = "08zpzfhl31w35x13vapimwd508j4nydi8v3vid668r4fkqnymbss"; buildDepends = [ filepath hslogger HUnit mtl network parsec random regexCompat time ]; testDepends = [ - filepath hslogger HUnit mtl network parsec QuickCheck random - regexCompat testpack time + errorcallEqInstance filepath hslogger HUnit mtl network parsec + QuickCheck random regexCompat testpack time ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix index 32c2f9eeffe7..3eac88d8880d 100644 --- a/pkgs/development/libraries/haskell/MonadRandom/default.nix +++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "MonadRandom"; - version = "0.1.12"; - sha256 = "0lr1lvpcj96i6n0w810bjy8k9jygx97nnv0k2zb51d7saw6y95p4"; + version = "0.1.13"; + sha256 = "1pi12ymsbl2l0ly3ggihg8r0ac87ax267m419cga60wp5ry5zbnk"; buildDepends = [ mtl random transformers ]; meta = { description = "Random-number generation monad"; diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix new file mode 100644 index 000000000000..b3acd535d8f5 --- /dev/null +++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix @@ -0,0 +1,16 @@ +{ cabal, random, testFramework, tfRandom }: + +cabal.mkDerivation (self: { + pname = "QuickCheck"; + version = "2.7.3"; + sha256 = "196pz0b32m84ydwm4wk7m8512bmsxw7nsqpxbyfxsyi3ykq220yh"; + buildDepends = [ random tfRandom ]; + testDepends = [ testFramework ]; + meta = { + homepage = "http://code.haskell.org/QuickCheck"; + description = "Automatic testing of Haskell programs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/SVGFonts/default.nix b/pkgs/development/libraries/haskell/SVGFonts/default.nix new file mode 100644 index 000000000000..509efd61968b --- /dev/null +++ b/pkgs/development/libraries/haskell/SVGFonts/default.nix @@ -0,0 +1,18 @@ +{ cabal, attoparsec, blazeMarkup, blazeSvg, dataDefaultClass +, diagramsLib, parsec, split, text, tuple, vector, vectorSpace, xml +}: + +cabal.mkDerivation (self: { + pname = "SVGFonts"; + version = "1.4.0.2"; + sha256 = "1a1f0jdz36zpj1196zv5qwg35rm4ra0b4z5spr1m3696292nj8ph"; + buildDepends = [ + attoparsec blazeMarkup blazeSvg dataDefaultClass diagramsLib parsec + split text tuple vector vectorSpace xml + ]; + meta = { + description = "Fonts from the SVG-Font format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix index d4cc74902776..20c879e0dc4c 100644 --- a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix +++ b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "SafeSemaphore"; - version = "0.9.0"; - sha256 = "1xa30cciw8wmri675kdsz4pb5qwrh592pzylbhawqsvsarf80gz4"; + version = "0.10.0"; + sha256 = "0zjm99jqkbn99p5d3mdggij4b4jfpz4fk1rwpd48ld4vmzzqh92c"; buildDepends = [ stm ]; testDepends = [ HUnit ]; meta = { diff --git a/pkgs/development/libraries/haskell/TypeCompose/default.nix b/pkgs/development/libraries/haskell/TypeCompose/default.nix new file mode 100644 index 000000000000..083f438e170d --- /dev/null +++ b/pkgs/development/libraries/haskell/TypeCompose/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "TypeCompose"; + version = "0.9.10"; + sha256 = "1wpldqdf6czl36fs4pvvj2z3kg1487sanqncp4rbmgrrhbfmqxxq"; + meta = { + homepage = "https://github.com/conal/TypeCompose"; + description = "Type composition classes & instances"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/Unixutils/default.nix b/pkgs/development/libraries/haskell/Unixutils/default.nix new file mode 100644 index 000000000000..37c1aaf6cef0 --- /dev/null +++ b/pkgs/development/libraries/haskell/Unixutils/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, pureMD5, regexTdfa, zlib }: + +cabal.mkDerivation (self: { + pname = "Unixutils"; + version = "1.52"; + sha256 = "1gp04mc6irycwazykl9kpyhkkryn3hbnpn08ih6cjbsm3p8yi8b4"; + buildDepends = [ filepath pureMD5 regexTdfa zlib ]; + meta = { + homepage = "http://src.seereason.com/haskell-unixutils"; + description = "A crude interface between Haskell and Unix-like operating systems"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Zwaluw/default.nix b/pkgs/development/libraries/haskell/Zwaluw/default.nix deleted file mode 100644 index 1cb214b94b01..000000000000 --- a/pkgs/development/libraries/haskell/Zwaluw/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ cabal }: - -cabal.mkDerivation (self: { - pname = "Zwaluw"; - version = "0.1"; - sha256 = "1crvcvni5gzpc1c6cnaqqp0gng1l9gk9d8ac23967nvp82xav7s1"; - meta = { - homepage = "https://github.com/MedeaMelana/Zwaluw"; - description = "Combinators for bidirectional URL routing"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix new file mode 100644 index 000000000000..66db8b44dc52 --- /dev/null +++ b/pkgs/development/libraries/haskell/abstract-deque-tests/default.nix @@ -0,0 +1,21 @@ +{ cabal, abstractDeque, HUnit, random, testFramework +, testFrameworkHunit, time +}: + +cabal.mkDerivation (self: { + pname = "abstract-deque-tests"; + version = "0.3"; + sha256 = "19gb5x5z3nvazdra3skm24c2g2byj0i4cjbzfwfghnb5q96gn5sz"; + buildDepends = [ + abstractDeque HUnit random testFramework testFrameworkHunit time + ]; + testDepends = [ + abstractDeque HUnit random testFramework testFrameworkHunit time + ]; + meta = { + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; + description = "A test-suite for any queue or double-ended queue satisfying an interface"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix index 263cd049a3da..c9df3b5c86a9 100644 --- a/pkgs/development/libraries/haskell/abstract-deque/default.nix +++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix @@ -1,14 +1,13 @@ -{ cabal, HUnit, random, testFramework, testFrameworkHunit }: +{ cabal, random, time }: cabal.mkDerivation (self: { pname = "abstract-deque"; - version = "0.2.2"; - sha256 = "12g4y3j59nkjw9ja247m8ydhj6a033lzfbqkp4a5slrqdxfdlvyb"; - buildDepends = [ HUnit random testFramework testFrameworkHunit ]; - testDepends = [ HUnit random testFramework testFrameworkHunit ]; + version = "0.3"; + sha256 = "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"; + buildDepends = [ random time ]; doCheck = false; meta = { - homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki"; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "Abstract, parameterized interface to mutable Deques"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix index 99e217ba647d..7bfb0a045ee2 100644 --- a/pkgs/development/libraries/haskell/active/default.nix +++ b/pkgs/development/libraries/haskell/active/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "active"; - version = "0.1.0.10"; - sha256 = "173ri9hv86sjfp3a0jp1y3v8rz0lfb6nz3yilcfvgc9sglcxa4bm"; + version = "0.1.0.12"; + sha256 = "0ra0wnpyc23sz2w9qk6afcxsrva55nv9vyv70dvw6xhc82vi3khs"; buildDepends = [ newtype semigroupoids semigroups vectorSpace ]; testDepends = [ newtype QuickCheck semigroupoids semigroups vectorSpace diff --git a/pkgs/development/libraries/haskell/adjunctions/default.nix b/pkgs/development/libraries/haskell/adjunctions/default.nix new file mode 100644 index 000000000000..d0804959ccb6 --- /dev/null +++ b/pkgs/development/libraries/haskell/adjunctions/default.nix @@ -0,0 +1,19 @@ +{ cabal, comonad, contravariant, distributive, free, mtl +, semigroupoids, semigroups, tagged, transformers, void +}: + +cabal.mkDerivation (self: { + pname = "adjunctions"; + version = "4.0.3"; + sha256 = "0rh3vffbq407k9g95dingw6zqq3fk87pknyrqj1mrbmgrnllr8k0"; + buildDepends = [ + comonad contravariant distributive free mtl semigroupoids + semigroups tagged transformers void + ]; + meta = { + homepage = "http://github.com/ekmett/adjunctions/"; + description = "Adjunctions and representable functors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/aes/default.nix b/pkgs/development/libraries/haskell/aes/default.nix new file mode 100644 index 000000000000..6b239bd4e776 --- /dev/null +++ b/pkgs/development/libraries/haskell/aes/default.nix @@ -0,0 +1,13 @@ +{ cabal, cereal, monadsTf, random, transformers }: + +cabal.mkDerivation (self: { + pname = "AES"; + version = "0.2.8"; + sha256 = "1yf0mhmj294gf1b1m11gixa1xxlbvv0yl60b59fnv5lf0s170jn3"; + buildDepends = [ cereal monadsTf random transformers ]; + meta = { + description = "Fast AES encryption/decryption for bytestrings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/aeson-lens/default.nix b/pkgs/development/libraries/haskell/aeson-lens/default.nix deleted file mode 100644 index f2d1915e122c..000000000000 --- a/pkgs/development/libraries/haskell/aeson-lens/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, aeson, doctest, lens, text, unorderedContainers, vector }: - -cabal.mkDerivation (self: { - pname = "aeson-lens"; - version = "0.5.0.0"; - sha256 = "1pr8cxkx41wi7095cp1gpqrwadwx6azcrdi1kr1ik0fs6606dkks"; - buildDepends = [ aeson lens text unorderedContainers vector ]; - testDepends = [ doctest ]; - meta = { - description = "Lens of Aeson"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.ocharles ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/default.nix index edd2a21040e8..960314920a1b 100644 --- a/pkgs/development/libraries/haskell/aeson/default.nix +++ b/pkgs/development/libraries/haskell/aeson/default.nix @@ -1,21 +1,21 @@ -{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, mtl -, QuickCheck, syb, testFramework, testFrameworkQuickcheck2, text -, time, unorderedContainers, vector +{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit +, mtl, QuickCheck, scientific, syb, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, text, time +, unorderedContainers, vector }: cabal.mkDerivation (self: { pname = "aeson"; - version = "0.6.2.1"; - sha256 = "00fa13qr38s4c0fwfvpks3x3sb21kh71cv1v0x2zqg0adnaydknb"; + version = "0.7.0.2"; + sha256 = "0li89xs4dlwc3ijs6w5gabjibj09x12qgxhzp7mch6gxjxwd3ihj"; buildDepends = [ - attoparsec blazeBuilder deepseq dlist hashable mtl syb text time - unorderedContainers vector + attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb + text time unorderedContainers vector ]; testDepends = [ - attoparsec QuickCheck testFramework testFrameworkQuickcheck2 text - time unorderedContainers vector + attoparsec HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 text time unorderedContainers vector ]; - doCheck = false; meta = { homepage = "https://github.com/bos/aeson"; description = "Fast JSON parsing and encoding"; diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix index 67ab0275e788..0e7ef5e2a9f5 100644 --- a/pkgs/development/libraries/haskell/alsa-mixer/default.nix +++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix @@ -2,14 +2,16 @@ cabal.mkDerivation (self: { pname = "alsa-mixer"; - version = "0.1.2"; - sha256 = "081f3a62f83a269d72e0b0fac8bae8c81e9ec342d592fa25abe57f7206cf4414"; + version = "0.2.0.2"; + sha256 = "11sc2n879a8rb9yz54cb8vg8rplgapbymzy785p7n7638xx877hk"; buildDepends = [ alsaCore ]; buildTools = [ c2hs ]; extraLibraries = [ alsaLib ]; meta = { + homepage = "https://github.com/ttuegel/alsa-mixer"; description = "Bindings to the ALSA simple mixer API"; license = self.stdenv.lib.licenses.bsd3; platforms = self.stdenv.lib.platforms.linux; + maintainers = with self.stdenv.lib.maintainers; [ ttuegel ]; }; }) diff --git a/pkgs/development/libraries/haskell/alsa-pcm/default.nix b/pkgs/development/libraries/haskell/alsa-pcm/default.nix index 39123a176dc7..c4f39cdd7eeb 100644 --- a/pkgs/development/libraries/haskell/alsa-pcm/default.nix +++ b/pkgs/development/libraries/haskell/alsa-pcm/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "alsa-pcm"; - version = "0.6"; - sha256 = "10cmlf1s9y65cs81wn7xwgcd4218n3h3p34avibv3fa7n3q9b4x1"; + version = "0.6.0.1"; + sha256 = "0gnq4p172sqmlks6aykzr5l2qx2shrs2fypcvs4g56c9zpk3c3ax"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix index 432d353a0af6..15079a5ba392 100644 --- a/pkgs/development/libraries/haskell/amqp/default.nix +++ b/pkgs/development/libraries/haskell/amqp/default.nix @@ -1,18 +1,20 @@ -{ cabal, binary, clock, dataBinaryIeee754, hspec, hspecExpectations -, network, split, text, xml +{ cabal, binary, clock, connection, dataBinaryIeee754, hspec +, hspecExpectations, monadControl, network, split, text, xml }: cabal.mkDerivation (self: { pname = "amqp"; - version = "0.7.0"; - sha256 = "09zazmbdw8nphbjkmixn2dpwdgkjqjfbn6jv522ykvrcnsn35kc4"; + version = "0.8.2"; + sha256 = "0hl9x6kbxdv32014k1w34d84wl4ivpiyg1ikpjr0nr9bsg3wr0gf"; isLibrary = true; isExecutable = true; buildDepends = [ - binary clock dataBinaryIeee754 network split text xml + binary clock connection dataBinaryIeee754 monadControl network + split text xml ]; testDepends = [ - binary dataBinaryIeee754 hspec hspecExpectations network split text + binary clock connection dataBinaryIeee754 hspec hspecExpectations + network split text ]; meta = { homepage = "https://github.com/hreinhardt/amqp"; diff --git a/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix b/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix new file mode 100644 index 000000000000..f084fda35c57 --- /dev/null +++ b/pkgs/development/libraries/haskell/annotated-wl-pprint/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "annotated-wl-pprint"; + version = "0.5.3"; + sha256 = "0g8b4hmgh7jhiknfrlaqr9sxr7a6sikkpaws15dy8mg4r792bbis"; + meta = { + homepage = "https://github.com/david-christiansen/annotated-wl-pprint"; + description = "The Wadler/Leijen Pretty Printer, with annotation support"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix index 2e9b1c0c25f4..59eb51845b8b 100644 --- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix +++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ansi-terminal"; - version = "0.6.1"; - sha256 = "0ncghc0z2xkfn1hfvyl0haf4mia9lhjbiqda11nxkqqfxdyklb2j"; + version = "0.6.1.1"; + sha256 = "06pdcpp2z7wk9mkr5lzwk64lqhj09c7l1ah4s3vz7zwrdzfaccwi"; isLibrary = true; isExecutable = true; meta = { diff --git a/pkgs/development/libraries/haskell/arithmoi/default.nix b/pkgs/development/libraries/haskell/arithmoi/default.nix index 181937fdd807..082745fadf07 100644 --- a/pkgs/development/libraries/haskell/arithmoi/default.nix +++ b/pkgs/development/libraries/haskell/arithmoi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "arithmoi"; - version = "0.4.0.3"; - sha256 = "0idn312xzly636h13zmm7cw7ki64bpnniqc97nshqzgp8if5ycrc"; + version = "0.4.0.4"; + sha256 = "1v8qn0gjvlds6ljm9sfzzi5w3gsf7x63z0r7hcs1rvn0n3acwz6y"; buildDepends = [ mtl random ]; meta = { homepage = "https://bitbucket.org/dafis/arithmoi"; diff --git a/pkgs/development/libraries/haskell/asn1-encoding/default.nix b/pkgs/development/libraries/haskell/asn1-encoding/default.nix new file mode 100644 index 000000000000..623657ee762b --- /dev/null +++ b/pkgs/development/libraries/haskell/asn1-encoding/default.nix @@ -0,0 +1,16 @@ +{ cabal, asn1Types, mtl, text, time }: + +cabal.mkDerivation (self: { + pname = "asn1-encoding"; + version = "0.8.1.3"; + sha256 = "000rajx9gdxfyx521yg2mvp1z8h61sr96w1lzwawiw7n5ng6v8ni"; + isLibrary = true; + isExecutable = true; + buildDepends = [ asn1Types mtl text time ]; + meta = { + homepage = "http://github.com/vincenthz/hs-asn1"; + description = "ASN1 data reader and writer in RAW, BER and DER forms"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/asn1-parse/default.nix b/pkgs/development/libraries/haskell/asn1-parse/default.nix new file mode 100644 index 000000000000..16386d939e46 --- /dev/null +++ b/pkgs/development/libraries/haskell/asn1-parse/default.nix @@ -0,0 +1,14 @@ +{ cabal, asn1Encoding, asn1Types, mtl, text, time }: + +cabal.mkDerivation (self: { + pname = "asn1-parse"; + version = "0.8.1"; + sha256 = "021mbm5aayfx9vhxq4x1jj3gpnzq0bqaqcl1zsaa2a6l0qzpnmh9"; + buildDepends = [ asn1Encoding asn1Types mtl text time ]; + meta = { + homepage = "http://github.com/vincenthz/hs-asn1"; + description = "Simple monadic parser for ASN1 stream types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/assert-failure/default.nix b/pkgs/development/libraries/haskell/assert-failure/default.nix index bfb340147a80..b5cc0bdc4460 100644 --- a/pkgs/development/libraries/haskell/assert-failure/default.nix +++ b/pkgs/development/libraries/haskell/assert-failure/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "assert-failure"; - version = "0.1"; - sha256 = "1xwd6rhka9gzmldkaw3d7262h51wxw9dwgip39q8pjkvvfs5kwkr"; + version = "0.1.1.0"; + sha256 = "09djlhhyn9w822a5r41y7gk4cqk74a2fy7skzml2bah2an166gm1"; buildDepends = [ prettyShow text ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/atomic-primops/default.nix b/pkgs/development/libraries/haskell/atomic-primops/default.nix index b542816f05b7..c5bc0dd2b475 100644 --- a/pkgs/development/libraries/haskell/atomic-primops/default.nix +++ b/pkgs/development/libraries/haskell/atomic-primops/default.nix @@ -1,12 +1,12 @@ -{ cabal, bitsAtomic, Cabal, primitive }: +{ cabal, Cabal, primitive }: cabal.mkDerivation (self: { pname = "atomic-primops"; - version = "0.4"; - sha256 = "01sg0yn25fs0z7dmrvhyp3amay9l028xs570xhy6vvplrji1mxf0"; - buildDepends = [ bitsAtomic Cabal primitive ]; + version = "0.6"; + sha256 = "0jj4mv9vzk7s257gnjs00fza6shr7j9bv8p48gj61yncg0qdypiz"; + buildDepends = [ Cabal primitive ]; meta = { - homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki"; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "A safe approach to CAS and other atomic ops in Haskell"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/attempt/default.nix b/pkgs/development/libraries/haskell/attempt/default.nix index c000002d4998..2546748ee1ed 100644 --- a/pkgs/development/libraries/haskell/attempt/default.nix +++ b/pkgs/development/libraries/haskell/attempt/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "attempt"; - version = "0.4.0"; - sha256 = "0n7srd1gy1fa0q1qzizvdgmrc078jyx47115aw85vvl74vh9qyjy"; + version = "0.4.0.1"; + sha256 = "1gvq04ds62kk88r2210mxd1fggp6vf5p8j5hci9vqkkss1hy9rxh"; buildDepends = [ failure ]; meta = { homepage = "http://github.com/snoyberg/attempt/tree/master"; - description = "Concrete data type for handling extensible exceptions as failures"; + description = "Concrete data type for handling extensible exceptions as failures. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/atto-lisp/default.nix b/pkgs/development/libraries/haskell/atto-lisp/default.nix new file mode 100644 index 000000000000..4f0bffa5020e --- /dev/null +++ b/pkgs/development/libraries/haskell/atto-lisp/default.nix @@ -0,0 +1,22 @@ +{ cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, HUnit +, testFramework, testFrameworkHunit, text +}: + +cabal.mkDerivation (self: { + pname = "atto-lisp"; + version = "0.2.1.2"; + sha256 = "0xl5b0gblab3v2sfaxvx3z96660r9xp1m2n3ri6aph3kldbpkfcg"; + buildDepends = [ + attoparsec blazeBuilder blazeTextual deepseq text + ]; + testDepends = [ + attoparsec HUnit testFramework testFrameworkHunit text + ]; + jailbreak = true; + meta = { + homepage = "http://github.com/nominolo/atto-lisp"; + description = "Efficient parsing and serialisation of S-Expressions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix index 68b08e50686e..21a15ea80e72 100644 --- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix +++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix @@ -1,15 +1,14 @@ -{ cabal, attoparsec, conduit, hspec, resourcet, text, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "attoparsec-conduit"; - version = "1.0.1.2"; - sha256 = "1j05r7mvm83wgnka7asmwd1dj4ajkg548mryyhpr7dd53vn5lbx0"; - buildDepends = [ attoparsec conduit text transformers ]; - testDepends = [ attoparsec conduit hspec resourcet text ]; + version = "1.1.0"; + sha256 = "18xn3nzxfghcd88cana1jw85ijv0ysw3bp36fb6r5wsf6m79z01y"; + buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Consume attoparsec parsers via conduit"; + description = "Consume attoparsec parsers via conduit. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix similarity index 86% rename from pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix rename to pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix index bd7bdc745b28..2a2117a1a05b 100644 --- a/pkgs/development/libraries/haskell/attoparsec/0.11.1.0.nix +++ b/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "attoparsec"; - version = "0.11.1.0"; - sha256 = "09mks6lbzmqmdz6s10lvdklmc0mydd1sk5hphhnybp3yr4pvh7jc"; + version = "0.11.2.1"; + sha256 = "1grvmhxiqn02wbng0wd9zqc4c51wrbxar1b26agc3p9i09ngbs1w"; buildDepends = [ deepseq scientific text ]; testDepends = [ QuickCheck testFramework testFrameworkQuickcheck2 text diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch b/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch new file mode 100644 index 000000000000..6a888aa32778 --- /dev/null +++ b/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch @@ -0,0 +1,57 @@ +From c401c2c585b5345243211e981c123a92b995b448 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sat, 25 Jan 2014 13:35:52 +0300 +Subject: [PATCH] authenticate-oauth.cabal: allow RSA-2 + +The only cosmetic change is rename of 'ha_SHA1' to 'hashSHA1' + +Signed-off-by: Sergei Trofimovich +--- + authenticate-oauth/Web/Authenticate/OAuth.hs | 10 ++++++++-- + authenticate-oauth/authenticate-oauth.cabal | 2 +- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/authenticate-oauth/Web/Authenticate/OAuth.hs b/authenticate-oauth/Web/Authenticate/OAuth.hs +index 3f38c8c..eccd0f1 100644 +--- a/authenticate-oauth/Web/Authenticate/OAuth.hs ++++ b/authenticate-oauth/Web/Authenticate/OAuth.hs +@@ -21,7 +21,7 @@ module Web.Authenticate.OAuth + paramEncode, addScope, addMaybeProxy + ) where + import Blaze.ByteString.Builder (toByteString, Builder) +-import Codec.Crypto.RSA (ha_SHA1, rsassa_pkcs1_v1_5_sign) ++import qualified Codec.Crypto.RSA as RSA + import Control.Exception + import Control.Monad + import Control.Monad.IO.Class (MonadIO, liftIO) +@@ -346,7 +346,13 @@ genSign oa tok req = + PLAINTEXT -> + return $ BS.intercalate "&" $ map paramEncode [oauthConsumerSecret oa, tokenSecret tok] + RSASHA1 pr -> +- liftM (encode . toStrict . rsassa_pkcs1_v1_5_sign ha_SHA1 pr) (getBaseString tok req) ++ liftM (encode . toStrict . RSA.rsassa_pkcs1_v1_5_sign ++#if MIN_VERSION_RSA(2, 0, 0) ++ RSA.hashSHA1 ++#else ++ RSA.ha_SHA1 ++#endif ++ pr) (getBaseString tok req) + + #if MIN_VERSION_http_conduit(2, 0, 0) + addAuthHeader :: BS.ByteString -> Credential -> Request -> Request +diff --git a/authenticate-oauth/authenticate-oauth.cabal b/authenticate-oauth/authenticate-oauth.cabal +index 00507da..e11c3bd 100644 +--- a/authenticate-oauth/authenticate-oauth.cabal ++++ b/authenticate-oauth/authenticate-oauth.cabal +@@ -19,7 +19,7 @@ library + , transformers >= 0.1 && < 0.4 + , bytestring >= 0.9 + , crypto-pubkey-types >= 0.1 && < 0.5 +- , RSA >= 1.2 && < 1.3 ++ , RSA >= 1.2 && < 2.1 + , time + , data-default + , base64-bytestring >= 0.1 && < 1.1 +-- +1.9.1 + diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix index 15c8267ca3e2..9a75bd0cea50 100644 --- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix +++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix @@ -7,6 +7,8 @@ cabal.mkDerivation (self: { pname = "authenticate-oauth"; version = "1.4.0.8"; sha256 = "1mc36d6lkmqywzsxhzwv4445mmwdz0rr5ibd2a1nbgw5c5jw76fy"; + patches = [ ./RSA2.patch ]; + patchFlags = "-p2"; buildDepends = [ base64Bytestring blazeBuilder blazeBuilderConduit conduit cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl @@ -17,5 +19,6 @@ cabal.mkDerivation (self: { description = "Library to authenticate with OAuth for Haskell web applications"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; }) diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix index f0a1969ffbab..884f4175ba5b 100644 --- a/pkgs/development/libraries/haskell/authenticate/default.nix +++ b/pkgs/development/libraries/haskell/authenticate/default.nix @@ -1,16 +1,17 @@ { cabal, aeson, attoparsec, blazeBuilder, caseInsensitive, conduit -, httpConduit, httpTypes, network, tagsoup, text, transformers -, unorderedContainers, xmlConduit +, httpConduit, httpTypes, monadControl, network, resourcet +, tagstreamConduit, text, transformers, unorderedContainers +, xmlConduit }: cabal.mkDerivation (self: { pname = "authenticate"; - version = "1.3.2.6"; - sha256 = "12sgi6q6kajjhh8mns9nklxj0kwn32xs5kzi7wmw50shx0smnjrz"; + version = "1.3.2.8"; + sha256 = "1ylijkj32li9nm4x16d66h6a74q07m4v3n2dqm67by548wfyh1j9"; buildDepends = [ aeson attoparsec blazeBuilder caseInsensitive conduit httpConduit - httpTypes network tagsoup text transformers unorderedContainers - xmlConduit + httpTypes monadControl network resourcet tagstreamConduit text + transformers unorderedContainers xmlConduit ]; meta = { homepage = "http://github.com/yesodweb/authenticate"; diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix index af8b2785aa96..7394583c6674 100644 --- a/pkgs/development/libraries/haskell/aws/default.nix +++ b/pkgs/development/libraries/haskell/aws/default.nix @@ -1,21 +1,22 @@ -{ cabal, attempt, base64Bytestring, blazeBuilder, caseInsensitive -, cereal, conduit, cryptoApi, cryptohash, cryptohashCryptoapi -, dataDefault, failure, filepath, httpConduit, httpTypes +{ cabal, aeson, base16Bytestring, base64Bytestring, blazeBuilder +, byteable, caseInsensitive, cereal, conduit, conduitExtra +, cryptohash, dataDefault, filepath, httpConduit, httpTypes , liftedBase, monadControl, mtl, resourcet, text, time -, transformers, utf8String, xmlConduit +, transformers, unorderedContainers, utf8String, vector, xmlConduit }: cabal.mkDerivation (self: { pname = "aws"; - version = "0.8.4"; - sha256 = "0p4m07lw33wd82phwfvyr1alqx3bsafnf25n60h1mss7l0rzyn0i"; + version = "0.9"; + sha256 = "07sdz179vqfdcnm6rrdg068xdyqw8m2565bdba5a1s987vdvps21"; isLibrary = true; isExecutable = true; buildDepends = [ - attempt base64Bytestring blazeBuilder caseInsensitive cereal - conduit cryptoApi cryptohash cryptohashCryptoapi dataDefault - failure filepath httpConduit httpTypes liftedBase monadControl mtl - resourcet text time transformers utf8String xmlConduit + aeson base16Bytestring base64Bytestring blazeBuilder byteable + caseInsensitive cereal conduit conduitExtra cryptohash dataDefault + filepath httpConduit httpTypes liftedBase monadControl mtl + resourcet text time transformers unorderedContainers utf8String + vector xmlConduit ]; meta = { homepage = "http://github.com/aristidb/aws"; diff --git a/pkgs/development/libraries/haskell/base-compat/default.nix b/pkgs/development/libraries/haskell/base-compat/default.nix index 6ce94b0d6c00..5ee81698eb5f 100644 --- a/pkgs/development/libraries/haskell/base-compat/default.nix +++ b/pkgs/development/libraries/haskell/base-compat/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "base-compat"; - version = "0.3.0"; - sha256 = "0jjj953hr00jj99ld2977al6n6qk67ds9qfzkzwkh5ifgmi6f20i"; - buildDepends = [ errorcallEqInstance ]; + version = "0.4.2"; + sha256 = "0rcra6bgx955c2yd52y6v7lmlm5r86sdmii3qapx6yghqhdslzry"; + buildDepends = [ errorcallEqInstance setenv ]; testDepends = [ hspec setenv ]; meta = { description = "A compatibility layer for base"; diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix index 3f81258f4263..3de2bdf60ff2 100644 --- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "base16-bytestring"; - version = "0.1.1.5"; - sha256 = "1fgd3zdzjfry6jaz8hwhim0p2c35l73cxxambh0ff7p5fqjrlwym"; + version = "0.1.1.6"; + sha256 = "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"; meta = { homepage = "http://github.com/bos/base16-bytestring"; description = "Fast base16 (hex) encoding and decoding for ByteStrings"; diff --git a/pkgs/development/libraries/haskell/base64-conduit/default.nix b/pkgs/development/libraries/haskell/base64-conduit/default.nix index 3a2d044de64d..0fa5a02d5a5c 100644 --- a/pkgs/development/libraries/haskell/base64-conduit/default.nix +++ b/pkgs/development/libraries/haskell/base64-conduit/default.nix @@ -3,15 +3,15 @@ cabal.mkDerivation (self: { pname = "base64-conduit"; - version = "1.0.0"; - sha256 = "10wjgdixk5da48jpm2i91vy3ckdqpbpgba6hzn7ak6d3qac22m9q"; + version = "1.0.0.1"; + sha256 = "07zhvn3fy60q04a5g5mzhkl17rap9jlh00vb4f6565bjha2k16g9"; buildDepends = [ base64Bytestring conduit ]; testDepends = [ base64Bytestring conduit hspec QuickCheck transformers ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Base64-encode and decode streams of bytes"; + description = "Base64-encode and decode streams of bytes. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix index 8d31acb399f8..b923e444b1ec 100644 --- a/pkgs/development/libraries/haskell/basic-prelude/default.nix +++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "basic-prelude"; - version = "0.3.6.0"; - sha256 = "1sm89mva8vkhqp230g965b0k4n3g0c8w4sfsad8m1wh434g3k732"; + version = "0.3.8"; + sha256 = "0lywnsds0q1nr466s3pc2izfr58kp23z7ing9k7dlgbmh9cqxypg"; buildDepends = [ hashable liftedBase ReadArgs safe systemFilepath text transformers unorderedContainers vector diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix index 2857a21a8d98..96c421b708dd 100644 --- a/pkgs/development/libraries/haskell/bert/default.nix +++ b/pkgs/development/libraries/haskell/bert/default.nix @@ -1,14 +1,14 @@ -{ cabal, async, binary, binaryConduit, conduit, mtl, network -, networkConduit, parsec, smallcheck, tasty, tastyHunit -, tastySmallcheck, time, void +{ cabal, async, binary, binaryConduit, conduit, conduitExtra, mtl +, network, parsec, smallcheck, tasty, tastyHunit, tastySmallcheck +, time, void }: cabal.mkDerivation (self: { pname = "bert"; - version = "1.2.2"; - sha256 = "1dlq9fl5d2adprcybs4d4cyhj9q2c1l4kcc6vnnyhbyn201gxgpn"; + version = "1.2.2.2"; + sha256 = "0bjrqgm0dpsrk1nivxmw2wvx33v7z7swgy3p5fb51vg7y81776cz"; buildDepends = [ - binary binaryConduit conduit mtl network networkConduit parsec time + binary binaryConduit conduit conduitExtra mtl network parsec time void ]; testDepends = [ diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix index 0149fcabe724..4126910db752 100644 --- a/pkgs/development/libraries/haskell/binary-conduit/default.nix +++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix @@ -1,14 +1,14 @@ { cabal, binary, conduit, hspec, QuickCheck, quickcheckAssertions -, vector +, resourcet, vector }: cabal.mkDerivation (self: { pname = "binary-conduit"; - version = "1.2"; - sha256 = "1m58zgmivapn51gs5983vpsivzkki94kkac014mwvnp90q46nkvx"; - buildDepends = [ binary conduit vector ]; + version = "1.2.1.1"; + sha256 = "0f6ki793fbgxpsqadfj796b4rbv6zhn4v4rrd48r48zzw9hmxmzd"; + buildDepends = [ binary conduit resourcet vector ]; testDepends = [ - binary conduit hspec QuickCheck quickcheckAssertions + binary conduit hspec QuickCheck quickcheckAssertions resourcet ]; meta = { homepage = "http://github.com/qnikst/binary-conduit"; diff --git a/pkgs/development/libraries/haskell/bindings-DSL/default.nix b/pkgs/development/libraries/haskell/bindings-DSL/default.nix index ed2a631419ab..223760b291aa 100644 --- a/pkgs/development/libraries/haskell/bindings-DSL/default.nix +++ b/pkgs/development/libraries/haskell/bindings-DSL/default.nix @@ -2,10 +2,10 @@ cabal.mkDerivation (self: { pname = "bindings-DSL"; - version = "1.0.20"; - sha256 = "11qc02fkmrpy6c1a85lwlz06m4fpvfpbpbxgv5rkyb1amg2cnklq"; + version = "1.0.21"; + sha256 = "0fbrl9jfkwlv66v3cv6cj51kk7jjdry0jz8k83bf4mav26123mk9"; meta = { - homepage = "http://bitbucket.org/mauricio/bindings-dsl"; + homepage = "https://github.com/jwiegley/bindings-dsl/wiki"; description = "FFI domain specific language, on top of hsc2hs"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix index 16c352b7a332..1c6670f17ab6 100644 --- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix +++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix @@ -1,18 +1,14 @@ -{ cabal, blazeBuilder, conduit, hspec, QuickCheck, text -, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "blaze-builder-conduit"; - version = "1.0.0"; - sha256 = "15q0b0k5dxrp9cw2b4qf9mmjwz1mmxrn3890df5rc9z6yajajrc6"; - buildDepends = [ blazeBuilder conduit text transformers ]; - testDepends = [ - blazeBuilder conduit hspec QuickCheck transformers - ]; + version = "1.1.0"; + sha256 = "0xxyn3lhcn1bkybhrl5dx68d0adf26ilf34gv0mxkwpfj7m7d3k3"; + buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Convert streams of builders to streams of bytestrings"; + description = "Convert streams of builders to streams of bytestrings. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix index fd9d364fbb49..81b002356731 100644 --- a/pkgs/development/libraries/haskell/blaze-html/default.nix +++ b/pkgs/development/libraries/haskell/blaze-html/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "blaze-html"; - version = "0.6.1.3"; - sha256 = "0hjyi3iv2770wicgfjipa901vk7mwr8kknfqvj3v9kzcvb4lq5aq"; + version = "0.7.0.1"; + sha256 = "05z0a6x49f56bazkcdxpdi2a7pyzsiv7qc72grcz9sqjz1d6yagh"; buildDepends = [ blazeBuilder blazeMarkup text ]; testDepends = [ blazeBuilder blazeMarkup HUnit QuickCheck testFramework diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix index 638a219cb833..904808b78c8f 100644 --- a/pkgs/development/libraries/haskell/blaze-markup/default.nix +++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "blaze-markup"; - version = "0.5.2.1"; - sha256 = "1drq98q70jfbxsdf3b6n5ksr1pcy8h5cgjngg6h3kd6vww3vysdy"; + version = "0.6.0.0"; + sha256 = "1f54i570cqbyqkrsq4qd2bky88pdwg9lv84c6aaf2c21552dbvii"; buildDepends = [ blazeBuilder text ]; testDepends = [ blazeBuilder HUnit QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/blaze-svg/default.nix b/pkgs/development/libraries/haskell/blaze-svg/default.nix index 7b3ec55dc577..0502f1eabc28 100644 --- a/pkgs/development/libraries/haskell/blaze-svg/default.nix +++ b/pkgs/development/libraries/haskell/blaze-svg/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "blaze-svg"; - version = "0.3.3.0"; - sha256 = "1wi4nc73ic3qmbx6v9fniacwcz2nlvmp5snn144fdiwb22klfn5f"; + version = "0.3.3.1"; + sha256 = "00i0apyklvmkr4w30d4r86gcg86h35sc3ncvqax70827126cdmsj"; buildDepends = [ blazeMarkup mtl ]; + jailbreak = true; meta = { homepage = "https://github.com/deepakjois/blaze-svg"; description = "SVG combinator library"; diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix index ede82e5c2ed3..508e68fa045a 100644 --- a/pkgs/development/libraries/haskell/blaze-textual/default.nix +++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "blaze-textual"; - version = "0.2.0.8"; - sha256 = "0zzqh53ywzz8ss58glp3i8is8gry5yqzvdjw4xh95fbbzcz4cgc7"; + version = "0.2.0.9"; + sha256 = "1gwy1pjnc2ikxfxn9c751rnydry1hmlfk13k29xnns9vwglf81f0"; buildDepends = [ blazeBuilder text time vector ]; testDepends = [ blazeBuilder doubleConversion QuickCheck testFramework diff --git a/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix b/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix deleted file mode 100644 index e018ac7a8d28..000000000000 --- a/pkgs/development/libraries/haskell/bmp/1.2.2.1.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, binary }: - -cabal.mkDerivation (self: { - pname = "bmp"; - version = "1.2.2.1"; - sha256 = "0yxkkvpgavk9im9i9f6zpzc1n5nj2g4qsk4ck51aqz2fv6z1rhiy"; - buildDepends = [ binary ]; - meta = { - homepage = "http://code.ouroborus.net/bmp"; - description = "Read and write uncompressed BMP image files"; - license = self.stdenv.lib.licenses.mit; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/bmp/1.2.5.2.nix b/pkgs/development/libraries/haskell/bmp/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/bmp/1.2.5.2.nix rename to pkgs/development/libraries/haskell/bmp/default.nix diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix index af0dbd338989..74a4385aa928 100644 --- a/pkgs/development/libraries/haskell/boomerang/default.nix +++ b/pkgs/development/libraries/haskell/boomerang/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "boomerang"; - version = "1.4.1"; - sha256 = "0pmaysp6vw6cnxh3px47pwflm4fc83idld09bpnfnh2jkscp630a"; + version = "1.4.2"; + sha256 = "0vy70anwnh7649za6nzb65fx09vqkf50a961da6gzwvbaf526rd0"; buildDepends = [ mtl text ]; meta = { description = "Library for invertible parsing and printing"; diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix index 1fa5f3fb79f5..da4629e93fba 100644 --- a/pkgs/development/libraries/haskell/bson/default.nix +++ b/pkgs/development/libraries/haskell/bson/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "bson"; - version = "0.2.3"; - sha256 = "0p8c4cq8ldspwj4pmg0l8pg8bkwsk9xan07md32ikm4bfqsnv2rb"; + version = "0.2.4"; + sha256 = "1fr0xx9q2l3cb72j5lgrwdlr2gba7idh2v80s8d6dr69dhwaccd9"; buildDepends = [ binary cryptohash dataBinaryIeee754 mtl network text time ]; diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix index 93c8b2aa2290..9a013c9f2453 100644 --- a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix +++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "bytestring-lexing"; - version = "0.4.3"; - sha256 = "0dynfrf8ym01v2dl57422h8r75kdlqh2qzqi9yc0f1bmbfqxap6r"; + version = "0.4.3.2"; + sha256 = "09ymg1n21668wn4harxg0cqlz98fz990bangpy99w2z7d6cwbc05"; buildTools = [ alex ]; meta = { homepage = "http://code.haskell.org/~wren/"; diff --git a/pkgs/development/libraries/haskell/bytestring-progress/default.nix b/pkgs/development/libraries/haskell/bytestring-progress/default.nix index c73932b3760a..e9bb268b9fce 100644 --- a/pkgs/development/libraries/haskell/bytestring-progress/default.nix +++ b/pkgs/development/libraries/haskell/bytestring-progress/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.0.3"; sha256 = "1v9cl7d4fcchbdrpbgjj4ilg79cj241vzijiifdsgkq30ikv2yxs"; buildDepends = [ terminalProgressBar time ]; + noHaddock = true; meta = { homepage = "http://github.com/acw/bytestring-progress"; description = "A library for tracking the consumption of a lazy ByteString"; diff --git a/pkgs/development/libraries/haskell/bytestring-show/default.nix b/pkgs/development/libraries/haskell/bytestring-show/default.nix new file mode 100644 index 000000000000..19b8f15bc6db --- /dev/null +++ b/pkgs/development/libraries/haskell/bytestring-show/default.nix @@ -0,0 +1,14 @@ +{ cabal, binary }: + +cabal.mkDerivation (self: { + pname = "bytestring-show"; + version = "0.3.5.6"; + sha256 = "04h81a0bh2fvnkby1qafnydb29gzk6d4d311i2lbn7lm2vyjw919"; + buildDepends = [ binary ]; + meta = { + homepage = "http://code.haskell.org/~dolio/"; + description = "Efficient conversion of values into readable byte strings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/bzlib/default.nix b/pkgs/development/libraries/haskell/bzlib/default.nix new file mode 100644 index 000000000000..cc9f244261b0 --- /dev/null +++ b/pkgs/development/libraries/haskell/bzlib/default.nix @@ -0,0 +1,13 @@ +{ cabal, bzip2 }: + +cabal.mkDerivation (self: { + pname = "bzlib"; + version = "0.5.0.4"; + sha256 = "1vf37y7wknrihf7hipd6lihkmn7sszbgfb325my52yzbjs3baccd"; + extraLibraries = [ bzip2 ]; + meta = { + description = "Compression and decompression in the bzip2 format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix index 90fb53051e23..9313deaf840d 100644 --- a/pkgs/development/libraries/haskell/c2hs/default.nix +++ b/pkgs/development/libraries/haskell/c2hs/default.nix @@ -1,12 +1,19 @@ -{ cabal, filepath, languageC }: +{ cabal, filepath, HUnit, languageC, shelly, testFramework +, testFrameworkHunit, text +}: cabal.mkDerivation (self: { pname = "c2hs"; - version = "0.16.5"; - sha256 = "19h4zppn7ry7p3f7qw1kgsrf6h2bjnknycfrj3ibxys82qpv8m8y"; + version = "0.16.6"; + sha256 = "1yf7mcslkf6m1nizifqva8j5sxnw87bg60dw8mfgpmqvrzpbxizm"; isLibrary = false; isExecutable = true; buildDepends = [ filepath languageC ]; + testDepends = [ + filepath HUnit shelly testFramework testFrameworkHunit text + ]; + jailbreak = true; + doCheck = false; meta = { homepage = "https://github.com/haskell/c2hs"; description = "C->Haskell FFI tool that gives some cross-language type safety"; diff --git a/pkgs/development/libraries/haskell/c2hsc/default.nix b/pkgs/development/libraries/haskell/c2hsc/default.nix new file mode 100644 index 000000000000..ac52a88e63b9 --- /dev/null +++ b/pkgs/development/libraries/haskell/c2hsc/default.nix @@ -0,0 +1,20 @@ +{ cabal, cmdargs, filepath, HStringTemplate, languageC, mtl, split +, transformers +}: + +cabal.mkDerivation (self: { + pname = "c2hsc"; + version = "0.6.5"; + sha256 = "0c5hzi4nw9n3ir17swbwymkymnpiw958z8r2hw6656ijwqkxvzgd"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + cmdargs filepath HStringTemplate languageC mtl split transformers + ]; + meta = { + homepage = "https://github.com/jwiegley/c2hsc"; + description = "Convert C API header files to .hsc and .hsc.helper.c files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix index 686cf3b9bcb3..25029618b235 100644 --- a/pkgs/development/libraries/haskell/cairo/default.nix +++ b/pkgs/development/libraries/haskell/cairo/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cairo"; - version = "0.12.5.0"; - sha256 = "1khpksznh51yl27hs0zbabx8df04d26ccwh0vjidcwf3flvrbgwb"; + version = "0.12.5.3"; + sha256 = "1g5wn7dzz8cc7my09igr284j96d795jlnmy1q2hhlvssfhwbbvg7"; buildDepends = [ mtl utf8String ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ cairo libc pkgconfig zlib ]; diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix similarity index 84% rename from pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix rename to pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix index 5fd438e320d5..45cc7c11fc28 100644 --- a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix +++ b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "case-insensitive"; - version = "1.1.0.2"; - sha256 = "0200jpz2xs67sw5dczfj8nlz2yp40k05bv3rk1phdc093n13kaww"; + version = "1.1.0.3"; + sha256 = "0fr69lfb976gflr8w6d68zn4pz86jfxbb2i49fw3mmam67k5y9bv"; buildDepends = [ deepseq hashable text ]; testDepends = [ HUnit testFramework testFrameworkHunit text ]; meta = { diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix new file mode 100644 index 000000000000..aa8996b0fc3f --- /dev/null +++ b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix @@ -0,0 +1,17 @@ +{ cabal, deepseq, hashable, HUnit, testFramework +, testFrameworkHunit, text +}: + +cabal.mkDerivation (self: { + pname = "case-insensitive"; + version = "1.2.0.0"; + sha256 = "0ybdmqaqh9hdl3dl5kx8qhs4b67g78fhnkqnd3y2lpgqjvhnbzp4"; + buildDepends = [ deepseq hashable text ]; + testDepends = [ HUnit testFramework testFrameworkHunit text ]; + meta = { + homepage = "https://github.com/basvandijk/case-insensitive"; + description = "Case insensitive string comparison"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix index 0d4022062934..5127ca1c8e84 100644 --- a/pkgs/development/libraries/haskell/cassava/default.nix +++ b/pkgs/development/libraries/haskell/cassava/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "cassava"; - version = "0.3.0.0"; - sha256 = "0s297664if9zp2y441jihcrmdfgdicjgncyx0rpddlr789vkbs9s"; + version = "0.3.0.1"; + sha256 = "1lsbdhdz6hy6lfnhhp36mbjd9m0w8iv50sd9mj0dj9b4izgdav16"; buildDepends = [ attoparsec blazeBuilder deepseq text unorderedContainers vector ]; diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix index 4021b15df9cf..fa13321fff77 100644 --- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix +++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "cereal-conduit"; - version = "0.7.2"; - sha256 = "03jlhpz82a7j7n0351db0h7pkxihik3fv0wgjny7i0vlq7gyqdpl"; - buildDepends = [ cereal conduit transformers ]; + version = "0.7.2.1"; + sha256 = "1qjx5y8hznpanchhjfrmi0r6vmiqsj0lh9x09n563gschs8dfisw"; + buildDepends = [ cereal conduit resourcet transformers ]; testDepends = [ cereal conduit HUnit mtl resourcet transformers ]; meta = { homepage = "https://github.com/litherum/cereal-conduit"; diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix similarity index 83% rename from pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix rename to pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix index d2d899180860..0e6a6a71ae9f 100644 --- a/pkgs/development/libraries/haskell/cgi/3001.1.8.4.nix +++ b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cgi"; - version = "3001.1.8.4"; - sha256 = "1h0ynrrda18g5pn1sw2n94rhhp3k39nb7wmx53b52dhxkp2izlgn"; + version = "3001.1.8.5"; + sha256 = "0ffvn9ki5yq2zc65afmy04353v4s66lajc7y563fhj2kz5ib5ks6"; buildDepends = [ MonadCatchIOMtl mtl network parsec xhtml ]; meta = { homepage = "http://andersk.mit.edu/haskell/cgi/"; diff --git a/pkgs/development/libraries/haskell/charset/default.nix b/pkgs/development/libraries/haskell/charset/default.nix index 6907a33744ff..8a0f1e62179c 100644 --- a/pkgs/development/libraries/haskell/charset/default.nix +++ b/pkgs/development/libraries/haskell/charset/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "charset"; - version = "0.3.6"; - sha256 = "1g8m8nd5f100jlhvs6hbny96wy8iaggmp1lv36a5jxc54gmyxjd1"; + version = "0.3.7"; + sha256 = "1x912dx5650x8ql3ivhpiwmxd6kv7zghark3s8ljvl1g3qr1pxd6"; buildDepends = [ semigroups unorderedContainers ]; meta = { homepage = "http://github.com/ekmett/charset"; diff --git a/pkgs/development/libraries/haskell/cheapskate/default.nix b/pkgs/development/libraries/haskell/cheapskate/default.nix new file mode 100644 index 000000000000..0ef18440e373 --- /dev/null +++ b/pkgs/development/libraries/haskell/cheapskate/default.nix @@ -0,0 +1,20 @@ +{ cabal, blazeHtml, dataDefault, mtl, syb, text, uniplate +, xssSanitize +}: + +cabal.mkDerivation (self: { + pname = "cheapskate"; + version = "0.1.0.1"; + sha256 = "0slrvbaamnwxx89kqjcr62058j00s2dw4c16q1swf817az2p66h8"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeHtml dataDefault mtl syb text uniplate xssSanitize + ]; + meta = { + homepage = "http://github.com/jgm/cheapskate"; + description = "Experimental markdown processor"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/checkers/default.nix b/pkgs/development/libraries/haskell/checkers/default.nix index 4742f5104daa..06b89ba85b42 100644 --- a/pkgs/development/libraries/haskell/checkers/default.nix +++ b/pkgs/development/libraries/haskell/checkers/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "checkers"; - version = "0.3.1"; - sha256 = "0lhy8bk8kkj540kjbc76j4x4xsprqwlmxdrss4r0j1bxgmfwha6p"; + version = "0.3.2"; + sha256 = "0v8i6754syvjh2p5qdqh95j3swkar9077gidsnahwk9h6qfsx6r3"; buildDepends = [ QuickCheck random ]; meta = { description = "Check properties on standard classes and data structures"; diff --git a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix new file mode 100644 index 000000000000..835747ee8813 --- /dev/null +++ b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix @@ -0,0 +1,14 @@ +{ cabal, chell, QuickCheck, random }: + +cabal.mkDerivation (self: { + pname = "chell-quickcheck"; + version = "0.2.2"; + sha256 = "05qshv9vcl05khxsxyks2z7dqd8dqafjsg3awkkdhviviv5p2fp8"; + buildDepends = [ chell QuickCheck random ]; + meta = { + homepage = "https://john-millikin.com/software/chell/"; + description = "QuickCheck support for the Chell testing library"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/chell/default.nix b/pkgs/development/libraries/haskell/chell/default.nix new file mode 100644 index 000000000000..c69994e6868b --- /dev/null +++ b/pkgs/development/libraries/haskell/chell/default.nix @@ -0,0 +1,18 @@ +{ cabal, ansiTerminal, options, patience, random, text +, transformers +}: + +cabal.mkDerivation (self: { + pname = "chell"; + version = "0.3.3"; + sha256 = "1k5vxipf47753d41dgr1gr4zy7y72gz2x8lcn0fgfmxi2v810nsm"; + buildDepends = [ + ansiTerminal options patience random text transformers + ]; + meta = { + homepage = "https://john-millikin.com/software/chell/"; + description = "A simple and intuitive library for automated testing"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/chunked-data/default.nix b/pkgs/development/libraries/haskell/chunked-data/default.nix new file mode 100644 index 000000000000..2705aee7aabd --- /dev/null +++ b/pkgs/development/libraries/haskell/chunked-data/default.nix @@ -0,0 +1,19 @@ +{ cabal, blazeBuilder, monoTraversable, semigroups, systemFilepath +, text, transformers, vector +}: + +cabal.mkDerivation (self: { + pname = "chunked-data"; + version = "0.1.0.1"; + sha256 = "0kdq79mxi9nhy3dqw283f5ffx4rxwfrdq9cfw46ql5wmqrg2qw7r"; + buildDepends = [ + blazeBuilder monoTraversable semigroups systemFilepath text + transformers vector + ]; + meta = { + homepage = "https://github.com/fpco/chunked-data"; + description = "Typeclasses for dealing with various chunked data representations"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix index d68d2389e0e7..52ec2fab7114 100644 --- a/pkgs/development/libraries/haskell/cipher-aes/default.nix +++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cipher-aes"; - version = "0.2.6"; - sha256 = "0ys5a1w5pwwr74k9wzcsh1flb2jdcvnp1zz7sjs14jpxclpd8x3i"; + version = "0.2.7"; + sha256 = "1a5viy2frkdqhzzlipd2ik89a04gv95v4b98lgpsas2958r9c9yp"; buildDepends = [ byteable cryptoCipherTypes securemem ]; testDepends = [ byteable cryptoCipherTests cryptoCipherTypes QuickCheck diff --git a/pkgs/development/libraries/haskell/cipher-aes128/default.nix b/pkgs/development/libraries/haskell/cipher-aes128/default.nix index 8bb093eb0f81..6bae5a99808d 100644 --- a/pkgs/development/libraries/haskell/cipher-aes128/default.nix +++ b/pkgs/development/libraries/haskell/cipher-aes128/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cipher-aes128"; - version = "0.6.2"; - sha256 = "0rj56p8rcnvk95jc4fx4pxv25yk85vfad7v0znsgzp2hpw4h4ihb"; + version = "0.6.4"; + sha256 = "093zpw86wimniwmd73g3nnbfy530q52kynccssqf7jxafbsw75aa"; isLibrary = true; isExecutable = true; buildDepends = [ cereal cryptoApi tagged ]; diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index af740197765f..5324054423b4 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -1,14 +1,15 @@ -{ cabal, classyPrelude, conduit, hspec, monadControl, QuickCheck -, resourcet, systemFileio, transformers, void +{ cabal, classyPrelude, conduit, conduitCombinators, hspec +, monadControl, QuickCheck, resourcet, systemFileio, transformers +, void }: cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.7.0"; - sha256 = "0njhfqbcbsy1rv61fc4xqzqlb68hzqg9cr31f8bs6h7pa12n38zq"; + version = "0.9.0"; + sha256 = "1lvi5n2km6l2saspiczpkvaq6670bp658kn83s334h6s6wlba3dz"; buildDepends = [ - classyPrelude conduit monadControl resourcet systemFileio - transformers void + classyPrelude conduit conduitCombinators monadControl resourcet + systemFileio transformers void ]; testDepends = [ conduit hspec QuickCheck transformers ]; meta = { diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index d2c0ccaf652e..4c142a23f3a2 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -1,17 +1,17 @@ -{ cabal, async, basicPrelude, deepseq, hashable, hspec, liftedBase -, monadControl, monoTraversable, QuickCheck, semigroups +{ cabal, basicPrelude, chunkedData, enclosedExceptions, hashable +, hspec, liftedBase, monoTraversable, QuickCheck, semigroups, stm , systemFilepath, text, time, transformers, unorderedContainers , vector, vectorInstances }: cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.7.0"; - sha256 = "19n2kzzskrdwyacq14y8gf1avcy7clp7gzqh36dhw7pypy3x0k9n"; + version = "0.9.0"; + sha256 = "1y4440jy7x9ns4kyb638f5lfa1h3vq3wwcwzkpswr8rf8f7z1bj6"; buildDepends = [ - async basicPrelude deepseq hashable liftedBase monadControl - monoTraversable semigroups systemFilepath text time transformers - unorderedContainers vector vectorInstances + basicPrelude chunkedData enclosedExceptions hashable liftedBase + monoTraversable semigroups stm systemFilepath text time + transformers unorderedContainers vector vectorInstances ]; testDepends = [ hspec QuickCheck transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix index 9457a2ad44dc..92c70b551561 100644 --- a/pkgs/development/libraries/haskell/comonad/default.nix +++ b/pkgs/development/libraries/haskell/comonad/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "comonad"; - version = "4.0"; - sha256 = "1f57wqxy1la59kippbj924prnj53a5hwc2ppg48n9xx2wfr63iha"; + version = "4.0.1"; + sha256 = "1ib3spgyjbdsnpbz4alaqb1m13v48l5dpv7s68c0mi2nyjkli7lx"; buildDepends = [ contravariant distributive mtl semigroups tagged transformers ]; diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix new file mode 100644 index 000000000000..fdf5c4625fd8 --- /dev/null +++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix @@ -0,0 +1,27 @@ +{ cabal, base16Bytestring, base64Bytestring, chunkedData, conduit +, conduitExtra, hspec, monadControl, monoTraversable, mwcRandom +, primitive, resourcet, silently, systemFileio, systemFilepath +, text, transformers, transformersBase, unixCompat, vector, void +}: + +cabal.mkDerivation (self: { + pname = "conduit-combinators"; + version = "0.2.4"; + sha256 = "0pxzvxd1j48l7j2anv61bxv1accl0jc6vdf9vv0l3s2358smzwwv"; + buildDepends = [ + base16Bytestring base64Bytestring chunkedData conduit conduitExtra + monadControl monoTraversable mwcRandom primitive resourcet + systemFileio systemFilepath text transformers transformersBase + unixCompat vector void + ]; + testDepends = [ + base16Bytestring base64Bytestring chunkedData hspec monoTraversable + mwcRandom silently systemFilepath text transformers vector + ]; + meta = { + homepage = "https://github.com/fpco/conduit-combinators"; + description = "Commonly used conduit functions, for both chunked and unchunked data"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix new file mode 100644 index 000000000000..67b4186e6060 --- /dev/null +++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix @@ -0,0 +1,26 @@ +{ cabal, attoparsec, blazeBuilder, conduit, exceptions, filepath +, hspec, monadControl, network, primitive, resourcet +, streamingCommons, text, transformers, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "conduit-extra"; + version = "1.1.0"; + sha256 = "08s8nafsdkd4dwmi2vsid82z8iv178vm9jbb322ygnbpf2a9y96y"; + buildDepends = [ + attoparsec blazeBuilder conduit filepath monadControl network + primitive resourcet streamingCommons text transformers + transformersBase + ]; + testDepends = [ + attoparsec blazeBuilder conduit exceptions hspec resourcet text + transformers transformersBase + ]; + noHaddock = true; + meta = { + homepage = "http://github.com/snoyberg/conduit"; + description = "Batteries included conduit: adapters for common libraries"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix index 395b03d26830..ac6211f2b38d 100644 --- a/pkgs/development/libraries/haskell/conduit/default.nix +++ b/pkgs/development/libraries/haskell/conduit/default.nix @@ -1,18 +1,20 @@ -{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, QuickCheck -, resourcet, text, transformers, transformersBase, void +{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl +, QuickCheck, resourcet, text, textStreamDecode, transformers +, transformersBase, void }: cabal.mkDerivation (self: { pname = "conduit"; - version = "1.0.10"; - sha256 = "12vqh747rdldw3n42cxzd77rzb66129dc690n23q5xy7pbhzilfp"; + version = "1.1.0"; + sha256 = "17y8fnvl9s3676sslhc04abs4zqh90l2rdcazxglv0sfrfsdgwnq"; buildDepends = [ - liftedBase mmorph monadControl mtl resourcet text transformers - transformersBase void + exceptions liftedBase mmorph monadControl mtl resourcet text + textStreamDecode transformers transformersBase void ]; testDepends = [ hspec mtl QuickCheck resourcet text transformers void ]; + doCheck = false; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Streaming data processing library"; diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix index 186557d81b07..69083520c182 100644 --- a/pkgs/development/libraries/haskell/connection/default.nix +++ b/pkgs/development/libraries/haskell/connection/default.nix @@ -1,13 +1,14 @@ -{ cabal, certificate, cprngAes, dataDefault, network, socks, tls -, tlsExtra +{ cabal, cprngAes, dataDefaultClass, network, socks, tls, x509 +, x509Store, x509System, x509Validation }: cabal.mkDerivation (self: { pname = "connection"; - version = "0.1.3.1"; - sha256 = "1z9vb20466lg7l8z4abfbsdzpix18hswpqcl7s2gv838s2wvd16w"; + version = "0.2.0"; + sha256 = "17fzkgrjavmcxhdjj7agkx16jwpf6ql31nw1ni8gczkbp7azd0kp"; buildDepends = [ - certificate cprngAes dataDefault network socks tls tlsExtra + cprngAes dataDefaultClass network socks tls x509 x509Store + x509System x509Validation ]; meta = { homepage = "http://github.com/vincenthz/hs-connection"; diff --git a/pkgs/development/libraries/haskell/constraints/default.nix b/pkgs/development/libraries/haskell/constraints/default.nix index 1e0dc901aaf5..333d8e6601d2 100644 --- a/pkgs/development/libraries/haskell/constraints/default.nix +++ b/pkgs/development/libraries/haskell/constraints/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "constraints"; - version = "0.3.4.2"; - sha256 = "14bfar4d44yl9zxgqxj4p67ag2ndprm602l4pinfjk0ywbh63fwq"; + version = "0.3.5"; + sha256 = "01xrk0xqkfwzzr5jwkadkyjgrdcpslwiqfqdb7mci688xp2isi3i"; buildDepends = [ newtype ]; meta = { homepage = "http://github.com/ekmett/constraints/"; diff --git a/pkgs/development/libraries/haskell/control-monad-free/default.nix b/pkgs/development/libraries/haskell/control-monad-free/default.nix new file mode 100644 index 000000000000..93fed5fae060 --- /dev/null +++ b/pkgs/development/libraries/haskell/control-monad-free/default.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq, transformers }: + +cabal.mkDerivation (self: { + pname = "control-monad-free"; + version = "0.5.3"; + sha256 = "1igwawcdpg8irayjax1xdrlpa9587k1v4y28ib3xfb7yk0xv7vk1"; + buildDepends = [ deepseq transformers ]; + meta = { + homepage = "http://github.com/pepeiborra/control-monad-free"; + description = "Free monads and monad transformers"; + license = self.stdenv.lib.licenses.publicDomain; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix similarity index 100% rename from pkgs/development/libraries/haskell/convertible/default.nix rename to pkgs/development/libraries/haskell/convertible/1.0.11.1.nix diff --git a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix new file mode 100644 index 000000000000..78be057c2011 --- /dev/null +++ b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix @@ -0,0 +1,17 @@ +{ cabal, mtl, text, time }: + +cabal.mkDerivation (self: { + pname = "convertible"; + version = "1.1.0.0"; + sha256 = "0pc3z4jfjna1rz5wlfimw9fyhpasmdnwvava883s401760y99i0k"; + isLibrary = true; + isExecutable = true; + buildDepends = [ mtl text time ]; + meta = { + homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible"; + description = "Typeclasses and instances for converting between types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/coroutine-object/default.nix b/pkgs/development/libraries/haskell/coroutine-object/default.nix new file mode 100644 index 000000000000..ea316fd29e12 --- /dev/null +++ b/pkgs/development/libraries/haskell/coroutine-object/default.nix @@ -0,0 +1,19 @@ +{ cabal, cereal, either, lens, mtl, safecopy, transformers +, transformersFree, uuid +}: + +cabal.mkDerivation (self: { + pname = "coroutine-object"; + version = "0.2.0.0"; + sha256 = "1jl5glnk4ildjrxyxscxd0v7xfqbd9vpv5gaxygsfsbfr1zizp3s"; + buildDepends = [ + cereal either lens mtl safecopy transformers transformersFree uuid + ]; + jailbreak = true; + meta = { + description = "Object-oriented programming realization using coroutine"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix index 84eacff71a1c..e106138ef249 100644 --- a/pkgs/development/libraries/haskell/criterion/default.nix +++ b/pkgs/development/libraries/haskell/criterion/default.nix @@ -1,15 +1,15 @@ { cabal, aeson, binary, deepseq, filepath, Glob, hastache, mtl -, mwcRandom, parsec, statistics, time, transformers, vector +, mwcRandom, parsec, statistics, text, time, transformers, vector , vectorAlgorithms }: cabal.mkDerivation (self: { pname = "criterion"; - version = "0.8.0.0"; - sha256 = "05v4glwvidsd4gm2jcvmlcpfaxg2x0fb69w051rbwg9scanrm7bf"; + version = "0.8.0.2"; + sha256 = "126c3i9i88wqs5ihif4kpsc1gdqas57acd8h5jbyfqhgbwi1s7gz"; buildDepends = [ aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec - statistics time transformers vector vectorAlgorithms + statistics text time transformers vector vectorAlgorithms ]; meta = { homepage = "https://github.com/bos/criterion"; diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix index 3668c46dc684..bcc357fbed3c 100644 --- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix +++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix @@ -1,15 +1,17 @@ -{ cabal, cereal, conduit, cryptoApi, cryptocipher -, cryptohashCryptoapi, hspec, skein, transformers +{ cabal, cereal, conduit, conduitExtra, cryptoApi, cryptocipher +, cryptohashCryptoapi, hspec, resourcet, skein, transformers }: cabal.mkDerivation (self: { pname = "crypto-conduit"; - version = "0.5.2.2"; - sha256 = "1969jys4za3m818jvnfcsv5hpc50bcvkrmy9lxr8fz854q01vhk2"; - buildDepends = [ cereal conduit cryptoApi transformers ]; + version = "0.5.3"; + sha256 = "1xvjfkwd4rqlgyz172s2mihfqz1pac84qhc72c4zw1nwadsh6dgl"; + buildDepends = [ + cereal conduit conduitExtra cryptoApi resourcet transformers + ]; testDepends = [ - cereal conduit cryptoApi cryptocipher cryptohashCryptoapi hspec - skein transformers + cereal conduit conduitExtra cryptoApi cryptocipher + cryptohashCryptoapi hspec skein transformers ]; jailbreak = true; doCheck = false; diff --git a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix index ba5007e789fa..264c420842a5 100644 --- a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix +++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "crypto-pubkey-types"; - version = "0.4.1"; - sha256 = "1zs0hhpqcfsdyfr3z96m8lwxrxr3mf27wvjrpvih9jlvh64vp1pr"; + version = "0.4.2.2"; + sha256 = "18z1fnh2xjq600ya8m175m64nwr6bwscr2q47zjy7k38zlm9c8h5"; buildDepends = [ asn1Types ]; meta = { homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types"; diff --git a/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix new file mode 100644 index 000000000000..78c0c1016592 --- /dev/null +++ b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix @@ -0,0 +1,17 @@ +{ cabal, conduit, conduitExtra, cryptohash, resourcet, transformers +}: + +cabal.mkDerivation (self: { + pname = "cryptohash-conduit"; + version = "0.1.1"; + sha256 = "1kmlskgb0jx8hkzdncr24aqir9k1kyfcb2rypvkdld1yin4nslga"; + buildDepends = [ + conduit conduitExtra cryptohash resourcet transformers + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-cryptohash-conduit"; + description = "cryptohash conduit"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix index e21e026080bf..020b34298ade 100644 --- a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix +++ b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cryptohash-cryptoapi"; - version = "0.1.0"; - sha256 = "06b62ddwx2mp71dzaj8h88vw2c6nv3rj8n6d3d9vmqa7cws3mjkx"; + version = "0.1.3"; + sha256 = "0wj53p32js8lfg0i8akrljpash0jdiyv2vcqpmjbd4dq2fx81w2n"; buildDepends = [ cereal cryptoApi cryptohash tagged ]; meta = { homepage = "http://github.com/vincenthz/hs-cryptohash-cryptoapi"; diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix index 839bf4518a19..cefa8fbbdf8e 100644 --- a/pkgs/development/libraries/haskell/cryptohash/default.nix +++ b/pkgs/development/libraries/haskell/cryptohash/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "cryptohash"; - version = "0.11.1"; - sha256 = "0ww7bikl8i50m1pwkqp145bfsiy07npnjw48j3il4w2ia0b3axmy"; + version = "0.11.4"; + sha256 = "1laakkc1xzp2bmai0sfi86784wharqbyanlp1d1f1q6nj318by3y"; buildDepends = [ byteable ]; testDepends = [ byteable HUnit QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/css-text/default.nix b/pkgs/development/libraries/haskell/css-text/default.nix index f59a80b2b65a..9ab9b9f5d2da 100644 --- a/pkgs/development/libraries/haskell/css-text/default.nix +++ b/pkgs/development/libraries/haskell/css-text/default.nix @@ -1,11 +1,11 @@ -{ cabal, attoparsec, hspec, HUnit, QuickCheck, text }: +{ cabal, attoparsec, hspec, QuickCheck, text }: cabal.mkDerivation (self: { pname = "css-text"; - version = "0.1.1"; - sha256 = "10vb08rnfq987w7wrirw8ib1kzafxaaancswm4xpw46ha3rq1m0y"; + version = "0.1.2.1"; + sha256 = "1xi1n2f0g8y43p95lynhcg50wxbq7hqfzbfzm7fy8mn7gvd920nw"; buildDepends = [ attoparsec text ]; - testDepends = [ attoparsec hspec HUnit QuickCheck text ]; + testDepends = [ attoparsec hspec QuickCheck text ]; meta = { homepage = "http://www.yesodweb.com/"; description = "CSS parser and renderer"; diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix index 41bd23470124..89658ead4d58 100644 --- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix +++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-accessor-template"; - version = "0.2.1.10"; - sha256 = "11a4c0g74ppl7nls0dhx6xs47dfcq1wp7bd8qgdba6hhn645afzy"; + version = "0.2.1.11"; + sha256 = "1n2slv287zp6pabqb7xbfi296dbikw5a4ivqmnas0c4nxikqkayx"; buildDepends = [ dataAccessor utilityHt ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Record_access"; diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix index 7c1de10b20b0..8fdde66f5fd6 100644 --- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix +++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-accessor"; - version = "0.2.2.3"; - sha256 = "1fa1rbbs3m05y61w42vj4vqlcpqmz60v8mv3r0h6lx669k6ka5gj"; + version = "0.2.2.5"; + sha256 = "0z63fv41cnpk3h404gprk2f5jl7rrpyv97xmsgac9zgdm5zkkhm6"; buildDepends = [ transformers ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Record_access"; diff --git a/pkgs/development/libraries/haskell/data-hash/default.nix b/pkgs/development/libraries/haskell/data-hash/default.nix new file mode 100644 index 000000000000..c8e4887063c4 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-hash/default.nix @@ -0,0 +1,15 @@ +{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2 }: + +cabal.mkDerivation (self: { + pname = "data-hash"; + version = "0.2.0.0"; + sha256 = "1bfsbc4fkg3jqgbgka1mg6k1fizynvvxbhf2zb0x1apgr579mcrm"; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 + ]; + meta = { + description = "Combinators for building fast hashing functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix index 7ba9e3f9da74..67bd753b3025 100644 --- a/pkgs/development/libraries/haskell/data-lens-template/default.nix +++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-lens-template"; - version = "2.1.7"; - sha256 = "108xvk5glsw016vdvjb1p3a9zh7rgbkjv5xashs1hj25f8k4cw49"; + version = "2.1.8"; + sha256 = "0w8x5zn3d98z0q74bqfgkb9s0ca9hd1xc53gjl759s77wm4iwa0q"; buildDepends = [ dataLens ]; meta = { homepage = "http://github.com/roconnor/data-lens-template/"; diff --git a/pkgs/development/libraries/haskell/data-ordlist/default.nix b/pkgs/development/libraries/haskell/data-ordlist/default.nix new file mode 100644 index 000000000000..ca506bc01e90 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-ordlist/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "data-ordlist"; + version = "0.4.6"; + sha256 = "13gsvqifwlxcz10x704fy26288l0km2kfdlh4w9hl31a9vd427sx"; + meta = { + description = "Set and bag operations on ordered lists"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix index 9c4de4a1b84d..6eda9ca3c439 100644 --- a/pkgs/development/libraries/haskell/dataenc/default.nix +++ b/pkgs/development/libraries/haskell/dataenc/default.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "13gajqbayar7x8sq3rw93i277gqd0bx1i34spshlj4b41fraxc8w"; isLibrary = true; isExecutable = true; + jailbreak = true; meta = { homepage = "http://www.haskell.org/haskellwiki/Library/Data_encoding"; description = "Data encoding library"; diff --git a/pkgs/development/libraries/haskell/dbmigrations/default.nix b/pkgs/development/libraries/haskell/dbmigrations/default.nix index 10b3737d88a2..008cb04f2fa3 100644 --- a/pkgs/development/libraries/haskell/dbmigrations/default.nix +++ b/pkgs/development/libraries/haskell/dbmigrations/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { configurator fgl filepath HDBC HDBCPostgresql HDBCSqlite3 HUnit mtl random text time yamlLight ]; + jailbreak = true; meta = { description = "An implementation of relational database \"migrations\""; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix index a96f1499f974..7f0285dfc7aa 100644 --- a/pkgs/development/libraries/haskell/dbus/default.nix +++ b/pkgs/development/libraries/haskell/dbus/default.nix @@ -1,16 +1,22 @@ -{ cabal, cereal, libxmlSax, network, parsec, random, text -, transformers, vector, xmlTypes +{ cabal, cereal, chell, chellQuickcheck, filepath, libxmlSax +, network, parsec, QuickCheck, random, text, transformers, vector +, xmlTypes }: cabal.mkDerivation (self: { pname = "dbus"; - version = "0.10.5"; - sha256 = "1wblqkwlwv3bxhz2n4qm0w0npawng86y2hyacjxmx8cw25gkw41x"; + version = "0.10.7"; + sha256 = "0xszynw6p07r7z9nlq8alx5lxfjm57gljya835ccj63hqhkr5yxh"; buildDepends = [ cereal libxmlSax network parsec random text transformers vector xmlTypes ]; + testDepends = [ + cereal chell chellQuickcheck filepath libxmlSax network parsec + QuickCheck random text transformers vector xmlTypes + ]; jailbreak = true; + doCheck = false; meta = { homepage = "https://john-millikin.com/software/haskell-dbus/"; description = "A client library for the D-Bus IPC system"; diff --git a/pkgs/development/libraries/haskell/dependent-map/default.nix b/pkgs/development/libraries/haskell/dependent-map/default.nix index 32a10efc785e..f8af7c8e42e8 100644 --- a/pkgs/development/libraries/haskell/dependent-map/default.nix +++ b/pkgs/development/libraries/haskell/dependent-map/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dependent-map"; - version = "0.1.1.1"; - sha256 = "1p5a5qahw7i6cvb0g0g1bv9gzy6jlxr5vb3hp8gahm210zw8g990"; + version = "0.1.1.2"; + sha256 = "1g8mq8189c6wr1rik70019gqrnk84c613x9cn5383p7hhfyc0rnn"; buildDepends = [ dependentSum ]; meta = { homepage = "https://github.com/mokus0/dependent-map"; diff --git a/pkgs/development/libraries/haskell/dependent-sum/default.nix b/pkgs/development/libraries/haskell/dependent-sum/default.nix index 3d33956edcf8..a92dd8064dad 100644 --- a/pkgs/development/libraries/haskell/dependent-sum/default.nix +++ b/pkgs/development/libraries/haskell/dependent-sum/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dependent-sum"; - version = "0.2.0.1"; - sha256 = "07zv8rj574vf7wl3pms4q8d9m7zsfppac5vla9d9b7q11s81lldf"; + version = "0.2.0.2"; + sha256 = "06amnc50j246f2za0ri49j6vyq6admx03w3xxjhhfnfx9lp6zmhm"; meta = { homepage = "https://github.com/mokus0/dependent-sum"; description = "Dependent sum type"; diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix index 0873e65d9daa..42ca82f4ac19 100644 --- a/pkgs/development/libraries/haskell/derive/default.nix +++ b/pkgs/development/libraries/haskell/derive/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "derive"; - version = "2.5.13"; - sha256 = "0lmwj66s4krh29qqmkyc3cn3j4b4mhyqvlngvmy1xaigmgib5aci"; + version = "2.5.14"; + sha256 = "1fihcd8l4z8d6rad8h39pg5gdb75h895c2xld9574fwp3bm0zl0c"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix index ee9b0907347e..bd09b67196b6 100644 --- a/pkgs/development/libraries/haskell/diagrams/cairo.nix +++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix @@ -1,14 +1,16 @@ { cabal, cairo, colour, dataDefaultClass, diagramsCore, diagramsLib -, filepath, lens, mtl, split, statestack, time +, filepath, hashable, JuicyPixels, lens, mtl, optparseApplicative +, split, statestack, time, vector }: cabal.mkDerivation (self: { pname = "diagrams-cairo"; - version = "1.0"; - sha256 = "1m549ryfyfjc6sg3xi0wlcpi4c0xj6yfrpjmxgiyl76rwaqns989"; + version = "1.1.0.2"; + sha256 = "0y36cx89rlbmj470a6g11wlzkwzznjkjmkcpm7dzbxvfxw4pp70z"; buildDepends = [ cairo colour dataDefaultClass diagramsCore diagramsLib filepath - lens mtl split statestack time + hashable JuicyPixels lens mtl optparseApplicative split statestack + time vector ]; meta = { homepage = "http://projects.haskell.org/diagrams"; diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix index c0ce17d63db4..aca28a024908 100644 --- a/pkgs/development/libraries/haskell/diagrams/contrib.nix +++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "diagrams-contrib"; - version = "1.1.0.1"; - sha256 = "1vgfk3drs61am5z0146pq17i00ygsi2pyz8qipf6c30c9wri9hjp"; + version = "1.1.1.4"; + sha256 = "0n2r6k65kxvk5mwm193yhzwnj3bhignq4xdslfpv2m1afdvws2y1"; buildDepends = [ arithmoi circlePacking colour dataDefault dataDefaultClass diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix index c291ce9a48cc..eb9207a936fe 100644 --- a/pkgs/development/libraries/haskell/diagrams/core.nix +++ b/pkgs/development/libraries/haskell/diagrams/core.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "diagrams-core"; - version = "1.0.0.1"; - sha256 = "19jri4np14lgf4pxyyczqjwh30cdmcpnb8alj60b0z5fca7042xm"; + version = "1.1.0.2"; + sha256 = "1py1dk6w6f00kd48kxbdbxmd3rakxdmwgpb09g346vmkbxkj56mq"; buildDepends = [ dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace vectorSpacePoints diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix index 7a0cd53218de..6159270379e2 100644 --- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix +++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "diagrams"; - version = "1.0.0.1"; - sha256 = "0nlh4n5ykymjkyi9n0r5l1caq1f26mijw7smnj78mv3d40qcrnv1"; + version = "1.1.0.1"; + sha256 = "0cxmrikcxgnrki9z8i33z7fbjpkx0vw849zj1cbq1zh8ry8xhhvg"; buildDepends = [ diagramsContrib diagramsCore diagramsLib diagramsSvg ]; diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index 858e24976421..fd839e428576 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -1,18 +1,17 @@ { cabal, active, colour, dataDefaultClass, diagramsCore, filepath -, fingertree, intervals, lens, MemoTrie, monoidExtras, NumInstances +, fingertree, hashable, intervals, lens, MemoTrie, monoidExtras , optparseApplicative, safe, semigroups, tagged, vectorSpace , vectorSpacePoints }: cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.0.0.1"; - sha256 = "1ilkc8dh1ma0wwmzgy6x3a6q6bwlw7dfv3mb24a5ny4i3wgvsnv8"; + version = "1.1.0.6"; + sha256 = "125krfaf73k2m73scnjdl0d76acwc6n9vhvvaqxxy1ln57caqh5x"; buildDepends = [ active colour dataDefaultClass diagramsCore filepath fingertree - intervals lens MemoTrie monoidExtras NumInstances - optparseApplicative safe semigroups tagged vectorSpace - vectorSpacePoints + hashable intervals lens MemoTrie monoidExtras optparseApplicative + safe semigroups tagged vectorSpace vectorSpacePoints ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix new file mode 100644 index 000000000000..55e2c975b0eb --- /dev/null +++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix @@ -0,0 +1,20 @@ +{ cabal, dataDefaultClass, diagramsCore, diagramsLib, dlist +, filepath, hashable, lens, monoidExtras, mtl, semigroups, split +, vectorSpace +}: + +cabal.mkDerivation (self: { + pname = "diagrams-postscript"; + version = "1.0.2.4"; + sha256 = "0vjzvjyrbmnjgl8ln58a44nhh4abq5q2c6fvlpxpfhxh2ligsmas"; + buildDepends = [ + dataDefaultClass diagramsCore diagramsLib dlist filepath hashable + lens monoidExtras mtl semigroups split vectorSpace + ]; + meta = { + homepage = "http://projects.haskell.org/diagrams/"; + description = "Postscript backend for diagrams drawing EDSL"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix index dea68b93e6d1..663a6287c623 100644 --- a/pkgs/development/libraries/haskell/diagrams/svg.nix +++ b/pkgs/development/libraries/haskell/diagrams/svg.nix @@ -1,15 +1,17 @@ -{ cabal, blazeSvg, colour, diagramsCore, diagramsLib, filepath -, lens, monoidExtras, mtl, split, time, vectorSpace +{ cabal, blazeMarkup, blazeSvg, colour, diagramsCore, diagramsLib +, filepath, hashable, lens, monoidExtras, mtl, split, time +, vectorSpace }: cabal.mkDerivation (self: { pname = "diagrams-svg"; - version = "1.0"; - sha256 = "13v1q9d2004k4324b0yxlmwrsanb0mk9pz0gqfxvx9v27sry12sl"; + version = "1.0.2.1"; + sha256 = "1qm4vk67knl4bpp84kwm95blshf7slarpl620m8irslsq3yag507"; buildDepends = [ - blazeSvg colour diagramsCore diagramsLib filepath lens monoidExtras - mtl split time vectorSpace + blazeMarkup blazeSvg colour diagramsCore diagramsLib filepath + hashable lens monoidExtras mtl split time vectorSpace ]; + jailbreak = true; meta = { homepage = "http://projects.haskell.org/diagrams/"; description = "SVG backend for diagrams drawing EDSL"; diff --git a/pkgs/development/libraries/haskell/diff3/default.nix b/pkgs/development/libraries/haskell/diff3/default.nix new file mode 100644 index 000000000000..60f27e89d58f --- /dev/null +++ b/pkgs/development/libraries/haskell/diff3/default.nix @@ -0,0 +1,19 @@ +{ cabal, Diff, QuickCheck, testFramework, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "diff3"; + version = "0.2.0.3"; + sha256 = "0zdfn1jhsq8pd23qpkhzr8wgiwbazfbq688bjnpc406i7gq88k78"; + buildDepends = [ Diff ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 + ]; + meta = { + homepage = "http://github.com/ocharles/diff3.git"; + description = "Perform a 3-way difference of documents"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix index 50ff8b005e44..ba0866b72d79 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix @@ -1,16 +1,14 @@ -{ cabal, aeson, aesonLens, digestiveFunctors, HUnit, lens, mtl -, safe, tasty, tastyHunit, text, vector +{ cabal, aeson, digestiveFunctors, HUnit, lens, mtl, safe +, scientific, tasty, tastyHunit, text, vector }: cabal.mkDerivation (self: { pname = "digestive-functors-aeson"; - version = "1.1.3"; - sha256 = "0194yd2b9irm1gmk3d8awrsrmsr4lml63wr4vm8a92s7w3hdy0db"; - buildDepends = [ - aeson aesonLens digestiveFunctors lens safe text vector - ]; + version = "1.1.7"; + sha256 = "07dnwmbcyb64yp51ijwsc84r6gf4rxxc4bi3wkzwxq1ijm1qhpni"; + buildDepends = [ aeson digestiveFunctors lens safe text vector ]; testDepends = [ - aeson digestiveFunctors HUnit mtl tasty tastyHunit text + aeson digestiveFunctors HUnit mtl scientific tasty tastyHunit text ]; meta = { homepage = "http://github.com/ocharles/digestive-functors-aeson"; diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix index f979926a42a9..86a6a8560fbd 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "digestive-functors-heist"; - version = "0.8.4.0"; - sha256 = "15n8piiqys010in8xp5iszjqsa2ndgk52adqgk2h6q3m5q0jkdb3"; + version = "0.8.5.0"; + sha256 = "0pjjr3b1zm23wpqnmcbr8ly08bp63sz3c9vbxcani4mwgx05qp87"; buildDepends = [ blazeBuilder digestiveFunctors heist mtl text xmlhtml ]; diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix index 6b20ed6ae89e..4c678da12b9e 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "digestive-functors-snap"; - version = "0.6.0.1"; - sha256 = "0y26fqhjb78mv6rzp3x6cbxrq4dqh2dzd81wd5sgsm079j5frjj7"; + version = "0.6.1.0"; + sha256 = "07xb8jr70j03kggk55p3zzp07y7amzm7f8hdzry4vff7yx41rxhr"; buildDepends = [ digestiveFunctors filepath mtl snapCore text ]; meta = { homepage = "http://github.com/jaspervdj/digestive-functors"; diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix index 43f0c4337e74..d0bd50e584b8 100644 --- a/pkgs/development/libraries/haskell/digestive-functors/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "digestive-functors"; - version = "0.6.2.0"; - sha256 = "1d07ws5s34x9sviq7mfkl6fh1rl28r5x1rmgbkcxil5h6gxn5mi7"; + version = "0.7.1.0"; + sha256 = "0ry0ircxs6ml4wdz6hrn3jnyhniwdnn1dn21imq3kv68jlhfn3by"; buildDepends = [ mtl text time ]; testDepends = [ HUnit mtl QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/dimensional-tf/default.nix b/pkgs/development/libraries/haskell/dimensional-tf/default.nix index 6bed24f5c40a..4b7117a0e4c2 100644 --- a/pkgs/development/libraries/haskell/dimensional-tf/default.nix +++ b/pkgs/development/libraries/haskell/dimensional-tf/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dimensional-tf"; - version = "0.2.1"; - sha256 = "1avvq8kgxagdw3345y7ly30i4x43l0i0m43rlb72j3inv6rdgxgz"; + version = "0.3"; + sha256 = "0z3k9962zz652bk2azv9lcms1j06v60hid3iach043dpg5r083qg"; buildDepends = [ numtypeTf time ]; meta = { homepage = "http://dimensional.googlecode.com/"; diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix index 512ea378b66e..f3444703c3df 100644 --- a/pkgs/development/libraries/haskell/dimensional/default.nix +++ b/pkgs/development/libraries/haskell/dimensional/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dimensional"; - version = "0.12.2"; - sha256 = "0b5w9g3xn74b7z4bcsfcijnj54r8cwbbd8129q61c3nhng1f896a"; + version = "0.13"; + sha256 = "1nj8h79iq7pirqlj8iw1p782nm05xgym3469x7hlzaz3ig9nwgrg"; buildDepends = [ numtype time ]; meta = { homepage = "http://dimensional.googlecode.com/"; diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix index 9ffd3ca728de..14be91cd1bf3 100644 --- a/pkgs/development/libraries/haskell/direct-sqlite/default.nix +++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "direct-sqlite"; - version = "2.3.9"; - sha256 = "0haq14acdijd41jvah6f6l6qlqc4wjp3mwkx57pz4q5m6qvxrz44"; + version = "2.3.12"; + sha256 = "14dcgmn3mfx69qx412dc8cxa4ia3adsf8gm5q4yscpp8rf78m178"; buildDepends = [ text ]; testDepends = [ base16Bytestring HUnit text ]; meta = { diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix index 72510e26d36d..053f938ae564 100644 --- a/pkgs/development/libraries/haskell/distributive/default.nix +++ b/pkgs/development/libraries/haskell/distributive/default.nix @@ -4,13 +4,13 @@ cabal.mkDerivation (self: { pname = "distributive"; - version = "0.4"; - sha256 = "11zln3h7pflv1f6jfma5b505p4wnr9xrs711mhh3a8xi20n4r318"; + version = "0.4.3.1"; + sha256 = "17ny7nlxg6x08f88dyl15wsdhgi0cgafxdsl5wdw5vv6y0jsrx27"; buildDepends = [ tagged transformers transformersCompat ]; testDepends = [ doctest filepath ]; meta = { homepage = "http://github.com/ekmett/distributive/"; - description = "Haskell 98 Distributive functors -- Dual to Traversable"; + description = "Distributive functors -- Dual to Traversable"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/dlist-instances/default.nix b/pkgs/development/libraries/haskell/dlist-instances/default.nix new file mode 100644 index 000000000000..d168c4b35831 --- /dev/null +++ b/pkgs/development/libraries/haskell/dlist-instances/default.nix @@ -0,0 +1,14 @@ +{ cabal, dlist, semigroups }: + +cabal.mkDerivation (self: { + pname = "dlist-instances"; + version = "0.1"; + sha256 = "0r1j7djywqd7c224wc9ixkplj3m2mbf9k3ra7n92ja2kfpksm615"; + buildDepends = [ dlist semigroups ]; + meta = { + homepage = "https://github.com/gregwebs/dlist-instances"; + description = "Difference lists instances"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix index 547ea9f8a478..bf63239dd812 100644 --- a/pkgs/development/libraries/haskell/dlist/default.nix +++ b/pkgs/development/libraries/haskell/dlist/default.nix @@ -1,9 +1,10 @@ -{ cabal, Cabal, QuickCheck }: +{ cabal, Cabal, deepseq, QuickCheck }: cabal.mkDerivation (self: { pname = "dlist"; - version = "0.6.0.1"; - sha256 = "08q8dsczh59a0ii3nqk6yqz70msd0pndjjcg9dzq8iyknbbqbi45"; + version = "0.7.0.1"; + sha256 = "197k608ja69xc531r7h3gmy1mf6dsk27b3mkpgp4zdw46z6lcb5l"; + buildDepends = [ deepseq ]; testDepends = [ Cabal QuickCheck ]; meta = { homepage = "https://github.com/spl/dlist"; diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index 9dd35804f430..97a120f21237 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -1,19 +1,19 @@ { cabal, attoparsec, attoparsecConduit, binary, blazeBuilder -, conduit, doctest, hspec, iproute, mtl, network, networkConduit -, random +, conduit, conduitExtra, doctest, hspec, iproute, mtl, network +, random, resourcet }: cabal.mkDerivation (self: { pname = "dns"; - version = "1.0.0"; - sha256 = "16h7c332qdj77dw8kvrdn1jzhzsnrcybbbm5x7pxvgpnn0wzz8si"; + version = "1.2.1"; + sha256 = "0xv8mj2x8ijqgi7gnh2shr7ns9qghiczm3lw9n37mxk02zbvw8h0"; buildDepends = [ - attoparsec attoparsecConduit binary blazeBuilder conduit iproute - mtl network networkConduit random + attoparsec attoparsecConduit binary blazeBuilder conduit + conduitExtra iproute mtl network random resourcet ]; testDepends = [ - attoparsec attoparsecConduit binary blazeBuilder conduit doctest - hspec iproute mtl network networkConduit random + attoparsec attoparsecConduit binary blazeBuilder conduit + conduitExtra doctest hspec iproute mtl network random resourcet ]; testTarget = "spec"; meta = { diff --git a/pkgs/development/libraries/haskell/doctest/default.nix b/pkgs/development/libraries/haskell/doctest/default.nix index 46e69c95f940..ad7bcfe62409 100644 --- a/pkgs/development/libraries/haskell/doctest/default.nix +++ b/pkgs/development/libraries/haskell/doctest/default.nix @@ -1,17 +1,17 @@ -{ cabal, deepseq, filepath, ghcPaths, hspec, HUnit, QuickCheck -, setenv, silently, stringbuilder, syb, transformers +{ cabal, baseCompat, deepseq, filepath, ghcPaths, hspec, HUnit +, QuickCheck, setenv, silently, stringbuilder, syb, transformers }: cabal.mkDerivation (self: { pname = "doctest"; - version = "0.9.10"; - sha256 = "1xislgmg62i2bngq8ghg31r4ip4qdbqzr6rqhm5wac7nchjv0j83"; + version = "0.9.11"; + sha256 = "04y6y5hixqh8awl37wrss20c2drvx070w7wd6icfx7r0jqds97jr"; isLibrary = true; isExecutable = true; buildDepends = [ deepseq filepath ghcPaths syb transformers ]; testDepends = [ - deepseq filepath ghcPaths hspec HUnit QuickCheck setenv silently - stringbuilder syb transformers + baseCompat deepseq filepath ghcPaths hspec HUnit QuickCheck setenv + silently stringbuilder syb transformers ]; doCheck = false; noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.4"; diff --git a/pkgs/development/libraries/haskell/dsp/default.nix b/pkgs/development/libraries/haskell/dsp/default.nix new file mode 100644 index 000000000000..c16a6888b6b7 --- /dev/null +++ b/pkgs/development/libraries/haskell/dsp/default.nix @@ -0,0 +1,16 @@ +{ cabal, random }: + +cabal.mkDerivation (self: { + pname = "dsp"; + version = "0.2.3"; + sha256 = "1h7y3b2gwbkq97lv6f9a4zssyqs422g5zj2bi9mq1a5fzy5i4v4v"; + isLibrary = true; + isExecutable = true; + buildDepends = [ random ]; + meta = { + homepage = "http://www.haskell.org/haskellwiki/DSP"; + description = "Haskell Digital Signal Processing"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix index f8ef34a17234..7b2023c0812d 100644 --- a/pkgs/development/libraries/haskell/dual-tree/default.nix +++ b/pkgs/development/libraries/haskell/dual-tree/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dual-tree"; - version = "0.2.0.1"; - sha256 = "0v9kdhnwq8nv30ci5q7n43abl0wag21i06wp8pv1xgrva4lhswm5"; + version = "0.2.0.2"; + sha256 = "0w0kfzij22209slddyzr2g77khcgpv4ridhvkgl8z3d5sp7ggby1"; buildDepends = [ monoidExtras newtype semigroups ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/dyre/default.nix b/pkgs/development/libraries/haskell/dyre/default.nix index 8b3d2cab677a..178f01952ea4 100644 --- a/pkgs/development/libraries/haskell/dyre/default.nix +++ b/pkgs/development/libraries/haskell/dyre/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "dyre"; - version = "0.8.11"; - sha256 = "0sg5csshznbbyvq72s4sps7bkjlkfxiwcy4i3ip83lrxjw1msvr8"; + version = "0.8.12"; + sha256 = "10hnlysy4bjvvznk8v902mlk4jx95qf972clyi1l32xkqrf30972"; buildDepends = [ binary executablePath filepath ghcPaths ioStorage time xdgBasedir ]; diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix index cec991fab3f4..46348d7e4bb4 100644 --- a/pkgs/development/libraries/haskell/either/default.nix +++ b/pkgs/development/libraries/haskell/either/default.nix @@ -4,12 +4,13 @@ cabal.mkDerivation (self: { pname = "either"; - version = "4.1"; - sha256 = "1wddidjqwk283zrydl6xwi0crrrlskayici0fhjyf2abd3lgnnkc"; + version = "4.1.1"; + sha256 = "0wipgwrca7bm4rm843gc0p69f2hvm2z067mjrv8qvnivyxhy8i6k"; buildDepends = [ monadControl MonadRandom mtl semigroupoids semigroups transformers transformersBase ]; + noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.6"; meta = { homepage = "http://github.com/ekmett/either/"; description = "An either monad transformer"; diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix index dd3c40a7d2c6..28ef546163a5 100644 --- a/pkgs/development/libraries/haskell/ekg/default.nix +++ b/pkgs/development/libraries/haskell/ekg/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "ekg"; - version = "0.3.1.3"; - sha256 = "1d8ly1lc92gh26bdqg3ql6n2iai3nyvwic6sj8pani58iv0p4ppc"; + version = "0.3.1.4"; + sha256 = "0hr9962yx463rq53xfqfm7vlv9izn47v3css3m6n4v694qlyz95i"; buildDepends = [ aeson filepath network snapCore snapServer text time transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/email-validate/default.nix b/pkgs/development/libraries/haskell/email-validate/default.nix index 3ba059261794..a1b094337823 100644 --- a/pkgs/development/libraries/haskell/email-validate/default.nix +++ b/pkgs/development/libraries/haskell/email-validate/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "email-validate"; - version = "1.0.0"; - sha256 = "0sj1cvn9ap0m8d4cg4cqavvmkd74vp86lyyra9g6f17815sxdbsg"; + version = "2.0.1"; + sha256 = "1qxvcm8xiyz50ganzic8cm8nxswq361i80yi939y3n89dk067lzj"; buildDepends = [ attoparsec ]; testDepends = [ HUnit QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix new file mode 100644 index 000000000000..113c454d6db1 --- /dev/null +++ b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix @@ -0,0 +1,21 @@ +{ cabal, async, deepseq, hspec, liftedBase, monadControl +, QuickCheck, transformers +}: + +cabal.mkDerivation (self: { + pname = "enclosed-exceptions"; + version = "1.0.0.1"; + sha256 = "0imq5kp45yfkhkz51ld869pf9hnlkbh92nk0aig1z8cc6akjnjw0"; + buildDepends = [ + async deepseq liftedBase monadControl transformers + ]; + testDepends = [ + async deepseq hspec liftedBase monadControl QuickCheck transformers + ]; + meta = { + homepage = "https://github.com/jcristovao/enclosed-exceptions"; + description = "Catching all exceptions from within an enclosed computation"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix index 5e55f3a6d59c..7207bfbb1858 100644 --- a/pkgs/development/libraries/haskell/errors/default.nix +++ b/pkgs/development/libraries/haskell/errors/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "errors"; - version = "1.4.5"; - sha256 = "16m4psk1150319bd2hrswpp2h90l1hhh7w13arfhy4ylh8vscm4q"; + version = "1.4.6"; + sha256 = "1h8va76rhvs76ljdccxbmb659qk1slzkal118m85bw6lpy5wv6fi"; buildDepends = [ either safe transformers ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix index 5376ac4d7e68..9103480d48f9 100644 --- a/pkgs/development/libraries/haskell/esqueleto/default.nix +++ b/pkgs/development/libraries/haskell/esqueleto/default.nix @@ -5,15 +5,16 @@ cabal.mkDerivation (self: { pname = "esqueleto"; - version = "1.3.4.3"; - sha256 = "1p35nzaqmpcc7slr10ihlc54kz5zv5ak0ql848m3xpbjfzq6f6vc"; + version = "1.3.10"; + sha256 = "0q333m7xaanxb1vzgf2yn6d7y3pgkbj9mjw5gnywms36v5zsfik7"; buildDepends = [ conduit monadLogger persistent resourcet tagged text transformers unorderedContainers ]; testDepends = [ conduit hspec HUnit monadControl monadLogger persistent - persistentSqlite persistentTemplate QuickCheck text transformers + persistentSqlite persistentTemplate QuickCheck resourcet text + transformers ]; meta = { homepage = "https://github.com/meteficha/esqueleto"; diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix index 0665694212b6..5d58654e51d4 100644 --- a/pkgs/development/libraries/haskell/exceptions/default.nix +++ b/pkgs/development/libraries/haskell/exceptions/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "exceptions"; - version = "0.3.3"; - sha256 = "1gng8zvsljm6xrb5gy501f1dl47z171wkic8bsivhn4rgp9lby9l"; + version = "0.5"; + sha256 = "0l9gpifp23j6hvyq8p48rxsnv9adqbf7z096dzvd8v5xqqybgyxi"; buildDepends = [ mtl transformers ]; testDepends = [ mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers @@ -13,7 +13,7 @@ cabal.mkDerivation (self: { meta = { homepage = "http://github.com/ekmett/exceptions/"; description = "Extensible optionally-pure exceptions"; - license = "unknown"; + license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix index bc2821e3e8c5..9c0edece3029 100644 --- a/pkgs/development/libraries/haskell/failure/default.nix +++ b/pkgs/development/libraries/haskell/failure/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "failure"; - version = "0.2.0.1"; - sha256 = "05k62sb2xj4ddjwsbfldxkap7v5kmv04qzic4sszx5i3ykbf20fd"; + version = "0.2.0.2"; + sha256 = "0hvcsn7qx00613f23vvb3vjpjlcy0nfavsai9f6s3yvmyssk5kfv"; buildDepends = [ transformers ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Failure"; - description = "A simple type class for success/failure computations"; + description = "A simple type class for success/failure computations. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix index 90432dfe9750..9c9cae45b4b6 100644 --- a/pkgs/development/libraries/haskell/fast-logger/default.nix +++ b/pkgs/development/libraries/haskell/fast-logger/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fast-logger"; - version = "2.1.4"; - sha256 = "1fb75wx1v9h7690x43kd85lq1h9zi8nq438pqclzzrcfidsnm6z5"; + version = "2.1.5"; + sha256 = "12f7yad2f6q846rw2ji5fsx3d7qd8jdrnnzsbji5bpv00mvvsiza"; buildDepends = [ blazeBuilder filepath text ]; testDepends = [ hspec ]; meta = { diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix new file mode 100644 index 000000000000..fae2c8ee93f5 --- /dev/null +++ b/pkgs/development/libraries/haskell/fay-base/default.nix @@ -0,0 +1,15 @@ +{ cabal, fay }: + +cabal.mkDerivation (self: { + pname = "fay-base"; + version = "0.19.1.1"; + sha256 = "1qn48aj7j33gvb6vmz986cqi41zvh62sbmmvwgyhpmrhsfkm5wkz"; + buildDepends = [ fay ]; + meta = { + homepage = "https://github.com/faylang/fay-base"; + description = "The base package for Fay"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix new file mode 100644 index 000000000000..f7bf07b4fbab --- /dev/null +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -0,0 +1,30 @@ +{ cabal, aeson, attoparsec, Cabal, cpphs, dataDefault, filepath +, ghcPaths, haskellNames, haskellPackages, haskellSrcExts, HUnit +, languageEcmascript, mtl, optparseApplicative, prettyShow, safe +, scientific, sourcemap, split, syb, testFramework +, testFrameworkHunit, testFrameworkTh, text, time, uniplate +, unorderedContainers, utf8String, vector +}: + +cabal.mkDerivation (self: { + pname = "fay"; + version = "0.19.2"; + sha256 = "08lq2x87gsf5szdj613k9h3qxzpb99hjhxnq3vggs2kf0ijp6xmh"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson attoparsec Cabal cpphs dataDefault filepath ghcPaths + haskellNames haskellPackages haskellSrcExts HUnit + languageEcmascript mtl optparseApplicative prettyShow safe + scientific sourcemap split syb testFramework testFrameworkHunit + testFrameworkTh text time uniplate unorderedContainers utf8String + vector + ]; + meta = { + homepage = "http://fay-lang.org/"; + description = "A compiler for Fay, a Haskell subset that compiles to JavaScript"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix new file mode 100644 index 000000000000..89f8a2121f83 --- /dev/null +++ b/pkgs/development/libraries/haskell/fb/default.nix @@ -0,0 +1,30 @@ +{ cabal, aeson, attoparsec, base16Bytestring, base64Bytestring +, cereal, conduit, conduitExtra, cryptoApi, cryptohash +, cryptohashCryptoapi, dataDefault, hspec, httpConduit, httpTypes +, HUnit, liftedBase, monadControl, monadLogger, QuickCheck +, resourcet, text, time, transformers, transformersBase +, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "fb"; + version = "1.0"; + sha256 = "1pkjpzhdysq5vn302wipz62w6v9fibpvd4smaylv8wgn09si91ji"; + buildDepends = [ + aeson attoparsec base16Bytestring base64Bytestring cereal conduit + conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault + httpConduit httpTypes liftedBase monadControl monadLogger resourcet + text time transformers transformersBase unorderedContainers + ]; + testDepends = [ + aeson conduit dataDefault hspec httpConduit HUnit liftedBase + monadControl QuickCheck resourcet text time transformers + ]; + doCheck = false; + meta = { + homepage = "https://github.com/meteficha/fb"; + description = "Bindings to Facebook's API"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/fdo-notify/default.nix b/pkgs/development/libraries/haskell/fdo-notify/default.nix new file mode 100644 index 000000000000..86f3d7e0d1de --- /dev/null +++ b/pkgs/development/libraries/haskell/fdo-notify/default.nix @@ -0,0 +1,14 @@ +{ cabal, dbus }: + +cabal.mkDerivation (self: { + pname = "fdo-notify"; + version = "0.3.1"; + sha256 = "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh"; + buildDepends = [ dbus ]; + meta = { + homepage = "http://bitbucket.org/taejo/fdo-notify/"; + description = "Desktop Notifications client"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/filepath/default.nix b/pkgs/development/libraries/haskell/filepath/default.nix index 0cd65bb1905e..7a2b9e75e7f9 100644 --- a/pkgs/development/libraries/haskell/filepath/default.nix +++ b/pkgs/development/libraries/haskell/filepath/default.nix @@ -1,9 +1,10 @@ -{ cabal }: +{ cabal, QuickCheck, random }: cabal.mkDerivation (self: { pname = "filepath"; - version = "1.3.0.1"; - sha256 = "1ny8dz8rv883vg6hkzg3zank771cr2z9sfhii7aw4rfb71k29g5p"; + version = "1.3.0.2"; + sha256 = "0wvvz6cs5fh4f04a87b9s7xrnzypmnzzkn149p6xk8xi7gcvcpy2"; + testDepends = [ QuickCheck random ]; meta = { homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/"; description = "Library for manipulating FilePaths in a cross platform way"; diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix index 04321d34ffa1..d0056dd9c35a 100644 --- a/pkgs/development/libraries/haskell/filestore/default.nix +++ b/pkgs/development/libraries/haskell/filestore/default.nix @@ -8,7 +8,7 @@ cabal.mkDerivation (self: { sha256 = "1la30bimcjngcv5dyx1a9x8lr8c4zs0dp4kzh8y5mjf8snky1avf"; buildDepends = [ Diff filepath parsec split time utf8String xml ]; testDepends = [ Diff filepath HUnit mtl time ]; - doCheck = false; + jailbreak = true; meta = { description = "Interface for versioning file stores"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix index f1a0554e380c..3d7a1300b58a 100644 --- a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix +++ b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "filesystem-conduit"; - version = "1.0.0.1"; - sha256 = "04l8i97mr0jzkc7vc77j885n45qd2qyn5kmzxyckp3za96sjsqqw"; + version = "1.0.0.2"; + sha256 = "05dsl3bgyjciq6sgmba0hki7imilrjq3ddp9ip5gxl9884j1f4a1"; buildDepends = [ conduit systemFileio systemFilepath text transformers ]; @@ -14,7 +14,7 @@ cabal.mkDerivation (self: { ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Use system-filepath data types with conduits"; + description = "Use system-filepath data types with conduits. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix index efc0aa61d3d3..926c2a812a0b 100644 --- a/pkgs/development/libraries/haskell/foldl/default.nix +++ b/pkgs/development/libraries/haskell/foldl/default.nix @@ -1,10 +1,10 @@ -{ cabal, text }: +{ cabal, primitive, text, transformers, vector }: cabal.mkDerivation (self: { pname = "foldl"; - version = "1.0.1"; - sha256 = "194dkpjh0964cmh4mg35qffkg8dx8d821aj8k6khb40fq5s8smjy"; - buildDepends = [ text ]; + version = "1.0.3"; + sha256 = "0jl50bh7k8wp0nz0s0sb2zwh92yrgsm2l6szib41g7zq34mwamn9"; + buildDepends = [ primitive text transformers vector ]; meta = { description = "Composable, streaming, and efficient left folds"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix index 6c1082b0f4b3..a336c2a7e2bb 100644 --- a/pkgs/development/libraries/haskell/force-layout/default.nix +++ b/pkgs/development/libraries/haskell/force-layout/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "force-layout"; - version = "0.3"; - sha256 = "1v4jgh08ppvfxc8w13wc9iiwk5hh2q9n7m5xb9vl59bmxdx81kai"; + version = "0.3.0.3"; + sha256 = "0xix9syfiya5wx0iwzs7sp3ksqyp15vjlpir71x8md8v0hkrnh5a"; buildDepends = [ dataDefaultClass lens vectorSpace vectorSpacePoints ]; diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix index a481d4519734..1c7c236ba64f 100644 --- a/pkgs/development/libraries/haskell/free/default.nix +++ b/pkgs/development/libraries/haskell/free/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "free"; - version = "4.2"; - sha256 = "0g2k36xqma8r6shrih40w5xv0pgs5ldr9lhc5hjpwmh4n3hgdhfb"; + version = "4.6.1"; + sha256 = "0xmnxp6x7b6pp2ap7jrjhz00cm30v334i9dcxc14d3r070h7l73w"; buildDepends = [ bifunctors comonad distributive mtl profunctors semigroupoids semigroups transformers diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix index 1ef55d105f79..3d308f6a88fa 100644 --- a/pkgs/development/libraries/haskell/fsnotify/default.nix +++ b/pkgs/development/libraries/haskell/fsnotify/default.nix @@ -1,16 +1,18 @@ -{ cabal, Cabal, Glob, hinotify, hspec, QuickCheck, random +{ stdenv, cabal, Cabal, Glob, hspec, QuickCheck, random , systemFileio, systemFilepath, text, time, uniqueid +, hinotify, hfsevents }: cabal.mkDerivation (self: { pname = "fsnotify"; version = "0.0.11"; sha256 = "03m911pncyzgfdx4aj38azbbmj25fdm3s9l1w27zv0l730fy8ywq"; - buildDepends = [ hinotify systemFileio systemFilepath text time ]; + buildDepends = [ systemFileio systemFilepath text time ] ++ + (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); testDepends = [ - Cabal Glob hinotify hspec QuickCheck random systemFileio + Cabal Glob hspec QuickCheck random systemFileio systemFilepath text time uniqueid - ]; + ] ++ (if stdenv.isDarwin then [ hfsevents ] else [ hinotify ]); doCheck = false; meta = { description = "Cross platform library for file change notification"; diff --git a/pkgs/development/libraries/haskell/ftphs/default.nix b/pkgs/development/libraries/haskell/ftphs/default.nix new file mode 100644 index 000000000000..c682c593ea63 --- /dev/null +++ b/pkgs/development/libraries/haskell/ftphs/default.nix @@ -0,0 +1,18 @@ +{ cabal, hslogger, MissingH, mtl, network, parsec, regexCompat }: + +cabal.mkDerivation (self: { + pname = "ftphs"; + version = "1.0.9.1"; + sha256 = "1whvawaifhi5xgmiagdayjf7m6p6vs71mvc4a4csd4vzzjr0a2yf"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + hslogger MissingH mtl network parsec regexCompat + ]; + meta = { + homepage = "http://software.complete.org/ftphs"; + description = "FTP Client and Server Library"; + license = "LGPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix index 5081d09939bf..9b1d911638ff 100644 --- a/pkgs/development/libraries/haskell/generic-deriving/default.nix +++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "generic-deriving"; - version = "1.6.2"; - sha256 = "1ryzg7zgnlhx6mbmpsh4fgqf2d758c94qz2zpg3jxns30hd4sfy6"; + version = "1.6.3"; + sha256 = "04cjyl5aphf36qbbn75midrqj151fc77z2znpal8dk52gaab2f67"; meta = { description = "Generic programming library for generalised deriving"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix index 5b7decf9416b..a13f56e4b53d 100644 --- a/pkgs/development/libraries/haskell/ghc-events/default.nix +++ b/pkgs/development/libraries/haskell/ghc-events/default.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ binary mtl ]; testDepends = [ binary mtl ]; + jailbreak = true; doCheck = false; meta = { description = "Library and tool for parsing .eventlog files from GHC"; diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index d37bfcf0f5a3..185f70785e53 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -1,20 +1,20 @@ -{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths -, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers +{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcSybUtils +, hlint, hspec, ioChoice, syb, time, transformers }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "3.1.5"; - sha256 = "1sjam6cqz9dhgsdv4sm1lgmwq5dhs9x5q3p1h7l0n34w2q7cc6if"; + version = "4.0.2"; + sha256 = "10ndlydx0ymz8fbcgjjnzyak7lly34012bsghwj0i0dc5ja1pic8"; isLibrary = true; isExecutable = true; buildDepends = [ - Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb - time transformers + Cabal convertible filepath ghcSybUtils hlint ioChoice syb time + transformers ]; testDepends = [ - Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec - ioChoice syb time transformers + Cabal convertible doctest filepath ghcSybUtils hlint hspec ioChoice + syb time transformers ]; buildTools = [ emacs ]; postInstall = '' diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix index ea2495f6586a..592961aa5549 100644 --- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix @@ -1,12 +1,12 @@ -{ cabal, MonadCatchIOMtl, mtl }: +{ cabal, exceptions, extensibleExceptions, mtl }: cabal.mkDerivation (self: { pname = "ghc-mtl"; - version = "1.0.1.2"; - sha256 = "06m8ynqlbvvs37w211ikldwvlvg4ry27x9l7idnwa1m8w2jkbkva"; - buildDepends = [ MonadCatchIOMtl mtl ]; + version = "1.2.0.0"; + sha256 = "0fk3adc56nhi46nf2w5ybp3cd9l13qqbpd5nbhfhbqj3g73j8p5a"; + buildDepends = [ exceptions extensibleExceptions mtl ]; meta = { - homepage = "http://darcsden.com/jcpetruzza/ghc-mtl"; + homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl"; description = "An mtl compatible version of the Ghc-Api monads and monad-transformers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix new file mode 100644 index 000000000000..3f15f394c2c6 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghcjs-codemirror/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "ghcjs-codemirror"; + version = "0.0.0.1"; + sha256 = "04x5h0i4fgyc2c5ihrnk0w3l1f3avvcl115zlnich93nillgbnfw"; + meta = { + homepage = "https://github.com/ghcjs/CodeMirror"; + description = "Installs CodeMirror JavaScript files"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix new file mode 100644 index 000000000000..20fc85b95f18 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix @@ -0,0 +1,13 @@ +{ cabal, ghcjsBase, mtl }: + +cabal.mkDerivation (self: { + pname = "ghcjs-dom"; + version = "0.0.7"; + sha256 = "1yg2c0slndg3y9bk95xkbgl8zp4lmcgw9wk3jkk1sdizn3y3yggq"; + buildDepends = [ ghcjsBase mtl ]; + meta = { + description = "DOM library that supports both GHCJS and WebKitGTK"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix index 6506800a1740..19d51d93aab5 100644 --- a/pkgs/development/libraries/haskell/gio/default.nix +++ b/pkgs/development/libraries/haskell/gio/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "gio"; - version = "0.12.5.0"; - sha256 = "08gg3dh3xsgvj3hwylg5pgrhdrvi1chsybkd0l4hd4bycpm3sx98"; + version = "0.12.5.3"; + sha256 = "1n9sima0m30w1bmfk0wb4fawrg76vgpvlzki0kwdh6f0sfczxywc"; buildDepends = [ glib mtl ]; buildTools = [ gtk2hsBuildtools ]; pkgconfigDepends = [ glib ]; diff --git a/pkgs/development/libraries/haskell/git-date/default.nix b/pkgs/development/libraries/haskell/git-date/default.nix new file mode 100644 index 000000000000..9124da6c7a6f --- /dev/null +++ b/pkgs/development/libraries/haskell/git-date/default.nix @@ -0,0 +1,19 @@ +{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2, time +, utf8String +}: + +cabal.mkDerivation (self: { + pname = "git-date"; + version = "0.2.1"; + sha256 = "17xiim439igg1gfcfwpzxjkgpmfqqh9v79jm4bg0f9h5dijij79l"; + buildDepends = [ time utf8String ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 time utf8String + ]; + meta = { + homepage = "https://github.com/singpolyma/git-date-haskell"; + description = "Bindings to the date parsing from Git"; + license = self.stdenv.lib.licenses.gpl2; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix index 9db0055922d8..5fd23514583c 100644 --- a/pkgs/development/libraries/haskell/github/default.nix +++ b/pkgs/development/libraries/haskell/github/default.nix @@ -5,14 +5,17 @@ cabal.mkDerivation (self: { pname = "github"; - version = "0.7.3"; - sha256 = "0cb7smydndigkcib4y8pbsycsqyzg45g5vrglyq1h245rd4j6s37"; + version = "0.7.4"; + sha256 = "1yalhixisjv1n9ihik3h6ya25f0066dd422nbpfysj9093hv3a5w"; buildDepends = [ aeson attoparsec caseInsensitive conduit dataDefault failure hashable HTTP httpConduit httpTypes network text time unorderedContainers vector ]; jailbreak = true; + patchPhase = '' + sed -i -e '/^import Data.Conduit (ResourceT)/d' Github/Private.hs + ''; meta = { homepage = "https://github.com/fpco/github"; description = "Access to the Github API, v3"; diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix index 4761c35127e3..9ae07187f5af 100644 --- a/pkgs/development/libraries/haskell/glib/default.nix +++ b/pkgs/development/libraries/haskell/glib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "glib"; - version = "0.12.5.0"; - sha256 = "0s3gw4xd6d84hylzniy3sjjzz2ia2q4249vplhqn6y64dj96l196"; + version = "0.12.5.3"; + sha256 = "0hn55x0bzc6xxsd5fhlnh2mpdn8n80295i2irgbgxqc1wn226frc"; buildDepends = [ utf8String ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc pkgconfig ]; diff --git a/pkgs/development/libraries/haskell/gloss-raster/default.nix b/pkgs/development/libraries/haskell/gloss-raster/default.nix index 4d1b85669dab..4a34c7195c20 100644 --- a/pkgs/development/libraries/haskell/gloss-raster/default.nix +++ b/pkgs/development/libraries/haskell/gloss-raster/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "gloss-raster"; - version = "1.8.1.1"; - sha256 = "0qqk2fizmv1zdvi8lljxiqdwlmfzni4qzsdvm2jbvgg5qjx9l9qp"; + version = "1.8.1.2"; + sha256 = "1cpibilv027rfx7xz957f1d7wy6b5z6dgfjrw425ck497r8gfgp4"; buildDepends = [ gloss repa ]; extraLibraries = [ llvm ]; meta = { diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix index 0f0777909e82..223a72ec3818 100644 --- a/pkgs/development/libraries/haskell/gloss/default.nix +++ b/pkgs/development/libraries/haskell/gloss/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "gloss"; - version = "1.8.1.1"; - sha256 = "135rrgzx4xq8279zbsl4538hjn8np4g6409fgva2cb9shw8z5pmj"; + version = "1.8.1.2"; + sha256 = "1ky1gckvyww855dy3fzllf1ixbmc3jpdvz85hx719pcygy7qh71m"; buildDepends = [ bmp GLUT OpenGL ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/gnuidn/default.nix b/pkgs/development/libraries/haskell/gnuidn/default.nix index 6ae78cf49b6a..9192f6bb29bb 100644 --- a/pkgs/development/libraries/haskell/gnuidn/default.nix +++ b/pkgs/development/libraries/haskell/gnuidn/default.nix @@ -2,14 +2,14 @@ cabal.mkDerivation (self: { pname = "gnuidn"; - version = "0.2"; - sha256 = "0xk72p3z1lwlmab0jcf7m48p5pncgz00hb7l96naz1gdkbq7xizd"; + version = "0.2.1"; + sha256 = "1jii635wc3j1jnwwx24j9gg9xd91g2iw5967acn74p7db62lqx37"; buildDepends = [ text ]; buildTools = [ c2hs ]; extraLibraries = [ libidn ]; pkgconfigDepends = [ libidn ]; meta = { - homepage = "http://john-millikin.com/software/bindings/gnuidn/"; + homepage = "https://john-millikin.com/software/haskell-gnuidn/"; description = "Bindings for GNU IDN"; license = self.stdenv.lib.licenses.gpl3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/gnuplot/default.nix b/pkgs/development/libraries/haskell/gnuplot/default.nix new file mode 100644 index 000000000000..f835410dbbd9 --- /dev/null +++ b/pkgs/development/libraries/haskell/gnuplot/default.nix @@ -0,0 +1,22 @@ +{ cabal, dataAccessor, dataAccessorTransformers, deepseq, filepath +, temporary, time, transformers, utilityHt +}: + +cabal.mkDerivation (self: { + pname = "gnuplot"; + version = "0.5.2.2"; + sha256 = "0l5hi346bhs9w11i3z6yy4mcr3k50xcp3j31g6wza9grxlfqc5av"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + dataAccessor dataAccessorTransformers deepseq filepath temporary + time transformers utilityHt + ]; + jailbreak = true; + meta = { + homepage = "http://www.haskell.org/haskellwiki/Gnuplot"; + description = "2D and 3D plots using gnuplot"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/graph-wrapper/default.nix b/pkgs/development/libraries/haskell/graph-wrapper/default.nix new file mode 100644 index 000000000000..86d25c24fda3 --- /dev/null +++ b/pkgs/development/libraries/haskell/graph-wrapper/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "graph-wrapper"; + version = "0.2.4.2"; + sha256 = "0cf70xvmzn4w5pg1bxizajqgcbjwwk6jrd7hnb3kfqy1v3apifyf"; + meta = { + homepage = "http://www.github.com/batterseapower/graph-wrapper"; + description = "A wrapper around the standard Data.Graph with a less awkward interface"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/gtk-traymanager/default.nix b/pkgs/development/libraries/haskell/gtk-traymanager/default.nix new file mode 100644 index 000000000000..f55d9f2edef2 --- /dev/null +++ b/pkgs/development/libraries/haskell/gtk-traymanager/default.nix @@ -0,0 +1,15 @@ +{ cabal, glib, gtk, x11 }: + +cabal.mkDerivation (self: { + pname = "gtk-traymanager"; + version = "0.1.3"; + sha256 = "07671f3j3r07djgvrlpbdaqqnm2yc7sc5f5isjn5nczrwh8n0sj4"; + buildDepends = [ glib gtk ]; + pkgconfigDepends = [ gtk x11 ]; + meta = { + homepage = "http://github.com/travitch/gtk-traymanager"; + description = "A wrapper around the eggtraymanager library for Linux system trays"; + license = self.stdenv.lib.licenses.lgpl21; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix index 6acf1fb90c64..081573e72236 100644 --- a/pkgs/development/libraries/haskell/gtk/default.nix +++ b/pkgs/development/libraries/haskell/gtk/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "gtk"; - version = "0.12.5.0"; - sha256 = "1xj2x9aakk70k3z88klfniqvffzbdkn55vslbqk60k6sv4k3qs2n"; + version = "0.12.5.6"; + sha256 = "06i6y7psl8fd7cy7jn0aqp98k876spr5vjgjxs8730pw3x17z6ld"; buildDepends = [ cairo glib mtl pango ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc pkgconfig ]; diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 36e56de639c3..5e40bb851f08 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "hakyll"; - version = "4.4.3.0"; - sha256 = "1ngjzqgyhdfkzikyg6cicqdb6cpw2bbfr4g73vgmzlg8spy1cyg5"; + version = "4.5.1.0"; + sha256 = "0p78wscz9gwg1as49wjl49ydzbv972w6wmbmvhw1rfb9d5xana1i"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -26,9 +26,6 @@ cabal.mkDerivation (self: { testFrameworkHunit testFrameworkQuickcheck2 text time ]; doCheck = false; - patchPhase = '' - sed -i -e 's|pandoc-citeproc >=.*,|pandoc-citeproc,|' hakyll.cabal - ''; meta = { homepage = "http://jaspervdj.be/hakyll"; description = "A static website compiler library"; diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix index ca6de3fecfe1..445fb67386e8 100644 --- a/pkgs/development/libraries/haskell/hamlet/default.nix +++ b/pkgs/development/libraries/haskell/hamlet/default.nix @@ -1,13 +1,15 @@ { cabal, blazeBuilder, blazeHtml, blazeMarkup, failure, hspec -, HUnit, parsec, shakespeare, text +, HUnit, parsec, shakespeare, systemFileio, systemFilepath, text +, time }: cabal.mkDerivation (self: { pname = "hamlet"; - version = "1.1.7.6"; - sha256 = "1b0y7imdihm87nkz32bmh2gbalidy9rzp85x677lvxc99c1m9d1d"; + version = "1.1.9.2"; + sha256 = "122wfkk23a2bvz29hrgxj24k6cf315fwdbz70ih3nclawh0bhani"; buildDepends = [ - blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text + blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare + systemFileio systemFilepath text time ]; testDepends = [ blazeHtml blazeMarkup hspec HUnit parsec text ]; meta = { diff --git a/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix new file mode 100644 index 000000000000..858512e9add1 --- /dev/null +++ b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix @@ -0,0 +1,14 @@ +{ cabal, cgi, fastcgi, happstackServer, mtl, utf8String }: + +cabal.mkDerivation (self: { + pname = "happstack-fastcgi"; + version = "0.1.5"; + sha256 = "0rvb041nx2f8azvfy1yysisjqrmsfbxnccn992v5q7zhlglcvj8h"; + buildDepends = [ cgi fastcgi happstackServer mtl utf8String ]; + meta = { + description = "Happstack extension for use with FastCGI"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.tomberek ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix index 46edfb8946ac..01cf72627835 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-lite.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-lite.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "happstack-lite"; - version = "7.3.1"; - sha256 = "0y8d0xv26szfjmkfqzak19zqjgv0w6rkc1rzrd2jkvsbchnwacjy"; + version = "7.3.3"; + sha256 = "0iv60cch0fiy9kh21wcpk3s4nvd4j2p50pqr3y56bsqwxk53hhv8"; buildDepends = [ happstackServer mtl text ]; meta = { homepage = "http://www.happstack.com/"; diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix index 88651c62b590..4b54a002ab07 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "happstack-server"; - version = "7.3.2"; - sha256 = "11wnnadxy1j786p81nkvd28vgpjjhm1amy34k5r0ynz0nkanfp3z"; + version = "7.3.4"; + sha256 = "1k9614f0x5ravblb00xiy8z2nqi4k9jhp2vzm1vdpx9q8sg47h1p"; buildDepends = [ base64Bytestring blazeHtml extensibleExceptions filepath hslogger html monadControl mtl network parsec sendfile syb systemFilepath @@ -16,6 +16,7 @@ cabal.mkDerivation (self: { utf8String xhtml zlib ]; testDepends = [ HUnit parsec zlib ]; + jailbreak = true; doCheck = false; meta = { homepage = "http://happstack.com"; diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix index 77a4251259d3..e2a82e13b3ea 100644 --- a/pkgs/development/libraries/haskell/hashed-storage/default.nix +++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hashed-storage"; - version = "0.5.10"; - sha256 = "1k7drnk0y5apjvwsiw85032yvxllbi7ndg6h9x207gnjxm64m0h5"; + version = "0.5.11"; + sha256 = "0s8mnayxlvwrrii2l63b372yi5g08br6gpbgz2256d8y128mwjvk"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix index ac1cf83ac5e9..74cfc4530997 100644 --- a/pkgs/development/libraries/haskell/haskell-names/default.nix +++ b/pkgs/development/libraries/haskell/haskell-names/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "haskell-names"; - version = "0.3.2.4"; - sha256 = "1m3p64kkm8zv2diwila0zdincykavf2fvxpqzpsmfndwb24f5b3p"; + version = "0.3.3"; + sha256 = "1f40dyrdb9c5iysmclql75l86zg3iisnyyiq5fkgixdafzsq31ir"; buildDepends = [ aeson Cabal dataLens dataLensTemplate filepath haskellPackages haskellSrcExts hseCpp mtl tagged transformers traverseWithClass @@ -18,6 +18,7 @@ cabal.mkDerivation (self: { hseCpp mtl prettyShow tagged tasty tastyGolden traverseWithClass uniplate utf8String ]; + doCheck = false; meta = { homepage = "http://documentup.com/haskell-suite/haskell-names"; description = "Name resolution library for Haskell"; diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix index 537ff52e3ffc..4081e246a34c 100644 --- a/pkgs/development/libraries/haskell/haskell-packages/default.nix +++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix @@ -1,13 +1,13 @@ -{ cabal, aeson, Cabal, deepseq, EitherT, filepath, haskellSrcExts +{ cabal, aeson, Cabal, deepseq, either, filepath, haskellSrcExts , hseCpp, mtl, optparseApplicative, tagged }: cabal.mkDerivation (self: { pname = "haskell-packages"; - version = "0.2.3.3"; - sha256 = "1i3x392dwryhw6k02bd2r9wn9iwwmcqzjhk7gx5lx1vhyb470qr2"; + version = "0.2.3.4"; + sha256 = "0qj5n1yc481n5c8gi5dgk22pxj58gf7z30621spr7gwlv001sk1y"; buildDepends = [ - aeson Cabal deepseq EitherT filepath haskellSrcExts hseCpp mtl + aeson Cabal deepseq either filepath haskellSrcExts hseCpp mtl optparseApplicative tagged ]; meta = { diff --git a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix index 2e0181bd1a7b..f209c39d438a 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix @@ -30,6 +30,7 @@ cabal.mkDerivation (self : { cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal cp ${self.setupFile} $sourceRoot/Setup.hs touch $sourceRoot/LICENSE + sed -i -e 's|hashable *==1.1.2.5,|hashable,|' $sourceRoot/${self.pname}.cabal ''; noHaddock = true; meta = { diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix index b044437e527a..270353b7f767 100644 --- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix +++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix @@ -4,15 +4,14 @@ cabal.mkDerivation (self: { pname = "haskell-src-exts"; - version = "1.14.0"; - sha256 = "070khsw56xwyrclamv5wckj9na2xbzibv702xx52ik2wbs21dr0d"; + version = "1.14.0.1"; + sha256 = "1bsqjj4hy8mqprs44yfy1c96678w9q708yc40g5ygqfyhg0hd29s"; buildDepends = [ cpphs ]; testDepends = [ filepath smallcheck tasty tastyHunit tastySmallcheck ]; buildTools = [ happy ]; doCheck = false; - preConfigure = "runhaskell Setup.hs clean"; meta = { homepage = "https://github.com/haskell-suite/haskell-src-exts"; description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer"; diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix new file mode 100644 index 000000000000..9e78f2800a7c --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix @@ -0,0 +1,15 @@ +{ cabal, happy, syb }: + +cabal.mkDerivation (self: { + pname = "haskell-src"; + version = "1.0.1.6"; + sha256 = "1vscvbsly7k0zqb7fi6bm38dfacyl8qgmv0h25fqkn95c0v5dif7"; + buildDepends = [ syb ]; + buildTools = [ happy ]; + meta = { + description = "Support for manipulating Haskell source code"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix index c864c7e0a5ff..20fc429fc63e 100644 --- a/pkgs/development/libraries/haskell/hastache/default.nix +++ b/pkgs/development/libraries/haskell/hastache/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hastache"; - version = "0.5.1"; - sha256 = "05lm7mjzc1hamxcj8akq06081bhp907hrjdkhas3wzm6ran6rwn3"; + version = "0.6.0"; + sha256 = "1z609mhsc875ba3k6mlmlqpmqlwgxpav2asnf83yzq1q7bfs0cxh"; buildDepends = [ blazeBuilder filepath ieee754 mtl syb text transformers utf8String ]; diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix index 26ebbb9f8b02..eff9ada1da54 100644 --- a/pkgs/development/libraries/haskell/haxr/default.nix +++ b/pkgs/development/libraries/haskell/haxr/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "haxr"; - version = "3000.10.1.1"; - sha256 = "0qvbl3bms2mf650w9j3r0pnl151vzkggy2if3f4rj34qwb2sxmvp"; + version = "3000.10.2"; + sha256 = "10fgz1vvrx09pvlxp0k772xbfni8c8lxbjp59vzm95v2kc4hnagc"; buildDepends = [ base64Bytestring blazeBuilder HaXml HTTP mtl network time utf8String diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix index 5ce91d688076..77ebf3fd9af1 100644 --- a/pkgs/development/libraries/haskell/heist/default.nix +++ b/pkgs/development/libraries/haskell/heist/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "heist"; - version = "0.13.0.4"; - sha256 = "15iixsjlx3zd44dcdxla5pgpl16995pk9g34zjqynmhcj7sfv5as"; + version = "0.13.1"; + sha256 = "0v9c5hhybn617nmjswqkjrf7bjb5073achfi05ivw1gblbvsj0ir"; buildDepends = [ aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors filepath hashable MonadCatchIOTransformers mtl random text time diff --git a/pkgs/development/libraries/haskell/hfsevents/default.nix b/pkgs/development/libraries/haskell/hfsevents/default.nix new file mode 100644 index 000000000000..624420fb0ca3 --- /dev/null +++ b/pkgs/development/libraries/haskell/hfsevents/default.nix @@ -0,0 +1,16 @@ +{ cabal, cereal, mtl, text, gccApple }: + +cabal.mkDerivation (self: { + pname = "hfsevents"; + version = "0.1.5"; + sha256 = "0hp9jjj59smfcs51d9zjhyvgdbn46l0rl0jr98wbzg3qya0vwj5k"; + buildDepends = [ cereal mtl text ]; + buildTools = [ gccApple ]; + configureFlags = "--ghc-option=-pgmc=${gccApple}/bin/gcc"; + meta = { + homepage = "http://github.com/luite/hfsevents"; + description = "File/folder watching for OS X"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.stdenv.lib.platforms.darwin; + }; +}) diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix index f991bb585862..497d1083f551 100644 --- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix +++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix @@ -2,11 +2,12 @@ cabal.mkDerivation (self: { pname = "highlighting-kate"; - version = "0.5.6"; - sha256 = "1nd1ima3x7bb3lhkpzfw1qbl8g8mwp1ixk2w7nf2p1200c5zs49d"; + version = "0.5.6.1"; + sha256 = "0hwzybihx5znd2z00kqcffqmng7vwynmav0x0zf2b9g415c2lx23"; isLibrary = true; isExecutable = true; buildDepends = [ blazeHtml filepath mtl parsec regexPcre ]; + jailbreak = true; prePatch = "sed -i -e 's|regex-pcre-builtin|regex-pcre|' highlighting-kate.cabal"; meta = { homepage = "http://github.com/jgm/highlighting-kate"; diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix index 3512bce96118..09fdfe232a66 100644 --- a/pkgs/development/libraries/haskell/hint/default.nix +++ b/pkgs/development/libraries/haskell/hint/default.nix @@ -1,17 +1,20 @@ -{ cabal, extensibleExceptions, filepath, ghcMtl, ghcPaths -, haskellSrc, MonadCatchIOMtl, mtl, random, utf8String +{ cabal, exceptions, extensibleExceptions, filepath, ghcMtl +, ghcPaths, HUnit, mtl, random, utf8String }: cabal.mkDerivation (self: { pname = "hint"; - version = "0.3.3.7"; - sha256 = "1aba9dfkxlpmvbvllw4qnlrd300vnr0ismkn3kva1pv1cay5pifk"; + version = "0.4.1.0"; + sha256 = "1hc66yfzg9jrm5h3hd52rm4ca8ha0j93rhjpjh6hhzr4a40jv0pl"; buildDepends = [ - extensibleExceptions filepath ghcMtl ghcPaths haskellSrc - MonadCatchIOMtl mtl random utf8String + exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random + utf8String + ]; + testDepends = [ + exceptions extensibleExceptions filepath HUnit mtl ]; meta = { - homepage = "http://darcsden.com/jcpetruzza/hint"; + homepage = "http://hub.darcs.net/jcpetruzza/hint"; description = "Runtime Haskell interpreter (GHC API wrapper)"; 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 index 9791478d3e81..abfe150c1637 100644 --- a/pkgs/development/libraries/haskell/hit/default.nix +++ b/pkgs/development/libraries/haskell/hit/default.nix @@ -1,17 +1,17 @@ -{ cabal, attoparsec, blazeBuilder, bytedump, cryptohash, HUnit, mtl -, parsec, QuickCheck, random, systemFileio, systemFilepath +{ cabal, attoparsec, bytedump, cryptohash, HUnit, mtl, parsec +, patience, QuickCheck, random, systemFileio, systemFilepath , testFramework, testFrameworkQuickcheck2, time, vector, zlib , zlibBindings }: cabal.mkDerivation (self: { pname = "hit"; - version = "0.5.0"; - sha256 = "05v49l3k8gwn922d5b5xrzdrakh6bw02bp8hd8yc8163jyazk2vx"; + version = "0.5.5"; + sha256 = "18k2fgwflzs2lpkhxg2xvni3l9cdn3hk9ajrd4flz12j7vp0ga4c"; isLibrary = true; isExecutable = true; buildDepends = [ - attoparsec blazeBuilder cryptohash mtl parsec random systemFileio + attoparsec cryptohash mtl parsec patience random systemFileio systemFilepath time vector zlib zlibBindings ]; testDepends = [ diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix index 008c1766b947..563372fa451b 100644 --- a/pkgs/development/libraries/haskell/hjsmin/default.nix +++ b/pkgs/development/libraries/haskell/hjsmin/default.nix @@ -1,16 +1,22 @@ -{ cabal, blazeBuilder, Cabal, HUnit, languageJavascript, QuickCheck -, testFramework, testFrameworkHunit, text +{ cabal, blazeBuilder, Cabal, HUnit, languageJavascript +, optparseApplicative, QuickCheck, testFramework +, testFrameworkHunit, text }: cabal.mkDerivation (self: { pname = "hjsmin"; - version = "0.1.4.4"; - sha256 = "0hzh2xbv9x013s1lhmgapjd0qx8v7n09rjlfxd9b1h5min00k048"; - buildDepends = [ blazeBuilder languageJavascript text ]; + version = "0.1.4.6"; + sha256 = "0z0wzgwm66ckq9h756s7srfyiv2jia9779yi86cn1zgzr8dwspvr"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeBuilder languageJavascript optparseApplicative text + ]; testDepends = [ blazeBuilder Cabal HUnit languageJavascript QuickCheck testFramework testFrameworkHunit text ]; + jailbreak = true; meta = { homepage = "http://github.com/alanz/hjsmin"; description = "Haskell implementation of a javascript minifier"; diff --git a/pkgs/development/libraries/haskell/hledger-web/build-fix.patch b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch new file mode 100644 index 000000000000..45862bf1679c --- /dev/null +++ b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch @@ -0,0 +1,47 @@ +Only in hledger-web-0.22.4: dist +diff -urw hledger-web-0.22.4-orig/Hledger/Web/Main.hs hledger-web-0.22.4/Hledger/Web/Main.hs +--- hledger-web-0.22.4-orig/Hledger/Web/Main.hs 2014-04-07 13:00:41.168884350 +0200 ++++ hledger-web-0.22.4/Hledger/Web/Main.hs 2014-04-07 13:14:46.584599468 +0200 +@@ -15,7 +15,8 @@ + -- import Yesod.Default.Main (defaultMain) + import Settings -- (parseExtra) + import Application (makeApplication) +-import Data.Conduit.Network (HostPreference(HostIPv4)) ++import Data.String ++import Data.Conduit.Network + import Network.Wai.Handler.Warp (runSettings, defaultSettings, settingsPort) + import Network.Wai.Handler.Launch (runUrlPort) + -- +@@ -65,7 +66,7 @@ + app <- makeApplication opts j' AppConfig{appEnv = Development + ,appPort = p + ,appRoot = pack u +- ,appHost = HostIPv4 ++ ,appHost = fromString "*4" + ,appExtra = Extra "" Nothing staticRoot + } + if server_ opts +diff -urw hledger-web-0.22.4-orig/hledger-web.cabal hledger-web-0.22.4/hledger-web.cabal +--- hledger-web-0.22.4-orig/hledger-web.cabal 2014-04-07 13:00:41.168884350 +0200 ++++ hledger-web-0.22.4/hledger-web.cabal 2014-04-07 13:16:26.376772344 +0200 +@@ -128,7 +128,7 @@ + , http-conduit + , http-client >= 0.2 && < 0.3 + , HUnit +- , network-conduit ++ , network-conduit, conduit-extra + , old-locale + , parsec + , regexpr >= 0.5.1 +@@ -220,7 +220,7 @@ + , http-conduit + , http-client >= 0.2 && < 0.3 + , HUnit +- , network-conduit ++ , network-conduit, conduit-extra + , old-locale + , parsec + , regexpr >= 0.5.1 +Only in hledger-web-0.22.4: Setup +Only in hledger-web-0.22.4: Setup.hi +Only in hledger-web-0.22.4: Setup.o diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix index 21dc845b1175..58328ae9cf50 100644 --- a/pkgs/development/libraries/haskell/hledger-web/default.nix +++ b/pkgs/development/libraries/haskell/hledger-web/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "hledger-web"; - version = "0.22.1"; - sha256 = "0nqw7scnhcip2bg832p9v0rqk01gn4xwj9bqsvsvmh31fh9ldchw"; + version = "0.22.4"; + sha256 = "07xz6ijg3nzzjair5gdjjryv5hs2rxws4maz22rrqnpf8wwjjc54"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -20,7 +20,9 @@ cabal.mkDerivation (self: { yesodCore yesodStatic ]; testDepends = [ hspec yesod yesodTest ]; + jailbreak = true; doCheck = false; + patches = [ ./build-fix.patch ]; meta = { homepage = "http://hledger.org"; description = "A web interface for the hledger accounting tool"; diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix index 51670f639735..bb0c48b91183 100644 --- a/pkgs/development/libraries/haskell/hmatrix/default.nix +++ b/pkgs/development/libraries/haskell/hmatrix/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hmatrix"; - version = "0.15.2.0"; - sha256 = "0rlgyqgl9x08f38nznbv50asbph0zp9dqk0l156hxz792590payl"; + version = "0.15.2.1"; + sha256 = "0pcs3dsxmaznsb82r71f4kf7xbwvj94cy1fmyya52nv3nldnk1jg"; buildDepends = [ binary deepseq random storableComplex vector ]; extraLibraries = [ blas gsl liblapack ]; meta = { diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix new file mode 100644 index 000000000000..77e848427239 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoauth2/default.nix @@ -0,0 +1,19 @@ +{ cabal, aeson, bytestringShow, conduit, httpConduit, httpTypes +, monadControl, mtl, random, resourcet, text, transformers +}: + +cabal.mkDerivation (self: { + pname = "hoauth2"; + version = "0.3.6.1"; + sha256 = "0nfh77fxyl8vbdnrrp28hsl1zhxhmg8mjn0gfvc2i3w5rd6j0lda"; + buildDepends = [ + aeson bytestringShow conduit httpConduit httpTypes monadControl mtl + random resourcet text transformers + ]; + meta = { + homepage = "https://github.com/freizl/hoauth2"; + description = "hoauth2"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoodle-builder/default.nix b/pkgs/development/libraries/haskell/hoodle-builder/default.nix new file mode 100644 index 000000000000..2d7b60b6943a --- /dev/null +++ b/pkgs/development/libraries/haskell/hoodle-builder/default.nix @@ -0,0 +1,18 @@ +{ cabal, blazeBuilder, doubleConversion, hoodleTypes, lens, strict +}: + +cabal.mkDerivation (self: { + pname = "hoodle-builder"; + version = "0.2.2.0"; + sha256 = "0p123jpm39ggbjn1757nfygcgi324knin62cyggbq1hhhglkfxa2"; + buildDepends = [ + blazeBuilder doubleConversion hoodleTypes lens strict + ]; + jailbreak = true; + meta = { + description = "text builder for hoodle file format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoodle-core/default.nix b/pkgs/development/libraries/haskell/hoodle-core/default.nix new file mode 100644 index 000000000000..f73733321bef --- /dev/null +++ b/pkgs/development/libraries/haskell/hoodle-core/default.nix @@ -0,0 +1,31 @@ +{ cabal, attoparsec, base64Bytestring, binary, cairo, cereal +, configurator, coroutineObject, dbus, Diff, dyre, either, errors +, filepath, fsnotify, gd, gtk, hoodleBuilder, hoodleParser +, hoodleRender, hoodleTypes, lens, libX11, libXi, monadLoops, mtl +, network, networkInfo, networkSimple, pango, poppler, pureMD5, stm +, strict, svgcairo, systemFilepath, text, time, transformers +, transformersFree, uuid, xournalParser +}: + +cabal.mkDerivation (self: { + pname = "hoodle-core"; + version = "0.13.0.0"; + sha256 = "1krq7i7kvymjhj9kar2rpy4qkbak8p4n1ifswdnk9r1dw7fr8vdx"; + buildDepends = [ + attoparsec base64Bytestring binary cairo cereal configurator + coroutineObject dbus Diff dyre either errors filepath fsnotify gd + gtk hoodleBuilder hoodleParser hoodleRender hoodleTypes lens + monadLoops mtl network networkInfo networkSimple pango poppler + pureMD5 stm strict svgcairo systemFilepath text time transformers + transformersFree uuid xournalParser + ]; + extraLibraries = [ libX11 libXi ]; + jailbreak = true; + meta = { + homepage = "http://ianwookim.org/hoodle"; + description = "Core library for hoodle"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoodle-parser/default.nix b/pkgs/development/libraries/haskell/hoodle-parser/default.nix new file mode 100644 index 000000000000..84d9e93aaa2b --- /dev/null +++ b/pkgs/development/libraries/haskell/hoodle-parser/default.nix @@ -0,0 +1,21 @@ +{ cabal, attoparsec, either, hoodleTypes, lens, mtl, strict, text +, transformers, xournalTypes +}: + +cabal.mkDerivation (self: { + pname = "hoodle-parser"; + version = "0.2.2"; + sha256 = "1m0jf7820hkdq69866hwqd1cc6rv331jrar8ayr28692h09j02rm"; + buildDepends = [ + attoparsec either hoodleTypes lens mtl strict text transformers + xournalTypes + ]; + jailbreak = true; + meta = { + homepage = "http://ianwookim.org/hoodle"; + description = "Hoodle file parser"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoodle-render/default.nix b/pkgs/development/libraries/haskell/hoodle-render/default.nix new file mode 100644 index 000000000000..3666ef913987 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoodle-render/default.nix @@ -0,0 +1,20 @@ +{ cabal, base64Bytestring, cairo, filepath, gd, hoodleTypes, lens +, monadLoops, mtl, poppler, strict, svgcairo, uuid +}: + +cabal.mkDerivation (self: { + pname = "hoodle-render"; + version = "0.3.2"; + sha256 = "1mmx27g1vqpndk26nz2hy7rckcgg68clvr5x31cqz9f8sifd8rsg"; + buildDepends = [ + base64Bytestring cairo filepath gd hoodleTypes lens monadLoops mtl + poppler strict svgcairo uuid + ]; + jailbreak = true; + meta = { + description = "Hoodle file renderer"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoodle-types/default.nix b/pkgs/development/libraries/haskell/hoodle-types/default.nix new file mode 100644 index 000000000000..55d752315100 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoodle-types/default.nix @@ -0,0 +1,15 @@ +{ cabal, cereal, lens, mtl, strict, uuid }: + +cabal.mkDerivation (self: { + pname = "hoodle-types"; + version = "0.2.2"; + sha256 = "0dw2ji676nq3idb7izzzfnxzhyngf84wkapc0la43g4w4hzv1zxz"; + buildDepends = [ cereal lens mtl strict uuid ]; + jailbreak = true; + meta = { + description = "Data types for programs for hoodle file format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix index 7744a705efc3..995a4ef5d9a4 100644 --- a/pkgs/development/libraries/haskell/hoogle/default.nix +++ b/pkgs/development/libraries/haskell/hoogle/default.nix @@ -1,19 +1,20 @@ { cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive , cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes -, parsec, random, safe, shake, tagsoup, text, time, transformers -, uniplate, wai, warp +, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text +, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp }: cabal.mkDerivation (self: { pname = "hoogle"; - version = "4.2.28"; - sha256 = "0dd8qsspbcb76ld9v61x2jjsyxakrasww69gzzprb4dxzm58lsid"; + version = "4.2.31"; + sha256 = "176lyj236ncq0lg7vbl4bbm1a98ficj82aranrhyxdjzmbk3i67x"; isLibrary = true; isExecutable = true; buildDepends = [ aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit - deepseq filepath haskellSrcExts httpTypes parsec random safe shake - tagsoup text time transformers uniplate wai warp + deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random + resourcet safe shake tagsoup text time transformers uniplate vector + vectorAlgorithms wai warp ]; testDepends = [ filepath ]; testTarget = "--test-option=--no-net"; diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix index ba1c86d8d2dc..ca2808e5aba0 100644 --- a/pkgs/development/libraries/haskell/hsimport/default.nix +++ b/pkgs/development/libraries/haskell/hsimport/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hsimport"; - version = "0.2.6.8"; - sha256 = "0brz7lxbnkwhjlbvs7xk3012mp9419v9wpczwa3nahl5afzbsp3i"; + version = "0.3"; + sha256 = "124dimaa8v4x6vlh51v2r7569d8122l42q19bpzgqih33vw2djcs"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hsini/default.nix b/pkgs/development/libraries/haskell/hsini/default.nix new file mode 100644 index 000000000000..73368a1dd6cf --- /dev/null +++ b/pkgs/development/libraries/haskell/hsini/default.nix @@ -0,0 +1,19 @@ +{ cabal, HUnit, mtl, parsec, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, testFrameworkTh +}: + +cabal.mkDerivation (self: { + pname = "hsini"; + version = "0.3.1"; + sha256 = "06cys4i1nsic13dkp5jgammm3qykzizlnp6wdka2vl699rvnzaaf"; + buildDepends = [ mtl parsec ]; + testDepends = [ + HUnit mtl parsec QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 testFrameworkTh + ]; + meta = { + description = "Package for user configuration files (INI)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix b/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix new file mode 100644 index 000000000000..9ea5ff57efc7 --- /dev/null +++ b/pkgs/development/libraries/haskell/hspec-expectations-lens/default.nix @@ -0,0 +1,15 @@ +{ cabal, hspec, hspecExpectations, HUnit, lens, silently }: + +cabal.mkDerivation (self: { + pname = "hspec-expectations-lens"; + version = "0.3.0.0"; + sha256 = "1v6j4z3gv41jlhbi8ngx7h6d78l1fazvd3bw3c67zsnlgqrvl1x5"; + buildDepends = [ hspec hspecExpectations HUnit lens ]; + testDepends = [ hspec lens silently ]; + meta = { + homepage = "http://supki.github.io/hspec-expectations-lens/"; + description = "Hspec expectations for the lens stuff"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix index 5374ed7cd80a..c522dc9f9687 100644 --- a/pkgs/development/libraries/haskell/hspec-meta/default.nix +++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix @@ -1,16 +1,17 @@ { cabal, ansiTerminal, deepseq, filepath, hspecExpectations, HUnit -, QuickCheck, quickcheckIo, random, setenv, time, transformers +, QuickCheck, quickcheckIo, random, setenv, tfRandom, time +, transformers }: cabal.mkDerivation (self: { pname = "hspec-meta"; - version = "1.8.1"; - sha256 = "03582b79cqv3c2z02ni2xyzb3kccgcw0phmg5lklaphkrarm0g3w"; + version = "1.9.2"; + sha256 = "0df54njh3i2gq10rkibqaq36xzv16pd2pp18wy28w6x5xff5hvm5"; isLibrary = true; isExecutable = true; buildDepends = [ ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck - quickcheckIo random setenv time transformers + quickcheckIo random setenv tfRandom time transformers ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix index 10994799c43d..8d316caf4c85 100644 --- a/pkgs/development/libraries/haskell/hspec/default.nix +++ b/pkgs/development/libraries/haskell/hspec/default.nix @@ -1,22 +1,22 @@ { cabal, ansiTerminal, deepseq, doctest, filepath, ghcPaths , hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo -, random, setenv, silently, time, transformers +, random, setenv, silently, tfRandom, time, transformers }: cabal.mkDerivation (self: { pname = "hspec"; - version = "1.8.1.1"; - sha256 = "1gpll1pr8zs7ha1nn13rp579av4nnjkz94rq0js6r1awz69cp0rb"; + version = "1.9.2"; + sha256 = "0q8a1n03d70l86l2yy98j180xbnfq0ijgcf5llv439b65lc4zcyf"; isLibrary = true; isExecutable = true; buildDepends = [ ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck - quickcheckIo random setenv time transformers + quickcheckIo random setenv tfRandom time transformers ]; testDepends = [ ansiTerminal deepseq doctest filepath ghcPaths hspecExpectations - hspecMeta HUnit QuickCheck quickcheckIo random setenv silently time - transformers + hspecMeta HUnit QuickCheck quickcheckIo random setenv silently + tfRandom time transformers ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix index 3f7b2ad507ac..244b1c2dcce2 100644 --- a/pkgs/development/libraries/haskell/html-conduit/default.nix +++ b/pkgs/development/libraries/haskell/html-conduit/default.nix @@ -1,15 +1,15 @@ -{ cabal, conduit, filesystemConduit, hspec, HUnit, resourcet +{ cabal, conduit, conduitExtra, hspec, HUnit, resourcet , systemFilepath, tagstreamConduit, text, transformers, xmlConduit , xmlTypes }: cabal.mkDerivation (self: { pname = "html-conduit"; - version = "1.1.0.1"; - sha256 = "0v3zlassakc34i7kzajx63s1rxn516xv7lrib0a4kn4cdlqn7kxs"; + version = "1.1.0.4"; + sha256 = "1bl6h38fvhiidzxly49l7jickcg0s4fy59m4cizfjarxll9cspwb"; buildDepends = [ - conduit filesystemConduit resourcet systemFilepath tagstreamConduit - text transformers xmlConduit xmlTypes + conduit conduitExtra resourcet systemFilepath tagstreamConduit text + transformers xmlConduit xmlTypes ]; testDepends = [ hspec HUnit xmlConduit ]; meta = { diff --git a/pkgs/development/libraries/haskell/http-client-conduit/default.nix b/pkgs/development/libraries/haskell/http-client-conduit/default.nix index 1c47b68f06ce..019136e47ca8 100644 --- a/pkgs/development/libraries/haskell/http-client-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-client-conduit/default.nix @@ -1,13 +1,14 @@ -{ cabal, conduit, httpClient, resourcet, transformers }: +{ cabal, httpClient }: cabal.mkDerivation (self: { pname = "http-client-conduit"; - version = "0.2.0.1"; - sha256 = "0fy9vkxh7hvmp9ijifq8nx6y5y92n6d3s1vdyg53ln65pclc6jn5"; - buildDepends = [ conduit httpClient resourcet transformers ]; + version = "0.3.0"; + sha256 = "0k2vq9y7kfbkhcsszjr74ahq5nw5z7dbzjhw1ixbigcr56axsd19"; + buildDepends = [ httpClient ]; + noHaddock = true; meta = { homepage = "https://github.com/snoyberg/http-client"; - description = "Frontend support for using http-client with conduit"; + description = "Frontend support for using http-client with conduit (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix index 068efdcb543d..9cad23a79991 100644 --- a/pkgs/development/libraries/haskell/http-client-multipart/default.nix +++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix @@ -1,18 +1,14 @@ -{ cabal, blazeBuilder, filepath, httpClient, httpTypes, mimeTypes -, random, text, transformers -}: +{ cabal, httpClient }: cabal.mkDerivation (self: { pname = "http-client-multipart"; - version = "0.2.0.0"; - sha256 = "1bahkysh771p3mrfan1gmm6jyx62w3k57ba4rsnx7h1gwbilm878"; - buildDepends = [ - blazeBuilder filepath httpClient httpTypes mimeTypes random text - transformers - ]; + version = "0.3.0.0"; + sha256 = "18za6s3658hgm95rrygghrz0b643c7nkzaimb14v2hv82w3k9crg"; + buildDepends = [ httpClient ]; + noHaddock = true; meta = { homepage = "https://github.com/snoyberg/http-client"; - description = "Generate multipart uploads for http-client"; + description = "Generate multipart uploads for http-client. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/http-client-tls/default.nix b/pkgs/development/libraries/haskell/http-client-tls/default.nix index 82866abe9c35..5ec8eecd06c7 100644 --- a/pkgs/development/libraries/haskell/http-client-tls/default.nix +++ b/pkgs/development/libraries/haskell/http-client-tls/default.nix @@ -1,12 +1,14 @@ -{ cabal, connection, dataDefault, hspec, httpClient, httpTypes +{ cabal, connection, dataDefaultClass, hspec, httpClient, httpTypes , network, tls }: cabal.mkDerivation (self: { pname = "http-client-tls"; - version = "0.2.0.2"; - sha256 = "0v5730rssddc28f1q6ndkcjrfz8r5a1wmxk1azpmdxlq6nh4i9q9"; - buildDepends = [ connection dataDefault httpClient network tls ]; + version = "0.2.1.1"; + sha256 = "07kwcamc100y48gghmlfvj5ycf6y3cynqqg5kx0ymgjk85k7vim7"; + buildDepends = [ + connection dataDefaultClass httpClient network tls + ]; testDepends = [ hspec httpClient httpTypes ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix index 092b696dc196..8816ec91a83c 100644 --- a/pkgs/development/libraries/haskell/http-client/default.nix +++ b/pkgs/development/libraries/haskell/http-client/default.nix @@ -1,22 +1,22 @@ -{ cabal, base64Bytestring, blazeBuilder, caseInsensitive, cookie -, dataDefault, deepseq, failure, hspec, httpTypes, monadControl -, network, publicsuffixlist, text, time, transformers, zlib -, zlibBindings +{ cabal, async, base64Bytestring, blazeBuilder, caseInsensitive +, cookie, dataDefaultClass, deepseq, exceptions, filepath, hspec +, httpTypes, mimeTypes, monadControl, network, publicsuffixlist +, random, streamingCommons, text, time, transformers, zlib }: cabal.mkDerivation (self: { pname = "http-client"; - version = "0.2.1"; - sha256 = "1hwr8pjlal88b6clmrs0cksmyy1vmbybvr78s6kb2ppwrzmd2v8q"; + version = "0.3.0.2"; + sha256 = "1r858ml809c21q9q2kv0105y89cizncxym9mf1f0f165aa2hx71m"; buildDepends = [ - base64Bytestring blazeBuilder caseInsensitive cookie dataDefault - deepseq failure httpTypes network publicsuffixlist text time - transformers zlibBindings + base64Bytestring blazeBuilder caseInsensitive cookie + dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes + network publicsuffixlist random streamingCommons text time + transformers ]; testDepends = [ - base64Bytestring blazeBuilder caseInsensitive dataDefault deepseq - failure hspec httpTypes monadControl network text time transformers - zlib zlibBindings + async base64Bytestring blazeBuilder caseInsensitive deepseq hspec + httpTypes monadControl network text time transformers zlib ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix index bb237f16d587..1ea6ebafd8cc 100644 --- a/pkgs/development/libraries/haskell/http-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-conduit/default.nix @@ -1,30 +1,23 @@ -{ cabal, asn1Data, base64Bytestring, blazeBuilder -, blazeBuilderConduit, caseInsensitive, certificate, conduit -, connection, cookie, cprngAes, dataDefault, deepseq, failure -, filepath, hspec, httpClient, httpClientConduit -, httpClientMultipart, httpClientTls, httpTypes, HUnit, liftedBase -, mimeTypes, monadControl, mtl, network, networkConduit -, publicsuffixlist, random, regexCompat, resourcet, socks, text -, time, tls, tlsExtra, transformers, transformersBase, utf8String -, void, wai, warp, warpTls, zlibConduit +{ cabal, blazeBuilder, caseInsensitive, conduit, conduitExtra +, connection, cookie, dataDefaultClass, hspec, httpClient +, httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl +, network, networkConduit, resourcet, streamingCommons, text, time +, transformers, utf8String, wai, warp, warpTls }: cabal.mkDerivation (self: { pname = "http-conduit"; - version = "2.0.0.3"; - sha256 = "1s3nyc3wwpqildhmkv5fps2a0552yrnwcqjv4bxcvg581k5sj42i"; + version = "2.1.0"; + sha256 = "1qlqhrrc130c8wvgbbbkb7qrm8gp48gkv5xanqgb26amvny98gsv"; buildDepends = [ - conduit httpClient httpClientConduit httpClientTls httpTypes - liftedBase resourcet transformers + conduit httpClient httpClientTls httpTypes liftedBase monadControl + mtl resourcet transformers ]; testDepends = [ - asn1Data base64Bytestring blazeBuilder blazeBuilderConduit - caseInsensitive certificate conduit connection cookie cprngAes - dataDefault deepseq failure filepath hspec httpClient - httpClientMultipart httpTypes HUnit liftedBase mimeTypes - monadControl mtl network networkConduit publicsuffixlist random - regexCompat resourcet socks text time tls tlsExtra transformers - transformersBase utf8String void wai warp warpTls zlibConduit + blazeBuilder caseInsensitive conduit conduitExtra connection cookie + dataDefaultClass hspec httpClient httpTypes HUnit liftedBase + network networkConduit streamingCommons text time transformers + utf8String wai warp warpTls ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix index a8e0afc786ea..ff47ba142414 100644 --- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix +++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix @@ -1,21 +1,24 @@ -{ cabal, basicPrelude, blazeBuilder, caseInsensitive, conduit -, dataDefault, hspec, httpClient, httpConduit, httpTypes -, liftedBase, monadControl, network, networkConduit, resourcet -, text, transformers, wai, waiLogger, warp, word8 +{ cabal, async, blazeBuilder, caseInsensitive, conduit +, conduitExtra, dataDefaultClass, hspec, httpClient, httpConduit +, httpTypes, liftedBase, monadControl, network, networkConduit +, resourcet, streamingCommons, text, transformers, wai, waiLogger +, warp, word8 }: cabal.mkDerivation (self: { pname = "http-reverse-proxy"; - version = "0.3.0"; - sha256 = "0wwrcm3hhbq9kawk3s12s8ws82vancmc8a5d29f6871jfq3vvzc2"; + version = "0.3.1.5"; + sha256 = "0rzwh5ph23592qycriam932bgb6q2nvjr7wayqz0sjvvxv661bk0"; buildDepends = [ - basicPrelude blazeBuilder caseInsensitive conduit dataDefault - httpClient httpTypes liftedBase monadControl network networkConduit - resourcet text wai waiLogger word8 + async blazeBuilder caseInsensitive conduit conduitExtra + dataDefaultClass httpClient httpTypes liftedBase monadControl + network networkConduit resourcet streamingCommons text transformers + wai waiLogger word8 ]; testDepends = [ - blazeBuilder conduit hspec httpConduit httpTypes liftedBase network - networkConduit transformers wai warp + blazeBuilder conduit conduitExtra hspec httpConduit httpTypes + liftedBase network networkConduit resourcet streamingCommons + transformers wai warp ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix index ed24e1ede749..a3fa1c8c9ee4 100644 --- a/pkgs/development/libraries/haskell/http-types/default.nix +++ b/pkgs/development/libraries/haskell/http-types/default.nix @@ -2,10 +2,11 @@ cabal.mkDerivation (self: { pname = "http-types"; - version = "0.8.3"; - sha256 = "02l1lhl2ajbm5f7zq363nlb21dpdg1m0qsy330arccmds7z9g7a2"; + version = "0.8.4"; + sha256 = "0bz7g537if863vk29z72hndf1x019dj7shj1aa77pssrxma3a685"; buildDepends = [ blazeBuilder caseInsensitive text ]; testDepends = [ blazeBuilder hspec QuickCheck text ]; + jailbreak = true; meta = { homepage = "https://github.com/aristidb/http-types"; description = "Generic HTTP types for Haskell (for both client and server code)"; diff --git a/pkgs/development/libraries/haskell/hxt-http/default.nix b/pkgs/development/libraries/haskell/hxt-http/default.nix new file mode 100644 index 000000000000..14867df7fc19 --- /dev/null +++ b/pkgs/development/libraries/haskell/hxt-http/default.nix @@ -0,0 +1,14 @@ +{ cabal, HTTP, hxt, network, parsec }: + +cabal.mkDerivation (self: { + pname = "hxt-http"; + version = "9.1.4"; + sha256 = "176k71dc30cnjjr9y9vphs0aixs3ww16197qyc491qjrzhymm2g2"; + buildDepends = [ HTTP hxt network parsec ]; + meta = { + homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; + description = "Interface to native Haskell HTTP package HTTP"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hxt-unicode/default.nix b/pkgs/development/libraries/haskell/hxt-unicode/default.nix index fbe402cea5fd..55017c4193ea 100644 --- a/pkgs/development/libraries/haskell/hxt-unicode/default.nix +++ b/pkgs/development/libraries/haskell/hxt-unicode/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hxt-unicode"; - version = "9.0.2.1"; - sha256 = "1ng3qaiwkaav1kmf0yxkm44887xphbx6slva3fskzx0sgkd1v0vp"; + version = "9.0.2.2"; + sha256 = "1iljbk7f7d4wkl592bp0vw807683sqdxfnigindkrvr9p1xvwg8r"; buildDepends = [ hxtCharproperties ]; meta = { homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; diff --git a/pkgs/development/libraries/haskell/hxt-xpath/default.nix b/pkgs/development/libraries/haskell/hxt-xpath/default.nix new file mode 100644 index 000000000000..73e350bd77b1 --- /dev/null +++ b/pkgs/development/libraries/haskell/hxt-xpath/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, hxt, parsec }: + +cabal.mkDerivation (self: { + pname = "hxt-xpath"; + version = "9.1.2.1"; + sha256 = "0r9xzxwdqaj0arz9pv6f272dz73m83agbln9q9bclmgqys6l0kr9"; + buildDepends = [ filepath hxt parsec ]; + meta = { + homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; + description = "The XPath modules for HXT"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix index 820a6549d348..440be70a60bd 100644 --- a/pkgs/development/libraries/haskell/hxt/default.nix +++ b/pkgs/development/libraries/haskell/hxt/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hxt"; - version = "9.3.1.3"; - sha256 = "1ynca1d0wzql3vny9wxi47bim64h1l56gdamwkfhh4snajqkamwd"; + version = "9.3.1.4"; + sha256 = "0klngcnq5rdhpwim2znzcljhqw8k3x7c91bgb16g008zp3lay1rf"; buildDepends = [ binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema hxtUnicode mtl network parsec diff --git a/pkgs/development/libraries/haskell/hybrid-vectors/default.nix b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix new file mode 100644 index 000000000000..0ad23b694373 --- /dev/null +++ b/pkgs/development/libraries/haskell/hybrid-vectors/default.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq, primitive, vector }: + +cabal.mkDerivation (self: { + pname = "hybrid-vectors"; + version = "0.1.2"; + sha256 = "1scx1xr9rqdpxc1kj5zgf8w1ld1mj68hxr3nl1p352wspvpgd3qf"; + buildDepends = [ deepseq primitive vector ]; + meta = { + homepage = "http://github.com/ekmett/hybrid-vectors"; + description = "Hybrid vectors e.g. Mixed Boxed/Unboxed vectors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/iCalendar/default.nix b/pkgs/development/libraries/haskell/iCalendar/default.nix new file mode 100644 index 000000000000..9d54e8531abc --- /dev/null +++ b/pkgs/development/libraries/haskell/iCalendar/default.nix @@ -0,0 +1,20 @@ +{ cabal, base64Bytestring, caseInsensitive, dataDefault, mime, mtl +, network, parsec, text, time +}: + +cabal.mkDerivation (self: { + pname = "iCalendar"; + version = "0.4"; + sha256 = "1wjgrgm4m21fic7a83k5jql4jxknk7mhh3shhrgb2kvxrj0bfw8b"; + buildDepends = [ + base64Bytestring caseInsensitive dataDefault mime mtl network + parsec text time + ]; + meta = { + homepage = "http://github.com/tingtun/iCalendar"; + description = "iCalendar data types, parser, and printer"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/interpolate/default.nix b/pkgs/development/libraries/haskell/interpolate/default.nix new file mode 100644 index 000000000000..6b0ee4b6e363 --- /dev/null +++ b/pkgs/development/libraries/haskell/interpolate/default.nix @@ -0,0 +1,18 @@ +{ cabal, doctest, haskellSrcMeta, hspec, QuickCheck +, quickcheckInstances, text +}: + +cabal.mkDerivation (self: { + pname = "interpolate"; + version = "0.0.2"; + sha256 = "0l9hrgwmvp7h2mgw90gk45zgp0yy00201ki9hwg26sh2wd0sj6f8"; + buildDepends = [ haskellSrcMeta ]; + testDepends = [ + doctest haskellSrcMeta hspec QuickCheck quickcheckInstances text + ]; + meta = { + description = "String interpolation done right"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix b/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix new file mode 100644 index 000000000000..63ea81058e53 --- /dev/null +++ b/pkgs/development/libraries/haskell/interpolatedstring-perl6/default.nix @@ -0,0 +1,13 @@ +{ cabal, haskellSrcMeta, text }: + +cabal.mkDerivation (self: { + pname = "interpolatedstring-perl6"; + version = "0.9.0"; + sha256 = "15hzmni3wfdgjl0vyk5mcld61ba99wdax87s7wkz2s8bsyxkbq9n"; + buildDepends = [ haskellSrcMeta text ]; + meta = { + description = "QuasiQuoter for Perl6-style multi-line interpolated strings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix index b48aa8884ad4..73e1d2d71971 100644 --- a/pkgs/development/libraries/haskell/intervals/default.nix +++ b/pkgs/development/libraries/haskell/intervals/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "intervals"; - version = "0.4.1"; - sha256 = "09pgy400r47lsa9w5g5dxydshw7lv9i4yv65ld1arssx3n59wyvl"; + version = "0.7"; + sha256 = "00kwq57x72xi5kca7symb98nzs1j82r6bkgvr83aqpvq0ql9ka9d"; buildDepends = [ distributive ]; testDepends = [ doctest filepath ]; meta = { diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix index e582b0bce8ff..fcc39dfad573 100644 --- a/pkgs/development/libraries/haskell/io-streams/default.nix +++ b/pkgs/development/libraries/haskell/io-streams/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "io-streams"; - version = "1.1.4.0"; - sha256 = "0fkys15ih3ld4l5rqjlsmhdkf9w3xnhj6hbbahazx7pj0xsv1hyh"; + version = "1.1.4.2"; + sha256 = "0x6d0j41wnxl2h9xzbybmzqrrna3hc17786k65cpiby2x3nlp799"; buildDepends = [ attoparsec blazeBuilder network primitive text time transformers vector zlibBindings diff --git a/pkgs/development/libraries/haskell/ipprint/default.nix b/pkgs/development/libraries/haskell/ipprint/default.nix new file mode 100644 index 000000000000..e648ae19c3dc --- /dev/null +++ b/pkgs/development/libraries/haskell/ipprint/default.nix @@ -0,0 +1,13 @@ +{ cabal, Extra, haskellSrc }: + +cabal.mkDerivation (self: { + pname = "ipprint"; + version = "0.5"; + sha256 = "0h75k21blbnzvp5l20qsima557dx6zfrww79y7qsqf04pbd81j7s"; + buildDepends = [ Extra haskellSrc ]; + meta = { + description = "Tiny helper for pretty-printing values in ghci console"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/iproute/default.nix b/pkgs/development/libraries/haskell/iproute/default.nix index 045bb64035c4..89a576141609 100644 --- a/pkgs/development/libraries/haskell/iproute/default.nix +++ b/pkgs/development/libraries/haskell/iproute/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "iproute"; - version = "1.2.11"; - sha256 = "14f96sb41f5m14186900rz84vwv7idjiylp8m5nsm6gganvh4sh4"; + version = "1.2.12"; + sha256 = "19pr6my4nw7qq9lsp6xvz55lm9svwzqka5qcqy79sfdkxg459rg5"; buildDepends = [ appar byteorder network ]; testDepends = [ appar byteorder doctest hspec network QuickCheck safe diff --git a/pkgs/development/libraries/haskell/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix index 89d277d1f406..524c2de1f734 100644 --- a/pkgs/development/libraries/haskell/irc/default.nix +++ b/pkgs/development/libraries/haskell/irc/default.nix @@ -1,10 +1,10 @@ -{ cabal, parsec }: +{ cabal, attoparsec }: cabal.mkDerivation (self: { pname = "irc"; - version = "0.5.1.0"; - sha256 = "1xkgqcjxlxqg60qlv26ypmvf9x288sjz1n47rb7zfvjhdimws8gj"; - buildDepends = [ parsec ]; + version = "0.6.0.0"; + sha256 = "037hpdb4b6nb5w62w34alwybchzybz0bq2cgp0mv4xlw7bks2nqv"; + buildDepends = [ attoparsec ]; meta = { description = "A small library for parsing IRC messages"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix index c4438d973644..62bc3f7a2a41 100644 --- a/pkgs/development/libraries/haskell/iteratee/default.nix +++ b/pkgs/development/libraries/haskell/iteratee/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "iteratee"; - version = "0.8.9.4"; - sha256 = "0j8q5i3kf1ld7630z65hj55p2jlhl23f6qjag4zwrhrh38bfr531"; + version = "0.8.9.5"; + sha256 = "0akv7zcyb3c213f8qz1xv1qyq04wa427a4mh8rmz1jlmcwiznk7z"; buildDepends = [ ListLike MonadCatchIOTransformers monadControl parallel transformers transformersBase diff --git a/pkgs/development/libraries/haskell/ixdopp/default.nix b/pkgs/development/libraries/haskell/ixdopp/default.nix new file mode 100644 index 000000000000..8e4a92f6dcae --- /dev/null +++ b/pkgs/development/libraries/haskell/ixdopp/default.nix @@ -0,0 +1,16 @@ +{ cabal, preprocessorTools, syb }: + +cabal.mkDerivation (self: { + pname = "ixdopp"; + version = "0.1.3"; + sha256 = "1vknwznk42b33q4pmh6z620g761yf3cmsmrmhilgq42i5qhll4d4"; + isLibrary = false; + isExecutable = true; + buildDepends = [ preprocessorTools syb ]; + meta = { + homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/"; + description = "A preprocessor for expanding \"ixdo\" notation for indexed monads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/json-assertions/default.nix b/pkgs/development/libraries/haskell/json-assertions/default.nix new file mode 100644 index 000000000000..027cf20064e4 --- /dev/null +++ b/pkgs/development/libraries/haskell/json-assertions/default.nix @@ -0,0 +1,15 @@ +{ cabal, aeson, indexed, indexedFree, lens, text }: + +cabal.mkDerivation (self: { + pname = "json-assertions"; + version = "1.0.2"; + sha256 = "0ppj1xxbi0yrmv6vkmwkz91vvwzjd0ixj60432liwmd6h13apky0"; + buildDepends = [ aeson indexed indexedFree lens text ]; + meta = { + homepage = "http://github.com/ocharles/json-assertions.git"; + description = "Test that your (Aeson) JSON encoding matches your expectations"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix new file mode 100644 index 000000000000..58c3e37c853f --- /dev/null +++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, languageCQuote, mainlandPretty }: + +cabal.mkDerivation (self: { + pname = "language-c-inline"; + version = "0.3.0.1"; + sha256 = "0dw1fqwg9hhwgvak0ykhafbxp4gnb2ww9lc83m8kzkyzn1ccb6hg"; + buildDepends = [ filepath languageCQuote mainlandPretty ]; + testDepends = [ languageCQuote ]; + doCheck = false; + meta = { + homepage = "https://github.com/mchakravarty/language-c-inline/"; + description = "Inline C & Objective-C code in Haskell for language interoperability"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix index 94eb72633de3..3f4ec1e54d82 100644 --- a/pkgs/development/libraries/haskell/language-c-quote/default.nix +++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "language-c-quote"; - version = "0.7.6"; - sha256 = "15sfasbrr9wzqkwv9xg9nvb3gnn4drkll3b3cappiyzkmawp2hkr"; + version = "0.7.7"; + sha256 = "0rj508hfv9xf30rfjhalz3yfb15vp4r4acdj8aahwfnbls2qb37v"; buildDepends = [ exceptionMtl exceptionTransformers filepath haskellSrcMeta mainlandPretty mtl srcloc syb symbol diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix index 5b638ea9dab4..188ca99a5be9 100644 --- a/pkgs/development/libraries/haskell/language-c/default.nix +++ b/pkgs/development/libraries/haskell/language-c/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "language-c"; - version = "0.4.2"; - sha256 = "07pf4v4n7kvr5inkhs24b7g55pmkk4k5ihi6s5dbc200l01wz133"; + version = "0.4.4"; + sha256 = "0pfadijrcfvxvdrwk8n54pqvpmi4qa5w7s0l9shxbkvpj0dmnp50"; buildDepends = [ filepath syb ]; buildTools = [ alex happy ]; meta = { diff --git a/pkgs/development/libraries/haskell/language-ecmascript/default.nix b/pkgs/development/libraries/haskell/language-ecmascript/default.nix index 77165ef104d1..1a53881fd29e 100644 --- a/pkgs/development/libraries/haskell/language-ecmascript/default.nix +++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix @@ -1,14 +1,15 @@ { cabal, dataDefaultClass, Diff, filepath, HUnit, mtl, parsec , QuickCheck, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2, uniplate, wlPprint +, testFrameworkQuickcheck2, testingFeat, uniplate, wlPprint }: cabal.mkDerivation (self: { pname = "language-ecmascript"; - version = "0.15.4"; - sha256 = "1drivy75lvrwjx7irdbnnqp7y6mbzbm2pbxy7zzc1nfln6g3k9x7"; + version = "0.16.1"; + sha256 = "0pqb1r60jjmiwk9giaxnrp9a07h4a97kp6g0nznwpdy32x849gx3"; buildDepends = [ - dataDefaultClass Diff mtl parsec QuickCheck uniplate wlPprint + dataDefaultClass Diff mtl parsec QuickCheck testingFeat uniplate + wlPprint ]; testDepends = [ dataDefaultClass Diff filepath HUnit mtl parsec QuickCheck diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix index abf8df4f5569..647c3be498d0 100644 --- a/pkgs/development/libraries/haskell/language-javascript/default.nix +++ b/pkgs/development/libraries/haskell/language-javascript/default.nix @@ -1,17 +1,17 @@ -{ cabal, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck +{ cabal, alex, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck , testFramework, testFrameworkHunit, utf8Light, utf8String }: cabal.mkDerivation (self: { pname = "language-javascript"; - version = "0.5.8"; - sha256 = "0slwj2bi9v7qjr6ai5dwql7fqgsh8k9k2bzlsq407iacsv0w3b9h"; - buildDepends = [ blazeBuilder mtl utf8Light utf8String ]; + version = "0.5.12"; + sha256 = "1zzgjxqgfl6k2z4cwh0961ipfc5fminfdg2162g45h2nrv63mq05"; + buildDepends = [ blazeBuilder mtl utf8String ]; testDepends = [ blazeBuilder Cabal HUnit mtl QuickCheck testFramework testFrameworkHunit utf8Light utf8String ]; - buildTools = [ happy ]; + buildTools = [ alex happy ]; meta = { homepage = "http://github.com/alanz/language-javascript"; description = "Parser for JavaScript"; diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix index da0cafb9ba73..18ea22d6cd0d 100644 --- a/pkgs/development/libraries/haskell/largeword/default.nix +++ b/pkgs/development/libraries/haskell/largeword/default.nix @@ -1,15 +1,17 @@ -{ cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2 +{ cabal, binary, HUnit, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2 }: cabal.mkDerivation (self: { pname = "largeword"; - version = "1.0.5"; - sha256 = "0icwqwpn59xd0qfpaihvwz1waax617qqcl05jv9f26sjdr8688dl"; + version = "1.1.1"; + sha256 = "0dizzyicfj41cmdr9s0k75gf7cqbd2z1qk9kkvlq6rcz0249fz0x"; + buildDepends = [ binary ]; testDepends = [ - HUnit QuickCheck testFramework testFrameworkHunit + binary HUnit QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 ]; + jailbreak = true; meta = { homepage = "https://github.com/idontgetoutmuch/largeword"; description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required"; diff --git a/pkgs/development/libraries/haskell/lens-aeson/default.nix b/pkgs/development/libraries/haskell/lens-aeson/default.nix deleted file mode 100644 index 7ea890a5eb35..000000000000 --- a/pkgs/development/libraries/haskell/lens-aeson/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ cabal, aeson, attoparsec, doctest, filepath, genericDeriving -, lens, semigroups, simpleReflect, text, unorderedContainers -, utf8String, vector -}: - -cabal.mkDerivation (self: { - pname = "lens-aeson"; - version = "0.1.2"; - sha256 = "1h0w8p227r8gzvgqjl210i0z7xxv3435vwyi3j7vkm7a05cdk03l"; - buildDepends = [ - aeson attoparsec lens text unorderedContainers utf8String vector - ]; - testDepends = [ - doctest filepath genericDeriving semigroups simpleReflect - ]; - meta = { - homepage = "http://github.com/lens/lens-aeson/"; - description = "Law-abiding lenses for aeson"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.ocharles ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/lens-datetime/default.nix b/pkgs/development/libraries/haskell/lens-datetime/default.nix index 2de451f4177f..72781f39cdbc 100644 --- a/pkgs/development/libraries/haskell/lens-datetime/default.nix +++ b/pkgs/development/libraries/haskell/lens-datetime/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "lens-datetime"; - version = "0.2"; - sha256 = "0wrs7alz1zfg1xrg04lhz01mrd1gcz2xr8b5mxfdvq94f5m87sdr"; + version = "0.2.1"; + sha256 = "1wqks7ynw3njlizdd9hvgrc1xjxcgcfck9ppj1lgg8wr3l2myi72"; buildDepends = [ lens time ]; meta = { - homepage = "http://github.com/klao/lens-datetime"; + homepage = "http://github.com/nilcons/lens-datetime"; description = "Lenses for Data.Time.* types"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/lens-family-core/default.nix b/pkgs/development/libraries/haskell/lens-family-core/default.nix new file mode 100644 index 000000000000..7bfb401c7565 --- /dev/null +++ b/pkgs/development/libraries/haskell/lens-family-core/default.nix @@ -0,0 +1,13 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "lens-family-core"; + version = "1.0.0"; + sha256 = "149wfxddw58h5q42r3nknmac8wsc9c8xzsw6vrlfb4yasg7bhw53"; + buildDepends = [ transformers ]; + meta = { + description = "Haskell 98 Lens Families"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix index 704ec8db48e0..1c1fe9b7cd39 100644 --- a/pkgs/development/libraries/haskell/lens/default.nix +++ b/pkgs/development/libraries/haskell/lens/default.nix @@ -1,25 +1,27 @@ -{ cabal, bifunctors, comonad, contravariant, deepseq, distributive -, doctest, filepath, genericDeriving, hashable, HUnit -, MonadCatchIOTransformers, mtl, nats, parallel, profunctors -, QuickCheck, reflection, semigroupoids, semigroups, simpleReflect -, split, tagged, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2, testFrameworkTh, text, transformers -, transformersCompat, unorderedContainers, vector, void +{ cabal, aeson, bifunctors, comonad, contravariant, deepseq +, distributive, doctest, exceptions, filepath, free +, genericDeriving, hashable, hlint, HUnit, mtl, nats, parallel +, primitive, profunctors, QuickCheck, reflection, scientific +, semigroupoids, semigroups, simpleReflect, split, tagged +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 +, testFrameworkTh, text, transformers, transformersCompat +, unorderedContainers, utf8String, vector, void, zlib }: cabal.mkDerivation (self: { pname = "lens"; - version = "3.10.1"; - sha256 = "0xjjld1ra1a0a739ia8swgbpw7r72hv0bs9akbqr9wyw8qdzibnh"; + version = "4.1.2"; + sha256 = "0jpr78bn7bh5v11vw21hjwzmwpzl1zgyq9l3yk3k711vz6689dg2"; buildDepends = [ - bifunctors comonad contravariant distributive filepath - genericDeriving hashable MonadCatchIOTransformers mtl parallel - profunctors reflection semigroupoids semigroups split tagged text - transformers transformersCompat unorderedContainers vector void + aeson bifunctors comonad contravariant distributive exceptions + filepath free hashable mtl parallel primitive profunctors + reflection scientific semigroupoids semigroups split tagged text + transformers transformersCompat unorderedContainers utf8String + vector void zlib ]; testDepends = [ - deepseq doctest filepath genericDeriving HUnit mtl nats parallel - QuickCheck semigroups simpleReflect split testFramework + deepseq doctest filepath genericDeriving hlint HUnit mtl nats + parallel QuickCheck semigroups simpleReflect split testFramework testFrameworkHunit testFrameworkQuickcheck2 testFrameworkTh text transformers unorderedContainers vector ]; diff --git a/pkgs/development/libraries/haskell/leveldb-haskell/default.nix b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix new file mode 100644 index 000000000000..becd68ba9157 --- /dev/null +++ b/pkgs/development/libraries/haskell/leveldb-haskell/default.nix @@ -0,0 +1,21 @@ +{ cabal, async, dataDefault, filepath, leveldb, resourcet +, transformers +}: + +cabal.mkDerivation (self: { + pname = "leveldb-haskell"; + version = "0.3.0"; + sha256 = "0hdxn6v7fzc0wlpkymlci60m2584h6fn78bxdnv2q18ra03r3ygs"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + async dataDefault filepath resourcet transformers + ]; + extraLibraries = [ leveldb ]; + meta = { + homepage = "http://github.com/kim/leveldb-haskell"; + description = "Haskell bindings to LevelDB"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/libjenkins/default.nix b/pkgs/development/libraries/haskell/libjenkins/default.nix new file mode 100644 index 000000000000..67f0b698d47b --- /dev/null +++ b/pkgs/development/libraries/haskell/libjenkins/default.nix @@ -0,0 +1,27 @@ +{ cabal, async, conduit, doctest, filepath, free, hspec +, hspecExpectationsLens, httpClient, httpConduit, httpTypes, lens +, monadControl, network, text, transformers, xmlConduit +}: + +cabal.mkDerivation (self: { + pname = "libjenkins"; + version = "0.4.2.0"; + sha256 = "11013klk2gvcaf2d2gmi0bf3jg2m82li19szqlwb325kdjmdf546"; + patches = [ ./new-conduit.patch ]; + buildDepends = [ + async conduit free httpClient httpConduit httpTypes lens + monadControl network text transformers xmlConduit + ]; + testDepends = [ + async conduit doctest filepath free hspec hspecExpectationsLens + httpClient httpConduit httpTypes lens monadControl network text + transformers xmlConduit + ]; + doCheck = false; + jailbreak = true; + meta = { + description = "Jenkins API interface"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch new file mode 100644 index 000000000000..fda68fde5f92 --- /dev/null +++ b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch @@ -0,0 +1,23 @@ +diff -Naur libjenkins-0.4.2.0-orig/libjenkins.cabal libjenkins-0.4.2.0/libjenkins.cabal +--- libjenkins-0.4.2.0-orig/libjenkins.cabal 2014-02-17 13:11:22.000000000 -0500 ++++ libjenkins-0.4.2.0/libjenkins.cabal 2014-04-07 11:40:30.046473593 -0400 +@@ -52,6 +52,7 @@ + , text >= 0.11 + , transformers >= 0.3 + , xml-conduit >= 1.1 ++ , resourcet + + test-suite doctest + default-language: Haskell2010 +diff -Naur libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs +--- libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs 2014-02-17 13:11:22.000000000 -0500 ++++ libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs 2014-04-07 11:40:02.221415450 -0400 +@@ -22,7 +22,7 @@ + import Control.Monad.Trans.Reader (ReaderT, runReaderT, ask, local) + import Control.Monad.Trans.Maybe (MaybeT(..), mapMaybeT) + import Data.ByteString.Lazy (ByteString) +-import Data.Conduit (ResourceT) ++import Control.Monad.Trans.Resource (ResourceT) + import Data.Data (Data, Typeable) + import Data.Text (Text) + import qualified Data.Text.Encoding as Text diff --git a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix new file mode 100644 index 000000000000..b30b0714d1fd --- /dev/null +++ b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix @@ -0,0 +1,21 @@ +{ cabal, hashable, hsyslog, pipes, pipesSafe, systemd-journal, text +, transformers, uniplate, unixBytestring, unorderedContainers, uuid +, vector +}: + +cabal.mkDerivation (self: { + pname = "libsystemd-journal"; + version = "1.1.0"; + sha256 = "0zdql5y40d0d044mwbsr3xxmfzgnnp02a36wbbslxmrm5c3w1qi2"; + buildDepends = [ + hashable hsyslog pipes pipesSafe text transformers uniplate + unixBytestring unorderedContainers uuid vector + ]; + extraLibraries = [ systemd-journal ]; + meta = { + homepage = "http://github.com/ocharles/libsystemd-journal"; + description = "Haskell bindings to libsystemd-journal"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/libxml-sax/default.nix b/pkgs/development/libraries/haskell/libxml-sax/default.nix index afdd782fe094..320a6f20699d 100644 --- a/pkgs/development/libraries/haskell/libxml-sax/default.nix +++ b/pkgs/development/libraries/haskell/libxml-sax/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "libxml-sax"; - version = "0.7.4"; - sha256 = "1vbxrmxxb6a58hd6dd81kz8fh198jkvwv4gxzbbfw44170946c0z"; + version = "0.7.5"; + sha256 = "0lbdq6lmiyrnzk6gkx09vvp928wj8qnqnqfzy14mfv0drj21f54r"; buildDepends = [ text xmlTypes ]; extraLibraries = [ libxml2 ]; pkgconfigDepends = [ libxml2 ]; diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix index cfa51bd39aac..9dd46754164f 100644 --- a/pkgs/development/libraries/haskell/lifted-base/default.nix +++ b/pkgs/development/libraries/haskell/lifted-base/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "lifted-base"; - version = "0.2.1.1"; - sha256 = "062mdh364c4adnyc3l037zi1aaqvgm43g1x6vf3pjb75c3sayc5k"; + version = "0.2.2.1"; + sha256 = "13w1y67wng5rv90fsikkwpvx2ajmq5ybnxrx9b2x0y0zbcy7pzk8"; buildDepends = [ baseUnicodeSymbols monadControl transformersBase ]; diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index a358528ee28c..1abc63c8c4b7 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -1,21 +1,23 @@ -{ cabal, binary, distributive, doctest, filepath, hashable, HUnit -, lens, reflection, semigroupoids, semigroups, simpleReflect -, tagged, testFramework, testFrameworkHunit, transformers -, unorderedContainers, vector +{ cabal, adjunctions, binary, distributive, doctest, filepath +, hashable, HUnit, lens, reflection, semigroupoids, semigroups +, simpleReflect, tagged, testFramework, testFrameworkHunit +, transformers, unorderedContainers, vector, void }: cabal.mkDerivation (self: { pname = "linear"; - version = "1.4"; - sha256 = "1a2l68q0l2vlp4wpf5wqvpnag326s38k2ifh8hcfczjhsg9cq45a"; + version = "1.10"; + sha256 = "1wl0hb58znc3n5f5jv0wm6g21p080zldlq954n0lm8sjwmv39cdx"; buildDepends = [ - binary distributive hashable reflection semigroupoids semigroups - tagged transformers unorderedContainers vector + adjunctions binary distributive hashable lens reflection + semigroupoids semigroups tagged transformers unorderedContainers + vector void ]; testDepends = [ binary doctest filepath HUnit lens simpleReflect testFramework testFrameworkHunit ]; + doCheck = false; meta = { homepage = "http://github.com/ekmett/linear/"; description = "Linear Algebra"; diff --git a/pkgs/development/libraries/haskell/list-tries/default.nix b/pkgs/development/libraries/haskell/list-tries/default.nix index 4eb91c67a476..a7d2a963e0de 100644 --- a/pkgs/development/libraries/haskell/list-tries/default.nix +++ b/pkgs/development/libraries/haskell/list-tries/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "list-tries"; - version = "0.5.1"; - sha256 = "15lbq41rikj5vm9gfgjxz98pamnib4dcs48fr2vm9r3s3fikd2kz"; + version = "0.5.2"; + sha256 = "0lfl35i1k3nnv8q6bhwq4sr197fylin2hmxa4b96kfcc22xfzwy6"; isLibrary = true; isExecutable = true; buildDepends = [ binary dlist ]; diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/default.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/llvm-general-pure/default.nix rename to pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix new file mode 100644 index 000000000000..bfa0ed43d0e2 --- /dev/null +++ b/pkgs/development/libraries/haskell/llvm-general-pure/3.4.2.2.nix @@ -0,0 +1,20 @@ +{ cabal, HUnit, mtl, parsec, QuickCheck, setenv, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, transformers +}: + +cabal.mkDerivation (self: { + pname = "llvm-general-pure"; + version = "3.4.2.2"; + sha256 = "0grbw0lamp0w4jzxg97jccl3jqdgqfgldpb4llvhr1l70591b0s8"; + buildDepends = [ mtl parsec setenv transformers ]; + testDepends = [ + HUnit mtl QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + doCheck = false; + meta = { + description = "Pure Haskell LLVM functionality (no FFI)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/llvm-general/default.nix b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/llvm-general/default.nix rename to pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix diff --git a/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix new file mode 100644 index 000000000000..43a346ebf191 --- /dev/null +++ b/pkgs/development/libraries/haskell/llvm-general/3.4.2.2.nix @@ -0,0 +1,24 @@ +{ cabal, HUnit, llvmConfig, llvmGeneralPure, mtl, parsec +, QuickCheck, setenv, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, transformers, utf8String +}: + +cabal.mkDerivation (self: { + pname = "llvm-general"; + version = "3.4.2.2"; + sha256 = "1dqdvv8pslblavyi14xy0bgrr1ca8d1jqp60x16zgbzkk3f2jx6a"; + buildDepends = [ + llvmGeneralPure mtl parsec setenv transformers utf8String + ]; + testDepends = [ + HUnit llvmGeneralPure mtl QuickCheck testFramework + testFrameworkHunit testFrameworkQuickcheck2 + ]; + buildTools = [ llvmConfig ]; + doCheck = false; + meta = { + description = "General purpose LLVM bindings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/lockfree-queue/default.nix b/pkgs/development/libraries/haskell/lockfree-queue/default.nix index ac2114b7f373..a5106d910f3f 100644 --- a/pkgs/development/libraries/haskell/lockfree-queue/default.nix +++ b/pkgs/development/libraries/haskell/lockfree-queue/default.nix @@ -1,18 +1,18 @@ -{ cabal, abstractDeque, atomicPrimops, HUnit, IORefCAS +{ cabal, abstractDeque, abstractDequeTests, atomicPrimops, HUnit , testFramework, testFrameworkHunit }: cabal.mkDerivation (self: { pname = "lockfree-queue"; - version = "0.2.0.2"; - sha256 = "0mb07hx4cllnxv7mz19vvn9zcc5rx0ji5wv80fx0yirgk2qjpgml"; - buildDepends = [ abstractDeque atomicPrimops IORefCAS ]; + version = "0.2.3"; + sha256 = "0y8ax6vcjnjm8g7ybn95wca74hm0g22fvgra06vj6l90pl93awyg"; + buildDepends = [ abstractDeque atomicPrimops ]; testDepends = [ - abstractDeque atomicPrimops HUnit IORefCAS testFramework + abstractDeque abstractDequeTests atomicPrimops HUnit testFramework testFrameworkHunit ]; meta = { - homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki"; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "Michael and Scott lock-free queues"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/logging/default.nix b/pkgs/development/libraries/haskell/logging/default.nix new file mode 100644 index 000000000000..7cfcf1479572 --- /dev/null +++ b/pkgs/development/libraries/haskell/logging/default.nix @@ -0,0 +1,19 @@ +{ cabal, binary, fastLogger, hspec, liftedBase, monadControl +, monadLogger, pcreLight, text, time, transformers, vectorSpace +}: + +cabal.mkDerivation (self: { + pname = "logging"; + version = "1.4.0"; + sha256 = "0xkk6j9wa5n0qg0wp7a9bwaz328hrjk1fwanpa515hh3gvz62g94"; + buildDepends = [ + binary fastLogger liftedBase monadControl monadLogger pcreLight + text time transformers vectorSpace + ]; + testDepends = [ hspec monadLogger ]; + meta = { + description = "Simplified logging in IO for application writers"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/logict/default.nix b/pkgs/development/libraries/haskell/logict/default.nix index 9dc4b58797f1..b0768708429f 100644 --- a/pkgs/development/libraries/haskell/logict/default.nix +++ b/pkgs/development/libraries/haskell/logict/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "logict"; - version = "0.6.0.1"; - sha256 = "0sznrnx7l5sqnyvc2xwx1q33b4833qsnhppm06a3scp9gj3y1xp2"; + version = "0.6.0.2"; + sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"; buildDepends = [ mtl ]; meta = { - homepage = "http://code.haskell.org/~dolio/logict"; + homepage = "http://code.haskell.org/~dolio/"; description = "A backtracking logic-programming monad"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/lrucache/default.nix b/pkgs/development/libraries/haskell/lrucache/default.nix index 2d494f4a8969..43fdd6caf992 100644 --- a/pkgs/development/libraries/haskell/lrucache/default.nix +++ b/pkgs/development/libraries/haskell/lrucache/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "lrucache"; - version = "1.1.1.3"; - sha256 = "1djjxlyfrk3wpgc4h6xljpray09v7lc956202k9bxra24vj5f1lm"; + version = "1.1.1.4"; + sha256 = "0w3b338wsf7c0acjxxfdjxsljfpsix67aihkl2jwnp5x71awf8qh"; meta = { homepage = "http://github.com/chowells79/lrucache"; description = "a simple, pure LRU cache"; diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix index 7960395eb098..df1e4be218f0 100644 --- a/pkgs/development/libraries/haskell/ltk/default.nix +++ b/pkgs/development/libraries/haskell/ltk/default.nix @@ -1,10 +1,12 @@ -{ cabal, Cabal, filepath, glib, gtk, mtl, parsec, transformers }: +{ cabal, Cabal, filepath, glib, gtk3, mtl, parsec, transformers }: cabal.mkDerivation (self: { pname = "ltk"; - version = "0.12.1.0"; - sha256 = "12x6nba5bll8fgzpxii1cf87j27jk4mn5gf1bx4ahd9v30h1a0h6"; - buildDepends = [ Cabal filepath glib gtk mtl parsec transformers ]; + version = "0.13.1.0"; + sha256 = "09ryyzjd3iazwiw714hsny2b9f4b1cfhyzc11k5xzin5kh5d804a"; + buildDepends = [ + Cabal filepath glib gtk3 mtl parsec transformers + ]; meta = { homepage = "http://www.leksah.org"; description = "Leksah tool kit"; diff --git a/pkgs/development/libraries/haskell/lushtags/default.nix b/pkgs/development/libraries/haskell/lushtags/default.nix new file mode 100644 index 000000000000..bf05cd5e63d0 --- /dev/null +++ b/pkgs/development/libraries/haskell/lushtags/default.nix @@ -0,0 +1,17 @@ +{ cabal, haskellSrcExts, text, vector }: + +cabal.mkDerivation (self: { + pname = "lushtags"; + version = "0.0.1"; + sha256 = "0325c064nsczypapvwdchx7x5n69jxjbyjs90ah7q5ydxbjl6w9c"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haskellSrcExts text vector ]; + jailbreak = true; + meta = { + homepage = "https://github.com/bitc/lushtags"; + description = "Create ctags compatible tags files for Haskell programs"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/lzma-enumerator/default.nix b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix new file mode 100644 index 000000000000..f931262a91e3 --- /dev/null +++ b/pkgs/development/libraries/haskell/lzma-enumerator/default.nix @@ -0,0 +1,22 @@ +{ cabal, bindingsDSL, enumerator, HUnit, lzma, mtl, QuickCheck +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "lzma-enumerator"; + version = "0.1.3"; + sha256 = "0pzz8bf6310p23pmsa013i8vib0xsfvlkj7zp0w9xs2xsi4j7jk1"; + buildDepends = [ bindingsDSL enumerator mtl ]; + testDepends = [ + enumerator HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + extraLibraries = [ lzma ]; + jailbreak = true; + meta = { + homepage = "http://github.com/alphaHeavy/lzma-enumerator"; + description = "Enumerator interface for lzma/xz compression"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix index 8180c8bce753..b14449626c87 100644 --- a/pkgs/development/libraries/haskell/math-functions/default.nix +++ b/pkgs/development/libraries/haskell/math-functions/default.nix @@ -1,16 +1,18 @@ -{ cabal, erf, HUnit, ieee754, QuickCheck, testFramework +{ cabal, deepseq, erf, HUnit, ieee754, QuickCheck, testFramework , testFrameworkHunit, testFrameworkQuickcheck2, vector +, vectorThUnbox }: cabal.mkDerivation (self: { pname = "math-functions"; - version = "0.1.4.0"; - sha256 = "1cijm224gfvd7rvrrndcks8d7aj89c9qv0m4wx2qqngr7rk78kav"; - buildDepends = [ erf vector ]; + version = "0.1.5.2"; + sha256 = "12cznf7gwia1ki7xhvlhk5p8d09zrdvfgn07pkp4sfrwsc4vijcy"; + buildDepends = [ deepseq erf vector vectorThUnbox ]; testDepends = [ HUnit ieee754 QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 vector ]; + doCheck = false; meta = { homepage = "https://github.com/bos/math-functions"; description = "Special functions and Chebyshev polynomials"; diff --git a/pkgs/development/libraries/haskell/midi/default.nix b/pkgs/development/libraries/haskell/midi/default.nix index e50843c6ff23..9467b567f829 100644 --- a/pkgs/development/libraries/haskell/midi/default.nix +++ b/pkgs/development/libraries/haskell/midi/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "midi"; - version = "0.2.1"; - sha256 = "0i767y0835979s9i3wm8qwzh2awhhmfvhc5zvq2lkn8xlsp3wa6y"; + version = "0.2.1.1"; + sha256 = "11h4kr9a1jia1ghcyzgavcznw4771l00z736iibjpagw0b8fpip5"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix index 4f7353dfdb6f..80fc8e1b4af9 100644 --- a/pkgs/development/libraries/haskell/mime-mail/default.nix +++ b/pkgs/development/libraries/haskell/mime-mail/default.nix @@ -1,15 +1,16 @@ { cabal, base64Bytestring, blazeBuilder, filepath, hspec, random -, text +, sendmail ? "sendmail", text }: cabal.mkDerivation (self: { pname = "mime-mail"; - version = "0.4.3"; - sha256 = "0xh6j4vdg2ispr9f41s8pvx5rb08zqapkqxyvykvjg2ibmczzg4f"; + version = "0.4.5.1"; + sha256 = "01r6dxdp3183ahggda6dizdz1c3qpmpyxn6csalzvss52ds4ilsf"; buildDepends = [ base64Bytestring blazeBuilder filepath random text ]; testDepends = [ blazeBuilder hspec text ]; + configureFlags = "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"${sendmail}\""; meta = { homepage = "http://github.com/snoyberg/mime-mail"; description = "Compose MIME email messages"; diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix index 5dd5f65c9e74..50c25ada340f 100644 --- a/pkgs/development/libraries/haskell/mime-types/default.nix +++ b/pkgs/development/libraries/haskell/mime-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "mime-types"; - version = "0.1.0.3"; - sha256 = "0mzhkqcjlnrs9mwn2crsr1m2mf6pgygs1s3ks8akz1618v6jm6y1"; + version = "0.1.0.4"; + sha256 = "0bxhkwz8p7mhg5kspbpc5zm4k50pc0r5pzjr6807y88x8vjpvj2x"; buildDepends = [ text ]; meta = { homepage = "https://github.com/yesodweb/wai"; diff --git a/pkgs/development/libraries/haskell/mime/default.nix b/pkgs/development/libraries/haskell/mime/default.nix new file mode 100644 index 000000000000..6e1a3482c042 --- /dev/null +++ b/pkgs/development/libraries/haskell/mime/default.nix @@ -0,0 +1,15 @@ +{ cabal, text }: + +cabal.mkDerivation (self: { + pname = "mime"; + version = "0.4.0.1"; + sha256 = "1m987sqnns54qbsg68332mnrjkh71z6s83cma2kwavf0y305mrp0"; + buildDepends = [ text ]; + meta = { + homepage = "https://github.com/GaloisInc/mime"; + description = "Working with MIME types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/miniutter/default.nix b/pkgs/development/libraries/haskell/miniutter/default.nix index 346e1c6a428d..389a79dd6e1e 100644 --- a/pkgs/development/libraries/haskell/miniutter/default.nix +++ b/pkgs/development/libraries/haskell/miniutter/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "miniutter"; - version = "0.4.2"; - sha256 = "00027aqxa0631v3n1jsv4aj9kf39s5yivi3dl573s5nj0wibj008"; + version = "0.4.3.0"; + sha256 = "0hslks4vr1738pczgzzcl0mrb9jqs1986vjgw4xpvzz9p3ki1n50"; buildDepends = [ binary minimorph text ]; testDepends = [ HUnit testFramework testFrameworkHunit text ]; meta = { diff --git a/pkgs/development/libraries/haskell/missing-foreign/default.nix b/pkgs/development/libraries/haskell/missing-foreign/default.nix new file mode 100644 index 000000000000..9ffbc37468a7 --- /dev/null +++ b/pkgs/development/libraries/haskell/missing-foreign/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "missing-foreign"; + version = "0.1.1"; + sha256 = "11f8pknbarlj956nmalqhd2v704z7d7xbi61hs1q8vb2p36kc6wy"; + meta = { + description = "Convenience functions for FFI work"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/mmorph/default.nix b/pkgs/development/libraries/haskell/mmorph/default.nix index 702aca476fd0..b2c3212bb174 100644 --- a/pkgs/development/libraries/haskell/mmorph/default.nix +++ b/pkgs/development/libraries/haskell/mmorph/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "mmorph"; - version = "1.0.1"; - sha256 = "15a4isvxb4my72hzndgfy66792r9fpkn9vnmr2fnv9d9vl058y14"; + version = "1.0.2"; + sha256 = "0d0nn5x7f3yyck10znqa13iihkshq04xgg1d9bn1nvl7kjzicjwh"; buildDepends = [ transformers ]; meta = { description = "Monad morphisms"; diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix index 12657a63b4cc..e9c6088b5f40 100644 --- a/pkgs/development/libraries/haskell/monad-control/default.nix +++ b/pkgs/development/libraries/haskell/monad-control/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monad-control"; - version = "0.3.2.2"; - sha256 = "1wwcx2k0nzmjqxf8d8wasnhvdx5q3nxkcyq7vbprkfy85sj7ivxc"; + version = "0.3.2.3"; + sha256 = "1fk3cqzsiwyjpyd20z1j0i4m669rcag2q7kpl78m6vm1a405iwlw"; buildDepends = [ baseUnicodeSymbols transformers transformersBase ]; diff --git a/pkgs/development/libraries/haskell/monad-extras/default.nix b/pkgs/development/libraries/haskell/monad-extras/default.nix new file mode 100644 index 000000000000..9a66c5ab983d --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-extras/default.nix @@ -0,0 +1,17 @@ +{ cabal, mmorph, monadControl, stm, transformers, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "monad-extras"; + version = "0.5.7"; + sha256 = "0dqj3n3ki679b6z5y7qw084chbahlqmj2vgj7yx0v552bl0ylzyj"; + buildDepends = [ + mmorph monadControl stm transformers transformersBase + ]; + meta = { + homepage = "http://github.com/jwiegley/monad-extras"; + description = "Extra utility functions for working with monads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix index a66ad0faf01f..5468f4127fc4 100644 --- a/pkgs/development/libraries/haskell/monad-logger/default.nix +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -1,15 +1,16 @@ -{ cabal, blazeBuilder, conduit, fastLogger, liftedBase -, monadControl, monadLoops, mtl, resourcet, stm, stmChans, text -, transformers, transformersBase +{ cabal, blazeBuilder, conduit, conduitExtra, exceptions +, fastLogger, liftedBase, monadControl, monadLoops, mtl, resourcet +, stm, stmChans, text, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "monad-logger"; - version = "0.3.4.0"; - sha256 = "16nrzms87klbs26rbaw4j8xal5k7glpbhg7r2x1m3gxbdhsp696n"; + version = "0.3.6"; + sha256 = "0a3dbk3c1jv8zbxrb5vzf5ypwwzkamxd35rm8pjn13aqcnnznniq"; buildDepends = [ - blazeBuilder conduit fastLogger liftedBase monadControl monadLoops - mtl resourcet stm stmChans text transformers transformersBase + blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase + monadControl monadLoops mtl resourcet stm stmChans text + transformers transformersBase ]; meta = { homepage = "https://github.com/kazu-yamamoto/logger"; diff --git a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix index 60236eaad355..87bd36503e18 100644 --- a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix +++ b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monadcryptorandom"; - version = "0.5.3"; - sha256 = "1nmkya9mf9y6lhmbhamq2g09pfvfpmicrwab09mcy3ggljdnnfyg"; + version = "0.6.1"; + sha256 = "0j99j0f2qwhslimfgslsdlv0xihsddas3i69pfnjwnsd9zg5pgj2"; buildDepends = [ cryptoApi mtl tagged transformers ]; meta = { homepage = "https://github.com/TomMD/monadcryptorandom"; diff --git a/pkgs/development/libraries/haskell/monadloc/default.nix b/pkgs/development/libraries/haskell/monadloc/default.nix new file mode 100644 index 000000000000..9ff7383565e1 --- /dev/null +++ b/pkgs/development/libraries/haskell/monadloc/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "monadloc"; + version = "0.7.1"; + sha256 = "1a773nysrsj61ka7bdacb0i7dxlgb1fjz3x5w9c1w1dv7rmhynmj"; + buildDepends = [ transformers ]; + meta = { + homepage = "http://github.com/pepeiborra/monadloc"; + description = "A class for monads which can keep a monadic call trace"; + license = self.stdenv.lib.licenses.publicDomain; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix index ed88e24ffa94..113a4b67b414 100644 --- a/pkgs/development/libraries/haskell/mono-traversable/default.nix +++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix @@ -1,16 +1,21 @@ -{ cabal, comonad, hashable, hspec, semigroupoids, semigroups, text -, transformers, unorderedContainers, vector +{ cabal, comonad, dlist, dlistInstances, foldl, hashable, hspec +, QuickCheck, semigroupoids, semigroups, text, transformers +, unorderedContainers, vector, vectorAlgorithms, vectorInstances }: cabal.mkDerivation (self: { pname = "mono-traversable"; - version = "0.2.0.0"; - sha256 = "1wg0yzim3ql73w5rsxjnglwlg8r2hqliddmdk8vwsbvg02kgwxvz"; + version = "0.4.0.4"; + sha256 = "1ikrdhr4f3755xim6j9db60a9y0mpdnljmck84qh47yk2axfp0n9"; buildDepends = [ - comonad hashable semigroupoids semigroups text transformers + comonad dlist dlistInstances hashable semigroupoids semigroups text + transformers unorderedContainers vector vectorAlgorithms + vectorInstances + ]; + testDepends = [ + foldl hspec QuickCheck semigroups text transformers unorderedContainers vector ]; - testDepends = [ hspec text ]; meta = { homepage = "https://github.com/snoyberg/mono-traversable"; description = "Type classes for mapping, folding, and traversing monomorphic containers"; diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix index 73f720ba4214..b9987255c0f3 100644 --- a/pkgs/development/libraries/haskell/monoid-extras/default.nix +++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix @@ -1,10 +1,10 @@ -{ cabal, groupoids, groups, semigroupoids, semigroups }: +{ cabal, groups, semigroupoids, semigroups }: cabal.mkDerivation (self: { pname = "monoid-extras"; - version = "0.3.2.4"; - sha256 = "1qrgwnczznjp1visspqf3dk224nvqf5icv3646j96acl5srn84qc"; - buildDepends = [ groupoids groups semigroupoids semigroups ]; + version = "0.3.3.2"; + sha256 = "0v4xir47ki83f9w2rii06w3jwrvqljnbiivgh6k8jxl0bdfslh11"; + buildDepends = [ groups semigroupoids semigroups ]; jailbreak = true; meta = { description = "Various extra monoid-related definitions and utilities"; diff --git a/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix new file mode 100644 index 000000000000..e9fa49510c18 --- /dev/null +++ b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix @@ -0,0 +1,15 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "mtl"; + version = "2.1.3.1"; + sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp"; + buildDepends = [ transformers ]; + meta = { + homepage = "http://github.com/ekmett/mtl"; + description = "Monad classes, using functional dependencies"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix index 3c5239b4737e..e8e608f0e0b1 100644 --- a/pkgs/development/libraries/haskell/multiarg/default.nix +++ b/pkgs/development/libraries/haskell/multiarg/default.nix @@ -1,10 +1,10 @@ -{ cabal, utf8String }: +{ cabal, bifunctors, utf8String }: cabal.mkDerivation (self: { pname = "multiarg"; - version = "0.24.0.0"; - sha256 = "0vdhrsqwa2wq9cvf96x3hqml2vbjcvik9mpz1kbbhb61f9lbhas6"; - buildDepends = [ utf8String ]; + version = "0.26.0.0"; + sha256 = "0fjzjr66yan62911kfndnr7xmy3waidh4cqazabk6yr1cznpsx8m"; + buildDepends = [ bifunctors utf8String ]; meta = { homepage = "https://github.com/massysett/multiarg"; description = "Combinators to build command line parsers"; diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix index 61de0cace5b5..85c2a671dbf3 100644 --- a/pkgs/development/libraries/haskell/multirec/default.nix +++ b/pkgs/development/libraries/haskell/multirec/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "multirec"; - version = "0.7.3"; - sha256 = "0k1wbjsvkl08nwjikflc8yyalk654mf8bvi1rhm28i4na52myi5y"; + version = "0.7.4"; + sha256 = "01mligrin7fp3fnnwgv8nrww5938ryghgyw9xyw153a615ryj8i9"; meta = { homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec"; description = "Generic programming for families of recursive datatypes"; diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix index 0c4058eb1119..12d5d550d100 100644 --- a/pkgs/development/libraries/haskell/murmur-hash/default.nix +++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "murmur-hash"; - version = "0.1.0.6"; - sha256 = "0wnkwl3a9x0f4rvsj4wf129n03vpw8qk4kzx6vmrapwwb4r80npz"; + version = "0.1.0.7"; + sha256 = "125v4ypiv8n2m8zd1yi46prz96yy79ap0yzhm4vhrws4cf1zapkp"; meta = { homepage = "http://github.com/nominolo/murmur-hash"; description = "MurmurHash2 implementation for Haskell"; diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix index d26980994e71..995571abc202 100644 --- a/pkgs/development/libraries/haskell/mwc-random/default.nix +++ b/pkgs/development/libraries/haskell/mwc-random/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mwc-random"; - version = "0.13.1.0"; - sha256 = "16g6b1pphr4p36nn5qjj62iwf47rq8kfmpjgfvd35r3cz9qqb8cb"; + version = "0.13.1.1"; + sha256 = "1hi9ci65m3pjkli0rvx2x4fmp73c9fsmnc1zkpaj4g64ibhhir64"; buildDepends = [ primitive time vector ]; testDepends = [ HUnit QuickCheck statistics testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/mysql-simple/default.nix b/pkgs/development/libraries/haskell/mysql-simple/default.nix new file mode 100644 index 000000000000..e61d493cdbec --- /dev/null +++ b/pkgs/development/libraries/haskell/mysql-simple/default.nix @@ -0,0 +1,19 @@ +{ cabal, attoparsec, base16Bytestring, blazeBuilder, blazeTextual +, mysql, pcreLight, text, time +}: + +cabal.mkDerivation (self: { + pname = "mysql-simple"; + version = "0.2.2.4"; + sha256 = "044grjly1gyrgba2bfrii2pa14ff7v14ncyk3kj01g1zdxnwqjh6"; + buildDepends = [ + attoparsec base16Bytestring blazeBuilder blazeTextual mysql + pcreLight text time + ]; + meta = { + homepage = "https://github.com/bos/mysql-simple"; + description = "A mid-level MySQL client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/mysql/default.nix b/pkgs/development/libraries/haskell/mysql/default.nix new file mode 100644 index 000000000000..4deec5bb7676 --- /dev/null +++ b/pkgs/development/libraries/haskell/mysql/default.nix @@ -0,0 +1,15 @@ +{ cabal, mysqlConfig, zlib }: + +cabal.mkDerivation (self: { + pname = "mysql"; + version = "0.1.1.6"; + sha256 = "1sxzx5f4ysxhq1nimkj4xwf87i7prwp5wg0kjbhv9pbn65zc9mmj"; + buildTools = [ mysqlConfig ]; + extraLibraries = [ zlib ]; + meta = { + homepage = "https://github.com/bos/mysql"; + description = "A low-level MySQL client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix index 2cb5e5a5cfc8..e4c5bb7ab6b1 100644 --- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix @@ -1,19 +1,18 @@ -{ cabal, aeson, certificate, conduit, connection, cprngAes -, cryptoApi, cryptoRandomApi, dataDefault, HUnit, monadControl, mtl -, network, networkConduit, pem, systemFileio, systemFilepath, tls -, tlsExtra, transformers +{ cabal, conduit, conduitExtra, connection, cprngAes, dataDefault +, HUnit, monadControl, mtl, network, streamingCommons, systemFileio +, systemFilepath, tls, transformers }: cabal.mkDerivation (self: { pname = "network-conduit-tls"; - version = "1.0.3"; - sha256 = "0l8h9pfrrqzkf45cp5r8kxpzc2fi6m01s4zkrh0d226rbps3gmvc"; + version = "1.1.0"; + sha256 = "1q9wx7bvr4a65rkyfn2vd3h9bfpsvm9zcqqjhjsrgb91l6x5bdqi"; buildDepends = [ - aeson certificate conduit connection cprngAes cryptoApi - cryptoRandomApi dataDefault monadControl network networkConduit pem - systemFileio systemFilepath tls tlsExtra transformers + conduit conduitExtra connection cprngAes dataDefault monadControl + network streamingCommons systemFileio systemFilepath tls + transformers ]; - testDepends = [ conduit connection HUnit mtl networkConduit ]; + testDepends = [ conduit conduitExtra connection HUnit mtl ]; meta = { homepage = "https://github.com/snoyberg/conduit"; description = "Create TLS-aware network code with conduits"; diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix index c0b8b9dd89e6..1f252c03660d 100644 --- a/pkgs/development/libraries/haskell/network-conduit/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit/default.nix @@ -1,17 +1,14 @@ -{ cabal, conduit, liftedBase, monadControl, network, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "network-conduit"; - version = "1.0.1"; - sha256 = "1argxj87a5rzza061lvvfmix2vrlz62dskj4pwlsq0d22dg8y332"; - buildDepends = [ - conduit liftedBase monadControl network transformers - ]; - testDepends = [ conduit ]; + version = "1.1.0"; + sha256 = "06amxl8rg4zfnmgc1iyq5mxy9qihcqddqgqkbfvaf25mwr43992p"; + buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Stream socket data using conduits"; + description = "Stream socket data using conduits. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix index 910d2cc6774b..cd56082d8b54 100644 --- a/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix +++ b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "network-protocol-xmpp"; - version = "0.4.5"; - sha256 = "1phnd9nygpc8gmyriwaqjnvygxi5zg4nx2i1m3vwwxql221420gg"; + version = "0.4.6"; + sha256 = "0xmafjz11v2dlbyg2ny90ycz315s23yprdpxz3l06igjxw6h3v6n"; buildDepends = [ gnuidn gnutls gsasl libxmlSax monadsTf network text transformers xmlTypes diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix index 72d8c8af8c89..cde31643c719 100644 --- a/pkgs/development/libraries/haskell/network-simple/default.nix +++ b/pkgs/development/libraries/haskell/network-simple/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "network-simple"; - version = "0.3.0"; - sha256 = "046nbgdwazbqffcim1gxry1mf35yg41g52zdk86h9whhiwjzlywz"; + version = "0.3.1"; + sha256 = "0bk015d0np07887flah76vgrgrqaqj4x1sdxmghvazj8c78nkan8"; buildDepends = [ exceptions network transformers ]; meta = { homepage = "https://github.com/k0001/network-simple"; diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix index 26ed2d77bd0f..902ea9ce8809 100644 --- a/pkgs/development/libraries/haskell/numbers/default.nix +++ b/pkgs/development/libraries/haskell/numbers/default.nix @@ -2,13 +2,13 @@ cabal.mkDerivation (self: { pname = "numbers"; - version = "3000.2.0.0"; - sha256 = "035qc7dgh4nd661z4mm742v8y7xqdyyp0r0vkinxiifciqb1fkbm"; + version = "3000.2.0.1"; + sha256 = "10z1bi5qbc81z5xx2v1ylwcpmcfl1ci7lxrswkgi0dd1wi8havbk"; testDepends = [ QuickCheck testFramework testFrameworkQuickcheck2 ]; meta = { - homepage = "https://github.com/DanBurton/numbers#readme"; + homepage = "https://github.com/jwiegley/numbers#readme"; description = "Various number types"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix index 9fb5d334a4d5..4fac81b01f93 100644 --- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix +++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "numeric-prelude"; - version = "0.4.0.3"; - sha256 = "0lgjnkvbz14cqsm5fjafl8g5mkclcdvpwa3kpz9radmg2x09rsnl"; + version = "0.4.1"; + sha256 = "1y1dg4bk811xmz3p23g8kjl6vxns3gs8qj671971c06nccfl1h5r"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/numtype-tf/default.nix b/pkgs/development/libraries/haskell/numtype-tf/default.nix index ad7f2d986602..d317f57efcea 100644 --- a/pkgs/development/libraries/haskell/numtype-tf/default.nix +++ b/pkgs/development/libraries/haskell/numtype-tf/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "numtype-tf"; - version = "0.1.1"; - sha256 = "0aj24jlfcv4rsa0zfglsfgq9f0kxln32drypp66652ycffz3ip9a"; + version = "0.1.2"; + sha256 = "00bnz9k4nq21z4vax37qjv6ra2jvlshk0jlici1w8y9rx39zrjyx"; meta = { homepage = "http://dimensional.googlecode.com/"; description = "Type-level (low cardinality) integers, implemented using type families"; diff --git a/pkgs/development/libraries/haskell/numtype/default.nix b/pkgs/development/libraries/haskell/numtype/default.nix index d35f763d32e2..25e0a61beb92 100644 --- a/pkgs/development/libraries/haskell/numtype/default.nix +++ b/pkgs/development/libraries/haskell/numtype/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "numtype"; - version = "1.0.1"; - sha256 = "130qchi9dplpg7pxf4pz7nz4mnprngw16mizqycp5pdlawbcp5js"; + version = "1.1"; + sha256 = "1az10xcfl6qpyy9qnh8g2iqx53rxnjxzc1h8kl1gira6yv7g6857"; meta = { homepage = "http://dimensional.googlecode.com/"; description = "Type-level (low cardinality) integers"; diff --git a/pkgs/development/libraries/haskell/options/default.nix b/pkgs/development/libraries/haskell/options/default.nix new file mode 100644 index 000000000000..3772a142a58d --- /dev/null +++ b/pkgs/development/libraries/haskell/options/default.nix @@ -0,0 +1,16 @@ +{ cabal, chell, chellQuickcheck, monadsTf, transformers }: + +cabal.mkDerivation (self: { + pname = "options"; + version = "1.0"; + sha256 = "0d40d6k1c8v2b0bgchgl54sk9wx28kysp8bjws8bwjcmmd57775f"; + buildDepends = [ monadsTf transformers ]; + testDepends = [ chell chellQuickcheck monadsTf transformers ]; + doCheck = false; + meta = { + homepage = "https://john-millikin.com/software/haskell-options/"; + description = "A powerful and easy-to-use command-line option parser"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix index 6f7ef601d61a..da681b324a71 100644 --- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix +++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix @@ -1,14 +1,16 @@ -{ cabal, HUnit, testFramework, testFrameworkHunit +{ cabal, ansiWlPprint, HUnit, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2 , testFrameworkThPrime, transformers }: cabal.mkDerivation (self: { pname = "optparse-applicative"; - version = "0.7.0.2"; - sha256 = "1pq620236x8fch9nkq4g4vganbzksnwj8z1bb80c2mwvf6sbg5ci"; - buildDepends = [ transformers ]; + version = "0.8.0.1"; + sha256 = "19k7jw9hrns5i8dr67jxadaqnj0cmn991hl00fwymg4awv34p1w3"; + buildDepends = [ ansiWlPprint transformers ]; testDepends = [ - HUnit testFramework testFrameworkHunit testFrameworkThPrime + HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 testFrameworkThPrime ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix index 110195fa5185..ee41d76a417e 100644 --- a/pkgs/development/libraries/haskell/pandoc-types/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pandoc-types"; - version = "1.12.3.1"; - sha256 = "0q9wj3vkhnvl1l2hbg9nmcbshkf23nmaylm3zmqj5j95vay60hkr"; + version = "1.12.3.2"; + sha256 = "1jgab8ccyyr8ygm6y0wbr3vvwdg5gkp1b6014dk8ryqb2dmkmikc"; buildDepends = [ aeson syb ]; meta = { homepage = "http://johnmacfarlane.net/pandoc"; diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix index 94a0ba418eac..5a93cb023c91 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.12.3.1"; - sha256 = "0kvw10d2cnv16w9y9zx2l2gmn3zsrxppa9lllvqh1jah54rbn1pc"; + version = "1.12.3.3"; + sha256 = "0v7wvh93rz3k7phlz21627j5xakpi83174mchr3lwg4bmkfxn25s"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix index db426f397247..84823b90e470 100644 --- a/pkgs/development/libraries/haskell/pango/default.nix +++ b/pkgs/development/libraries/haskell/pango/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "pango"; - version = "0.12.5.0"; - sha256 = "06hchdnw4nfnpb46nb1gwgpwwk41dhp0xfimnbf310idiy0pavcg"; + version = "0.12.5.3"; + sha256 = "1n64ppz0jqrbzvimbz4avwnx3z0n5z2gbmbmca0hw9wqf9j6y79a"; buildDepends = [ cairo glib mtl ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc pkgconfig ]; diff --git a/pkgs/development/libraries/haskell/parsers/0.10.2.nix b/pkgs/development/libraries/haskell/parsers/0.10.3.nix similarity index 84% rename from pkgs/development/libraries/haskell/parsers/0.10.2.nix rename to pkgs/development/libraries/haskell/parsers/0.10.3.nix index 406cb610a3e6..84e5619167ab 100644 --- a/pkgs/development/libraries/haskell/parsers/0.10.2.nix +++ b/pkgs/development/libraries/haskell/parsers/0.10.3.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "parsers"; - version = "0.10.2"; - sha256 = "092wck874sdyyh4aql5kzsm8k9a7dscgndvzarhh98by5k3n45bk"; + version = "0.10.3"; + sha256 = "1s9n59q77h0w1csq7yh945b53847a9hnpvviashgxyi7ahvw7jli"; buildDepends = [ charset parsec text transformers unorderedContainers ]; diff --git a/pkgs/development/libraries/haskell/parsers/0.9.nix b/pkgs/development/libraries/haskell/parsers/0.11.nix similarity index 51% rename from pkgs/development/libraries/haskell/parsers/0.9.nix rename to pkgs/development/libraries/haskell/parsers/0.11.nix index dc42228df66a..c5d91f167cc6 100644 --- a/pkgs/development/libraries/haskell/parsers/0.9.nix +++ b/pkgs/development/libraries/haskell/parsers/0.11.nix @@ -1,12 +1,14 @@ -{ cabal, charset, doctest, filepath, text, transformers -, unorderedContainers +{ cabal, attoparsec, charset, doctest, filepath, parsec, text +, transformers, unorderedContainers }: cabal.mkDerivation (self: { pname = "parsers"; - version = "0.9"; - sha256 = "04lbayvdv2hax4s9sqlnia7jpzv1sgls41ylql0xbi2zhz5rvyyi"; - buildDepends = [ charset text transformers unorderedContainers ]; + version = "0.11"; + sha256 = "0k3xm9ww4q2wkjik4n4ww6ys79kl7xyzbhcb7xi81jz9py0xciqd"; + buildDepends = [ + attoparsec charset parsec text transformers unorderedContainers + ]; testDepends = [ doctest filepath ]; meta = { homepage = "http://github.com/ekmett/parsers/"; diff --git a/pkgs/development/libraries/haskell/patience/default.nix b/pkgs/development/libraries/haskell/patience/default.nix new file mode 100644 index 000000000000..0f65e3eceed5 --- /dev/null +++ b/pkgs/development/libraries/haskell/patience/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "patience"; + version = "0.1.1"; + sha256 = "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"; + meta = { + description = "Patience diff and longest increasing subsequence"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pbkdf/default.nix b/pkgs/development/libraries/haskell/pbkdf/default.nix new file mode 100644 index 000000000000..29ccc2b63dac --- /dev/null +++ b/pkgs/development/libraries/haskell/pbkdf/default.nix @@ -0,0 +1,15 @@ +{ cabal, binary, byteable, bytedump, cryptohash, utf8String }: + +cabal.mkDerivation (self: { + pname = "pbkdf"; + version = "1.1.1.1"; + sha256 = "1nbn8kan43i00g23g8aljxjpaxm9q1qhzxxdgks0mc4mr1f7bifx"; + buildDepends = [ binary byteable bytedump cryptohash utf8String ]; + testDepends = [ binary byteable bytedump cryptohash utf8String ]; + meta = { + homepage = "https://github.com/cdornan/pbkdf"; + description = "Haskell implementation of the PBKDF functions from RFC-2898"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix new file mode 100644 index 000000000000..7ff8a9de430e --- /dev/null +++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix @@ -0,0 +1,19 @@ +{ cabal, aeson, blazeBuilder, conduit, monadControl, mysql +, mysqlSimple, persistent, resourcet, text, transformers +}: + +cabal.mkDerivation (self: { + pname = "persistent-mysql"; + version = "1.3.0.2"; + sha256 = "0yv2f8zqypbp5swdpxmgnfmmfsr6lwhb27k0hl9bh7ya76anhvqy"; + buildDepends = [ + aeson blazeBuilder conduit monadControl mysql mysqlSimple + persistent resourcet text transformers + ]; + meta = { + homepage = "http://www.yesodweb.com/book/persistent"; + description = "Backend for the persistent library using MySQL database server"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix index c4dc0be2a43f..85b1a10b5ba0 100644 --- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix +++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix @@ -1,15 +1,17 @@ { cabal, aeson, blazeBuilder, conduit, monadControl, persistent -, postgresqlLibpq, postgresqlSimple, text, time, transformers +, postgresqlLibpq, postgresqlSimple, resourcet, text, time +, transformers }: cabal.mkDerivation (self: { pname = "persistent-postgresql"; - version = "1.3.0"; - sha256 = "1mayfq1z9i46nqgiajkhxx4z3hfy3gl5nzx8d5xlp7s1mliz3qjv"; + version = "1.3.0.5"; + sha256 = "0abk38jzc7k93wrzn3pq90xj0mqln4nqrgzmmy0d3p4gmbzmnnia"; buildDepends = [ aeson blazeBuilder conduit monadControl persistent postgresqlLibpq - postgresqlSimple text time transformers + postgresqlSimple resourcet text time transformers ]; + jailbreak = true; meta = { homepage = "http://www.yesodweb.com/book/persistent"; description = "Backend for the persistent library using postgresql"; diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix index fc59c2477edd..cb12d9cbe843 100644 --- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix +++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix @@ -1,13 +1,16 @@ { cabal, aeson, conduit, monadControl, monadLogger, persistent -, text, transformers +, resourcet, text, transformers }: cabal.mkDerivation (self: { pname = "persistent-sqlite"; - version = "1.3.0.1"; - sha256 = "0nfih7g32pmh0hq798r4mxkkrp2zjkqb38zwhdyrdbszk6ryzx9l"; + version = "1.3.0.5"; + sha256 = "05b7byc4z7mhni90cj2aan63f599wv0511zqbsm6kbylk1zpyizb"; + isLibrary = true; + isExecutable = true; buildDepends = [ - aeson conduit monadControl monadLogger persistent text transformers + aeson conduit monadControl monadLogger persistent resourcet text + transformers ]; meta = { homepage = "http://www.yesodweb.com/book/persistent"; diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix index 60ae9a40ca36..994632c40e20 100644 --- a/pkgs/development/libraries/haskell/persistent-template/default.nix +++ b/pkgs/development/libraries/haskell/persistent-template/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "persistent-template"; - version = "1.3.1"; - sha256 = "148gznxqzd5743l0r3pc9g14gvanxpl6nfla2lhb2xsa162b2hjx"; + version = "1.3.1.3"; + sha256 = "0q5ysv1r6p4mg79waq2g6ql11rap6znawkplddblpaa8lq9qalj6"; buildDepends = [ aeson monadControl monadLogger persistent text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index c9375dc06b4a..b16c89dac709 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -1,17 +1,17 @@ { cabal, aeson, attoparsec, base64Bytestring, blazeHtml , blazeMarkup, conduit, hspec, liftedBase, monadControl -, monadLogger, pathPieces, poolConduit, resourcet, scientific +, monadLogger, pathPieces, resourcePool, resourcet, scientific , silently, sqlite, text, time, transformers, transformersBase , unorderedContainers, vector }: cabal.mkDerivation (self: { pname = "persistent"; - version = "1.3.0.2"; - sha256 = "16bq0l6nqjpzlbzm47ip2m8b5yhwhf28fpv3hxy7qsnzmy7siv6y"; + version = "1.3.0.6"; + sha256 = "0rj5yi8nziym9cb9c9vw6vdjflf2yfz02i39p6dsdy084f1ivpk8"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit - liftedBase monadControl monadLogger pathPieces poolConduit + liftedBase monadControl monadLogger pathPieces resourcePool resourcet scientific silently text time transformers transformersBase unorderedContainers vector ]; diff --git a/pkgs/development/libraries/haskell/pipes-aeson/default.nix b/pkgs/development/libraries/haskell/pipes-aeson/default.nix index 156b89244ee6..899810c1539e 100644 --- a/pkgs/development/libraries/haskell/pipes-aeson/default.nix +++ b/pkgs/development/libraries/haskell/pipes-aeson/default.nix @@ -1,13 +1,14 @@ -{ cabal, aeson, attoparsec, pipes, pipesAttoparsec, pipesParse -, transformers +{ cabal, aeson, attoparsec, pipes, pipesAttoparsec, pipesBytestring +, pipesParse, transformers }: cabal.mkDerivation (self: { pname = "pipes-aeson"; - version = "0.2.0"; - sha256 = "12y5dywrhx3mvmlq26bc1cwybnclqbf91zvlz5ig2pi01ji3q94y"; + version = "0.3.0"; + sha256 = "1kckdllw5xnh8z92gjw5swyxp9km879wqfly7af3iirwhickk4vn"; buildDepends = [ - aeson attoparsec pipes pipesAttoparsec pipesParse transformers + aeson attoparsec pipes pipesAttoparsec pipesBytestring pipesParse + transformers ]; meta = { homepage = "https://github.com/k0001/pipes-aeson"; diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix index 484f21045672..d886d17478ba 100644 --- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix +++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix @@ -1,16 +1,15 @@ -{ cabal, attoparsec, HUnit, mmorph, pipes, pipesParse, QuickCheck -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text -, transformers +{ cabal, attoparsec, HUnit, mmorph, pipes, pipesParse, tasty +, tastyHunit, text, transformers }: cabal.mkDerivation (self: { pname = "pipes-attoparsec"; - version = "0.3.1"; - sha256 = "1bvz5fxy2mfz3swiv9jfmhxl1psmm3c7nfi58pggam52lz20va2h"; + version = "0.5.0"; + sha256 = "1xpqna850lxawx0m84lzaxwrwfw4vccr7jjf199ir7bmwwhqlr5h"; buildDepends = [ attoparsec pipes pipesParse text transformers ]; testDepends = [ - attoparsec HUnit mmorph pipes pipesParse QuickCheck testFramework - testFrameworkHunit testFrameworkQuickcheck2 text transformers + attoparsec HUnit mmorph pipes pipesParse tasty tastyHunit text + transformers ]; meta = { homepage = "https://github.com/k0001/pipes-attoparsec"; diff --git a/pkgs/development/libraries/haskell/pipes-binary/default.nix b/pkgs/development/libraries/haskell/pipes-binary/default.nix new file mode 100644 index 000000000000..e48ad2a96a48 --- /dev/null +++ b/pkgs/development/libraries/haskell/pipes-binary/default.nix @@ -0,0 +1,23 @@ +{ cabal, binary, lensFamilyCore, pipes, pipesBytestring, pipesParse +, smallcheck, tasty, tastyHunit, tastySmallcheck, transformers +}: + +cabal.mkDerivation (self: { + pname = "pipes-binary"; + version = "0.4.0.1"; + sha256 = "1vwsr446b3ysjm86bmpmq8pg2badx9xn0iyr17r4mby0bxvvld33"; + buildDepends = [ + binary pipes pipesBytestring pipesParse transformers + ]; + testDepends = [ + binary lensFamilyCore pipes pipesParse smallcheck tasty tastyHunit + tastySmallcheck transformers + ]; + doCheck = false; + meta = { + homepage = "https://github.com/k0001/pipes-binary"; + description = "Encode and decode binary streams using the pipes and binary libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix index 83f08ecf148b..2a2324027d4b 100644 --- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix @@ -1,10 +1,13 @@ -{ cabal, pipes, pipesParse, transformers }: +{ cabal, pipes, pipesGroup, pipesParse, profunctors, transformers +}: cabal.mkDerivation (self: { pname = "pipes-bytestring"; - version = "1.0.2"; - sha256 = "09wzmi3xh9n69xsxw0ik4qf2ld1vksca88ggknqbzbnjxq82jjrr"; - buildDepends = [ pipes pipesParse transformers ]; + version = "2.0.1"; + sha256 = "1vsfqqkr5danb0n30av4vk8d4by9f50y5l8ywm1xjrmwrx999gvf"; + buildDepends = [ + pipes pipesGroup pipesParse profunctors transformers + ]; meta = { description = "ByteString support for pipes"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix index 7136a281f89b..00336e8077d0 100644 --- a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix +++ b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-concurrency"; - version = "2.0.1"; - sha256 = "0grfwmmwzxrska2218php22f898nn3x92bz1lmhpw2qi8mywvkzh"; + version = "2.0.2"; + sha256 = "0g4fbh8dk8ph2ga0vyanqj52rxk9c1zi6g4yk3a1g6bnf4bklhm8"; buildDepends = [ pipes stm ]; testDepends = [ async pipes stm ]; meta = { diff --git a/pkgs/development/libraries/haskell/pipes-group/default.nix b/pkgs/development/libraries/haskell/pipes-group/default.nix new file mode 100644 index 000000000000..5fd5d7e1251d --- /dev/null +++ b/pkgs/development/libraries/haskell/pipes-group/default.nix @@ -0,0 +1,13 @@ +{ cabal, free, pipes, pipesParse, transformers }: + +cabal.mkDerivation (self: { + pname = "pipes-group"; + version = "1.0.0"; + sha256 = "1izc2z3cwz7dihhfrngjyiaxmcpp794ragbl6v17y8c2pj0s34kh"; + buildDepends = [ free pipes pipesParse transformers ]; + meta = { + description = "Group streams into substreams"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix index 7a6c21db997a..1b816a704f26 100644 --- a/pkgs/development/libraries/haskell/pipes-network/default.nix +++ b/pkgs/development/libraries/haskell/pipes-network/default.nix @@ -2,11 +2,12 @@ cabal.mkDerivation (self: { pname = "pipes-network"; - version = "0.6.1"; - sha256 = "0ds6v98jamda8p72rnrwnj3x77mfx3kss57hj9ns97gga5jq88kl"; + version = "0.6.2"; + sha256 = "1y64cyi1lq7y5x3b1rv2iixlwqnz4g82nxk2m14x214fmj3np965"; buildDepends = [ network networkSimple pipes pipesSafe transformers ]; + jailbreak = true; meta = { homepage = "https://github.com/k0001/pipes-network"; description = "Use network sockets together with the pipes library"; diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix index 61c0f34a57ef..ef615ebb808b 100644 --- a/pkgs/development/libraries/haskell/pipes-parse/default.nix +++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix @@ -1,10 +1,10 @@ -{ cabal, free, pipes, transformers }: +{ cabal, pipes, transformers }: cabal.mkDerivation (self: { pname = "pipes-parse"; - version = "2.0.2"; - sha256 = "1jcws5i9jhh4i6bh2j6m9pz1462qm05byibkkxfqvyx392sxy4wz"; - buildDepends = [ free pipes transformers ]; + version = "3.0.1"; + sha256 = "0f262p8mfcpvs3f3myy6bll9v61rfgrfdy2scdzf7vvx0h0lrpj7"; + buildDepends = [ pipes transformers ]; meta = { description = "Parsing infrastructure for the pipes ecosystem"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix index aced7c741abd..830f188fed89 100644 --- a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix +++ b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pipes-postgresql-simple"; - version = "0.1.1.2"; - sha256 = "0m9p3ddrv73c24yh0a2q14zkr4iibfysy2q9bwp6m100z3qk1bgy"; + version = "0.1.2.0"; + sha256 = "12ij2msdwjzzc93mlvvizh6amam5ld9j1a0b9xsa2awdjd21mwc1"; buildDepends = [ async exceptions mtl pipes pipesConcurrency pipesSafe postgresqlSimple stm text transformers diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix index 029bbd158b84..c1d5a603da0c 100644 --- a/pkgs/development/libraries/haskell/pipes-safe/default.nix +++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-safe"; - version = "2.0.1"; - sha256 = "11516rixqdym5rf5z5f5gwbfk689dl3ka3dj44c7a2qy7xl4sqzr"; + version = "2.1.0"; + sha256 = "0qm02hwmrqlncnlxix7mdgzbf0mzally4k7ydwg06nqi35bb7s3j"; buildDepends = [ exceptions pipes transformers ]; meta = { description = "Safety for the pipes ecosystem"; diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix index 171b8c90b561..67d08ebcb4a8 100644 --- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix +++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-zlib"; - version = "0.3.0"; - sha256 = "15d475rxziazxlbcbm8snik45z88kk7gxbxrpv4070bwylh3z0wc"; + version = "0.4.0"; + sha256 = "1xi8x7cfzr7042x5jq8b6xqdhffh1jgprk90yzsfjldllck9z5ia"; buildDepends = [ pipes transformers zlib zlibBindings ]; meta = { homepage = "https://github.com/k0001/pipes-zlib"; diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix index 766393d7b45e..3ca6969f1591 100644 --- a/pkgs/development/libraries/haskell/pipes/default.nix +++ b/pkgs/development/libraries/haskell/pipes/default.nix @@ -1,12 +1,12 @@ { cabal, mmorph, mtl, QuickCheck, testFramework -, testFrameworkQuickcheck2, transformers, void +, testFrameworkQuickcheck2, transformers }: cabal.mkDerivation (self: { pname = "pipes"; - version = "4.0.2"; - sha256 = "18hcpklryyq9f6iwycxzi3sd6gyd9h0gy0ckg4rl7rhgy73hzgcz"; - buildDepends = [ mmorph mtl transformers void ]; + version = "4.1.0"; + sha256 = "1n10plmrjvmkyv502195mkms48y3lfp5gy08lhyhqqr7kn1gzkf0"; + buildDepends = [ mmorph mtl transformers ]; testDepends = [ mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers ]; diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix index 77faceeea923..cb1682673af8 100644 --- a/pkgs/development/libraries/haskell/pool-conduit/default.nix +++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix @@ -2,14 +2,14 @@ cabal.mkDerivation (self: { pname = "pool-conduit"; - version = "0.1.2"; - sha256 = "10lvq18pk9d4la5irr1qv1c9y4qbwlglmzgs7bz1d0g5232w3rv8"; + version = "0.1.2.3"; + sha256 = "1myjbmbh0jm89ycx9d961mpgw8hp7al8wgnsls4p19gvr73gcbfv"; buildDepends = [ monadControl resourcePool resourcet transformers ]; meta = { homepage = "http://www.yesodweb.com/book/persistent"; - description = "Resource pool allocations via ResourceT"; + description = "Resource pool allocations via ResourceT. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix index 5af2ead5e8e0..aecd54c39986 100644 --- a/pkgs/development/libraries/haskell/poppler/default.nix +++ b/pkgs/development/libraries/haskell/poppler/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "poppler"; - version = "0.12.2.2"; - sha256 = "1ln5akiarv1ng5gjrzf8bnkm556xzl50m209qvi5nk98g7fyhqs7"; + version = "0.12.3"; + sha256 = "1ny2r1cpsshpg00w6bd0f5mw26xsy99l7dgx2xq8f01zcwdy4nrp"; buildDepends = [ cairo glib gtk mtl ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc ]; diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix index 2208955a9d8f..d630f0633913 100644 --- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix +++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "postgresql-libpq"; - version = "0.8.2.6"; - sha256 = "0n3lqffscwc6pq0rfy4yjild9hcgnkpq9a8icbvgxv4si13ipsgh"; + version = "0.9.0.0"; + sha256 = "09bi0npvly02zjhp463bmzm1n8w1cqsln676z82xi2in86317pv3"; extraLibraries = [ postgresql ]; meta = { homepage = "http://github.com/lpsmith/postgresql-libpq"; diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix index d1be8d1d896c..20222609cffa 100644 --- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix +++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix @@ -1,15 +1,15 @@ { cabal, aeson, attoparsec, base16Bytestring, blazeBuilder -, blazeTextual, cryptohash, HUnit, postgresqlLibpq, text, time -, transformers, uuid, vector +, blazeTextual, cryptohash, hashable, HUnit, postgresqlLibpq +, scientific, text, time, transformers, uuid, vector }: cabal.mkDerivation (self: { pname = "postgresql-simple"; - version = "0.4.0.2"; - sha256 = "0gx9jmmzv6aaa6z88i3j51f5hp153dbwzw3x7jx329c5pjp536g9"; + version = "0.4.2.1"; + sha256 = "1547n7rh0gsrjaa8f9lc4diljpps09kdf0gkm0cjf1gk2kr7lh94"; buildDepends = [ - aeson attoparsec blazeBuilder blazeTextual postgresqlLibpq text - time transformers uuid vector + aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq + scientific text time transformers uuid vector ]; testDepends = [ aeson base16Bytestring cryptohash HUnit text time vector diff --git a/pkgs/development/libraries/haskell/pqueue/default.nix b/pkgs/development/libraries/haskell/pqueue/default.nix new file mode 100644 index 000000000000..8634c4143183 --- /dev/null +++ b/pkgs/development/libraries/haskell/pqueue/default.nix @@ -0,0 +1,13 @@ +{ cabal, deepseq }: + +cabal.mkDerivation (self: { + pname = "pqueue"; + version = "1.2.1"; + sha256 = "1fily60f4njby7zknmik7a2wxsm3y77ckr69w9bb3fgq22gbzky6"; + buildDepends = [ deepseq ]; + meta = { + description = "Reliable, persistent, fast priority queues"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix new file mode 100644 index 000000000000..7b96ba87a8e8 --- /dev/null +++ b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, parsec, syb }: + +cabal.mkDerivation (self: { + pname = "preprocessor-tools"; + version = "0.1.3"; + sha256 = "0jz85v93zpv6cwvad18wr12nsikmv4n20gn37zli2h34zi543i9v"; + buildDepends = [ mtl parsec syb ]; + meta = { + homepage = "http://www.ccs.neu.edu/~tov/pubs/haskell-session-types"; + description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix new file mode 100644 index 000000000000..c8a01b35a973 --- /dev/null +++ b/pkgs/development/libraries/haskell/preprocessor-tools/1.0.1.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, parsec, syb }: + +cabal.mkDerivation (self: { + pname = "preprocessor-tools"; + version = "1.0.1"; + sha256 = "0ngfmvw6hvbr52i01n180ls4c8rx2wk2rka6g6igpvy9x2gwjin9"; + buildDepends = [ mtl parsec syb ]; + meta = { + homepage = "http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/"; + description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pretty-show/1.6.5.nix b/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix similarity index 86% rename from pkgs/development/libraries/haskell/pretty-show/1.6.5.nix rename to pkgs/development/libraries/haskell/pretty-show/1.6.7.nix index 60a191da2511..7e3e3e25e8a0 100644 --- a/pkgs/development/libraries/haskell/pretty-show/1.6.5.nix +++ b/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pretty-show"; - version = "1.6.5"; - sha256 = "0yn20gh2xwzvfwb9fdzxqqbbb6vvd4rlv5ancw4vc8p2kgfhwxf3"; + version = "1.6.7"; + sha256 = "16qjp6cl3hyir5bchnncq95bp7nw5cpp5kd5mszkjjhzw1jj9srz"; isLibrary = true; isExecutable = true; buildDepends = [ filepath haskellLexer ]; diff --git a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix new file mode 100644 index 000000000000..8f1090c09b1e --- /dev/null +++ b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "primitive"; + version = "0.5.2.1"; + sha256 = "1vn3y5gh4lwvgvklhn8k1z7gxjy27ik621f4gpa9cb7gqa0nnl8f"; + meta = { + homepage = "https://github.com/haskell/primitive"; + description = "Primitive memory-related operations"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix index 45ac44951667..3ecd88515b2f 100644 --- a/pkgs/development/libraries/haskell/process-conduit/default.nix +++ b/pkgs/development/libraries/haskell/process-conduit/default.nix @@ -1,13 +1,14 @@ -{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeareText -, text +{ cabal, conduit, controlMonadLoop, hspec, mtl, resourcet +, shakespeare, shakespeareText, text }: cabal.mkDerivation (self: { pname = "process-conduit"; - version = "1.0.0.1"; - sha256 = "1b1bya316gxj3rgn7qpjmmcllgy9aac69rqw664sw1rnypnic780"; + version = "1.1.0.0"; + sha256 = "1b3snck651cpb7i3c78cn264zrjan3lzydf59209abkvb6fv1hql"; buildDepends = [ - conduit controlMonadLoop mtl shakespeareText text + conduit controlMonadLoop mtl resourcet shakespeare shakespeareText + text ]; testDepends = [ conduit hspec ]; meta = { diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix index 41e4fc6eeb05..300d2e66f89c 100644 --- a/pkgs/development/libraries/haskell/profunctors/default.nix +++ b/pkgs/development/libraries/haskell/profunctors/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "profunctors"; - version = "4.0.2"; - sha256 = "1p98pczrxvhk1imwics25b5ac59qzixblns83a1k9zszvz42kmix"; + version = "4.0.3"; + sha256 = "0rdr75nqzxaly47vnpbmska608k457dgpzi5wfcqhmw996kh5inh"; buildDepends = [ comonad semigroupoids tagged transformers ]; meta = { homepage = "http://github.com/ekmett/profunctors/"; diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix index f4c9214b0b63..58dc06e6aa58 100644 --- a/pkgs/development/libraries/haskell/project-template/default.nix +++ b/pkgs/development/libraries/haskell/project-template/default.nix @@ -1,19 +1,19 @@ -{ cabal, base64Bytestring, base64Conduit, basicPrelude, conduit -, hspec, mtl, QuickCheck, resourcet, systemFileio, systemFilepath -, text, transformers +{ cabal, base64Bytestring, conduit, conduitExtra, hspec, mtl +, QuickCheck, resourcet, systemFileio, systemFilepath, text +, transformers }: cabal.mkDerivation (self: { pname = "project-template"; - version = "0.1.3.2"; - sha256 = "076xq5hwi7bfn3cmx8zd19vnj6lj2p7qm2waam94qqw2m466xq50"; + version = "0.1.4.1"; + sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb"; buildDepends = [ - base64Bytestring base64Conduit basicPrelude conduit mtl resourcet - systemFileio systemFilepath text transformers + base64Bytestring conduit conduitExtra mtl resourcet systemFileio + systemFilepath text transformers ]; testDepends = [ - base64Bytestring basicPrelude conduit hspec QuickCheck - systemFilepath text transformers + base64Bytestring conduit hspec QuickCheck resourcet systemFilepath + text transformers ]; meta = { homepage = "https://github.com/fpco/haskell-ide"; diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix index 44e912514fc7..b45fab000ca5 100644 --- a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix +++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix @@ -2,11 +2,12 @@ cabal.mkDerivation (self: { pname = "quickcheck-instances"; - version = "0.3.6"; - sha256 = "1vaqwsdgi2mirplzg66zysc1ivjjr0qxyiibsh6j771hxs9qk2pr"; + version = "0.3.8"; + sha256 = "0132a37zi1haz1aaggxa1hr421bcmxlbaa4m2l53m2rmr4z5mgkg"; buildDepends = [ hashable QuickCheck text time unorderedContainers ]; + jailbreak = true; meta = { homepage = "https://github.com/aslatter/qc-instances"; description = "Common quickcheck instances"; diff --git a/pkgs/development/libraries/haskell/quickcheck-io/default.nix b/pkgs/development/libraries/haskell/quickcheck-io/default.nix index b7c33b6d1a0a..9e345f800531 100644 --- a/pkgs/development/libraries/haskell/quickcheck-io/default.nix +++ b/pkgs/development/libraries/haskell/quickcheck-io/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "quickcheck-io"; - version = "0.1.0"; - sha256 = "167ds7c7p1lcfsylxhq2sr0jxbviyim1n42dhyr0s0b6hazw8cjs"; + version = "0.1.1"; + sha256 = "16q3sqvxnaqmbb1zbda8f61mdlmmzxhrznqxab113lmg380nwfm2"; buildDepends = [ HUnit QuickCheck ]; meta = { description = "Use HUnit assertions as QuickCheck properties"; diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix index 8dd228ad3db3..41999e535e04 100644 --- a/pkgs/development/libraries/haskell/random-fu/default.nix +++ b/pkgs/development/libraries/haskell/random-fu/default.nix @@ -1,14 +1,14 @@ -{ cabal, erf, gamma, monadLoops, mtl, randomShuffle, randomSource -, rvar, syb, transformers, vector +{ cabal, erf, mathFunctions, monadLoops, mtl, randomShuffle +, randomSource, rvar, syb, transformers, vector }: cabal.mkDerivation (self: { pname = "random-fu"; - version = "0.2.4.0"; - sha256 = "1wiwh52qfs699mcj3ylwc97pyabczn6dr8j92qczs89g8vvi91wd"; + version = "0.2.5.0"; + sha256 = "1yfq7mvplzdk64i7z5ip8vjynn48a65z28xrhcv91qi0yjxsxdm0"; buildDepends = [ - erf gamma monadLoops mtl randomShuffle randomSource rvar syb - transformers vector + erf mathFunctions monadLoops mtl randomShuffle randomSource rvar + syb transformers vector ]; meta = { homepage = "https://github.com/mokus0/random-fu"; diff --git a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix index ee408fea4805..c224da3a339b 100644 --- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix +++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "reactive-banana-wx"; - version = "0.7.1.0"; - sha256 = "06hkb8v6rjpw95vf16xh547igxxzddr6wpjiwhqwpwhz2alavk2v"; + version = "0.8.0.0"; + sha256 = "0qfd839nm2ppjhhhnn6s1hbx1mnrzjqx450p4jadsrs1y2403c9n"; isLibrary = true; isExecutable = true; buildDepends = [ cabalMacosx reactiveBanana wx wxcore ]; diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix index 0bf7747d46bf..535b289a389e 100644 --- a/pkgs/development/libraries/haskell/reactive-banana/default.nix +++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix @@ -1,19 +1,21 @@ -{ cabal, hashable, HUnit, testFramework, testFrameworkHunit +{ cabal, hashable, HUnit, pqueue, testFramework, testFrameworkHunit , transformers, unorderedContainers, vault }: cabal.mkDerivation (self: { pname = "reactive-banana"; - version = "0.7.1.3"; - sha256 = "117y1sk97kpiq0cippq0ydl2zqb99q49y2m2m6pgg2nh6gz6a3zb"; - buildDepends = [ hashable transformers unorderedContainers vault ]; + version = "0.8.0.0"; + sha256 = "15dzvn7cbs9kg410lyd1kj6kf2r7ap2n9bc59byzkb0r8wzn9ra1"; + buildDepends = [ + hashable pqueue transformers unorderedContainers vault + ]; testDepends = [ - hashable HUnit testFramework testFrameworkHunit transformers + hashable HUnit pqueue testFramework testFrameworkHunit transformers unorderedContainers vault ]; meta = { homepage = "http://haskell.org/haskellwiki/Reactive-banana"; - description = "Practical library for functional reactive programming (FRP)"; + description = "Library for functional reactive programming (FRP)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix index 37fb26208f48..2d3fb430fe27 100644 --- a/pkgs/development/libraries/haskell/recaptcha/default.nix +++ b/pkgs/development/libraries/haskell/recaptcha/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "recaptcha"; - version = "0.1"; - sha256 = "de00e6e3aadd99a1cd036ce4b413ebe02d59c1b9cfd3032f122735cca1f25144"; + version = "0.1.0.2"; + sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih"; buildDepends = [ HTTP network xhtml ]; meta = { homepage = "http://github.com/jgm/recaptcha/tree/master"; diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix index bc1bf72beea1..335cee497ea4 100644 --- a/pkgs/development/libraries/haskell/reducers/default.nix +++ b/pkgs/development/libraries/haskell/reducers/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "reducers"; - version = "3.10.1.1"; - sha256 = "1d4zhcqy499pm0wxn76gyw0brbrdycmajblqy4mi49kiy0zlg8a7"; + version = "3.10.2"; + sha256 = "159srk8v6zmfprq80mx3rpqrxzgzvf7xiwm8ywfaxrqyfcwkkjmg"; buildDepends = [ comonad fingertree hashable keys pointed semigroupoids semigroups text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/reflection/default.nix b/pkgs/development/libraries/haskell/reflection/default.nix index 5f227d60ca80..a02a7ec69075 100644 --- a/pkgs/development/libraries/haskell/reflection/default.nix +++ b/pkgs/development/libraries/haskell/reflection/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "reflection"; - version = "1.3.2"; - sha256 = "0jmdygvmvhw20aqjk7k0jah93ggfgf2bgq5zpwnz9bwgi9gs17x6"; + version = "1.4"; + sha256 = "0i6yb3fa9wizyaz8x9b7yzkw9jf7zahdrkr2y0iw7igdxqn4n0k7"; buildDepends = [ tagged ]; meta = { homepage = "http://github.com/ekmett/reflection"; diff --git a/pkgs/development/libraries/haskell/regex-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-tdfa/default.nix index 004bd9d70524..7f9bce42cf67 100644 --- a/pkgs/development/libraries/haskell/regex-tdfa/default.nix +++ b/pkgs/development/libraries/haskell/regex-tdfa/default.nix @@ -2,10 +2,9 @@ cabal.mkDerivation (self: { pname = "regex-tdfa"; - version = "1.1.8"; - sha256 = "1m75xh5bwmmgg5f757dc126kv47yfqqnz9fzj1hc80p6jpzs573x"; + version = "1.2.0"; + sha256 = "00gl9sx3hzd83lp38jlcj7wvzrda8kww7njwlm1way73m8aar0pw"; buildDepends = [ mtl parsec regexBase ]; - patches = [ ./fix-build-with-array5.patch ]; meta = { homepage = "http://hackage.haskell.org/package/regex-tdfa"; description = "Replaces/Enhances Text.Regex"; diff --git a/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch b/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch deleted file mode 100644 index 2460e6bfc7a8..000000000000 --- a/pkgs/development/libraries/haskell/regex-tdfa/fix-build-with-array5.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_FA.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_FA.hs ---- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_FA.hs 2011-03-12 00:46:39.000000000 +0100 -+++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_FA.hs 2013-12-19 12:42:27.048813869 +0100 -@@ -1,3 +1,4 @@ -+{-# LANGUAGE CPP #-} - -- | This is the code for the main engine. This captures the posix - -- subexpressions. There is also a non-capturing engine, and a - -- testing engine. -@@ -20,7 +21,12 @@ - - import Prelude hiding ((!!)) - import Control.Monad(when,unless,forM,forM_,liftM2,foldM) -+#if MIN_VERSION_array(0,4,0) -+import Data.Array.MArray(MArray(..)) -+import Data.Array.Unsafe(unsafeFreeze) -+#else - import Data.Array.MArray(MArray(..),unsafeFreeze) -+#endif - import Data.Array.IArray(Array,bounds,assocs,Ix(range)) - import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) - import Data.IntMap(IntMap) -@@ -574,7 +580,7 @@ - case unsafeCoerce# memcpy mdest msource n# s1# of { (# s2#, () #) -> - (# s2#, () #) }} - {- --#else /* !__GLASGOW_HASKELL__ */ -+-- #else /* !__GLASGOW_HASKELL__ */ - - copySTU :: (MArray (STUArray s) e (S.ST s))=> STUArray s Tag e -> STUArray s Tag e -> S.ST s (STUArray s i e) - copySTU source destination = do -@@ -585,5 +591,5 @@ - forM_ (range b) $ \index -> - set destination index =<< source !! index - return destination --#endif /* !__GLASGOW_HASKELL__ */ -+-- #endif /* !__GLASGOW_HASKELL__ */ - -} -diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine.hs ---- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine.hs 2011-03-12 00:46:39.000000000 +0100 -+++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine.hs 2013-12-19 12:42:27.049813918 +0100 -@@ -1,3 +1,4 @@ -+{-# LANGUAGE CPP #-} - -- | This is the code for the main engine. This captures the posix subexpressions. This 'execMatch' - -- also dispatches to "Engine_NC", "Engine_FA", and "Engine_FC_NA" - -- -@@ -19,7 +20,12 @@ - -} - import Prelude hiding ((!!)) - -+#if MIN_VERSION_array(0,4,0) -+import Data.Array.MArray(MArray(..)) -+import Data.Array.Unsafe(unsafeFreeze) -+#else - import Data.Array.MArray(MArray(..),unsafeFreeze) -+#endif - import Data.Array.IArray(Array,bounds,assocs,Ix(rangeSize,range)) - import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) - import Data.IntMap(IntMap) -@@ -716,7 +722,7 @@ - case unsafeCoerce# memcpy mdest msource n# s1# of { (# s2#, () #) -> - (# s2#, () #) }} - {- --#else /* !__GLASGOW_HASKELL__ */ -+-- #else /* !__GLASGOW_HASKELL__ */ - - copySTU :: (MArray (STUArray s) e (S.ST s))=> STUArray s Tag e -> STUArray s Tag e -> S.ST s (STUArray s i e) - copySTU source destination = do -@@ -727,5 +733,5 @@ - forM_ (range b) $ \index -> - set destination index =<< source !! index - return destination --#endif /* !__GLASGOW_HASKELL__ */ -+-- #endif /* !__GLASGOW_HASKELL__ */ - -} -diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs ---- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs 2011-03-12 00:46:39.000000000 +0100 -+++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC_FA.hs 2013-12-19 12:42:27.048813869 +0100 -@@ -1,10 +1,16 @@ -+{-# LANGUAGE CPP #-} - -- | This is the non-capturing form of Text.Regex.TDFA.NewDFA.String - module Text.Regex.TDFA.NewDFA.Engine_NC_FA(execMatch) where - - import Control.Monad(unless) - import Prelude hiding ((!!)) - -+#if MIN_VERSION_array(0,4,0) -+import Data.Array.MArray(MArray(newArray)) -+import Data.Array.Unsafe(unsafeFreeze) -+#else - import Data.Array.MArray(MArray(newArray),unsafeFreeze) -+#endif - import Data.Array.ST(STArray) - import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) - import qualified Data.IntMap as IMap(null) -diff -uwr regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC.hs regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC.hs ---- regex-tdfa-1.1.8-orig/Text/Regex/TDFA/NewDFA/Engine_NC.hs 2011-03-12 00:46:39.000000000 +0100 -+++ regex-tdfa-1.1.8-patched/Text/Regex/TDFA/NewDFA/Engine_NC.hs 2013-12-19 12:42:27.048813869 +0100 -@@ -1,3 +1,4 @@ -+{-# LANGUAGE CPP #-} - -- | This is the non-capturing form of Text.Regex.TDFA.NewDFA.String - module Text.Regex.TDFA.NewDFA.Engine_NC(execMatch) where - -@@ -5,7 +6,12 @@ - import Data.Array.Base(unsafeRead,unsafeWrite) - import Prelude hiding ((!!)) - -+#if MIN_VERSION_array(0,4,0) -+import Data.Array.MArray(MArray(..)) -+import Data.Array.Unsafe(unsafeFreeze) -+#else - import Data.Array.MArray(MArray(..),unsafeFreeze) -+#endif - import Data.Array.IArray(Ix) - import Data.Array.ST(STArray,STUArray) - import qualified Data.IntMap.CharMap2 as CMap(findWithDefault) -@@ -248,4 +254,3 @@ - wsToGroup (WScratch start stop) = do - ma <- newArray (0,0) (start,stop-start) :: S.ST s (STArray s Int (MatchOffset,MatchLength)) - unsafeFreeze ma -- diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix index 913e77483e44..7995227a8c0d 100644 --- a/pkgs/development/libraries/haskell/resourcet/default.nix +++ b/pkgs/development/libraries/haskell/resourcet/default.nix @@ -1,13 +1,14 @@ -{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, transformers -, transformersBase +{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl +, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "resourcet"; - version = "0.4.10"; - sha256 = "0mgwcgacf4ilyh54s862p8jqv1f42dkp287sdkpswyai1pxlvipz"; + version = "1.1.1"; + sha256 = "0v80wlxpcikr41p8wxa2kr184ghp94bgb5fwym9c27k8djig2awy"; buildDepends = [ - liftedBase mmorph monadControl mtl transformers transformersBase + exceptions liftedBase mmorph monadControl mtl transformers + transformersBase ]; testDepends = [ hspec liftedBase transformers ]; meta = { diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix new file mode 100644 index 000000000000..d57898593b27 --- /dev/null +++ b/pkgs/development/libraries/haskell/retry/default.nix @@ -0,0 +1,15 @@ +{ cabal, dataDefault, liftedBase, monadControl, transformers }: + +cabal.mkDerivation (self: { + pname = "retry"; + version = "0.3.0.0"; + sha256 = "00yjk5784h4w1cckw17w1k5r94acc3ycnprk642ndgggz3lxm36n"; + buildDepends = [ + dataDefault liftedBase monadControl transformers + ]; + meta = { + description = "Retry combinators for monadic actions that may fail"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix index 6c16af12107d..49c77c5ea266 100644 --- a/pkgs/development/libraries/haskell/safe/default.nix +++ b/pkgs/development/libraries/haskell/safe/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "safe"; - version = "0.3.3"; - sha256 = "0ig9laq1p4iic24smjb304mvlsvdyn90lvxh64c4p75c8g459489"; + version = "0.3.4"; + sha256 = "0mwdaj0sjvqkgg077x1d896xphx64yrjvwbdhv7khdk3rh0vfl64"; meta = { homepage = "http://community.haskell.org/~ndm/safe/"; description = "Library for safe (pattern match free) functions"; diff --git a/pkgs/development/libraries/haskell/sample-frame/default.nix b/pkgs/development/libraries/haskell/sample-frame/default.nix index f8acbf1fda83..8e9478ed5e2a 100644 --- a/pkgs/development/libraries/haskell/sample-frame/default.nix +++ b/pkgs/development/libraries/haskell/sample-frame/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "sample-frame"; - version = "0.0.2"; - sha256 = "1k1fyslgw5vvn9a38mhp7c9j1xxf75ys010rcn2vr3pm6aj868sx"; + version = "0.0.3"; + sha256 = "0ivj0bcnqqc805np62bdpvh8v4ykmw86ph5rp7k54bbv9wd31bsv"; isLibrary = true; isExecutable = true; buildDepends = [ QuickCheck storableRecord ]; diff --git a/pkgs/development/libraries/haskell/sbv/default.nix b/pkgs/development/libraries/haskell/sbv/default.nix new file mode 100644 index 000000000000..a4450bdc8924 --- /dev/null +++ b/pkgs/development/libraries/haskell/sbv/default.nix @@ -0,0 +1,19 @@ +{ cabal, deepseq, filepath, HUnit, mtl, QuickCheck, random, syb }: + +cabal.mkDerivation (self: { + pname = "sbv"; + version = "3.0"; + sha256 = "16k9f0x4amg7mm8ib22nyk1rngrbf9311gl2m15hbdq49jp8ik9i"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + deepseq filepath HUnit mtl QuickCheck random syb + ]; + testDepends = [ filepath HUnit syb ]; + meta = { + homepage = "http://leventerkok.github.com/sbv/"; + description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/default.nix index 24c0759d6e94..523bfce62b5d 100644 --- a/pkgs/development/libraries/haskell/scientific/default.nix +++ b/pkgs/development/libraries/haskell/scientific/default.nix @@ -4,10 +4,11 @@ cabal.mkDerivation (self: { pname = "scientific"; - version = "0.2.0.1"; - sha256 = "0xwxds884pqywjbc4j6qkx27nbi64sihig8ps9v884sk08021wrp"; + version = "0.2.0.2"; + sha256 = "13rrdaf5mrhpckq9vvrm4pnj63vahg7f0g75hk11nk7k1644l4f0"; buildDepends = [ deepseq hashable text ]; testDepends = [ smallcheck tasty tastySmallcheck text ]; + jailbreak = true; meta = { homepage = "https://github.com/basvandijk/scientific"; description = "Arbitrary-precision floating-point numbers represented using scientific notation"; diff --git a/pkgs/development/libraries/haskell/scotty-hastache/default.nix b/pkgs/development/libraries/haskell/scotty-hastache/default.nix new file mode 100644 index 000000000000..7f10ad2d68f1 --- /dev/null +++ b/pkgs/development/libraries/haskell/scotty-hastache/default.nix @@ -0,0 +1,18 @@ +{ cabal, filepath, hastache, httpTypes, mtl, scotty, text, wai +, warp +}: + +cabal.mkDerivation (self: { + pname = "scotty-hastache"; + version = "0.2.1"; + sha256 = "1yyip8iq1n71iidmpbfs7rifxvpphyrcaf4z394rx36hq72ka8dn"; + buildDepends = [ + filepath hastache httpTypes mtl scotty text wai warp + ]; + meta = { + homepage = "https://github.com/scotty-web/scotty-hastache"; + description = "Easy Mustache templating support for Scotty"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index b3ca635ac213..cc5ae2604777 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,16 +1,17 @@ -{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault -, httpTypes, mtl, regexCompat, text, transformers, wai, waiExtra -, warp +{ cabal, aeson, blazeBuilder, caseInsensitive, conduit +, conduitExtra, dataDefault, httpTypes, mtl, regexCompat, text +, transformers, wai, waiExtra, warp }: cabal.mkDerivation (self: { pname = "scotty"; - version = "0.6.2"; - sha256 = "0szki6wcmhj20kxhmgidgf930xwhiq03qrk8m0x8aklcjzkhvy69"; + version = "0.7.2"; + sha256 = "1y14af3qciwycgaxzx6rjan2jgfchjzs4zbxzh8p8s1d0l4gsqlb"; buildDepends = [ - aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes - mtl regexCompat text transformers wai waiExtra warp + aeson blazeBuilder caseInsensitive conduit conduitExtra dataDefault + httpTypes mtl regexCompat text transformers wai waiExtra warp ]; + jailbreak = true; meta = { homepage = "https://github.com/scotty-web/scotty"; description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp"; diff --git a/pkgs/development/libraries/haskell/scrypt/default.nix b/pkgs/development/libraries/haskell/scrypt/default.nix new file mode 100644 index 000000000000..6caf51edc1ed --- /dev/null +++ b/pkgs/development/libraries/haskell/scrypt/default.nix @@ -0,0 +1,20 @@ +{ cabal, base64Bytestring, entropy, HUnit, QuickCheck +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "scrypt"; + version = "0.5.0"; + sha256 = "1cnrjdq1ncv224dlk236a7w29na8r019d2acrsxlsaiy74iadh1y"; + buildDepends = [ base64Bytestring entropy ]; + testDepends = [ + HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + meta = { + homepage = "http://github.com/informatikr/scrypt"; + description = "Stronger password hashing via sequential memory-hard functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix index e0dbf4568049..c46bfa910b09 100644 --- a/pkgs/development/libraries/haskell/semigroupoids/default.nix +++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "semigroupoids"; - version = "4.0"; - sha256 = "12h2b9pisy21xca3x9ilj0aix9clni0za35d2dmv55gb8y8df54l"; + version = "4.0.1"; + sha256 = "0w4r4nmyq94aq9xlyvrankipfwdmlcz2ghqicn9drqfjirhi8lrl"; buildDepends = [ comonad contravariant distributive semigroups transformers ]; diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix index 432eb77ae3ee..22dfb5e8896f 100644 --- a/pkgs/development/libraries/haskell/semigroups/default.nix +++ b/pkgs/development/libraries/haskell/semigroups/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "semigroups"; - version = "0.12.2"; - sha256 = "0qk6m477iwk17j2a1yfxfkhvfrdv94nnx32zlqjqqxjfbi71c30g"; + version = "0.13.0.1"; + sha256 = "12zd1pvggjj81hi7vm9z8fxcwsg6r2xbsg3qjs8snnybadi0qlfl"; buildDepends = [ hashable nats text unorderedContainers ]; meta = { homepage = "http://github.com/ekmett/semigroups/"; diff --git a/pkgs/development/libraries/haskell/setenv/default.nix b/pkgs/development/libraries/haskell/setenv/default.nix index b00480279e18..4b3e75a17313 100644 --- a/pkgs/development/libraries/haskell/setenv/default.nix +++ b/pkgs/development/libraries/haskell/setenv/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "setenv"; - version = "0.1.1"; - sha256 = "1j0fj8nrx9z90kghasxjx5jycz9y9xdi7mrxmgnsc14csa65rhb8"; + version = "0.1.1.1"; + sha256 = "0azkvsvk9i1979rn45zryqyirvjhj9b32nnz1m30aasbs2q8f393"; doCheck = false; meta = { description = "A cross-platform library for setting environment variables"; diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix index 411140459ed7..3e769f5e6015 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.11"; - sha256 = "0w0m94ahr2pzgrknk023vpabjydaj2ir8372rca3b4xik6idaag2"; + version = "0.11.4"; + sha256 = "0gkj7zdy500zf58yscr5fq1ghj0kb3hywcv97r1xmi6ydccgf4ni"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix index 853a6294131f..8f06ee67361f 100644 --- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-css"; - version = "1.0.6.6"; - sha256 = "1xjavlw88nj5ila2b4m44zj0qgkpq147b30x1arwv0ik8szgml9k"; + version = "1.0.7.4"; + sha256 = "1lb3w0498bdsd2cmz2ns11dv5abif0wsilbqy0ymfb1dgl2rbpmz"; buildDepends = [ parsec shakespeare text transformers ]; testDepends = [ hspec HUnit shakespeare text ]; meta = { diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix index ed743d878324..12dcea223a90 100644 --- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-js"; - version = "1.2.0.2"; - sha256 = "1d7fmw2295ycjipaj9fjgw02y1088h2gxxk1d6sy4c165x95r6vx"; + version = "1.2.0.4"; + sha256 = "1y7bqv3yrlzbhd5s8w36z6vcc9jk5b9i8chhsqda5qay85rd0ipz"; buildDepends = [ aeson shakespeare text ]; testDepends = [ aeson hspec HUnit shakespeare text ]; meta = { diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix index feadafeb29f2..fa5b91dd4693 100644 --- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-text"; - version = "1.0.0.10"; - sha256 = "0az3l70syb7ch5fb4i0nlibgh7wcrzqnqmlp1w5h68s796g5rjlb"; + version = "1.0.2"; + sha256 = "0vhk5g5pm3gz8gzr7cbvkp920x4lmb9pkb9k6yhlj8wfb93bg93q"; buildDepends = [ shakespeare text ]; testDepends = [ hspec HUnit text ]; meta = { diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix index 444eae235600..0a0a8f18b03e 100644 --- a/pkgs/development/libraries/haskell/shakespeare/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare"; - version = "1.2.0.4"; - sha256 = "0pgh4sxy5plhmm55mqbcmicn28vlplk4pasgfnyy5wjaz28n6z97"; + version = "1.2.1.1"; + sha256 = "1if3mfkcdfls17pcfgn8grxykq8ia91i7qr4q6m1gy6q4gqs6fkg"; buildDepends = [ parsec systemFileio systemFilepath text time ]; testDepends = [ hspec parsec systemFileio systemFilepath text time diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix index 5a53a2f64c1d..5a7171c46199 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -1,12 +1,13 @@ -{ cabal, mtl, systemFileio, systemFilepath, text, time, unixCompat +{ cabal, async, mtl, systemFileio, systemFilepath, text, time +, unixCompat }: cabal.mkDerivation (self: { pname = "shelly"; - version = "1.4.1"; - sha256 = "04yi5kc9jfcpc1rq3prypc832xgv94lrzv3i8saf1rg8a6najwbx"; + version = "1.5.2"; + sha256 = "1iyn3xxmqbrx6xfay364m2qgflscmz9crr051jpzg0b629b8wssa"; buildDepends = [ - mtl systemFileio systemFilepath text time unixCompat + async mtl systemFileio systemFilepath text time unixCompat ]; meta = { homepage = "https://github.com/yesodweb/Shelly.hs"; diff --git a/pkgs/development/libraries/haskell/singletons/default.nix b/pkgs/development/libraries/haskell/singletons/default.nix new file mode 100644 index 000000000000..e233dc60cc0e --- /dev/null +++ b/pkgs/development/libraries/haskell/singletons/default.nix @@ -0,0 +1,19 @@ +{ cabal, Cabal, constraints, filepath, mtl, tasty, tastyGolden +, thDesugar +}: + +cabal.mkDerivation (self: { + pname = "singletons"; + version = "0.10.0"; + sha256 = "14vnkw9ihrs3xg3lhb3wkyfz59lsaz4c3iqh3hqy7x9gmifgggwr"; + buildDepends = [ mtl thDesugar ]; + testDepends = [ Cabal constraints filepath tasty tastyGolden ]; + noHaddock = true; + meta = { + homepage = "http://www.cis.upenn.edu/~eir/packages/singletons"; + description = "A framework for generating singleton types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix index bb7a3a7bc7af..2824c1c8f1c8 100644 --- a/pkgs/development/libraries/haskell/skein/default.nix +++ b/pkgs/development/libraries/haskell/skein/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "skein"; - version = "1.0.8.1"; - sha256 = "1xh8hx1d8hk3kqg07pb2ikc814037bw1xhawskrpxq3x37xff4q4"; + version = "1.0.9"; + sha256 = "08hy40c0gzlalrpmgcvhc1v51a44idipamjjbh7zzwsvbxmp1cbb"; buildDepends = [ cereal cryptoApi tagged ]; testDepends = [ cereal cryptoApi filepath hspec tagged ]; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/smtp-mail/default.nix b/pkgs/development/libraries/haskell/smtp-mail/default.nix index 814a89f70c2c..80f18da4c564 100644 --- a/pkgs/development/libraries/haskell/smtp-mail/default.nix +++ b/pkgs/development/libraries/haskell/smtp-mail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "smtp-mail"; - version = "0.1.4.4"; - sha256 = "055b736sr9w4dxf1p5xjfsisqxk49kz4d3hyqwgdvi8zzvi31vp6"; + version = "0.1.4.5"; + sha256 = "010fbrcbypajwd9fjjc35br9p5axl1pqd0n1v51585ncrlv2icyw"; buildDepends = [ base16Bytestring base64Bytestring cryptohash filepath mimeMail network text diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix new file mode 100644 index 000000000000..eb8d97805a02 --- /dev/null +++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix @@ -0,0 +1,19 @@ +{ cabal, base64Bytestring, cprngAes, dataDefault, filepath +, mimeMail, network, stringsearch, text, tls +}: + +cabal.mkDerivation (self: { + pname = "smtps-gmail"; + version = "1.1.1"; + sha256 = "1ccj9rmbplh0c7h6rpg3ry213nb1lrhf7hm2vl7kq9lv0nb7cy97"; + buildDepends = [ + base64Bytestring cprngAes dataDefault filepath mimeMail network + stringsearch text tls + ]; + meta = { + homepage = "https://github.com/enzoh/smtps-gmail"; + description = "Gmail SMTP Client"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap-blaze/default.nix b/pkgs/development/libraries/haskell/snap-blaze/default.nix new file mode 100644 index 000000000000..2b7444cd154e --- /dev/null +++ b/pkgs/development/libraries/haskell/snap-blaze/default.nix @@ -0,0 +1,14 @@ +{ cabal, blazeHtml, snapCore }: + +cabal.mkDerivation (self: { + pname = "snap-blaze"; + version = "0.2.1.2"; + sha256 = "136i5q9ipfqrh7fw8rgn1ws6zkjdrfwfq9wpccrm8dg3l61380wh"; + buildDepends = [ blazeHtml snapCore ]; + meta = { + homepage = "http://github.com/jaspervdj/snap-blaze"; + description = "blaze-html integration for Snap"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix new file mode 100644 index 000000000000..d805817838a5 --- /dev/null +++ b/pkgs/development/libraries/haskell/snap-cors/default.nix @@ -0,0 +1,19 @@ +{ cabal, attoparsec, caseInsensitive, hashable, network, snap, text +, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "snap-cors"; + version = "1.2.2"; + sha256 = "1f32sj7y87lr0wjs3j3ynh95c4j4yx4fzizbgdfnjai1apcjkhcs"; + buildDepends = [ + attoparsec caseInsensitive hashable network snap text transformers + unorderedContainers + ]; + meta = { + homepage = "http://github.com/ocharles/snap-cors"; + description = "Add CORS headers to Snap applications"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix index 7bc8d6e4b573..0a1d1b7c5cf4 100644 --- a/pkgs/development/libraries/haskell/snap/core.nix +++ b/pkgs/development/libraries/haskell/snap/core.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "snap-core"; - version = "0.9.6.0"; - sha256 = "0v5bp8dw867gq92p3qw3h2yv6bhr2b7gy72rs26m9crk2dsfx9pa"; + version = "0.9.6.2"; + sha256 = "1s77p2q4zrpw2fksklqc9sgcb214fijsk88lqqasdiw9kb9xmwij"; buildDepends = [ attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator bytestringMmap caseInsensitive deepseq enumerator filepath hashable diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix index abe4d4cc074b..ec054cc80653 100644 --- a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix +++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "snap-loader-dynamic"; - version = "0.10"; - sha256 = "0wnrsbnf3crfxhhraz4my08m6yhmqj632rv6cdy9ili3wxjkqd57"; + version = "0.10.0.1"; + sha256 = "0iqhspvfp0d6qivis2l3v0rqrnb8qbzvi4n53zgyb9cwvqxx5fix"; buildDepends = [ directoryTree hint mtl snapCore time ]; meta = { homepage = "http://snapframework.com/"; diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix index 80cffd6b4321..4dca1dea2843 100644 --- a/pkgs/development/libraries/haskell/snap/server.nix +++ b/pkgs/development/libraries/haskell/snap/server.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "snap-server"; - version = "0.9.4.0"; - sha256 = "0jcg99byygdxx42p1w0a8nvyh2w2hrqj2j9n76hf7sa65f67j828"; + version = "0.9.4.2"; + sha256 = "05na8gqbqy0nznasaxfkp4hr7h0s6ypm8000mhn50d27v8nk526m"; buildDepends = [ attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator MonadCatchIOTransformers mtl network diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix index 28ce546ee167..3d361a69b874 100644 --- a/pkgs/development/libraries/haskell/snap/snap.nix +++ b/pkgs/development/libraries/haskell/snap/snap.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "snap"; - version = "0.13.2.0"; - sha256 = "1jwgl6dmi1ljfqvfjxcsv3q4h9lcqpmxk4zsjkxdx77z201lhm3b"; + version = "0.13.2.4"; + sha256 = "1806nd6gzih66c9gg2iz3dxr4qcd4jkgamz8pv9x3zkk7n5jqga0"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix index 8a9a594e45d7..4d66f69acd64 100644 --- a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix +++ b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "snaplet-acid-state"; - version = "0.2.6"; - sha256 = "005c4x7sh820iar69rany3hv4rlbzpsd4yqd2x2v3jql9z55k4s9"; + version = "0.2.6.1"; + sha256 = "0wlawnsxisslqzspa29swsdmncgx04z3rd1bhwx73mx5pksykw60"; buildDepends = [ acidState snap text ]; meta = { homepage = "https://github.com/mightybyte/snaplet-acid-state"; diff --git a/pkgs/development/libraries/haskell/snowball/default.nix b/pkgs/development/libraries/haskell/snowball/default.nix new file mode 100644 index 000000000000..36a4231109df --- /dev/null +++ b/pkgs/development/libraries/haskell/snowball/default.nix @@ -0,0 +1,21 @@ +{ cabal, HUnit, QuickCheck, quickcheckInstances, testFrameworkHunit +, testFrameworkQuickcheck2, testFrameworkTh, text, textIcu +}: + +cabal.mkDerivation (self: { + pname = "snowball"; + version = "1.0.0.1"; + sha256 = "0fvxzm14ffjqq6n51bi5cmq5yrlggpkbb9rbbw522l6cjgv0apbx"; + buildDepends = [ text textIcu ]; + testDepends = [ + HUnit QuickCheck quickcheckInstances testFrameworkHunit + testFrameworkQuickcheck2 testFrameworkTh text + ]; + doCheck = false; + meta = { + homepage = "http://hub.darcs.net/dag/snowball"; + description = "Bindings to the Snowball library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/sourcemap/default.nix b/pkgs/development/libraries/haskell/sourcemap/default.nix new file mode 100644 index 000000000000..ce0c89d4596d --- /dev/null +++ b/pkgs/development/libraries/haskell/sourcemap/default.nix @@ -0,0 +1,17 @@ +{ cabal, aeson, attoparsec, text, unorderedContainers, utf8String +}: + +cabal.mkDerivation (self: { + pname = "sourcemap"; + version = "0.1.3.0"; + sha256 = "1flfsjs2z2zjzqwvmc2vcibvxh19s89ah4s560xr2s5mhdqwbkk5"; + buildDepends = [ + aeson attoparsec text unorderedContainers utf8String + ]; + meta = { + description = "Implementation of source maps as proposed by Google and Mozilla"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/sparse/default.nix b/pkgs/development/libraries/haskell/sparse/default.nix new file mode 100644 index 000000000000..f498da219395 --- /dev/null +++ b/pkgs/development/libraries/haskell/sparse/default.nix @@ -0,0 +1,31 @@ +{ cabal, contravariant, deepseq, doctest, filepath, hlint +, hybridVectors, lens, linear, mtl, primitive, QuickCheck +, semigroups, simpleReflect, testFramework +, testFrameworkQuickcheck2, testFrameworkTh, transformers, vector +, vectorAlgorithms +}: + +cabal.mkDerivation (self: { + pname = "sparse"; + version = "0.9"; + sha256 = "0v0z7kjgmcdx9ajlhr9pc1i3qqghd60s02xnlmj4hcxby8k0r8mc"; + buildDepends = [ + contravariant deepseq hybridVectors lens primitive transformers + vector vectorAlgorithms + ]; + testDepends = [ + deepseq doctest filepath hlint hybridVectors lens linear mtl + QuickCheck semigroups simpleReflect testFramework + testFrameworkQuickcheck2 testFrameworkTh transformers vector + ]; + patchPhase = '' + sed -i -e 's|vector-algorithms >=.*|vector-algorithms|' -e 's|QuickCheck.*,|QuickCheck,|' sparse.cabal + ''; + doCheck = false; + meta = { + homepage = "http://github.com/ekmett/sparse"; + description = "A playground of sparse linear algebra primitives using Morton ordering"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/sqlite-simple/default.nix b/pkgs/development/libraries/haskell/sqlite-simple/default.nix new file mode 100644 index 000000000000..d6d8d43bf24a --- /dev/null +++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix @@ -0,0 +1,20 @@ +{ cabal, attoparsec, base16Bytestring, blazeBuilder, blazeTextual +, directSqlite, HUnit, text, time, transformers +}: + +cabal.mkDerivation (self: { + pname = "sqlite-simple"; + version = "0.4.5.2"; + sha256 = "04080ak589n0abisb6bzsmycrh3l8sh0ipcl1gcsvvfd4x83c9yi"; + buildDepends = [ + attoparsec blazeBuilder blazeTextual directSqlite text time + transformers + ]; + testDepends = [ base16Bytestring directSqlite HUnit text time ]; + meta = { + homepage = "http://github.com/nurpax/sqlite-simple"; + description = "Mid-Level SQLite client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/0.10.5.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/statistics/default.nix rename to pkgs/development/libraries/haskell/statistics/0.10.5.2.nix diff --git a/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix b/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix new file mode 100644 index 000000000000..11d2ff6daa69 --- /dev/null +++ b/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix @@ -0,0 +1,28 @@ +{ cabal, binary, deepseq, erf, HUnit, ieee754, mathFunctions +, monadPar, mwcRandom, primitive, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, vector +, vectorAlgorithms, vectorBinaryInstances +}: + +cabal.mkDerivation (self: { + pname = "statistics"; + version = "0.11.0.0"; + sha256 = "1pmkdy7v78ajl5b5rjshgabhcakb9ji5wlq79ajr1b5adif1d1d9"; + buildDepends = [ + binary deepseq erf mathFunctions monadPar mwcRandom primitive + vector vectorAlgorithms vectorBinaryInstances + ]; + testDepends = [ + binary erf HUnit ieee754 mathFunctions mwcRandom primitive + QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 vector vectorAlgorithms + ]; + doCheck = false; + meta = { + homepage = "https://github.com/bos/statistics"; + description = "A library of statistical types, data, and functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/stm-chans/default.nix b/pkgs/development/libraries/haskell/stm-chans/default.nix index e8bd79a9a80a..2b8c9d1080ae 100644 --- a/pkgs/development/libraries/haskell/stm-chans/default.nix +++ b/pkgs/development/libraries/haskell/stm-chans/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "stm-chans"; - version = "3.0.0"; - sha256 = "1nnl5h88dshcmk0ydhkf84kkf6989igxry9r0z7lwlxfgf7q9nim"; + version = "3.0.0.2"; + sha256 = "1zsa092yjxsdq8nm2yqagdfpip3i3ff3xdwvys99ns7ridxbyynh"; buildDepends = [ stm ]; meta = { homepage = "http://code.haskell.org/~wren/"; diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix index 4ab74d23bc23..201a2ea02f97 100644 --- a/pkgs/development/libraries/haskell/stm-conduit/default.nix +++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix @@ -1,19 +1,20 @@ -{ cabal, async, conduit, HUnit, liftedAsync, liftedBase -, monadControl, monadLoops, QuickCheck, resourcet, stm, stmChans -, testFramework, testFrameworkHunit, testFrameworkQuickcheck2 -, transformers +{ cabal, async, cereal, cerealConduit, conduit, conduitExtra, HUnit +, liftedAsync, liftedBase, monadControl, monadLoops, QuickCheck +, resourcet, stm, stmChans, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, transformers }: cabal.mkDerivation (self: { pname = "stm-conduit"; - version = "2.1.4"; - sha256 = "0xl3g96blawy5bkvialq6jxnf4wajxb5fg1sh7p9kvw1gvacqwqk"; + version = "2.4.0"; + sha256 = "03ifxr3pspwmzf0xdh7mj3q1wiz13d86w9pdhiqa6b1d1qw6rvha"; buildDepends = [ - async conduit liftedAsync liftedBase monadControl monadLoops - resourcet stm stmChans transformers + async cereal cerealConduit conduit conduitExtra liftedAsync + liftedBase monadControl monadLoops resourcet stm stmChans + transformers ]; testDepends = [ - conduit HUnit QuickCheck stm stmChans testFramework + conduit HUnit QuickCheck resourcet stm stmChans testFramework testFrameworkHunit testFrameworkQuickcheck2 transformers ]; meta = { diff --git a/pkgs/development/libraries/haskell/stm/2.4.3.nix b/pkgs/development/libraries/haskell/stm/2.4.3.nix new file mode 100644 index 000000000000..28c3da5cba23 --- /dev/null +++ b/pkgs/development/libraries/haskell/stm/2.4.3.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "stm"; + version = "2.4.3"; + sha256 = "0vzw4s06d5scfy4ircl81ym8ylkw9ckzsp8rq950dvipmaj1xhis"; + meta = { + description = "Software Transactional Memory"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix new file mode 100644 index 000000000000..4bcb46887bc8 --- /dev/null +++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix @@ -0,0 +1,17 @@ +{ cabal, async, deepseq, hspec, network, QuickCheck, text +, transformers, zlib +}: + +cabal.mkDerivation (self: { + pname = "streaming-commons"; + version = "0.1.1"; + sha256 = "1mzpdhdc5kq9pfpsjs6v1j1qa1pdj1ca4s32z4bjq751jayj6ds6"; + buildDepends = [ network text transformers zlib ]; + testDepends = [ async deepseq hspec network QuickCheck text zlib ]; + meta = { + homepage = "https://github.com/fpco/streaming-commons"; + description = "Common lower-level functions needed by various streaming data libraries"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/string-conversions/default.nix b/pkgs/development/libraries/haskell/string-conversions/default.nix new file mode 100644 index 000000000000..efab2ee40bb4 --- /dev/null +++ b/pkgs/development/libraries/haskell/string-conversions/default.nix @@ -0,0 +1,13 @@ +{ cabal, text, utf8String }: + +cabal.mkDerivation (self: { + pname = "string-conversions"; + version = "0.3.0.2"; + sha256 = "0jcm0vv0ll74zfc7s2l8qpqpbfnkv7ir9d1kg68m6b0f9sq0dgng"; + buildDepends = [ text utf8String ]; + meta = { + description = "Simplifies dealing with different types for strings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/stripe/default.nix b/pkgs/development/libraries/haskell/stripe/default.nix new file mode 100644 index 000000000000..304cc3df8f70 --- /dev/null +++ b/pkgs/development/libraries/haskell/stripe/default.nix @@ -0,0 +1,20 @@ +{ cabal, aeson, httpConduit, httpTypes, mtl, text, time +, unorderedContainers, utf8String +}: + +cabal.mkDerivation (self: { + pname = "stripe"; + version = "0.8.0"; + sha256 = "0bz932v7kcz2xsnmpx34ifqnf6kbgy7a7qd0dqnjqypc8g6kfl37"; + buildDepends = [ + aeson httpConduit httpTypes mtl text time unorderedContainers + utf8String + ]; + meta = { + homepage = "https://github.com/michaelschade/hs-stripe"; + description = "A Haskell implementation of the Stripe API"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/syntactic/default.nix b/pkgs/development/libraries/haskell/syntactic/default.nix new file mode 100644 index 000000000000..e18cf7b59371 --- /dev/null +++ b/pkgs/development/libraries/haskell/syntactic/default.nix @@ -0,0 +1,22 @@ +{ cabal, constraints, dataHash, mtl, QuickCheck, tasty, tastyGolden +, tastyQuickcheck, tastyTh, transformers, treeView, tuple +, utf8String +}: + +cabal.mkDerivation (self: { + pname = "syntactic"; + version = "1.11"; + sha256 = "1j4k4qwi17x9z0cjf9adndaj5wbs8prs36xpz2icf7mlwcr9pvrz"; + buildDepends = [ + constraints dataHash mtl transformers treeView tuple + ]; + testDepends = [ + mtl QuickCheck tasty tastyGolden tastyQuickcheck tastyTh utf8String + ]; + meta = { + homepage = "https://github.com/emilaxelsson/syntactic"; + description = "Generic abstract syntax, and utilities for embedded languages"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix index 2e060e252dd9..fba75d7b847d 100644 --- a/pkgs/development/libraries/haskell/system-filepath/default.nix +++ b/pkgs/development/libraries/haskell/system-filepath/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "system-filepath"; - version = "0.4.9"; - sha256 = "0qxbibq6lj7gyw62crp774pv2a8cm83rllw5yjjsg372nk4m1is0"; + version = "0.4.10"; + sha256 = "176g5jm1gd6lrkmhfz9qh5aqwfbpwyr30yknfcc49wl7jkfhisiq"; buildDepends = [ deepseq text ]; meta = { homepage = "https://john-millikin.com/software/haskell-filesystem/"; diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix index ee808800c55f..d62033e8d16a 100644 --- a/pkgs/development/libraries/haskell/tagged/default.nix +++ b/pkgs/development/libraries/haskell/tagged/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tagged"; - version = "0.7"; - sha256 = "1g78hl6sib1mhg016gy3fqw78x72jsgqizsgim8a1pysjzq0y6zm"; + version = "0.7.1"; + sha256 = "036k5k44971fq6zdxc36kkic9ma93mcas7zk48i32s60iznnfc6v"; meta = { homepage = "http://github.com/ekmett/tagged"; description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments"; diff --git a/pkgs/development/libraries/haskell/tagshare/default.nix b/pkgs/development/libraries/haskell/tagshare/default.nix new file mode 100644 index 000000000000..be56d518121b --- /dev/null +++ b/pkgs/development/libraries/haskell/tagshare/default.nix @@ -0,0 +1,13 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "tagshare"; + version = "0.0"; + sha256 = "1q3chp1rmwmxa8rxv7548wsvbqbng6grrnv1587p08385sp4ncfj"; + buildDepends = [ mtl ]; + meta = { + description = "TagShare - explicit sharing with tags"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix index 5dc83178be00..b51541d56f6b 100644 --- a/pkgs/development/libraries/haskell/tagsoup/default.nix +++ b/pkgs/development/libraries/haskell/tagsoup/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tagsoup"; - version = "0.13"; - sha256 = "1pfkcfrmhzxplfkdzb0zj24dfsddw91plqp3mg2gqkv82y8blzk1"; + version = "0.13.1"; + sha256 = "0p1mwyjk2bvpavjm1kgdjnahj0q4nhynix3653s0i0kvhw70450k"; isLibrary = true; isExecutable = true; buildDepends = [ text ]; diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix index ca177a80a101..ecdcbb1b63c1 100644 --- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix +++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix @@ -1,17 +1,19 @@ { cabal, attoparsec, attoparsecConduit, blazeBuilder -, blazeBuilderConduit, caseInsensitive, conduit, hspec, HUnit -, QuickCheck, text, transformers +, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra +, dataDefault, hspec, HUnit, QuickCheck, resourcet, text +, transformers, xmlConduit }: cabal.mkDerivation (self: { pname = "tagstream-conduit"; - version = "0.5.4.1"; - sha256 = "1gahdil5jasm6v7gp519ahr2yc7ppysdnmkl21cd4zzn6y1r0gw9"; + version = "0.5.5.1"; + sha256 = "0bpxjhqqqigfnwcxx3h2am5zmgr1lyaxaac3lnz490j6zf8x9jn7"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit - caseInsensitive conduit text transformers + caseInsensitive conduit conduitExtra dataDefault resourcet text + transformers xmlConduit ]; - testDepends = [ conduit hspec HUnit QuickCheck text ]; + testDepends = [ conduit hspec HUnit QuickCheck resourcet text ]; meta = { homepage = "http://github.com/yihuang/tagstream-conduit"; description = "streamlined html tag parser"; diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix index c77ee5f3a3a0..695d7edca625 100644 --- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix +++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tasty-ant-xml"; - version = "1.0.0.5"; - sha256 = "00nlp627r5rgahs8zqjxjm68ijf4yvxd18fq67z2fr68alg4rl4j"; + version = "1.0.0.6"; + sha256 = "06ll7mj60iiskla2x53yncs0931b7dw4l0shxkhz88558gjzy7cj"; buildDepends = [ genericDeriving mtl reducers stm tagged tasty transformers xml ]; diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix index 0b13bb0dcff6..f2fe7cfb0ad9 100644 --- a/pkgs/development/libraries/haskell/tasty-golden/default.nix +++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix @@ -1,13 +1,13 @@ -{ cabal, filepath, mtl, optparseApplicative, tagged, tasty +{ cabal, deepseq, filepath, mtl, optparseApplicative, tagged, tasty , temporary }: cabal.mkDerivation (self: { pname = "tasty-golden"; - version = "2.2.0.2"; - sha256 = "0wy29ybb31g34gjyx95an3azh111crvrrdhbbihjj064xvf6ddmy"; + version = "2.2.1"; + sha256 = "1q3x3vmck1yq7bf96f3ah5nadahfxjd4wr3dfh3ls549yz40x668"; buildDepends = [ - filepath mtl optparseApplicative tagged tasty temporary + deepseq filepath mtl optparseApplicative tagged tasty temporary ]; meta = { homepage = "https://github.com/feuerbach/tasty-golden"; diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix index dfcc5a4bdae9..44efd6080022 100644 --- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix +++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-hunit"; - version = "0.4.1"; - sha256 = "1ns4lbqjkgfgl00jg4sw2jz3r189z4k5fzwbii3g1bnskn28fapa"; + version = "0.8.0.1"; + sha256 = "0a84j8yjqp9x59dy5nbb50vnscb7iimgc60s8vz1p5721gqi62r5"; buildDepends = [ HUnit mtl tasty ]; meta = { description = "HUnit support for the Tasty test framework"; diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix index e18f3d7cd332..ee8483595092 100644 --- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix +++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix @@ -1,10 +1,10 @@ -{ cabal, QuickCheck, random, tagged, tasty }: +{ cabal, QuickCheck, tagged, tasty }: cabal.mkDerivation (self: { pname = "tasty-quickcheck"; - version = "0.3.1"; - sha256 = "1rajvcq2a1yxdbb4kykvab1p9rnmsd2lgmlk61nd4fxvsvfj5gzn"; - buildDepends = [ QuickCheck random tagged tasty ]; + version = "0.8.0.3"; + sha256 = "0dng415dsdg86rliwmz5hpn2111cn0x494c0vmdmzv5qgvx5naf6"; + buildDepends = [ QuickCheck tagged tasty ]; meta = { description = "QuickCheck support for the Tasty test framework"; license = self.stdenv.lib.licenses.mit; diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix new file mode 100644 index 000000000000..65d0c73473ad --- /dev/null +++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix @@ -0,0 +1,20 @@ +{ cabal, mtl, optparseApplicative, reducers, split, stm, tagged +, tasty, transformers +}: + +cabal.mkDerivation (self: { + pname = "tasty-rerun"; + version = "1.1.2"; + sha256 = "0vgx6l9yd21aiwivd6zp67rgjly1j2wwqdmx99p17prr430rm4id"; + buildDepends = [ + mtl optparseApplicative reducers split stm tagged tasty + transformers + ]; + meta = { + homepage = "http://github.com/ocharles/tasty-rerun"; + description = "Run tests by filtering the test tree depending on the result of previous test runs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix index 36a9c4280af9..40a30a6d24f5 100644 --- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix +++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-smallcheck"; - version = "0.2"; - sha256 = "1xw0l1bikwavyq7s8q71a92x87mg7z65mk32nn5qx0zxwqsfb5l4"; + version = "0.8"; + sha256 = "0c4ccmhql118j4dlvy5cmrnma454b0rdv1wq2ds6xhpdhx20h1br"; buildDepends = [ async smallcheck tagged tasty ]; meta = { homepage = "https://github.com/feuerbach/tasty"; diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix index 2cf62b7cefd7..13e4e37e4b06 100644 --- a/pkgs/development/libraries/haskell/tasty/default.nix +++ b/pkgs/development/libraries/haskell/tasty/default.nix @@ -1,16 +1,17 @@ -{ cabal, ansiTerminal, deepseq, either, mtl, optparseApplicative -, regexTdfa, stm, tagged +{ cabal, ansiTerminal, async, deepseq, mtl, optparseApplicative +, regexTdfa, stm, tagged, unboundedDelays }: cabal.mkDerivation (self: { pname = "tasty"; - version = "0.7"; - sha256 = "0nwhbbm70v2drv6kzdz65wws7gn8ph6583xpb6dw8g4j9aa1shxd"; + version = "0.8.0.4"; + sha256 = "016niwympxbxpg3yq7samgh92l20wxm2h6cwhqal4zdj8n9262j0"; buildDepends = [ - ansiTerminal deepseq either mtl optparseApplicative regexTdfa stm - tagged + ansiTerminal async deepseq mtl optparseApplicative regexTdfa stm + tagged unboundedDelays ]; meta = { + homepage = "http://documentup.com/feuerbach/tasty"; description = "Modern and extensible testing framework"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix index 5bb668e86a87..585eaf58682d 100644 --- a/pkgs/development/libraries/haskell/temporary/default.nix +++ b/pkgs/development/libraries/haskell/temporary/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "temporary"; - version = "1.2.0.1"; - sha256 = "12z8qnqn1fg9ymaav5ds7gk067lmj0bv1lhhxcnvmvjcpk1l5b54"; + version = "1.2.0.2"; + sha256 = "1ynvhmc6b385sn8qw3sni3cwmz7pmppns546416xil9mhbiya87z"; buildDepends = [ exceptions filepath transformers ]; + jailbreak = true; meta = { homepage = "http://www.github.com/batterseapower/temporary"; description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal"; diff --git a/pkgs/development/libraries/haskell/terminal-size/default.nix b/pkgs/development/libraries/haskell/terminal-size/default.nix new file mode 100644 index 000000000000..d33bc7d43173 --- /dev/null +++ b/pkgs/development/libraries/haskell/terminal-size/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "terminal-size"; + version = "0.2.1.0"; + sha256 = "0d41af1is3vdb1kgd8dk82fags86bgs67vkbzpdhjdwa3aimsxgn"; + meta = { + description = "Get terminal window height and width"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/testing-feat/default.nix b/pkgs/development/libraries/haskell/testing-feat/default.nix new file mode 100644 index 000000000000..5e6a8177d1a1 --- /dev/null +++ b/pkgs/development/libraries/haskell/testing-feat/default.nix @@ -0,0 +1,13 @@ +{ cabal, mtl, QuickCheck, tagshare }: + +cabal.mkDerivation (self: { + pname = "testing-feat"; + version = "0.4.0.1"; + sha256 = "1fqp5k8kwnn7qqggyy5scsxmkvd1pibc5sfs7v1myrp0azkc25cp"; + buildDepends = [ mtl QuickCheck tagshare ]; + meta = { + description = "Functional Enumeration of Algebraic Types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix index 8dd3f5c6fc96..7c97f5b8e3f9 100644 --- a/pkgs/development/libraries/haskell/texmath/default.nix +++ b/pkgs/development/libraries/haskell/texmath/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "texmath"; - version = "0.6.6"; - sha256 = "0mbimlvqsfx6w4dvilidy5cd9732kf6bnfnn6n7rnmq88avxxnmc"; + version = "0.6.6.1"; + sha256 = "0s6rh4frjc76g1nmwhnnpnsszrnhpi9zx478zqiln1fg0yc9fhxq"; isLibrary = true; isExecutable = true; buildDepends = [ pandocTypes parsec syb xml ]; diff --git a/pkgs/development/libraries/haskell/text-format/default.nix b/pkgs/development/libraries/haskell/text-format/default.nix index b9507d7777ab..b478fb7c515d 100644 --- a/pkgs/development/libraries/haskell/text-format/default.nix +++ b/pkgs/development/libraries/haskell/text-format/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "text-format"; - version = "0.3.1.0"; - sha256 = "13k5a1kfmapd4yckm2vcrwz4vrrf32c2dpisdw0hyvzvmdib3n60"; + version = "0.3.1.1"; + sha256 = "02zfgzfjvkaxbma1h2gr95h10c8q9gyaadag41q579j68iv15qbd"; buildDepends = [ doubleConversion text time transformers ]; meta = { homepage = "https://github.com/bos/text-format"; diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix index 6dc42beee408..222475b24bb9 100644 --- a/pkgs/development/libraries/haskell/text-icu/default.nix +++ b/pkgs/development/libraries/haskell/text-icu/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { testFrameworkQuickcheck2 text ]; extraLibraries = [ icu ]; + doCheck = !self.stdenv.isDarwin; meta = { homepage = "https://github.com/bos/text-icu"; description = "Bindings to the ICU library"; diff --git a/pkgs/development/libraries/haskell/text-stream-decode/default.nix b/pkgs/development/libraries/haskell/text-stream-decode/default.nix new file mode 100644 index 000000000000..0530804d84b1 --- /dev/null +++ b/pkgs/development/libraries/haskell/text-stream-decode/default.nix @@ -0,0 +1,15 @@ +{ cabal, deepseq, hspec, text }: + +cabal.mkDerivation (self: { + pname = "text-stream-decode"; + version = "0.1.0.5"; + sha256 = "1s2lncs5k8rswg1bpf4vz5p1maj46bsgf7ar4lzcla9bf3f4bppy"; + buildDepends = [ text ]; + testDepends = [ deepseq hspec text ]; + meta = { + homepage = "http://github.com/fpco/text-stream-decode"; + description = "Streaming decoding functions for UTF encodings. (deprecated)"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/text/1.1.0.0.nix b/pkgs/development/libraries/haskell/text/1.1.0.1.nix similarity index 87% rename from pkgs/development/libraries/haskell/text/1.1.0.0.nix rename to pkgs/development/libraries/haskell/text/1.1.0.1.nix index 87a89c43be4e..eecb54f3c68f 100644 --- a/pkgs/development/libraries/haskell/text/1.1.0.0.nix +++ b/pkgs/development/libraries/haskell/text/1.1.0.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "text"; - version = "1.1.0.0"; - sha256 = "14mssz27f5ivhwcl9gvbw0s1mjh7hw9gviwxnimqiqzh4jlavwc0"; + version = "1.1.0.1"; + sha256 = "1f0zicvflfd17mr2h9s9idhi0215m2y208jbnh4fx1yj6snnvalw"; buildDepends = [ deepseq ]; testDepends = [ deepseq HUnit QuickCheck random testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/tf-random/default.nix b/pkgs/development/libraries/haskell/tf-random/default.nix new file mode 100644 index 000000000000..79e27f87fc69 --- /dev/null +++ b/pkgs/development/libraries/haskell/tf-random/default.nix @@ -0,0 +1,13 @@ +{ cabal, primitive, random, time }: + +cabal.mkDerivation (self: { + pname = "tf-random"; + version = "0.5"; + sha256 = "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"; + buildDepends = [ primitive random time ]; + meta = { + description = "High-quality splittable pseudorandom number generator"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix new file mode 100644 index 000000000000..827828d64741 --- /dev/null +++ b/pkgs/development/libraries/haskell/th-desugar/default.nix @@ -0,0 +1,16 @@ +{ cabal, hspec, HUnit, mtl, syb }: + +cabal.mkDerivation (self: { + pname = "th-desugar"; + version = "1.3.1"; + sha256 = "1wi0c5d1w6vjjk580zhypgqnnkndcsx4cmx5qy01w97h6kyj8913"; + buildDepends = [ mtl syb ]; + testDepends = [ hspec HUnit mtl syb ]; + meta = { + homepage = "http://www.cis.upenn.edu/~eir/packages/th-desugar"; + description = "Functions to desugar Template Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/th-orphans/default.nix b/pkgs/development/libraries/haskell/th-orphans/default.nix index dd9fbc198bff..9a8d22423a37 100644 --- a/pkgs/development/libraries/haskell/th-orphans/default.nix +++ b/pkgs/development/libraries/haskell/th-orphans/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "th-orphans"; - version = "0.8"; - sha256 = "0kzzcicn6pggvvblhbrs3vh0bf71izlb99lb0f5qww7ymi4smldr"; + version = "0.8.1"; + sha256 = "1glf1zkiip18l0qdy3856ag7ksbxzd11dzdyq00qrz87kck5y58w"; buildDepends = [ thLift ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix index 11becfeacc74..1855f4938120 100644 --- a/pkgs/development/libraries/haskell/threepenny-gui/default.nix +++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix @@ -1,17 +1,18 @@ -{ cabal, attoparsecEnumerator, dataDefault, deepseq, filepath -, hashable, json, MonadCatchIOTransformers, network, safe, snapCore -, snapServer, stm, text, time, transformers, unorderedContainers -, utf8String, vault, websockets, websocketsSnap +{ cabal, aeson, attoparsecEnumerator, dataDefault, deepseq +, filepath, hashable, MonadCatchIOTransformers, network, safe +, snapCore, snapServer, stm, text, time, transformers +, unorderedContainers, utf8String, vault, websockets +, websocketsSnap }: cabal.mkDerivation (self: { pname = "threepenny-gui"; - version = "0.4.0.1"; - sha256 = "18ahfcbzlp0k5ry9fdzdv8jdwv10iplnbbnh2xyr3cqils2yp68m"; + version = "0.4.1.0"; + sha256 = "0fafwnlbl96z9m5fr3wiyv090fga78cr9hrd4yd3vyiz44gfrpcw"; isLibrary = true; isExecutable = true; buildDepends = [ - attoparsecEnumerator dataDefault deepseq filepath hashable json + aeson attoparsecEnumerator dataDefault deepseq filepath hashable MonadCatchIOTransformers network safe snapCore snapServer stm text time transformers unorderedContainers utf8String vault websockets websocketsSnap diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix index 6f1a6b41bba3..e321f21b2ca4 100644 --- a/pkgs/development/libraries/haskell/thyme/default.nix +++ b/pkgs/development/libraries/haskell/thyme/default.nix @@ -1,18 +1,18 @@ -{ cabal, aeson, attoparsec, Cabal, deepseq, filepath, lens -, QuickCheck, random, systemPosixRedirect, text, time, transformers +{ cabal, aeson, attoparsec, Cabal, deepseq, filepath, mtl +, profunctors, QuickCheck, random, systemPosixRedirect, text, time , vector, vectorSpace }: cabal.mkDerivation (self: { pname = "thyme"; - version = "0.3.1.0"; - sha256 = "0dhnsqn6miiqnbpqln2vmkq7cbm8bz5jz1dwc1bif6dwl16fvhm6"; + version = "0.3.3.0"; + sha256 = "0mpwwpc82xcdyawz87rcmvga1miw7cx538nnh379m2ibn0g71zaa"; buildDepends = [ - aeson attoparsec deepseq lens QuickCheck random text time - transformers vector vectorSpace + aeson attoparsec deepseq mtl profunctors QuickCheck random text + time vector vectorSpace ]; testDepends = [ - attoparsec Cabal filepath lens QuickCheck random + attoparsec Cabal filepath mtl profunctors QuickCheck random systemPosixRedirect text time vectorSpace ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/time-recurrence/default.nix b/pkgs/development/libraries/haskell/time-recurrence/default.nix new file mode 100644 index 000000000000..0e23f84ebfc2 --- /dev/null +++ b/pkgs/development/libraries/haskell/time-recurrence/default.nix @@ -0,0 +1,19 @@ +{ cabal, dataOrdlist, HUnit, mtl, testFramework, testFrameworkHunit +, time +}: + +cabal.mkDerivation (self: { + pname = "time-recurrence"; + version = "0.9.2"; + sha256 = "1arqmkagmswimbh78qfz5bcilk9i14w29j4vf4i89d00vac3vrzm"; + buildDepends = [ dataOrdlist mtl time ]; + testDepends = [ + dataOrdlist HUnit mtl testFramework testFrameworkHunit time + ]; + meta = { + homepage = "http://github.com/hellertime/time-recurrence"; + description = "Generate recurring dates"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/time/1.4.1.nix b/pkgs/development/libraries/haskell/time/1.4.2.nix similarity index 85% rename from pkgs/development/libraries/haskell/time/1.4.1.nix rename to pkgs/development/libraries/haskell/time/1.4.2.nix index 1e6751101908..ff9818a387d6 100644 --- a/pkgs/development/libraries/haskell/time/1.4.1.nix +++ b/pkgs/development/libraries/haskell/time/1.4.2.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "time"; - version = "1.4.1"; - sha256 = "04ndcp7m1a7mia4by15dqrwl5k0d2477x20s6xcrdb7in8w9ccvp"; + version = "1.4.2"; + sha256 = "1kpsak2wka23c8591ry6i1d7hmd54s7iw5n6hpx48jhcxf1w199h"; buildDepends = [ deepseq ]; testDepends = [ Cabal deepseq QuickCheck testFramework testFrameworkQuickcheck2 diff --git a/pkgs/development/libraries/haskell/timeparsers/default.nix b/pkgs/development/libraries/haskell/timeparsers/default.nix new file mode 100644 index 000000000000..57c9c7e3da7d --- /dev/null +++ b/pkgs/development/libraries/haskell/timeparsers/default.nix @@ -0,0 +1,13 @@ +{ cabal, attoparsec, convertible, mtl, time }: + +cabal.mkDerivation (self: { + pname = "timeparsers"; + version = "0.3.2"; + sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7"; + buildDepends = [ attoparsec convertible mtl time ]; + meta = { + description = "Attoparsec parsers for various Date/Time formats"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix index c46090cda9b1..6a0e81383f74 100644 --- a/pkgs/development/libraries/haskell/timezone-olson/default.nix +++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "timezone-olson"; - version = "0.1.2"; - sha256 = "1dp0nppvx732c27pybbyqw6jkx4kdgfc6vnc539m0xv005afpq9y"; + version = "0.1.4"; + sha256 = "1l5j6gqi9vlx7sifn7vv3by4z9ha3h6klfds4ywqv3dv0gh5725k"; buildDepends = [ binary extensibleExceptions time timezoneSeries ]; meta = { homepage = "http://projects.haskell.org/time-ng/"; diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix index 6d63c267c61c..0fdcaf71d517 100644 --- a/pkgs/development/libraries/haskell/tls-extra/default.nix +++ b/pkgs/development/libraries/haskell/tls-extra/default.nix @@ -12,12 +12,10 @@ cabal.mkDerivation (self: { certificate cipherAes cipherRc4 cryptohash cryptoPubkey cryptoRandom mtl network pem time tls vector ]; - jailbreak = true; meta = { homepage = "http://github.com/vincenthz/hs-tls"; description = "TLS extra default values and helpers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; }; }) diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix similarity index 100% rename from pkgs/development/libraries/haskell/tls/default.nix rename to pkgs/development/libraries/haskell/tls/1.1.5.nix diff --git a/pkgs/development/libraries/haskell/tls/1.2.6.nix b/pkgs/development/libraries/haskell/tls/1.2.6.nix new file mode 100644 index 000000000000..15019265f911 --- /dev/null +++ b/pkgs/development/libraries/haskell/tls/1.2.6.nix @@ -0,0 +1,31 @@ +{ cabal, asn1Encoding, asn1Types, byteable, cereal, cipherAes +, cipherRc4, cprngAes, cryptohash, cryptoNumbers, cryptoPubkey +, cryptoPubkeyTypes, cryptoRandom, dataDefaultClass, mtl, network +, QuickCheck, testFramework, testFrameworkQuickcheck2, time, x509 +, x509Store, x509Validation +}: + +cabal.mkDerivation (self: { + pname = "tls"; + version = "1.2.6"; + sha256 = "16r60acz9q84dv91jms9qaqvc53r98761ap9ijj3pifizzxcyswi"; + buildDepends = [ + asn1Encoding asn1Types byteable cereal cipherAes cipherRc4 + cryptohash cryptoNumbers cryptoPubkey cryptoPubkeyTypes + cryptoRandom dataDefaultClass mtl network x509 x509Store + x509Validation + ]; + testDepends = [ + cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass mtl + QuickCheck testFramework testFrameworkQuickcheck2 time x509 + x509Validation + ]; + doCheck = false; + meta = { + homepage = "http://github.com/vincenthz/hs-tls"; + description = "TLS/SSL protocol native implementation (Server and Client)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/transformers-free/default.nix b/pkgs/development/libraries/haskell/transformers-free/default.nix new file mode 100644 index 000000000000..da05e122e529 --- /dev/null +++ b/pkgs/development/libraries/haskell/transformers-free/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "transformers-free"; + version = "1.0.1"; + sha256 = "0fbzkr7ifvqng8wqi3332vwvmx36f8z167angyskfdd0a5rik2z0"; + buildDepends = [ transformers ]; + meta = { + description = "Free monad transformers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/tree-view/default.nix b/pkgs/development/libraries/haskell/tree-view/default.nix new file mode 100644 index 000000000000..7ceefb815d8d --- /dev/null +++ b/pkgs/development/libraries/haskell/tree-view/default.nix @@ -0,0 +1,13 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "tree-view"; + version = "0.4"; + sha256 = "0mzywp6nipc6zs98dy4ny2s3r9d745lqpjazfnj5y4hx8swyckgn"; + buildDepends = [ mtl ]; + meta = { + description = "Render trees as foldable HTML and Unicode art"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/trifecta/1.2.nix b/pkgs/development/libraries/haskell/trifecta/1.2.nix deleted file mode 100644 index 8181c445a5a1..000000000000 --- a/pkgs/development/libraries/haskell/trifecta/1.2.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ cabal, ansiTerminal, ansiWlPprint, blazeBuilder, blazeHtml -, blazeMarkup, charset, comonad, deepseq, doctest, filepath -, fingertree, hashable, lens, mtl, parsers, reducers, semigroups -, transformers, unorderedContainers, utf8String -}: - -cabal.mkDerivation (self: { - pname = "trifecta"; - version = "1.2.1.1"; - sha256 = "1bv35ip7g0h7r2w0s8pkcbvm0b9hx91vblf5w57q3jr843v9314c"; - buildDepends = [ - ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup - charset comonad deepseq fingertree hashable lens mtl parsers - reducers semigroups transformers unorderedContainers utf8String - ]; - testDepends = [ doctest filepath ]; - postPatch = '' - substituteInPlace trifecta.cabal \ - --replace "blaze-html >= 0.5 && < 0.6," "blaze-html >= 0.5 && < 0.7," \ - --replace "hashable >= 1.2 && < 1.3," "hashable >= 1.1 && < 1.3," \ - --replace "fingertree >= 0.0.1 && < 0.1," "fingertree >= 0.0.1 && < 0.2," \ - --replace "comonad == 3.*," "comonad >= 3 && < 5," \ - --replace "comonad >= 3 && < 4," "comonad >= 3 && < 5," - ''; - meta = { - homepage = "http://github.com/ekmett/trifecta/"; - description = "A modern parser combinator library with convenient diagnostics"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/trifecta/1.1.nix b/pkgs/development/libraries/haskell/trifecta/default.nix similarity index 54% rename from pkgs/development/libraries/haskell/trifecta/1.1.nix rename to pkgs/development/libraries/haskell/trifecta/default.nix index 98772476fc04..09f3b112c1b7 100644 --- a/pkgs/development/libraries/haskell/trifecta/1.1.nix +++ b/pkgs/development/libraries/haskell/trifecta/default.nix @@ -6,22 +6,14 @@ cabal.mkDerivation (self: { pname = "trifecta"; - version = "1.1"; - sha256 = "19wnblpn31hvdi5dc8ir24s0hfjj4vvzr43gg9ydl2qdjq6s166w"; + version = "1.4.2"; + sha256 = "13kj1xz2bxixsqsrywdx3snl1hjkyv437ifwfrys1m4hnkv4aqai"; buildDepends = [ ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup charset comonad deepseq fingertree hashable lens mtl parsers reducers semigroups transformers unorderedContainers utf8String ]; testDepends = [ doctest filepath ]; - postPatch = '' - substituteInPlace trifecta.cabal \ - --replace "blaze-html >= 0.5 && < 0.6," "blaze-html >= 0.5 && < 0.7," \ - --replace "hashable >= 1.2 && < 1.3," "hashable >= 1.1 && < 1.3," \ - --replace "fingertree >= 0.0.1 && < 0.1," "fingertree >= 0.0.1 && < 0.2," \ - --replace "comonad == 3.*," "comonad >= 3 && < 5," \ - --replace "comonad >= 3 && < 4," "comonad >= 3 && < 5," - ''; meta = { homepage = "http://github.com/ekmett/trifecta/"; description = "A modern parser combinator library with convenient diagnostics"; diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix new file mode 100644 index 000000000000..4d14ed4582af --- /dev/null +++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix @@ -0,0 +1,28 @@ +{ cabal, aeson, attoparsec, attoparsecConduit, authenticateOauth +, conduit, dataDefault, doctest, failure, filepath, hlint +, httpClient, httpConduit, httpTypes, lens, liftedBase +, monadControl, monadLogger, resourcet, shakespeare, text, time +, transformers, transformersBase, twitterTypes +}: + +cabal.mkDerivation (self: { + pname = "twitter-conduit"; + version = "0.0.2.1"; + sha256 = "1z0d8hwjrdw8gkww9zkn9cqv3g40my952li8pm3c164d7ywswszq"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson attoparsec attoparsecConduit authenticateOauth conduit + dataDefault failure httpClient httpConduit httpTypes lens + liftedBase monadControl monadLogger resourcet shakespeare text time + transformers transformersBase twitterTypes + ]; + testDepends = [ doctest filepath hlint ]; + meta = { + homepage = "https://github.com/himura/twitter-conduit"; + description = "Twitter API package with conduit interface and Streaming API support"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix new file mode 100644 index 000000000000..05c37c02f417 --- /dev/null +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -0,0 +1,23 @@ +{ cabal, aeson, attoparsec, httpTypes, HUnit, shakespeare +, testFramework, testFrameworkHunit, testFrameworkThPrime, text +, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "twitter-types"; + version = "0.2.20140407"; + sha256 = "171m7fqq82g630r1x5advq04qfkdljvc8d8ygyafr2x44ss2a996"; + buildDepends = [ aeson httpTypes text unorderedContainers ]; + testDepends = [ + aeson attoparsec httpTypes HUnit shakespeare testFramework + testFrameworkHunit testFrameworkThPrime text unorderedContainers + ]; + doCheck = false; + meta = { + homepage = "https://github.com/himura/twitter-types"; + description = "Twitter JSON parser and types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/type-eq/default.nix b/pkgs/development/libraries/haskell/type-eq/default.nix index ac97377c6077..55bc6b03a95b 100644 --- a/pkgs/development/libraries/haskell/type-eq/default.nix +++ b/pkgs/development/libraries/haskell/type-eq/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "type-eq"; - version = "0.4.1"; - sha256 = "0l8nkrdn1hs8ddhh85qm176f9v42fdck9iscn4swd92vj7bfci7k"; + version = "0.4.2"; + sha256 = "0nyx3lqgrnlz0l3p615ln2dglqd39jwlk91ybz7blzhq1gpgayar"; buildTools = [ cpphs ]; meta = { homepage = "http://github.com/glaebhoerl/type-eq"; diff --git a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix index 8dff0ffd58fc..62690186ee8f 100644 --- a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix +++ b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix @@ -2,10 +2,10 @@ cabal.mkDerivation (self: { pname = "type-level-natural-number"; - version = "1.1.1"; - sha256 = "1zc26nckpcixxp1m818jhzi3dj1ysnjfc2xliq4rpmf5583k6mjw"; + version = "2.0"; + sha256 = "17zgm5ys1z61kxxczz3bzi9m3c48py6pvyx3cqk3xlh1w7n58ryk"; meta = { - description = "Simple, Haskell 2010-compatible type level natural numbers"; + description = "Simple type level natural numbers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix index df57bbbdac70..4667ed956f09 100644 --- a/pkgs/development/libraries/haskell/unbound/default.nix +++ b/pkgs/development/libraries/haskell/unbound/default.nix @@ -1,10 +1,10 @@ -{ cabal, mtl, RepLib, transformers }: +{ cabal, binary, mtl, RepLib, transformers }: cabal.mkDerivation (self: { pname = "unbound"; - version = "0.4.2"; - sha256 = "1bnnnv4rmzb0pw7i56nzr7k7pahr9rcmlfi4xkpsjhrxmizcfml9"; - buildDepends = [ mtl RepLib transformers ]; + version = "0.4.3"; + sha256 = "1lv60zpsvjfp9qnckwbphkfv0x9pz2qvaab3p4kj38fnlq2y20i4"; + buildDepends = [ binary mtl RepLib transformers ]; meta = { homepage = "http://code.google.com/p/replib/"; description = "Generic support for programming with names and binders"; diff --git a/pkgs/development/libraries/haskell/unbounded-delays/default.nix b/pkgs/development/libraries/haskell/unbounded-delays/default.nix index ccccf9d95d38..78484a2a75ab 100644 --- a/pkgs/development/libraries/haskell/unbounded-delays/default.nix +++ b/pkgs/development/libraries/haskell/unbounded-delays/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "unbounded-delays"; - version = "0.1.0.5"; - sha256 = "109swgxlv3ywf5g0wgm3gp2y7azd6mqf2lfb9sk21dfzcz28aq4k"; + version = "0.1.0.7"; + sha256 = "1nv50i90hgvcl51w7s8x1c1ylpzyrbvs2mz5zfn68lr1ix2lk879"; meta = { homepage = "https://github.com/basvandijk/unbounded-delays"; description = "Unbounded thread delays and timeouts"; diff --git a/pkgs/development/libraries/haskell/unix-bytestring/default.nix b/pkgs/development/libraries/haskell/unix-bytestring/default.nix index 174fc925aae7..484ab6148a2a 100644 --- a/pkgs/development/libraries/haskell/unix-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/unix-bytestring/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "unix-bytestring"; - version = "0.3.7"; - sha256 = "1qwgs2bwga057csfa8izq0kc5vwi2vcaz2snlcgp0h9vql3qmvrg"; + version = "0.3.7.2"; + sha256 = "0n1i7pcdwhs0wz6spf3pndr8i74qn0cdzr3p46w4r4mvvwr76i2s"; meta = { homepage = "http://code.haskell.org/~wren/"; description = "Unix/Posix-specific functions for ByteStrings"; diff --git a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix index a52f9fe04fb6..73343bf307bc 100644 --- a/pkgs/development/libraries/haskell/unix-process-conduit/default.nix +++ b/pkgs/development/libraries/haskell/unix-process-conduit/default.nix @@ -2,13 +2,13 @@ cabal.mkDerivation (self: { pname = "unix-process-conduit"; - version = "0.2.2.2"; - sha256 = "0an4lwwkzr902r0rxa35i9kdm5cpgdfmg5m06zsxzbck3mry7871"; + version = "0.2.2.3"; + sha256 = "0ldgjwdvshggygxn9fpnxvb01dba0q0bn9f7iiw5xgqhli46nvcy"; buildDepends = [ conduit filepath stm time transformers ]; testDepends = [ conduit hspec transformers ]; meta = { homepage = "https://github.com/snoyberg/conduit"; - description = "Run processes on Unix systems, with a conduit interface"; + description = "Run processes on Unix systems, with a conduit interface (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix index 0ca4ea5f5c24..e329c1ef4067 100644 --- a/pkgs/development/libraries/haskell/unix-time/default.nix +++ b/pkgs/development/libraries/haskell/unix-time/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.2.2"; sha256 = "0xnl12mscc5nwjl9s2lx4xr8q8agzcpxh3bmxxidfjrg19drfwrm"; testDepends = [ doctest hspec QuickCheck time ]; + configureFlags = self.stdenv.lib.optionalString self.enableSharedLibraries "--ghc-option=-fPIC"; meta = { description = "Unix time parser/formatter and utilities"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/uri/default.nix b/pkgs/development/libraries/haskell/uri/default.nix new file mode 100644 index 000000000000..aa94c931e541 --- /dev/null +++ b/pkgs/development/libraries/haskell/uri/default.nix @@ -0,0 +1,14 @@ +{ cabal, parsec, safe, utf8String }: + +cabal.mkDerivation (self: { + pname = "uri"; + version = "0.1.6.2"; + sha256 = "0f2ms8awm4x7pw8ms6in0mxspqmnhv8bxas0947rkrzc5m9k0h3s"; + buildDepends = [ parsec safe utf8String ]; + meta = { + homepage = "http://gitorious.org/uri"; + description = "Library for working with URIs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix index 76ce975b11e8..3a407cc4b59f 100644 --- a/pkgs/development/libraries/haskell/utility-ht/default.nix +++ b/pkgs/development/libraries/haskell/utility-ht/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "utility-ht"; - version = "0.0.9"; - sha256 = "1m5mjxwf51jd00swp1f4cimaqaral6827y1sidbq61qkw7l6ss8r"; + version = "0.0.10"; + sha256 = "17ydzb0p8xhddvfvm4wjv5yjmy0v7nj6fsj11srnnpj91wc9k0xd"; testDepends = [ QuickCheck ]; meta = { description = "Various small helper functions for Lists, Maybes, Tuples, Functions"; diff --git a/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix new file mode 100644 index 000000000000..2db9e3c83c12 --- /dev/null +++ b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, graphviz, vacuum }: + +cabal.mkDerivation (self: { + pname = "vacuum-graphviz"; + version = "2.1.0.1"; + sha256 = "093ba6n30a6gyifnk3bd50rkx8qldjqq9vsk92pnq152ibs36b2m"; + buildDepends = [ filepath graphviz vacuum ]; + jailbreak = true; + meta = { + description = "A library for transforming vacuum graphs into GraphViz output"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vado/default.nix b/pkgs/development/libraries/haskell/vado/default.nix new file mode 100644 index 000000000000..45e9524657a9 --- /dev/null +++ b/pkgs/development/libraries/haskell/vado/default.nix @@ -0,0 +1,17 @@ +{ cabal, attoparsec, filepath, QuickCheck, text }: + +cabal.mkDerivation (self: { + pname = "vado"; + version = "0.0.1"; + sha256 = "11b8glzzpzhm8cfw3vyvvvz3h0xid5r3prwhnvplajr7v3r562h2"; + isLibrary = true; + isExecutable = true; + buildDepends = [ attoparsec filepath text ]; + testDepends = [ attoparsec filepath QuickCheck text ]; + meta = { + homepage = "https://github.com/hamishmack/vado"; + description = "Runs commands on remote machines using ssh"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix new file mode 100644 index 000000000000..b27f61323a29 --- /dev/null +++ b/pkgs/development/libraries/haskell/vcsgui/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, gtk3, MissingH, mtl, vcswrapper }: + +cabal.mkDerivation (self: { + pname = "vcsgui"; + version = "0.0.2"; + sha256 = "0kj06l9s4l791ffwdnh7j0nvjvgili18g2jl2ik81n28bzfyq1dx"; + isLibrary = true; + isExecutable = true; + buildDepends = [ filepath gtk3 MissingH mtl vcswrapper ]; + meta = { + homepage = "https://github.com/forste/haskellVCSGUI"; + description = "GUI library for source code management systems"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix new file mode 100644 index 000000000000..33462522c29a --- /dev/null +++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, hxt, MissingH, mtl, parsec }: + +cabal.mkDerivation (self: { + pname = "vcswrapper"; + version = "0.0.3"; + sha256 = "04gmiiv461qh8fypkkiynipn5jsjqvywkj17ldq5wag4qaspx97x"; + isLibrary = true; + isExecutable = true; + buildDepends = [ filepath hxt MissingH mtl parsec ]; + meta = { + homepage = "https://github.com/forste/haskellVCSWrapper"; + description = "Wrapper for source code management systems"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vector-space-points/default.nix b/pkgs/development/libraries/haskell/vector-space-points/default.nix index 2a5c1eb2fc42..ca9218bf42c0 100644 --- a/pkgs/development/libraries/haskell/vector-space-points/default.nix +++ b/pkgs/development/libraries/haskell/vector-space-points/default.nix @@ -1,10 +1,10 @@ -{ cabal, newtype, vectorSpace }: +{ cabal, vectorSpace }: cabal.mkDerivation (self: { pname = "vector-space-points"; - version = "0.1.2.1"; - sha256 = "0prbmk48xdr2gbxqpv0g89xz5v3k9wps9v2gymkh32jag2lgzi66"; - buildDepends = [ newtype vectorSpace ]; + version = "0.2"; + sha256 = "05wczgvcqwqhcr4v0md4x5vybq6ns8rk6459yqyrc96kaig0sf2i"; + buildDepends = [ vectorSpace ]; meta = { description = "A type for points, as distinct from vectors"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix index 8f5ec4b52bf8..db3288366168 100644 --- a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix +++ b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix @@ -1,10 +1,11 @@ -{ cabal, vector }: +{ cabal, dataDefault, vector }: cabal.mkDerivation (self: { pname = "vector-th-unbox"; - version = "0.2.0.1"; - sha256 = "1q01yk6cyjxbdnmq31d5mfac09hbql43d7xiw1snc96nmkklfpjv"; + version = "0.2.0.2"; + sha256 = "1c8xy0rcl8il9ssclqshwi8dd2xx6bl1rfhrfm9h7wklw64db9xp"; buildDepends = [ vector ]; + testDepends = [ dataDefault vector ]; meta = { description = "Deriver for Data.Vector.Unboxed using Template Haskell"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix index 3bcadc78a978..8a8ed40adb44 100644 --- a/pkgs/development/libraries/haskell/vty/default.nix +++ b/pkgs/development/libraries/haskell/vty/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "vty"; - version = "4.7.3"; - sha256 = "0x059mzw6v2xf92fdhy0ilyqbics2as6dqrdr6njpp0m6qykkybb"; + version = "4.7.5"; + sha256 = "0ahd5qjszfw1xbl5jxhzfw31mny8hp8clw9qciv15xn442prvvpr"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix index 8f2c6ebb342c..45dd5562a28b 100644 --- a/pkgs/development/libraries/haskell/wai-app-static/default.nix +++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix @@ -1,19 +1,22 @@ { cabal, base64Bytestring, blazeBuilder, blazeHtml, blazeMarkup -, cereal, cryptoApi, cryptoConduit, cryptohashCryptoapi, fileEmbed -, filepath, hspec, httpDate, httpTypes, mimeTypes, network -, systemFileio, systemFilepath, text, time, transformers -, unixCompat, unorderedContainers, wai, waiTest, zlib +, byteable, cryptohash, cryptohashConduit, fileEmbed, filepath +, hspec, httpDate, httpTypes, mimeTypes, network +, optparseApplicative, systemFileio, systemFilepath, text, time +, transformers, unixCompat, unorderedContainers, wai, waiExtra +, waiTest, warp, zlib }: cabal.mkDerivation (self: { pname = "wai-app-static"; - version = "2.0.0.2"; - sha256 = "0d9afs50r08k9zgz7vvh7fvamcvhm8hf4qxca4w0xi7pcj1vql0r"; + version = "2.0.1"; + sha256 = "1mygyp70rmhnkc0s8626cxrkvcbil92v4gnx70iz26gfb5q9lc7d"; + isLibrary = true; + isExecutable = true; buildDepends = [ - base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal - cryptoApi cryptoConduit cryptohashCryptoapi fileEmbed filepath - httpDate httpTypes mimeTypes systemFileio systemFilepath text time - transformers unixCompat unorderedContainers wai zlib + base64Bytestring blazeBuilder blazeHtml blazeMarkup byteable + cryptohash cryptohashConduit fileEmbed filepath httpDate httpTypes + mimeTypes optparseApplicative systemFileio systemFilepath text time + transformers unixCompat unorderedContainers wai waiExtra warp zlib ]; testDepends = [ hspec httpDate httpTypes mimeTypes network text time transformers diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index c7b673ecbc9f..ef91a8726874 100644 --- a/pkgs/development/libraries/haskell/wai-extra/default.nix +++ b/pkgs/development/libraries/haskell/wai-extra/default.nix @@ -1,23 +1,24 @@ { cabal, ansiTerminal, base64Bytestring, blazeBuilder -, blazeBuilderConduit, caseInsensitive, conduit, dataDefault -, fastLogger, hspec, httpTypes, HUnit, liftedBase, network -, resourcet, stringsearch, text, time, transformers, void, wai -, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit +, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra +, dataDefault, fastLogger, hspec, httpTypes, HUnit, liftedBase +, network, resourcet, stringsearch, text, time, transformers, void +, wai, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit }: cabal.mkDerivation (self: { pname = "wai-extra"; - version = "2.0.2"; - sha256 = "1va9lds6vziid3kksyp1pl4bz1l02qjybm4x438q5a7n6yxmmd65"; + version = "2.1.1.1"; + sha256 = "1mqpy1klr4b5dvgk89hqyd8c2vg7rl0vypy3m9hxr2r4bzifkqc1"; buildDepends = [ ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit - caseInsensitive conduit dataDefault fastLogger httpTypes liftedBase - network resourcet stringsearch text time transformers void wai - waiLogger word8 zlibConduit + caseInsensitive conduit conduitExtra dataDefault fastLogger + httpTypes liftedBase network resourcet stringsearch text time + transformers void wai waiLogger word8 zlibConduit ]; testDepends = [ - blazeBuilder conduit dataDefault fastLogger hspec httpTypes HUnit - resourcet text transformers wai waiTest zlib zlibBindings + blazeBuilder conduit conduitExtra dataDefault fastLogger hspec + httpTypes HUnit resourcet text transformers wai waiTest zlib + zlibBindings ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix index 6612003fa2e6..9767f2d7750d 100644 --- a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix +++ b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "wai-handler-fastcgi"; - version = "2.0.0"; - sha256 = "1pqiqx1wq2iv705f8bd4sxmjmmkkxiw4g6a9dpwnawwb5n0d88nl"; + version = "2.0.0.1"; + sha256 = "14jsibsqfj6z5yqgdrh43aiqps1yldxkgn6fkj4i80zxk099nbxp"; buildDepends = [ wai waiExtra ]; extraLibraries = [ fcgi ]; meta = { diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix index 3ba78e162519..9be534725825 100644 --- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix +++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix @@ -1,14 +1,14 @@ -{ cabal, blazeBuilder, blazeBuilderConduit, conduit, httpTypes -, transformers, wai, warp, zlibConduit +{ cabal, blazeBuilder, blazeBuilderConduit, conduit, conduitExtra +, httpTypes, transformers, wai, warp, zlibConduit }: cabal.mkDerivation (self: { pname = "wai-handler-launch"; - version = "2.0.0"; - sha256 = "1z03c3hjkh4k6j5dsp4973f05rk2cgl7gazac4vdq4imwfzxj3lg"; + version = "2.0.1.2"; + sha256 = "1mcjxv4dkcc5rx1bj8zc5m2q2ifcdwhsl4x4fnrv1ir9kclzsm7q"; buildDepends = [ - blazeBuilder blazeBuilderConduit conduit httpTypes transformers wai - warp zlibConduit + blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes + transformers wai warp zlibConduit ]; meta = { description = "Launch a web app in the default browser"; diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix new file mode 100644 index 000000000000..8c0540ee1014 --- /dev/null +++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix @@ -0,0 +1,15 @@ +{ cabal, filepath, httpTypes, mtl, text, wai }: + +cabal.mkDerivation (self: { + pname = "wai-middleware-static"; + version = "0.5.0.0"; + sha256 = "0mvsm1ff7i2v09gchkc60r8klin1lb0w690m2kwhf9q6y7fxphdf"; + buildDepends = [ filepath httpTypes mtl text wai ]; + jailbreak = true; + meta = { + homepage = "https://github.com/scotty-web/scotty"; + description = "WAI middleware that serves requests to static files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix index 9cae0a85d6c9..e55bf8805e35 100644 --- a/pkgs/development/libraries/haskell/wai-test/default.nix +++ b/pkgs/development/libraries/haskell/wai-test/default.nix @@ -1,15 +1,15 @@ { cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive -, conduit, cookie, hspec, httpTypes, HUnit, network, text -, transformers, wai +, conduit, conduitExtra, cookie, deepseq, hspec, httpTypes, network +, text, transformers, wai }: cabal.mkDerivation (self: { pname = "wai-test"; - version = "2.0.0.1"; - sha256 = "1lk7i9kiawsn56f8w2nidmas6g94yq7diaprvkd7c52hjki5mla7"; + version = "2.0.1.1"; + sha256 = "08mkn6v8kxlcn2qb5rz9m5mqzl9wy43mxs2jzl1gavkf9bhwc93s"; buildDepends = [ - blazeBuilder blazeBuilderConduit caseInsensitive conduit cookie - httpTypes HUnit network text transformers wai + blazeBuilder blazeBuilderConduit caseInsensitive conduit + conduitExtra cookie deepseq httpTypes network text transformers wai ]; testDepends = [ hspec wai ]; meta = { diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix new file mode 100644 index 000000000000..5558f2e32ce1 --- /dev/null +++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix @@ -0,0 +1,22 @@ +{ cabal, blazeBuilder, caseInsensitive, conduit, fileEmbed +, httpTypes, ioStreams, network, text, transformers, wai +, waiAppStatic, warp, websockets +}: + +cabal.mkDerivation (self: { + pname = "wai-websockets"; + version = "2.1.0.1"; + sha256 = "1ic1wgfp16j6lhypn1psmicafjavbhq5rvm32xqwkb65abhpg571"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeBuilder caseInsensitive conduit fileEmbed httpTypes ioStreams + network text transformers wai waiAppStatic warp websockets + ]; + meta = { + homepage = "http://github.com/yesodweb/wai"; + description = "Provide a bridge betweeen WAI and the websockets package"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix index 4273e408a7f7..18c6e08c0b36 100644 --- a/pkgs/development/libraries/haskell/wai/default.nix +++ b/pkgs/development/libraries/haskell/wai/default.nix @@ -1,13 +1,14 @@ -{ cabal, blazeBuilder, conduit, httpTypes, network, text -, transformers, vault +{ cabal, blazeBuilder, conduit, conduitExtra, httpTypes, network +, text, transformers, vault }: cabal.mkDerivation (self: { pname = "wai"; - version = "2.0.0"; - sha256 = "11s60v9pw8jl9w950z81gkxci7djrdibi8hxrw6j1v8az40qqiwk"; + version = "2.1.0.2"; + sha256 = "02hj07s3vlhbd2hds5pyksghildadjqhr8mmiyabwb7ap8iybidg"; buildDepends = [ - blazeBuilder conduit httpTypes network text transformers vault + blazeBuilder conduit conduitExtra httpTypes network text + transformers vault ]; meta = { homepage = "https://github.com/yesodweb/wai"; diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix index 88e50b2488ef..cca9da9eb3df 100644 --- a/pkgs/development/libraries/haskell/warp-tls/default.nix +++ b/pkgs/development/libraries/haskell/warp-tls/default.nix @@ -1,15 +1,15 @@ -{ cabal, certificate, conduit, cprngAes, cryptocipher -, cryptoRandomApi, network, networkConduit, pem, tls, tlsExtra -, transformers, wai, warp +{ cabal, conduit, conduitExtra, cprngAes, dataDefaultClass, network +, networkConduit, resourcet, streamingCommons, tls, transformers +, wai, warp }: cabal.mkDerivation (self: { pname = "warp-tls"; - version = "2.0.1"; - sha256 = "0qz02awxrfqmmckias21dh0irmf44vamv24jjjrbb6bjxbr4ldd0"; + version = "2.0.3.3"; + sha256 = "03fjghsa9zvrvg7ickph577zzr62n91gsb99v9k47s4nd2xri2rj"; buildDepends = [ - certificate conduit cprngAes cryptocipher cryptoRandomApi network - networkConduit pem tls tlsExtra transformers wai warp + conduit conduitExtra cprngAes dataDefaultClass network + networkConduit resourcet streamingCommons tls transformers wai warp ]; meta = { homepage = "http://github.com/yesodweb/wai"; diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index 8086ba20ca01..75ccd0e6f5d4 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -1,23 +1,25 @@ -{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive -, conduit, doctest, hashable, hspec, HTTP, httpAttoparsec, httpDate +{ cabal, async, blazeBuilder, blazeBuilderConduit, caseInsensitive +, conduit, conduitExtra, doctest, hashable, hspec, HTTP, httpDate , httpTypes, HUnit, liftedBase, network, networkConduit, QuickCheck -, simpleSendfile, time, transformers, unixCompat, void, wai +, simpleSendfile, streamingCommons, text, time, transformers +, unixCompat, void, wai }: cabal.mkDerivation (self: { pname = "warp"; - version = "2.0.2"; - sha256 = "1v28kfs311kr7n4hraqh5dzhw2gy0da2rp30732adivy9aj9grl9"; + version = "2.1.4"; + sha256 = "090xbjqwj8wzxiaal2jdsk7dbqv07c1cw32w7v8xxi2dkvv6nwbb"; buildDepends = [ - blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable - httpAttoparsec httpDate httpTypes liftedBase network networkConduit - simpleSendfile transformers unixCompat void wai + blazeBuilder blazeBuilderConduit caseInsensitive conduit + conduitExtra hashable httpDate httpTypes liftedBase network + networkConduit simpleSendfile streamingCommons text transformers + unixCompat void wai ]; testDepends = [ - blazeBuilder blazeBuilderConduit caseInsensitive conduit doctest - hashable hspec HTTP httpAttoparsec httpDate httpTypes HUnit - liftedBase network networkConduit QuickCheck simpleSendfile time - transformers unixCompat void wai + async blazeBuilder blazeBuilderConduit caseInsensitive conduit + conduitExtra doctest hashable hspec HTTP httpDate httpTypes HUnit + liftedBase network networkConduit QuickCheck simpleSendfile + streamingCommons text time transformers unixCompat void wai ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix index ee6c19b0d930..ab89944d60fa 100644 --- a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix +++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "web-routes-boomerang"; - version = "0.28.1"; - sha256 = "1a655d73fr7b9k033wyqgc8waq7ii3s5rh0w3nkb1phxl9ldg0pi"; + version = "0.28.2"; + sha256 = "17237xq8nvy0c1mxzf7pad5kw0mrgbzazy0rflp382ig9q6ipd05"; buildDepends = [ boomerang mtl parsec text webRoutes ]; meta = { description = "Library for maintaining correctness and composability of URLs within an application"; diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix index 76fbf12540af..8c84f81bcc98 100644 --- a/pkgs/development/libraries/haskell/web-routes/default.nix +++ b/pkgs/development/libraries/haskell/web-routes/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "web-routes"; - version = "0.27.4"; - sha256 = "1n9gdaxzy22m3fmrq3j1jkm16c4wvffjbh19xckfpva53zdhsal4"; + version = "0.27.5"; + sha256 = "1jx5wwmlylwrf45wy3w29ck1p7509mgy8m02vipd8apibx6ghp22"; buildDepends = [ blazeBuilder httpTypes mtl parsec split text utf8String ]; diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix index fa623cf60043..cc5caddb6ec9 100644 --- a/pkgs/development/libraries/haskell/websockets/default.nix +++ b/pkgs/development/libraries/haskell/websockets/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "websockets"; - version = "0.8.1.1"; - sha256 = "0mgazf0s9sl53r5smidrfqcx7rq2v4kfm37f4f6mjrl656qxpbwd"; + version = "0.8.2.1"; + sha256 = "0ayh20a6xj3ab9ld3lmrazx94vbbf1xn65nxcpkq7cvm8ggim7a6"; buildDepends = [ attoparsec base64Bytestring binary blazeBuilder caseInsensitive entropy ioStreams mtl network random SHA text diff --git a/pkgs/development/libraries/haskell/wizards/default.nix b/pkgs/development/libraries/haskell/wizards/default.nix new file mode 100644 index 000000000000..08c88138101b --- /dev/null +++ b/pkgs/development/libraries/haskell/wizards/default.nix @@ -0,0 +1,13 @@ +{ cabal, controlMonadFree, haskeline, mtl, transformers }: + +cabal.mkDerivation (self: { + pname = "wizards"; + version = "1.0.1"; + sha256 = "08dn24injfzvhs34yw39y336pyi6p98bdrafx3lhd6lcbp531sca"; + buildDepends = [ controlMonadFree haskeline mtl transformers ]; + meta = { + description = "High level, generic library for interrogative user interfaces"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch b/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch deleted file mode 100644 index 38551d24d43f..000000000000 --- a/pkgs/development/libraries/haskell/wxHaskell/fix-bogus-pointer-assignment.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ubr wxc-0.90.0.4-orig/src/cpp/eljpen.cpp wxc-0.90.0.4/src/cpp/eljpen.cpp ---- wxc-0.90.0.4-orig/src/cpp/eljpen.cpp 2012-07-03 12:12:17.000000000 +0200 -+++ wxc-0.90.0.4/src/cpp/eljpen.cpp 2013-01-07 12:09:50.296417007 +0100 -@@ -156,7 +156,7 @@ - EWXWEXPORT(void,wxPen_GetStipple)(void* self,wxBitmap* _ref) - { - #if defined(__WXGTK__) -- *_ref = NULL; -+ _ref = NULL; - #else - *_ref = *(((wxPen*)self)->GetStipple()); - #endif -Only in wxc-0.90.0.4/src/cpp: eljpen.cpp.orig diff --git a/pkgs/development/libraries/haskell/wxHaskell/wx.nix b/pkgs/development/libraries/haskell/wxHaskell/wx.nix index dc030f68059a..90bfdc5ca0a3 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wx.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wx.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "wx"; - version = "0.90.0.1"; - sha256 = "116vlpssjcyzil99xmz3azc2vl97iban3gdpxd593q5gi24l838m"; + version = "0.90.1.0"; + sha256 = "1669mrd73c3v7c4yc0zgyqsnfgzb7561v1wd168y06d0db1nlkn9"; buildDepends = [ stm wxcore ]; + preConfigure = "find . -type f -exec touch {} +"; meta = { homepage = "http://haskell.org/haskellwiki/WxHaskell"; description = "wxHaskell"; diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix index d95b07121af1..b816c3007f99 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix @@ -2,15 +2,14 @@ cabal.mkDerivation (self: { pname = "wxc"; - version = "0.90.0.4"; - sha256 = "1bh20i1rb8ng0ni1v98nm8qv5wni19dvxwf5i3ijxhrxqdq4i7p6"; + version = "0.90.1.1"; + sha256 = "0cvfphskvsq3lsl24h6jh8r6yw5jg8qa9wdc883yasfvmzmxwwgc"; buildDepends = [ wxdirect ]; extraLibraries = [ libX11 mesa wxGTK ]; + noHaddock = true; postInstall = '' cp -v dist/build/libwxc.so.${self.version} $out/lib/libwxc.so ''; - patches = [ ./fix-bogus-pointer-assignment.patch ]; - noHaddock = true; meta = { homepage = "http://haskell.org/haskellwiki/WxHaskell"; description = "wxHaskell C++ wrapper"; diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix index 5dde5e8fc3f6..ae01992db975 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix @@ -4,13 +4,10 @@ cabal.mkDerivation (self: { pname = "wxcore"; - version = "0.90.0.3"; - sha256 = "0d79hr6cz9zj3w57h6630nfnsmfq1w73gz04jjmlhwh8ih557imw"; + version = "0.90.1.1"; + sha256 = "1ma6vjf87b493vz3sj6hxzifqixk62n6b5gvixpfzfig1lysddgp"; buildDepends = [ filepath parsec stm time wxc wxdirect ]; extraLibraries = [ libX11 mesa wxGTK ]; - patchPhase = '' - sed -i -e 's|containers >=.*|containers|' wxcore.cabal - ''; meta = { homepage = "http://haskell.org/haskellwiki/WxHaskell"; description = "wxHaskell core"; diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix index 08512c206255..63bc82d6f67b 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix @@ -1,15 +1,12 @@ -{ cabal, parsec, strict, time }: +{ cabal, filepath, parsec, strict, time }: cabal.mkDerivation (self: { pname = "wxdirect"; - version = "0.90.0.1"; - sha256 = "04jslgxw601g6wh8f2wrdnipzh6x0487kfxb89fkgfgjhxrkfyr3"; + version = "0.90.1.1"; + sha256 = "0ibhxl4n66w094jhca01z2vmibgz0nn7qddgxzqngvajzjvnha98"; isLibrary = true; isExecutable = true; - buildDepends = [ parsec strict time ]; - patchPhase = '' - sed -i -e 's|containers >=.*|containers|' wxdirect.cabal - ''; + buildDepends = [ filepath parsec strict time ]; meta = { homepage = "http://haskell.org/haskellwiki/WxHaskell"; description = "helper tool for building wxHaskell"; diff --git a/pkgs/development/libraries/haskell/x509-store/default.nix b/pkgs/development/libraries/haskell/x509-store/default.nix new file mode 100644 index 000000000000..100b5ca28356 --- /dev/null +++ b/pkgs/development/libraries/haskell/x509-store/default.nix @@ -0,0 +1,18 @@ +{ cabal, asn1Encoding, asn1Types, cryptoPubkeyTypes, filepath, mtl +, pem, time, x509 +}: + +cabal.mkDerivation (self: { + pname = "x509-store"; + version = "1.4.4"; + sha256 = "0i3hfrddr0wpfl75a76a1j24az08z4x7ya8l5qcdk7c1lr2c2bw8"; + buildDepends = [ + asn1Encoding asn1Types cryptoPubkeyTypes filepath mtl pem time x509 + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-certificate"; + description = "X.509 collection accessing and storing methods"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/x509-system/default.nix b/pkgs/development/libraries/haskell/x509-system/default.nix new file mode 100644 index 000000000000..36d1f5bd7063 --- /dev/null +++ b/pkgs/development/libraries/haskell/x509-system/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, mtl, pem, time, x509, x509Store }: + +cabal.mkDerivation (self: { + pname = "x509-system"; + version = "1.4.2"; + sha256 = "1r22ignmwkv1z26bmnwh7prqy69cln26pfyyaf5r2vw8s66rgl39"; + buildDepends = [ filepath mtl pem time x509 x509Store ]; + meta = { + homepage = "http://github.com/vincenthz/hs-certificate"; + description = "Handle per-operating-system X.509 accessors and storage"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/x509-validation/default.nix b/pkgs/development/libraries/haskell/x509-validation/default.nix new file mode 100644 index 000000000000..27f5d6ecbbe0 --- /dev/null +++ b/pkgs/development/libraries/haskell/x509-validation/default.nix @@ -0,0 +1,21 @@ +{ cabal, asn1Encoding, asn1Types, byteable, cryptohash +, cryptoPubkey, cryptoPubkeyTypes, dataDefaultClass, filepath, mtl +, network, pem, time, x509, x509Store +}: + +cabal.mkDerivation (self: { + pname = "x509-validation"; + version = "1.5.0"; + sha256 = "1xarn00ipi77whly5yjlpqa0xd25lj0jf4xk8ylp4ba58hvcxqrn"; + buildDepends = [ + asn1Encoding asn1Types byteable cryptohash cryptoPubkey + cryptoPubkeyTypes dataDefaultClass filepath mtl network pem time + x509 x509Store + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-certificate"; + description = "X.509 Certificate and CRL validation"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/x509/default.nix b/pkgs/development/libraries/haskell/x509/default.nix new file mode 100644 index 000000000000..d8fd7030f14f --- /dev/null +++ b/pkgs/development/libraries/haskell/x509/default.nix @@ -0,0 +1,24 @@ +{ cabal, asn1Encoding, asn1Parse, asn1Types, cryptohash +, cryptoPubkeyTypes, filepath, HUnit, mtl, pem, QuickCheck +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time +}: + +cabal.mkDerivation (self: { + pname = "x509"; + version = "1.4.11"; + sha256 = "1ax56jps640cj1swy08y4k75vx908ckwkg2hi7y2s3bhnvpz49ga"; + buildDepends = [ + asn1Encoding asn1Parse asn1Types cryptohash cryptoPubkeyTypes + filepath mtl pem time + ]; + testDepends = [ + asn1Types cryptoPubkeyTypes HUnit mtl QuickCheck testFramework + testFrameworkHunit testFrameworkQuickcheck2 time + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-certificate"; + description = "X509 reader and writer"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix index 28a5beb966f8..d31f1d0e70d7 100644 --- a/pkgs/development/libraries/haskell/xml-conduit/default.nix +++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix @@ -1,20 +1,21 @@ { cabal, attoparsec, attoparsecConduit, blazeBuilder -, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit, dataDefault -, deepseq, failure, hspec, HUnit, monadControl, resourcet -, systemFilepath, text, transformers, xmlTypes +, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit +, conduitExtra, dataDefault, deepseq, hspec, HUnit, monadControl +, resourcet, systemFilepath, text, transformers, xmlTypes }: cabal.mkDerivation (self: { pname = "xml-conduit"; - version = "1.1.0.9"; - sha256 = "01sx8yblknv0dyi7z6k6icfvwjvl4dyhrka1d6y1793xcp1mkxs6"; + version = "1.2.0.1"; + sha256 = "0ry3h1csblssv2x8b63hvl2gqc0wyzyqbvp6iyisrk77wkz72jw9"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit - blazeHtml blazeMarkup conduit dataDefault deepseq failure + blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq monadControl resourcet systemFilepath text transformers xmlTypes ]; testDepends = [ - blazeMarkup conduit hspec HUnit text transformers xmlTypes + blazeMarkup conduit hspec HUnit resourcet text transformers + xmlTypes ]; meta = { homepage = "http://github.com/snoyberg/xml"; diff --git a/pkgs/development/libraries/haskell/xml-hamlet/default.nix b/pkgs/development/libraries/haskell/xml-hamlet/default.nix index 885620f0648a..346891cc68d5 100644 --- a/pkgs/development/libraries/haskell/xml-hamlet/default.nix +++ b/pkgs/development/libraries/haskell/xml-hamlet/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "xml-hamlet"; - version = "0.4.0.6"; - sha256 = "05izdqpxw0gq2wgs4ckr55xvzfk5ay7xpbcvihj66myiah5azqwy"; + version = "0.4.0.7"; + sha256 = "05rygs3ja3zc87az151mkbm4llrnshzrqf1mfpbwx4ysfgjkvq7b"; buildDepends = [ parsec shakespeare text xmlConduit ]; testDepends = [ hspec HUnit parsec shakespeare text xmlConduit ]; meta = { diff --git a/pkgs/development/libraries/haskell/xml-lens/default.nix b/pkgs/development/libraries/haskell/xml-lens/default.nix new file mode 100644 index 000000000000..7c4496f974f4 --- /dev/null +++ b/pkgs/development/libraries/haskell/xml-lens/default.nix @@ -0,0 +1,14 @@ +{ cabal, lens, text, xmlConduit }: + +cabal.mkDerivation (self: { + pname = "xml-lens"; + version = "0.1.6.1"; + sha256 = "093grvlpm19l3g10ka82xpzl2wr0gli71kfkbvk4gvg3194fkw4h"; + buildDepends = [ lens text xmlConduit ]; + meta = { + homepage = "https://github.com/fumieval/xml-lens"; + description = "Lenses, traversals, prisms for xml-conduit"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/xmlgen/default.nix b/pkgs/development/libraries/haskell/xmlgen/default.nix index f45b7b4a6a0e..6bc1a4b6f598 100644 --- a/pkgs/development/libraries/haskell/xmlgen/default.nix +++ b/pkgs/development/libraries/haskell/xmlgen/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "xmlgen"; - version = "0.6.2.0"; - sha256 = "0b6fyg6mlm068f2jjmil52az4hk144pryf1c0wr1gx6ddx9yzjy4"; + version = "0.6.2.1"; + sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh"; buildDepends = [ blazeBuilder mtl text ]; testDepends = [ filepath HUnit hxt QuickCheck text ]; meta = { diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix index 83dbdb07f21b..659da9c8baac 100644 --- a/pkgs/development/libraries/haskell/xmlhtml/default.nix +++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "xmlhtml"; - version = "0.2.3.1"; - sha256 = "138nryn68f58cvg971qw7vw0kprsw5g39j3fmf0bz83sg4g98nmd"; + version = "0.2.3.2"; + sha256 = "1djw9d0hff9ii0n1bgbjjsca9n0w7mxj3ivf9dslyr3kv3yb4013"; buildDepends = [ blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers ]; diff --git a/pkgs/development/libraries/haskell/xournal-parser/default.nix b/pkgs/development/libraries/haskell/xournal-parser/default.nix new file mode 100644 index 000000000000..d874543a967a --- /dev/null +++ b/pkgs/development/libraries/haskell/xournal-parser/default.nix @@ -0,0 +1,22 @@ +{ cabal, attoparsec, attoparsecConduit, conduit, lens, mtl, strict +, text, transformers, xmlConduit, xmlTypes, xournalTypes +, zlibConduit +}: + +cabal.mkDerivation (self: { + pname = "xournal-parser"; + version = "0.5.0.2"; + sha256 = "1s9z7s6mcsn4s2krrcb1x63ca1d0rpyzdhb147w9524qw7gvbjin"; + buildDepends = [ + attoparsec attoparsecConduit conduit lens mtl strict text + transformers xmlConduit xmlTypes xournalTypes zlibConduit + ]; + jailbreak = true; + meta = { + homepage = "http://ianwookim.org/hoodle"; + description = "Xournal file parser"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/xournal-types/default.nix b/pkgs/development/libraries/haskell/xournal-types/default.nix new file mode 100644 index 000000000000..2281520703f2 --- /dev/null +++ b/pkgs/development/libraries/haskell/xournal-types/default.nix @@ -0,0 +1,15 @@ +{ cabal, cereal, lens, strict, TypeCompose }: + +cabal.mkDerivation (self: { + pname = "xournal-types"; + version = "0.5.0.2"; + sha256 = "1z1zxgwnd2bpgmiimil2jnz4xdcvvi59y2qdvqgy42b10db8rvkm"; + buildDepends = [ cereal lens strict TypeCompose ]; + jailbreak = true; + meta = { + description = "Data types for programs for xournal file format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix index fb0bd78917ce..31f7a06c1fe2 100644 --- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix +++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "xss-sanitize"; - version = "0.3.4.2"; - sha256 = "1sx44vkixxydv75cds5g9si7hzm2hdl395p3bdycq2zky0mnxwra"; + version = "0.3.5.2"; + sha256 = "1lkawsing0x776078qi1565aj1nr4smxhql1xzfw0bjihbgs1d6b"; buildDepends = [ attoparsec cssText network tagsoup text utf8String ]; diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix index fb8709f5a786..5b0d4ad3f470 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -1,20 +1,20 @@ -{ cabal, aeson, attoparsec, conduit, hspec, HUnit, resourcet, text -, transformers, unorderedContainers, vector +{ cabal, aeson, attoparsec, conduit, hspec, HUnit, resourcet +, scientific, text, transformers, unorderedContainers, vector }: cabal.mkDerivation (self: { pname = "yaml"; - version = "0.8.5.3"; - sha256 = "028wxp3jcvdy63707jhxm9mmkbxz9ni1c63rb7wvzjswijp3p95b"; + version = "0.8.8.1"; + sha256 = "1lkw05rx88jckzlkslb945zswn6g7i3vxsgxpj9pkcxvh3y9zagv"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson attoparsec conduit resourcet text transformers + aeson attoparsec conduit resourcet scientific text transformers unorderedContainers vector ]; testDepends = [ - aeson conduit hspec HUnit text transformers unorderedContainers - vector + aeson conduit hspec HUnit resourcet text transformers + unorderedContainers vector ]; meta = { homepage = "http://github.com/snoyberg/yaml/"; diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index b261d22ace6e..182e6bcf5b27 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -1,21 +1,23 @@ -{ cabal, aeson, authenticate, blazeHtml, blazeMarkup, dataDefault -, emailValidate, fileEmbed, hamlet, httpConduit, httpTypes -, liftedBase, mimeMail, network, persistent, persistentTemplate -, pureMD5, pwstoreFast, random, resourcet, safe, SHA -, shakespeareCss, shakespeareJs, text, time, transformers -, unorderedContainers, wai, yesodCore, yesodForm, yesodPersistent +{ cabal, aeson, authenticate, base16Bytestring, blazeHtml +, blazeMarkup, cryptohash, dataDefault, emailValidate, fileEmbed +, hamlet, httpConduit, httpTypes, liftedBase, mimeMail, network +, persistent, persistentTemplate, pwstoreFast, random, resourcet +, safe, shakespeare, shakespeareCss, shakespeareJs, text, time +, transformers, unorderedContainers, wai, yesodCore, yesodForm +, yesodPersistent }: cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.2.5.2"; - sha256 = "13gvcwgpq4l3d50h855qdcn0k93a8cy918jg577ch3fqhwk70q8g"; + version = "1.3.0.4"; + sha256 = "0r4xhr9xg6n3jxpj3mrcaf4mgzz8h4is772k84sgnir5my9lrsr7"; buildDepends = [ - aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate - fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network - persistent persistentTemplate pureMD5 pwstoreFast random resourcet - safe SHA shakespeareCss shakespeareJs text time transformers - unorderedContainers wai yesodCore yesodForm yesodPersistent + aeson authenticate base16Bytestring blazeHtml blazeMarkup + cryptohash dataDefault emailValidate fileEmbed hamlet httpConduit + httpTypes liftedBase mimeMail network persistent persistentTemplate + pwstoreFast random resourcet safe shakespeare shakespeareCss + shakespeareJs text time transformers unorderedContainers wai + yesodCore yesodForm yesodPersistent ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix index 60618be36161..46b78fcbd8f5 100644 --- a/pkgs/development/libraries/haskell/yesod-bin/default.nix +++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix @@ -1,27 +1,27 @@ { cabal, attoparsec, base64Bytestring, blazeBuilder, Cabal, conduit -, dataDefault, fileEmbed, filepath, fsnotify, ghcPaths, httpConduit -, httpReverseProxy, httpTypes, liftedBase, network, networkConduit -, optparseApplicative, parsec, projectTemplate, resourcet -, shakespeare, shakespeareCss, shakespeareJs, shakespeareText -, split, systemFileio, systemFilepath, tar, text, time -, transformers, unixCompat, unorderedContainers, wai, warp, yaml -, zlib +, conduitExtra, dataDefaultClass, fileEmbed, filepath, fsnotify +, ghcPaths, httpConduit, httpReverseProxy, httpTypes, liftedBase +, network, networkConduit, optparseApplicative, parsec +, projectTemplate, resourcet, shakespeare, shakespeareCss +, shakespeareJs, shakespeareText, split, streamingCommons +, systemFileio, systemFilepath, tar, text, time, transformers +, unixCompat, unorderedContainers, wai, warp, yaml, zlib }: cabal.mkDerivation (self: { pname = "yesod-bin"; - version = "1.2.5.6"; - sha256 = "1acqfg9g5xjfmpby1xham2ygvbydn0srw2c7hajvfwalc6zkxrny"; + version = "1.2.8"; + sha256 = "0hic32k1ii1j2hrwxj7pc7vv26dmq8rv7h7as1fw0bwlysrnw8nm"; isLibrary = false; isExecutable = true; buildDepends = [ - attoparsec base64Bytestring blazeBuilder Cabal conduit dataDefault - fileEmbed filepath fsnotify ghcPaths httpConduit httpReverseProxy - httpTypes liftedBase network networkConduit optparseApplicative - parsec projectTemplate resourcet shakespeare shakespeareCss - shakespeareJs shakespeareText split systemFileio systemFilepath tar - text time transformers unixCompat unorderedContainers wai warp yaml - zlib + attoparsec base64Bytestring blazeBuilder Cabal conduit conduitExtra + dataDefaultClass fileEmbed filepath fsnotify ghcPaths httpConduit + httpReverseProxy httpTypes liftedBase network networkConduit + optparseApplicative parsec projectTemplate resourcet shakespeare + shakespeareCss shakespeareJs shakespeareText split streamingCommons + systemFileio systemFilepath tar text time transformers unixCompat + unorderedContainers wai warp yaml zlib ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index afda7d777d60..5051eaff6982 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -1,29 +1,31 @@ -{ cabal, aeson, attoparsecConduit, blazeBuilder, blazeHtml +{ cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml , blazeMarkup, caseInsensitive, cereal, clientsession, conduit -, cookie, dataDefault, failure, fastLogger, hamlet, hspec -, httpTypes, HUnit, liftedBase, monadControl, monadLogger, parsec -, pathPieces, QuickCheck, random, resourcet, safe, shakespeare -, shakespeareCss, shakespeareI18n, shakespeareJs, text, time +, conduitExtra, cookie, dataDefault, exceptions, fastLogger, hamlet +, hspec, httpTypes, HUnit, liftedBase, monadControl, monadLogger +, mtl, network, networkConduit, parsec, pathPieces, QuickCheck +, random, resourcet, safe, shakespeare, shakespeareCss +, shakespeareI18n, shakespeareJs, streamingCommons, text, time , transformers, transformersBase, unixCompat, vector, wai, waiExtra , waiLogger, waiTest, warp, yesodRoutes }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.6.5"; - sha256 = "1xry2jhm4rj3a7fg4xdx5q6fah8dixnrhzyk4176a60a3q8j3lal"; + version = "1.2.12"; + sha256 = "0bgi140v2z25cfvcydzaif7id8mv341r8iclkiz0lbqxs7d29zxz"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup - caseInsensitive cereal clientsession conduit cookie dataDefault - failure fastLogger hamlet httpTypes liftedBase monadControl - monadLogger parsec pathPieces random resourcet safe shakespeare - shakespeareCss shakespeareI18n shakespeareJs text time transformers - transformersBase unixCompat vector wai waiExtra waiLogger warp - yesodRoutes + caseInsensitive cereal clientsession conduit conduitExtra cookie + dataDefault exceptions fastLogger hamlet httpTypes liftedBase + monadControl monadLogger mtl parsec pathPieces random resourcet + safe shakespeare shakespeareCss shakespeareI18n shakespeareJs text + time transformers transformersBase unixCompat vector wai waiExtra + waiLogger warp yesodRoutes ]; testDepends = [ - blazeBuilder conduit hamlet hspec httpTypes HUnit liftedBase - QuickCheck random resourcet shakespeareCss shakespeareJs text + async blazeBuilder conduit conduitExtra hamlet hspec httpTypes + HUnit liftedBase network networkConduit QuickCheck random resourcet + shakespeare shakespeareCss shakespeareJs streamingCommons text transformers wai waiTest ]; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix index 66b2117ee829..42e1f13242e8 100644 --- a/pkgs/development/libraries/haskell/yesod-form/default.nix +++ b/pkgs/development/libraries/haskell/yesod-form/default.nix @@ -1,18 +1,19 @@ { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, blazeMarkup -, cryptoApi, dataDefault, emailValidate, hamlet, hspec, network -, persistent, resourcet, shakespeareCss, shakespeareJs, text, time -, transformers, wai, xssSanitize, yesodCore, yesodPersistent +, byteable, dataDefault, emailValidate, hamlet, hspec, network +, persistent, resourcet, shakespeare, shakespeareCss, shakespeareJs +, text, time, transformers, wai, xssSanitize, yesodCore +, yesodPersistent }: cabal.mkDerivation (self: { pname = "yesod-form"; - version = "1.3.4.2"; - sha256 = "06qw2hx0iv46xdmkbbw1sgwzvyr82h0v267dxfw19235s9yfzbfg"; + version = "1.3.8.2"; + sha256 = "0sx2rk4z4hzwz3nzcg487wm5bdpdm612ikp0slfph1wkzc39h12a"; buildDepends = [ - aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi + aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable dataDefault emailValidate hamlet network persistent resourcet - shakespeareCss shakespeareJs text time transformers wai xssSanitize - yesodCore yesodPersistent + shakespeare shakespeareCss shakespeareJs text time transformers wai + xssSanitize yesodCore yesodPersistent ]; testDepends = [ hspec text time ]; meta = { diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix index 42b55bcee6a6..432adeee9af8 100644 --- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix +++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix @@ -1,15 +1,15 @@ -{ cabal, blazeBuilder, conduit, hspec, liftedBase, persistent -, persistentSqlite, persistentTemplate, poolConduit, resourcet -, text, transformers, waiTest, yesodCore +{ cabal, blazeBuilder, conduit, hspec, persistent, persistentSqlite +, persistentTemplate, resourcePool, resourcet, text, transformers +, waiTest, yesodCore }: cabal.mkDerivation (self: { pname = "yesod-persistent"; - version = "1.2.2.1"; - sha256 = "0vihd94yh4xipvz193p2fd1sqlbwdj0619l21gpdy307sng50kjn"; + version = "1.2.2.3"; + sha256 = "1699grrxb1qwfiivh9ihnczkcbwl4gcqdk7m02lc09r9gjr920p8"; buildDepends = [ - blazeBuilder conduit liftedBase persistent persistentTemplate - poolConduit resourcet transformers yesodCore + blazeBuilder conduit persistent persistentTemplate resourcePool + resourcet transformers yesodCore ]; testDepends = [ blazeBuilder conduit hspec persistent persistentSqlite text waiTest diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix deleted file mode 100644 index 929dd698b7dd..000000000000 --- a/pkgs/development/libraries/haskell/yesod-platform/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ cabal, aeson, ansiTerminal, asn1Data, asn1Types, attoparsec -, attoparsecConduit, authenticate, base64Bytestring -, baseUnicodeSymbols, blazeBuilder, blazeBuilderConduit, blazeHtml -, blazeMarkup, byteable, byteorder, caseInsensitive, cereal -, certificate, cipherAes, cipherRc4, clientsession, conduit -, connection, controlMonadLoop, cookie, cprngAes, cryptoApi -, cryptoCipherTypes, cryptoConduit, cryptohash, cryptohashCryptoapi -, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom -, cssText, dataDefault, dataDefaultClass, dataDefaultInstancesBase -, dataDefaultInstancesContainers, dataDefaultInstancesDlist -, dataDefaultInstancesOldLocale, dlist, emailValidate, entropy -, failure, fastLogger, fileEmbed, filesystemConduit, hamlet, hjsmin -, hspec, hspecExpectations, htmlConduit, httpAttoparsec, httpClient -, httpClientConduit, httpClientTls, httpConduit, httpDate -, httpTypes, languageJavascript, liftedBase, mimeMail, mimeTypes -, mmorph, monadControl, monadLogger, monadLoops, networkConduit -, pathPieces, pem, persistent, persistentTemplate, poolConduit -, primitive, processConduit, publicsuffixlist, pureMD5, pwstoreFast -, quickcheckIo, resourcePool, resourcet, safe, securemem -, semigroups, setenv, SHA, shakespeare, shakespeareCss -, shakespeareI18n, shakespeareJs, shakespeareText, silently -, simpleSendfile, skein, socks, stmChans, stringsearch -, systemFileio, systemFilepath, tagged, tagsoup, tagstreamConduit -, tls, tlsExtra, transformersBase, unixCompat, unorderedContainers -, utf8Light, utf8String, vector, void, wai, waiAppStatic, waiExtra -, waiLogger, waiTest, warp, word8, xmlConduit, xmlTypes -, xssSanitize, yaml, yesod, yesodAuth, yesodCore, yesodForm -, yesodPersistent, yesodRoutes, yesodStatic, yesodTest -, zlibBindings, zlibConduit -}: - -cabal.mkDerivation (self: { - pname = "yesod-platform"; - version = "1.2.5.3"; - sha256 = "0k9srgsnz9cgpxhdk04qz27lqp1xm97bprxjv93j1sxny92v6122"; - buildDepends = [ - aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit - authenticate base64Bytestring baseUnicodeSymbols blazeBuilder - blazeBuilderConduit blazeHtml blazeMarkup byteable byteorder - caseInsensitive cereal certificate cipherAes cipherRc4 - clientsession conduit connection controlMonadLoop cookie cprngAes - cryptoApi cryptoCipherTypes cryptoConduit cryptohash - cryptohashCryptoapi cryptoNumbers cryptoPubkey cryptoPubkeyTypes - cryptoRandom cssText dataDefault dataDefaultClass - dataDefaultInstancesBase dataDefaultInstancesContainers - dataDefaultInstancesDlist dataDefaultInstancesOldLocale dlist - emailValidate entropy failure fastLogger fileEmbed - filesystemConduit hamlet hjsmin hspec hspecExpectations htmlConduit - httpAttoparsec httpClient httpClientConduit httpClientTls - httpConduit httpDate httpTypes languageJavascript liftedBase - mimeMail mimeTypes mmorph monadControl monadLogger monadLoops - networkConduit pathPieces pem persistent persistentTemplate - poolConduit primitive processConduit publicsuffixlist pureMD5 - pwstoreFast quickcheckIo resourcePool resourcet safe securemem - semigroups setenv SHA shakespeare shakespeareCss shakespeareI18n - shakespeareJs shakespeareText silently simpleSendfile skein socks - stmChans stringsearch systemFileio systemFilepath tagged tagsoup - tagstreamConduit tls tlsExtra transformersBase unixCompat - unorderedContainers utf8Light utf8String vector void wai - waiAppStatic waiExtra waiLogger waiTest warp word8 xmlConduit - xmlTypes xssSanitize yaml yesod yesodAuth yesodCore yesodForm - yesodPersistent yesodRoutes yesodStatic yesodTest zlibBindings - zlibConduit - ]; - jailbreak = true; - meta = { - homepage = "http://www.yesodweb.com/"; - description = "Meta package for Yesod"; - license = self.stdenv.lib.licenses.mit; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix index 757367b73935..78d941b371b6 100644 --- a/pkgs/development/libraries/haskell/yesod-static/default.nix +++ b/pkgs/development/libraries/haskell/yesod-static/default.nix @@ -1,6 +1,6 @@ -{ cabal, base64Bytestring, cereal, conduit, cryptoConduit -, cryptohashCryptoapi, dataDefault, fileEmbed, filepath, hjsmin -, hspec, httpTypes, HUnit, mimeTypes, processConduit, resourcet +{ cabal, async, base64Bytestring, byteable, conduit, conduitExtra +, cryptohash, cryptohashConduit, dataDefault, fileEmbed, filepath +, hjsmin, hspec, httpTypes, HUnit, mimeTypes, resourcet , shakespeareCss, systemFileio, systemFilepath, text, transformers , unixCompat, unorderedContainers, wai, waiAppStatic, waiTest , yesodCore, yesodTest @@ -8,19 +8,19 @@ cabal.mkDerivation (self: { pname = "yesod-static"; - version = "1.2.2.1"; - sha256 = "1dsr3gv6hf42islw2018y4yajvkd9j627fkdlz45309cyjns55jg"; + version = "1.2.2.4"; + sha256 = "1dpd175kd1yda2fs8zzs00j8nhdvzsgqywkkh934qz7zr7p1rawl"; buildDepends = [ - base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi - dataDefault fileEmbed filepath hjsmin httpTypes mimeTypes - processConduit resourcet shakespeareCss systemFileio systemFilepath - text transformers unixCompat unorderedContainers wai waiAppStatic + async base64Bytestring byteable conduit conduitExtra cryptohash + cryptohashConduit dataDefault fileEmbed filepath hjsmin httpTypes + mimeTypes resourcet shakespeareCss systemFileio systemFilepath text + transformers unixCompat unorderedContainers wai waiAppStatic yesodCore ]; testDepends = [ - base64Bytestring cereal conduit cryptoConduit cryptohashCryptoapi - dataDefault fileEmbed filepath hjsmin hspec httpTypes HUnit - mimeTypes processConduit resourcet shakespeareCss systemFileio + async base64Bytestring byteable conduit conduitExtra cryptohash + cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec + httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio systemFilepath text transformers unixCompat unorderedContainers wai waiAppStatic waiTest yesodCore yesodTest ]; diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix index c4ad5b29acdc..9a9cdc4e295c 100644 --- a/pkgs/development/libraries/haskell/yesod-test/default.nix +++ b/pkgs/development/libraries/haskell/yesod-test/default.nix @@ -1,19 +1,18 @@ { cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup , caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit -, monadControl, network, persistent, poolConduit, text, time -, transformers, wai, waiTest, xmlConduit, xmlTypes, yesodCore -, yesodForm +, monadControl, network, persistent, text, time, transformers, wai +, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm }: cabal.mkDerivation (self: { pname = "yesod-test"; - version = "1.2.1"; - sha256 = "1f92q9wjj6npxfsjibw0qlg6pai721mwkjcadh121bwgrancflyr"; + version = "1.2.1.2"; + sha256 = "12b747sd5rrypv1i2b5rpa3qgpnzibwjw7rlv02hyz8g7kf6wvbm"; buildDepends = [ attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive cookie hspec htmlConduit httpTypes HUnit monadControl network - persistent poolConduit text time transformers wai waiTest - xmlConduit xmlTypes yesodCore + persistent text time transformers wai waiTest xmlConduit xmlTypes + yesodCore ]; testDepends = [ hspec htmlConduit HUnit text xmlConduit yesodCore yesodForm diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix index b4e935428b2a..a3416cf59c6d 100644 --- a/pkgs/development/libraries/haskell/yesod/default.nix +++ b/pkgs/development/libraries/haskell/yesod/default.nix @@ -1,18 +1,20 @@ -{ cabal, aeson, blazeHtml, blazeMarkup, dataDefault, hamlet -, monadControl, networkConduit, safe, shakespeareCss, shakespeareJs -, text, transformers, unorderedContainers, wai, waiExtra, warp -, yaml, yesodAuth, yesodCore, yesodForm, yesodPersistent +{ cabal, aeson, blazeHtml, blazeMarkup, conduitExtra, dataDefault +, fastLogger, hamlet, monadControl, monadLogger, networkConduit +, safe, shakespeare, shakespeareCss, shakespeareJs, text +, transformers, unorderedContainers, wai, waiExtra, warp, yaml +, yesodAuth, yesodCore, yesodForm, yesodPersistent }: cabal.mkDerivation (self: { pname = "yesod"; - version = "1.2.4"; - sha256 = "0c8z4hsplfjb2ilrk0qbyighjipwcfhf55xqaw4zqvq752yj4n7c"; + version = "1.2.5.2"; + sha256 = "0vvpzyfwzgnnd8h60pqz5z1474isp487p43vx7cyzhj423c50p6r"; buildDepends = [ - aeson blazeHtml blazeMarkup dataDefault hamlet monadControl - networkConduit safe shakespeareCss shakespeareJs text transformers - unorderedContainers wai waiExtra warp yaml yesodAuth yesodCore - yesodForm yesodPersistent + aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger + hamlet monadControl monadLogger networkConduit safe shakespeare + shakespeareCss shakespeareJs text transformers unorderedContainers + wai waiExtra warp yaml yesodAuth yesodCore yesodForm + yesodPersistent ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix index a60bc457f85b..820f174e1295 100644 --- a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix +++ b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "zeromq3-haskell"; - version = "0.5.1"; - sha256 = "0jmdhs2apmcr3wf5r739gq9qqad59qj82h7qpdk3m4cc2a7djil0"; + version = "0.5.2"; + sha256 = "1ky92qwyk27qsxnvaj0mc9yyhk7g19ry2nq55666ayahc899z213"; buildDepends = [ async MonadCatchIOTransformers semigroups transformers ]; @@ -13,7 +13,7 @@ cabal.mkDerivation (self: { ansiTerminal async checkers MonadCatchIOTransformers QuickCheck transformers ]; - extraLibraries = [ zeromq ]; + pkgconfigDepends = [ zeromq ]; doCheck = false; meta = { homepage = "http://github.com/twittner/zeromq-haskell/"; diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix index bfe648f449b0..d76de048babd 100644 --- a/pkgs/development/libraries/haskell/zip-archive/default.nix +++ b/pkgs/development/libraries/haskell/zip-archive/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "zip-archive"; - version = "0.2"; - sha256 = "0d2n8mgfikyjzc4x7qm3vvpmhhf3mva9f0q6p9l1q9b7dlf8vmdv"; + version = "0.2.2"; + sha256 = "10br64sn7wmssimxssqmjd43br8y63l5szn2wg30d957a9zgdk60"; isLibrary = true; isExecutable = true; buildDepends = [ binary digest filepath mtl text time zlib ]; diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix index f69be8ae99e2..ba4751af2fe3 100644 --- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix +++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix @@ -2,13 +2,13 @@ cabal.mkDerivation (self: { pname = "zlib-bindings"; - version = "0.1.1.3"; - sha256 = "18jhav7chbapakm9mwn7bn9lgvip7qaz61dw5gwv2nyalvm96qfr"; + version = "0.1.1.5"; + sha256 = "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"; buildDepends = [ zlib ]; testDepends = [ hspec QuickCheck zlib ]; meta = { homepage = "http://github.com/snoyberg/zlib-bindings"; - description = "Low-level bindings to the zlib package"; + description = "Low-level bindings to the zlib package. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix index b283c496a299..3029cc8c3b61 100644 --- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix +++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix @@ -1,16 +1,14 @@ -{ cabal, conduit, hspec, QuickCheck, resourcet, transformers, void -, zlibBindings -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "zlib-conduit"; - version = "1.0.0"; - sha256 = "0q0l4qw1f2cwjj71n4i082ba47x1xba695q8xk0ky2vw5s8cg0bv"; - buildDepends = [ conduit transformers void zlibBindings ]; - testDepends = [ conduit hspec QuickCheck resourcet transformers ]; + version = "1.1.0"; + sha256 = "1b22mca8bbg7f84h8y0qsb5ckzg2dw1b26y27x7b7xdxqbwpz93a"; + buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Streaming compression/decompression via conduits"; + description = "Streaming compression/decompression via conduits. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix index ca61a00f0344..5ced635aa66c 100644 --- a/pkgs/development/libraries/http-parser/default.nix +++ b/pkgs/development/libraries/http-parser/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, gyp, utillinux, python, fixDarwinDylibNames }: let - version = "2.1"; + version = "2.2.1"; in stdenv.mkDerivation { name = "http-parser-${version}"; src = fetchurl { url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz"; - sha256 = "16a2w5z4g2bma25fqcrkpidqzlq8a2jxkk93ajl721q85406j105"; + sha256 = "0p8wmchqsj9kwa8pg2is7v0h83q5lqns3vnm6sxrld7gaz979zh5"; }; patches = [ ./build-shared.patch ]; diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix new file mode 100644 index 000000000000..905f11dfdc22 --- /dev/null +++ b/pkgs/development/libraries/ibus/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, makeWrapper, python, intltool, pkgconfig +, gnome3, atk, pygobject3, dbus, libnotify, isocodes, gobjectIntrospection, wayland }: + +stdenv.mkDerivation rec { + name = "ibus-${version}"; + version = "1.5.5"; + + src = fetchurl { + url = "http://ibus.googlecode.com/files/${name}.tar.gz"; + sha256 = "1v4a9xv2k26g6ggk4282ynfvh68j2r5hg1cdpvnryfa8c2pkdaq2"; + }; + + configureFlags = "--disable-gconf --enable-dconf --disable-memconf --enable-ui --enable-python-library"; + + buildInputs = [ + makeWrapper python gnome3.glib wayland + intltool pkgconfig gnome3.gtk2 + gnome3.gtk3 dbus gnome3.dconf gnome3.gconf + libnotify isocodes gobjectIntrospection + ]; + + preBuild = "patchShebangs ./scripts"; + + preFixup = '' + for f in "$out"/bin/*; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix PYTHONPATH : "$(toPythonPath ${pygobject3})" \ + --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib:${atk}/lib:$out/lib" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \ + --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" + done + ''; + + meta = { + homepage = https://code.google.com/p/ibus/; + description = "Intelligent Input Bus for Linux / Unix OS"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix index 3ca8382c2da6..fa486ba0b395 100644 --- a/pkgs/development/libraries/icu/default.nix +++ b/pkgs/development/libraries/icu/default.nix @@ -3,16 +3,14 @@ let pname = "icu4c"; - ver_maj = "52"; - ver_min = "1"; - version = "${ver_maj}.${ver_min}"; + version = "52.1"; in - stdenv.mkDerivation { name = pname + "-" + version; src = fetchurl { - url = "http://download.icu-project.org/files/icu4c/${version}/icu4c-${ver_maj}_${ver_min}-src.tgz"; + url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-" + + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz"; sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g"; }; diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix new file mode 100644 index 000000000000..dd8ad8b35615 --- /dev/null +++ b/pkgs/development/libraries/ilixi/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, directfb, libsigcxx, libxml2, fontconfig }: + +# TODO: optional deps: baresip, FusionDale, FusionSound, SaWMan, doxygen, +# Reflex, Wnn, NLS + +stdenv.mkDerivation rec { + name = "ilixi-1.0.0"; + + src = fetchurl { + url = "http://www.directfb.org/downloads/Libs/${name}.tar.gz"; + sha256 = "1kmdmqf68jiv7y6as41bhbgdy70yy2i811a3l6kccbazlzpif34v"; + }; + + buildInputs = [ pkgconfig directfb libsigcxx libxml2 fontconfig ]; + + configureFlags = '' + --enable-log-debug --enable-debug --enable-trace --with-examples + ''; + + meta = with stdenv.lib; { + description = "Lightweight C++ GUI toolkit for embedded Linux systems"; + homepage = http://ilixi.org/; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix index b1c154badd8e..5b19323f9434 100644 --- a/pkgs/development/libraries/imlib2/default.nix +++ b/pkgs/development/libraries/imlib2/default.nix @@ -1,17 +1,22 @@ { stdenv, fetchurl, x11, libjpeg, libtiff, libungif, libpng, bzip2, pkgconfig }: stdenv.mkDerivation rec { - name = "imlib2-1.4.5"; + name = "imlib2-1.4.6"; src = fetchurl { url = "mirror://sourceforge/enlightenment/${name}.tar.bz2"; - sha256 = "0nllbhf8vfwdm40z35yj27n83k2mjf5vbd62khad4f0qjf9hsw14"; + sha256 = "0x1j0ylpclkp8cfpwfpkjywqz124bqskyxbw8pvwzkv2gmrbwldg"; }; buildInputs = [ x11 libjpeg libtiff libungif libpng bzip2 ]; nativeBuildInputs = [ pkgconfig ]; + preConfigure = '' + substituteInPlace imlib2-config.in \ + --replace "@my_libs@" "" + ''; + meta = { hydraPlatforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix index aaec37eae8f2..7711d4f170f9 100644 --- a/pkgs/development/libraries/isl/default.nix +++ b/pkgs/development/libraries/isl/default.nix @@ -1,17 +1,15 @@ { stdenv, fetchurl, gmp }: stdenv.mkDerivation rec { - name = "isl-0.07"; # CLooG 0.16.3 fails to build with ISL 0.08. + name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08. src = fetchurl { - urls = [ - "http://www.kotnet.org/~skimo/isl/${name}.tar.bz2" - "ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/${name}.tar.bz2" - ]; - sha256 = "0kpxmvhrwwdygqqafqzjf9xiksq7paac2x24g9jhr3f9ajj3zkyx"; + url = "http://pkgs.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2"; + sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"; }; buildInputs = [ gmp ]; + patches = [ ./fix-gcc-build.diff ]; meta = { homepage = http://www.kotnet.org/~skimo/isl/; diff --git a/pkgs/development/libraries/isl/fix-gcc-build.diff b/pkgs/development/libraries/isl/fix-gcc-build.diff new file mode 100644 index 000000000000..6fbd1f9d478b --- /dev/null +++ b/pkgs/development/libraries/isl/fix-gcc-build.diff @@ -0,0 +1,12 @@ +diff -ru isl-0.11.1/include/isl/int.h isl-0.11.1.new/include/isl/int.h +--- isl-0.11.1/include/isl/int.h 2012-11-29 09:47:32.000000000 +0100 ++++ isl-0.11.1.new/include/isl/int.h 2013-10-27 15:35:31.348553812 +0100 +@@ -14,7 +14,7 @@ + #include + #include + #if defined(__cplusplus) +-#include ++#include + #endif + + #if defined(__cplusplus) diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix index 3c408e6bc786..987e1a25d35f 100644 --- a/pkgs/development/libraries/iso-codes/default.nix +++ b/pkgs/development/libraries/iso-codes/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, gettext, python, xz}: stdenv.mkDerivation rec { - name = "iso-codes-3.49"; + name = "iso-codes-3.51"; src = fetchurl { url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz"; - sha256 = "1ryk5i467p7xxrbrqynb35ci046yj9k9b4d3hfxzass962lz9q04"; + sha256 = "0zyp99l4m8cd6301x8zi3xxhziam6v0ic1h8qxb1l0mcjafzf8jj"; }; patchPhase = '' for i in `find . -name \*.py` diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix index bfe10490fc7f..29e15e08f696 100644 --- a/pkgs/development/libraries/itk/default.nix +++ b/pkgs/development/libraries/itk/default.nix @@ -8,7 +8,12 @@ stdenv.mkDerivation rec { sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9"; }; - cmakeFlags = [ "-DBUILD_TESTING=OFF" "-DBUILD_EXAMPLES=OFF" ]; + cmakeFlags = [ + "-DBUILD_TESTING=OFF" + "-DBUILD_EXAMPLES=OFF" + "-DBUILD_SHARED_LIBS=ON" + "-DCMAKE_CXX_FLAGS=-fPIC" + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/java/junit/builder.sh b/pkgs/development/libraries/java/junit/builder.sh deleted file mode 100755 index a76360ead1e8..000000000000 --- a/pkgs/development/libraries/java/junit/builder.sh +++ /dev/null @@ -1,6 +0,0 @@ -set -e -source $stdenv/setup - -$unzip/bin/unzip $src -mkdir -p $out -mv junit*/* $out diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix index 7a6db1ad4b30..888365f789f7 100644 --- a/pkgs/development/libraries/java/junit/default.nix +++ b/pkgs/development/libraries/java/junit/default.nix @@ -1,17 +1,34 @@ -{stdenv, fetchurl, unzip} : +{ stdenv, fetchurl }: -stdenv.mkDerivation { - name = "junit-4.8.2"; - builder = ./builder.sh; +let - src = fetchurl { - url = https://github.com/downloads/junit-team/junit/junit4.8.2.zip; - sha256 = "01simvc3pmgp27p7vzavmsx5rphm6hqzwrqfkwllhf3812dcqxy6"; + junit = fetchurl { + url = http://search.maven.org/remotecontent?filepath=junit/junit/4.11/junit-4.11.jar; + sha256 = "1zh6klzv8w30dx7jg6pkhllk4587av4znflzhxz8x97c7rhf3a4h"; }; - inherit unzip; + hamcrest = fetchurl { + url = http://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar; + sha256 = "1sfqqi8p5957hs9yik44an3lwpv8ln2a6sh9gbgli4vkx68yzzb6"; + }; + +in + +stdenv.mkDerivation { + name = "junit-4.11"; + + unpackPhase = "true"; + + installPhase = + '' + mkdir -p $out/share/java + ln -s ${junit} $out/share/java/junit.jar + ln -s ${hamcrest} $out/share/java/hamcrest-core.jar + ''; meta = { homepage = http://www.junit.org/; + description = "A framework for repeatable tests in Java"; + license = stdenv.lib.licenses.epl10; }; } diff --git a/pkgs/development/libraries/java/junixsocket/darwin.patch b/pkgs/development/libraries/java/junixsocket/darwin.patch new file mode 100644 index 000000000000..97fd42d0b81b --- /dev/null +++ b/pkgs/development/libraries/java/junixsocket/darwin.patch @@ -0,0 +1,20 @@ +diff -rc junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java +*** junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java Tue Jul 20 14:59:41 2010 +--- junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java Sun May 27 22:26:15 2012 +*************** +*** 43,49 **** + String prefix = "lib"; + String suffix = ".so"; + String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase(); +! if ("macosx".equals(os)) { + suffix = ".dylib"; + } else if ("linux".equals(os) || "freebsd".equals(os) + || "sunos".equals(os)) { +--- 43,49 ---- + String prefix = "lib"; + String suffix = ".so"; + String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase(); +! if ("macosx".equals(os) || "darwin".equals(os)) { + suffix = ".dylib"; + } else if ("linux".equals(os) || "freebsd".equals(os) + || "sunos".equals(os)) { diff --git a/pkgs/development/libraries/java/junixsocket/default.nix b/pkgs/development/libraries/java/junixsocket/default.nix new file mode 100644 index 000000000000..e49e626aa001 --- /dev/null +++ b/pkgs/development/libraries/java/junixsocket/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, ant, jdk, junit }: + +stdenv.mkDerivation rec { + name = "junixsocket-1.3"; + + src = fetchurl { + url = "http://junixsocket.googlecode.com/files/${name}-src.tar.bz2"; + sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym"; + }; + + patches = [ ./darwin.patch ]; + + buildInputs = [ ant jdk junit ]; + + preConfigure = + '' + substituteInPlace build.xml \ + --replace /usr/bin/ "" \ + --replace macosx darwin + substituteInPlace src/main/org/newsclub/net/unix/NativeUnixSocketConfig.java \ + --replace /opt/newsclub/lib-native $out/lib + ''; + + buildPhase = "ant"; + + ANT_ARGS = + # Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib. + (if stdenv.is64bit && !stdenv.isDarwin then [ "-Dskip32=true" ] else [ "-Dskip64=true" ]) + ++ [ "-Dgcc=cc" "-Dant.build.javac.source=1.6" ] + ++ stdenv.lib.optional stdenv.isDarwin "-DisMac=true"; + + installPhase = + '' + mkdir -p $out/share/java $out/lib + cp -v dist/*.jar $out/share/java + cp -v lib-native/*.so lib-native/*.dylib $out/lib/ + ''; + + meta = { + description = "A Java/JNI library for using Unix Domain Sockets from Java"; + homepage = https://code.google.com/p/junixsocket/; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} diff --git a/pkgs/development/libraries/java/rhino/default.nix b/pkgs/development/libraries/java/rhino/default.nix index ec19e381281d..42bdba7567c5 100644 --- a/pkgs/development/libraries/java/rhino/default.nix +++ b/pkgs/development/libraries/java/rhino/default.nix @@ -52,6 +52,6 @@ stdenv.mkDerivation { homepage = http://www.mozilla.org/rhino/; - licenses = [ "MPLv1.1" /* or */ "GPLv2+" ]; + license = [ "MPLv1.1" /* or */ "GPLv2+" ]; }; } diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix index 2ff2fac296d8..6f874450fc58 100644 --- a/pkgs/development/libraries/kdevplatform/default.nix +++ b/pkgs/development/libraries/kdevplatform/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon, - gettext, pkgconfig, apr, aprutil, boost, qjson }: + gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }: stdenv.mkDerivation rec { - name = "kdevplatform-1.3.1"; + name = "kdevplatform-1.6.0"; src = fetchurl { - url = "mirror://kde/stable/kdevelop/4.3.1/src/${name}.tar.bz2"; - sha256 = "1fiqwabw5ilhw1jwvvr743dym12y3kxrs3zlqahz57yncdsglcl6"; + url = "mirror://kde/stable/kdevelop/4.6.0/src/${name}.tar.xz"; + sha256 = "cdf7c88ca8860258f46e41d2107c826a307212fd041345bee54fbd70c9794f80"; }; propagatedBuildInputs = [ kdelibs qt4 phonon ]; - buildInputs = [ apr aprutil subversion boost qjson ]; + buildInputs = [ apr aprutil subversion boost qjson grantlee ]; nativeBuildInputs = [ cmake automoc4 gettext pkgconfig ]; diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix index d4728273d34c..8f4138282f0f 100644 --- a/pkgs/development/libraries/kerberos/heimdal.nix +++ b/pkgs/development/libraries/kerberos/heimdal.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openldap, readline, db4, openssl, cyrus_sasl, sqlite} : +{ stdenv, fetchurl, openldap, readline, db, openssl, cyrus_sasl, sqlite} : stdenv.mkDerivation rec { name = "heimdal-1.5.3"; @@ -23,5 +23,5 @@ stdenv.mkDerivation rec { rmdir $out/libexec ''; - propagatedBuildInputs = [ readline db4 openssl openldap cyrus_sasl sqlite]; + propagatedBuildInputs = [ readline db openssl openldap cyrus_sasl sqlite]; } diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index 5c408e9a76c5..647a6b031138 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -23,11 +23,13 @@ stdenv.mkDerivation (rec { cd ${name}/src ''; + #doCheck = true; # report: No suitable file for testing purposes + enableParallelBuilding = true; meta = { - description = "MIT Kerberos 5"; - homepage = webpage; - license = "MPL"; + description = "MIT Kerberos 5"; + homepage = webpage; + license = "MPL"; }; }) diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix new file mode 100644 index 000000000000..0cc875e2656f --- /dev/null +++ b/pkgs/development/libraries/keybinder/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk +, gtk_doc, gtk2, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection +}: + +stdenv.mkDerivation rec { + name = "keybinder-${version}"; + version = "0.3.0"; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/engla/keybinder/archive/v${version}.tar.gz"; + sha256 = "0kkplz5snycik5xknwq1s8rnmls3qsp32z09mdpmaacydcw7g3cf"; + }; + + buildInputs = [ + autoconf automake libtool pkgconfig gnome3.gnome_common gtk_doc gnome3.gtk3 + python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2 + ]; + + preConfigure = '' + ./autogen.sh --prefix="$out" + ''; + + meta = with stdenv.lib; { + description = "Library for registering global key bindings"; + longDescription = '' + keybinder is a library for registering global keyboard shortcuts. + Keybinder works with GTK-based applications using the X Window System. + + The library contains: + + * A C library, ``libkeybinder`` + * Gobject-Introspection (gir) generated bindings + * Lua bindings, ``lua-keybinder`` + * Python bindings, ``python-keybinder`` + * An ``examples`` directory with programs in C, Lua, Python and Vala. + ''; + homepage = https://github.com/engla/keybinder/; + license = licenses.gpl2Plus; + platform = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix index 21b4eac30af3..8d01c2f2f438 100644 --- a/pkgs/development/libraries/lesstif/default.nix +++ b/pkgs/development/libraries/lesstif/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, x11, libXp, libXau}: +{stdenv, fetchurl, xlibsWrapper, libXp, libXau}: stdenv.mkDerivation { name = "lesstif-0.95.0-p2"; @@ -6,7 +6,7 @@ stdenv.mkDerivation { url = mirror://sourceforge/lesstif/lesstif-0.95.0.tar.bz2; md5 = "ab895165c149d7f95843c7584b1c7ad4"; }; - buildInputs = [x11]; + buildInputs = [xlibsWrapper]; propagatedBuildInputs = [libXp libXau]; # The last stable release of lesstif was in June 2006. These diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index 851601fe9639..5e728d9b3dd1 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -2,13 +2,22 @@ , sharutils }: stdenv.mkDerivation rec { - name = "libarchive-3.0.4"; + name = "libarchive-3.1.2"; src = fetchurl { - url = "https://github.com/downloads/libarchive/libarchive/${name}.tar.gz"; - sha256 = "76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac"; + urls = [ + "http://pkgs.fedoraproject.org/repo/pkgs/libarchive/libarchive-3.1.2.tar.gz/efad5a503f66329bb9d2f4308b5de98a/${name}.tar.gz" + "${meta.homepage}/downloads/${name}.tar.gz" + ]; + sha256 = "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"; }; + patches = [(fetchurl { + url = "https://github.com/libarchive/libarchive/commit/22531545514043e04633e1c015c7540b9de9dbe4.diff"; + sha256 = "1466ddrkdh2r8idmj3v7fk2gwnhc1kdxvyczdpnqms0qlmas6fj5"; + name = "CVE-2013-0211.patch"; + })]; + buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++ stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ]; @@ -19,7 +28,7 @@ stdenv.mkDerivation rec { compressions formats including (but not limited to) tar, shar, cpio, zip, and compressed with gzip, bzip2, lzma, xz, .. ''; - homepage = http://libarchive.github.com/; + homepage = http://libarchive.org; license = stdenv.lib.licenses.bsd3; platforms = with stdenv.lib.platforms; all; maintainers = with stdenv.lib.maintainers; [ jcumming ]; diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix index 499639b3a87c..15b80053218d 100644 --- a/pkgs/development/libraries/libass/default.nix +++ b/pkgs/development/libraries/libass/default.nix @@ -1,17 +1,34 @@ -{ stdenv, fetchurl, freetype, fontconfig, pkgconfig, enca ? null }: +{ stdenv, fetchurl, pkgconfig, yasm +, freetype, fribidi, fontconfig +, enca ? null +, harfbuzz ? null +}: -stdenv.mkDerivation rec { - name = "libass-0.9.11"; +let + version = "0.11.1"; + sha256 = "1b0ki1zdkhflszzj5qr45j9qsd0rfbb6ws5pqkny8jhih0l3lxwx"; + baseurl = "https://github.com/libass/libass/releases/download"; +in stdenv.mkDerivation rec { + name = "libass-${version}"; src = fetchurl { - url = "http://libass.googlecode.com/files/${name}.tar.bz2"; - sha256 = "0p3li523s8n85kfh5xdbbfffr17z8xdh2qcgvdg7ki1myv6agl7z"; + url = "${baseurl}/${version}/${name}.tar.xz"; + inherit sha256; }; - buildInputs = [ freetype fontconfig enca pkgconfig ]; + nativeBuildInputs = [ pkgconfig yasm ]; + + buildInputs = [ + freetype fribidi fontconfig + enca harfbuzz + ]; meta = { + description = "Portable ASS/SSA subtitle renderer"; homepage = http://code.google.com/p/libass/; + license = stdenv.lib.licenses.isc; + platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.urkud ]; + repositories.git = git://github.com/libass/libass.git; }; } diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index f93a44c2e1d1..d9775c256104 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pth, libgpgerror }: stdenv.mkDerivation rec { - name = "libassuan-2.0.3"; + name = "libassuan-2.1.1"; src = fetchurl { url = "mirror://gnupg/libassuan/${name}.tar.bz2"; - sha256 = "06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds"; + sha256 = "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3"; }; propagatedBuildInputs = [ libgpgerror pth ]; diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 6678984ebbed..04d51edf5310 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -26,15 +26,15 @@ with { inherit (stdenv.lib) optional optionals; }; let result = { - libav_9 = libavFun "9.10" "039hx7z8lmsiljy4wj87hk8lkxspbxbrjv43v3lc38cxfx0fdnw3"; - libav_0_8 = libavFun "0.8.9" "0zzphhkpwsdp2k3ijqr8miqsp4vk7dgcrcrv06qda1s09qb82lag"; + libav_9 = libavFun "9.12" "1wm0nf12c1p138y54jh71mvbpikrpk43zc9m2qhpjm9pgnagizk0"; + libav_0_8 = libavFun "0.8.11" "0nhm0mzz2aj78sgmw9xf20a1mlgig78cv1nyhx4zrq7nvgqf8d2r"; }; libavFun = version : sha256 : stdenv.mkDerivation rec { name = "libav-${version}"; src = fetchurl { - url = "http://libav.org/releases/${name}.tar.xz"; + url = "${meta.homepage}/releases/${name}.tar.xz"; inherit sha256; }; configureFlags = @@ -105,6 +105,7 @@ let license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not? else if enableGPL then gpl2Plus else lgpl21Plus; platforms = platforms.all; + maintainers = [ maintainers.vcunat ]; }; }; # libavFun diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix index 964d3727f8f2..70da4462486d 100644 --- a/pkgs/development/libraries/libc++/default.nix +++ b/pkgs/development/libraries/libc++/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi }: +{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi, python }: let version = "3.4"; @@ -11,7 +11,7 @@ in stdenv.mkDerivation rec { sha256 = "1sqd5qhqj7qnn9zjxx9bv7ky4f7xgmh9sbgd53y1kszhg41217xx"; }; - buildInputs = [ cmake libcxxabi ]; + buildInputs = [ cmake libcxxabi python ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include" diff --git a/pkgs/development/libraries/libcangjie/default.nix b/pkgs/development/libraries/libcangjie/default.nix new file mode 100644 index 000000000000..34441d8fa7f8 --- /dev/null +++ b/pkgs/development/libraries/libcangjie/default.nix @@ -0,0 +1,32 @@ +{ stdenv, autoconf, automake, libtool, m4, fetchurl, bash, pkgconfig, sqlite }: + +stdenv.mkDerivation rec { + name = "libcangjie-1.1"; + + src = fetchurl { + url = "https://github.com/Cangjians/libcangjie/archive/v1.1.tar.gz"; + sha256 = "1iy57vlmwgai9763adx6q4fisg2c63cmp31d1cd8mk00c222bw1z"; + }; + + buildInputs = [ automake autoconf libtool m4 pkgconfig sqlite ]; + + configureScript = "./autogen.sh"; + + preConfigure = '' + find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';' + ''; + + doCheck = true; + + meta = { + description = "A C library implementing the Cangjie input method"; + longDescription = '' + libcangjie is a library implementing the Cangjie input method. + ''; + homepage = http://cangjians.github.io/projects/libcangjie/; + license = "LGPLv3+"; + + maintainers = [ stdenv.lib.maintainers.linquize ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/libcdio/0.82.nix b/pkgs/development/libraries/libcdio/0.82.nix new file mode 100644 index 000000000000..fc26fb9aca11 --- /dev/null +++ b/pkgs/development/libraries/libcdio/0.82.nix @@ -0,0 +1,27 @@ +{ fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }: + +stdenv.mkDerivation rec { + name = "libcdio-0.82"; + + src = fetchurl { + url = "mirror://gnu/libcdio/${name}.tar.gz"; + sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs"; + }; + + buildInputs = [ libcddb pkgconfig ncurses help2man ]; + + # Disabled because one test (check_paranoia.sh) fails. + #doCheck = true; + + meta = { + description = "A library for OS-independent CD-ROM and CD image access"; + longDescription = '' + GNU libcdio is a library for OS-idependent CD-ROM and + CD image access. It includes a library for working with + ISO-9660 filesystems (libiso9660), as well as utility + programs such as an audio CD player and an extractor. + ''; + license = "GPLv2+"; + homepage = http://www.gnu.org/software/libcdio/; + }; +} diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix index 9a1b4122365a..1b16d361c6dc 100644 --- a/pkgs/development/libraries/libchop/default.nix +++ b/pkgs/development/libraries/libchop/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db4 +{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db , libuuid, lzo, pkgconfig, guile }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib bzip2 lzo libgcrypt - gdbm db4 tdb + gdbm db tdb gnutls libuuid guile ]; diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix index 70a882ff15c1..d6c238ff1793 100644 --- a/pkgs/development/libraries/libconfig/default.nix +++ b/pkgs/development/libraries/libconfig/default.nix @@ -14,5 +14,6 @@ stdenv.mkDerivation rec { description = "a simple library for processing structured configuration files"; license = licenses.lgpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 5aa54582fdc7..0969b51a168c 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: stdenv.mkDerivation rec { - name = "libdrm-2.4.50"; + name = "libdrm-2.4.52"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "0idh6cwqr2rilig7vygb3gxvivchp0q1iq4md79jq340v96d48rq"; + sha256 = "1h8q0azb5bxqljpi1dlxmh5i30c4wdrncffcpppzrgk13wpkqsgs"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix index ee5d2e5e50e0..2593274d89bb 100644 --- a/pkgs/development/libraries/libdvdread/default.nix +++ b/pkgs/development/libraries/libdvdread/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libdvdcss}: stdenv.mkDerivation { - name = "libdvdread-4.1.3"; + name = "libdvdread-4.2.1"; src = fetchurl { - url = http://www.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdread-4.1.3.tar.bz2; - sha1 = "fc4c7ba3e49929191e057b435bc4f867583ea8d5"; + url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.2.1.tar.xz; + sha256 = "af9b98f049580a6521d56c978b736d3d609562dd12955e11d50e26d97542dcd4"; }; buildInputs = [libdvdcss]; diff --git a/pkgs/development/libraries/libev/src-for-default.nix b/pkgs/development/libraries/libev/src-for-default.nix index 49624fc6bd27..3e4f58a5ce0f 100644 --- a/pkgs/development/libraries/libev/src-for-default.nix +++ b/pkgs/development/libraries/libev/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="4.11"; - name="libev-4.11"; - hash="1pwcjch21xc7cfmjldkw1n7lcs4pyqm9dx573wdhmmp4yrpz2mcz"; + version="4.15"; + name="libev-4.15"; + hash="1svgc1hq4i5zsw4i02sf7xb4pk2d8kpvc1gdrd856vsmffh47pdj"; url="http://dist.schmorp.de/libev/Attic/libev-${version}.tar.gz"; - advertisedUrl="http://dist.schmorp.de/libev/Attic/libev-4.11.tar.gz"; + advertisedUrl="http://dist.schmorp.de/libev/Attic/libev-4.15.tar.gz"; } diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix new file mode 100644 index 000000000000..7a005c9fda2a --- /dev/null +++ b/pkgs/development/libraries/libfm/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala }: + +stdenv.mkDerivation { + name = "libfm-1.2.0"; + src = fetchurl { + url = "mirror://sourceforge/pcmanfm/libfm-1.2.0.tar.xz"; + sha256 = "08pwdrmfm9rl41lj2niyjqq2bdvydxk7v2shjxh5gk1xwj238lgh"; + }; + + buildInputs = [ glib gtk intltool menu-cache pango pkgconfig vala ]; + + meta = with stdenv.lib; { + homepage = "http://blog.lxde.org/?cat=28/"; + license = licenses.gpl2Plus; + description = "A glib-based library for file management"; + maintainers = [ maintainers.ttuegel ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix index f5f8297bc6c7..ea981f7ed127 100644 --- a/pkgs/development/libraries/libgcrypt/1.6.nix +++ b/pkgs/development/libraries/libgcrypt/1.6.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libgpgerror, transfig, ghostscript, texinfo }: stdenv.mkDerivation rec { - name = "libgcrypt-1.6.0"; + name = "libgcrypt-1.6.1"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "024plbybsmnxbp39hs92lp6dzvkz2cb70nv69qrwr55d02350bb6"; + sha256 = "0w10vhpj1r5nq7qm6jp21p1v1vhf37701cw8yilygzzqd7mfzhx1"; }; nativeBuildInputs = [ transfig ghostscript texinfo ]; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 997e9cfc5b88..c53b5479b7b2 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation (rec { propagatedBuildInputs = [ libgpgerror ]; - doCheck = true; + doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18 # For some reason the tests don't find `libgpg-error.so'. checkPhase = '' diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix deleted file mode 100644 index 368d873e52a1..000000000000 --- a/pkgs/development/libraries/libgdata/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -x@{builderDefsPackage - , glib, libsoup, libxml2, pkgconfig, intltool, perl - , libtasn1, nettle, gmp - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="libgdata"; - majorVersion="0.8"; - minorVersion="1"; - version="${majorVersion}.${minorVersion}"; - name="${baseName}-${version}"; - url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.bz2"; - hash="1ffhd1dvjflwjsiba1qdianlzfdlfkjgifmw3c7qs2g6fzkf62q8"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - - meta = { - description = "GData API library"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.lgpl21Plus; - }; - passthru = { - updateInfo = { - downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/${sourceInfo.baseName}"; - }; - }; -}) x - diff --git a/pkgs/development/libraries/libgig/default.nix b/pkgs/development/libraries/libgig/default.nix index 6129ef42f3dc..8975c4fa0743 100644 --- a/pkgs/development/libraries/libgig/default.nix +++ b/pkgs/development/libraries/libgig/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { description = "Gigasampler file access library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index af985ac91fcd..afab21bc4f09 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "0f1818l1vs5fbmrihzyv3qasddbqi3r01jik5crrxddwalsi2bd3"; + sha256 = "18nd2zkgazphgkfdhf8ps7knda8vdnhrq9c02989279x2qxjsci9"; }; nativeBuildInputs = [ pkgconfig gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { MTP, and other vendor specific protocols for controlling and transferring data from digital cameras. ''; - version = "2.5.2"; + version = "2.5.3.1"; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 0c79b20b5645..dbcdabc89510 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -4,11 +4,11 @@ with { inherit (stdenv.lib) optionals; }; stdenv.mkDerivation rec { - name = "libgsf-1.14.28"; + name = "libgsf-1.14.30"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "1r6bkwramb6qglmgbjmqvr5sahbfmql057ql97mx99fs3x7r357a"; + sha256 = "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix index c305239e6e21..c7513b0a167f 100644 --- a/pkgs/development/libraries/libinfinity/default.nix +++ b/pkgs/development/libraries/libinfinity/default.nix @@ -11,10 +11,10 @@ let in stdenv.mkDerivation rec { - name = "libinfinity-0.5.4"; + name = "libinfinity-0.5.5"; src = fetchurl { url = "http://releases.0x539.de/libinfinity/${name}.tar.gz"; - sha256 = "1i7nj8qjay6amg455mwhhfqjvxnfyyql9y40a6a4a3ky170ly004"; + sha256 = "1i4cnwbvfv56m7zyyf9wki2bj000r8md414yv3cf1jdz4jbyxij7"; }; buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ] diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 8976e7431928..bf27e074dd58 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,15 +1,13 @@ { stdenv, fetchurl, nasm }: stdenv.mkDerivation rec { - name = "libjpeg-turbo-1.3.0"; + name = "libjpeg-turbo-1.3.1"; src = fetchurl { url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz"; - sha256 = "0d0jwdmj3h89bxdxlwrys2mw18mqcj4rzgb5l2ndpah8zj600mr6"; + sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1"; }; - patches = [ ./libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch ]; - buildInputs = [ nasm ]; doCheck = true; diff --git a/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch b/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch deleted file mode 100644 index 8c0f9c75054a..000000000000 --- a/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch +++ /dev/null @@ -1,40 +0,0 @@ -Thanks to the sources below; this patch discovered via Gentoo. - -http://bugzilla.redhat.com/show_bug.cgi?id=1031734 -http://bugzilla.redhat.com/show_bug.cgi?id=1031749 -http://sourceforge.net/p/libjpeg-turbo/code/1090/ - ---- libjpeg-turbo-1.3.0/jdmarker.c -+++ libjpeg-turbo-1.3.0/jdmarker.c -@@ -304,7 +304,7 @@ - /* Process a SOS marker */ - { - INT32 length; -- int i, ci, n, c, cc; -+ int i, ci, n, c, cc, pi; - jpeg_component_info * compptr; - INPUT_VARS(cinfo); - -@@ -348,6 +348,13 @@ - - TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, - compptr->dc_tbl_no, compptr->ac_tbl_no); -+ -+ /* This CSi (cc) should differ from the previous CSi */ -+ for (pi = 0; pi < i; pi++) { -+ if (cinfo->cur_comp_info[pi] == compptr) { -+ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); -+ } -+ } - } - - /* Collect the additional scan parameters Ss, Se, Ah/Al. */ -@@ -465,6 +472,8 @@ - for (i = 0; i < count; i++) - INPUT_BYTE(cinfo, huffval[i], return FALSE); - -+ MEMZERO(&huffval[count], (256 - count) * SIZEOF(UINT8)); -+ - length -= count; - - if (index & 0x10) { /* AC table definition */ diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix index 3dca6a04af7b..5e0a8560110b 100644 --- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix +++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, cmake, curl }: let - name = "libjson-rpc-cpp"; + basename = "libjson-rpc-cpp"; version = "0.2.1"; in stdenv.mkDerivation { - name = "${name}-${version}"; + name = "${basename}-${version}"; src = fetchurl { - url = "https://github.com/cinemast/${name}/archive/${version}.tar.gz"; + url = "https://github.com/cinemast/${basename}/archive/${version}.tar.gz"; sha256 = "1pc9nn4968qkda8vr4f9dijn2fcldm8i0ymwmql29h4cl5ghdnpw"; }; @@ -23,6 +23,8 @@ stdenv.mkDerivation { meta = { description = "C++ framework for json-rpc (json remote procedure call)"; + homepage = https://github.com/cinemast/libjson-rpc-cpp; + license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix index a452cb7609e1..db07775d45ed 100644 --- a/pkgs/development/libraries/libktorrent/default.nix +++ b/pkgs/development/libraries/libktorrent/default.nix @@ -2,8 +2,8 @@ , phonon, libgcrypt }: let - mp_ = "2.1"; - version = "1.${mp_}-2"; + mp_ = "3.1"; + version = "1.${mp_}"; version4 = "4.${mp_}"; in stdenv.mkDerivation rec { @@ -11,8 +11,8 @@ stdenv.mkDerivation rec { pname = "libktorrent"; src = fetchurl { - url = "http://ktorrent.org/downloads/${version4}/${name}.tar.bz2"; - sha256 = "1b4ibkba27ivvjsh5s93xwlcgzvvwsgl6mcd8g96d1al05n2ccw9"; + url = "${meta.homepage}/downloads/${version4}/${name}.tar.bz2"; + sha256 = "2fe11ccb4bf2028c3da11e52cde890f1b3a90560e548eac89a4f8e1558b09725"; }; nativeBuildInputs = [ cmake automoc4 gettext ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "A BiTtorrent library used by KTorrent"; - homepage = http://ktorrent.org; + homepage = http://ktorrent.pwsp.net; inherit (kdelibs.meta) platforms; }; } diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix index b1e8342ca91b..701b4df3cd81 100644 --- a/pkgs/development/libraries/liblastfm/default.nix +++ b/pkgs/development/libraries/liblastfm/default.nix @@ -1,30 +1,26 @@ -{ stdenv, fetchurl, ruby, qt4, pkgconfig, libsamplerate, fftwSinglePrec, which }: +{ stdenv, fetchurl, qt4, pkgconfig, libsamplerate, fftwSinglePrec, which, cmake }: -let version = "0.3.3"; in +let version = "1.0.8"; in stdenv.mkDerivation rec { name = "liblastfm-${version}"; # Upstream does not package git tags as tarballs. Get tarball from github. src = fetchurl { - url = "https://github.com/mxcl/liblastfm/tarball/${version}"; + url = "https://github.com/lastfm/liblastfm/tarball/${version}"; name = "${name}.tar.gz"; - sha256 = "0v33vzj89mgx2pc5fmiywlz51i553ckydw9xz70fiflm2inbl1r6"; + sha256 = "17jjhsgbwrzh09i0wcqsnmxzyrqy1png5ixpnx6rbqmhp54a3jn3"; }; prefixKey = "--prefix "; propagatedBuildInputs = [ qt4 libsamplerate fftwSinglePrec ]; - nativeBuildInputs = [ ruby pkgconfig which ]; - - configureFlags = "--release"; - - patches = [ ./ruby-1.9.patch ]; - postPatch = "patchShebangs ."; + nativeBuildInputs = [ pkgconfig which cmake ]; meta = { - homepage = http://github.com/mxcl/liblastfm; + homepage = http://github.com/lastfm/liblastfm; + repositories.git = git://github.com/lastfm/liblastfm.git; description = "Official LastFM library"; inherit (qt4.meta) platforms; - maintainers = [ stdenv.lib.maintainers.urkud ]; + maintainers = with stdenv.lib.maintainers; [ urkud phreedom ]; }; } diff --git a/pkgs/development/libraries/liblastfm/ruby-1.9.patch b/pkgs/development/libraries/liblastfm/ruby-1.9.patch deleted file mode 100644 index ac6d175e73a4..000000000000 --- a/pkgs/development/libraries/liblastfm/ruby-1.9.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Yury G. Kudryashov -Subject: [PATCH] Fix compilation with ruby-1.9 - -__FILE__ is a relative path in ruby-1.9 - ---- - admin/Makefile.rb | 4 ++-- - admin/qpp | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/admin/Makefile.rb b/admin/Makefile.rb -index 592f5a5..33fe688 100755 ---- a/admin/Makefile.rb -+++ b/admin/Makefile.rb -@@ -6,7 +6,7 @@ - - cwd = File.dirname( __FILE__ ) - require 'find' --require "#{cwd}/platform.rb" -+require_relative 'platform' - - - ######################################################################### defs -@@ -158,4 +158,4 @@ puts <<-EOS - .PHONY: dist - dist: - git archive --prefix=#{BASENAME}/ HEAD | bzip2 > #{BASENAME}.tar.bz2 --EOS -\ No newline at end of file -+EOS -diff --git a/admin/qpp b/admin/qpp -index 36b2d05..ee840fd 100755 ---- a/admin/qpp -+++ b/admin/qpp -@@ -4,7 +4,7 @@ - - cwd=File.dirname __FILE__ - require 'find' --require "#{cwd}/findsrc" -+require_relative 'findsrc' - - sources = Array.new - headers = Array.new --- -tg: (f0b3239..) t/ruby19 (depends on: master) diff --git a/pkgs/development/libraries/liblscp/default.nix b/pkgs/development/libraries/liblscp/default.nix index 33731e5d7557..a1cbf9250c49 100644 --- a/pkgs/development/libraries/liblscp/default.nix +++ b/pkgs/development/libraries/liblscp/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { description = "LinuxSampler Control Protocol (LSCP) wrapper library"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix new file mode 100644 index 000000000000..8207051b2a86 --- /dev/null +++ b/pkgs/development/libraries/libmbim/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, glib, python, udev }: + +stdenv.mkDerivation rec { + name = "libmbim-1.6.0"; + + src = fetchurl { + url = "http://www.freedesktop.org/software/libmbim/${name}.tar.xz"; + sha256 = "10mh1b8jfxg6y6nhr7swbi9wx4acjgvx1if7nhrw1ppd5apvvvz0"; + }; + + preConfigure = '' + for f in build-aux/mbim-codegen/*; do + substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python" + done + ''; + + buildInputs = [ pkgconfig glib udev ]; + + meta = with stdenv.lib; { + description = "talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix index 9ab1962806ad..ebd0d08717de 100644 --- a/pkgs/development/libraries/libmemcached/default.nix +++ b/pkgs/development/libraries/libmemcached/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cyrus_sasl, libevent }: stdenv.mkDerivation rec { - name = "libmemcached-1.0.8"; + name = "libmemcached-1.0.18"; src = fetchurl { - url = https://launchpad.net/libmemcached/1.0/1.0.8/+download/libmemcached-1.0.8.tar.gz; - sha256 = "198wcvhrqjnak0cjnkxmjsr3xkjc1k6yq2a77nlk852gcf8ypx03"; + url = https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz; + sha256 = "10jzi14j32lpq0if0p9vygcl2c1352hwbywzvr9qzq7x6aq0nb72"; }; buildInputs = [ cyrus_sasl libevent ]; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index 3354161baef0..d9dfaa004de8 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, curl, libgcrypt}: stdenv.mkDerivation rec { - name = "libmicrohttpd-0.9.33"; + name = "libmicrohttpd-0.9.34"; src = fetchurl { url = "mirror://gnu/libmicrohttpd/${name}.tar.gz"; - sha256 = "0nfm3h7mfb03hf4kfyap8dr35shm6sppsq6da03853sljy27wn6r"; + sha256 = "122snbhhn10s8az46f0lrkirhj0k38lq7hmqav3n1prdzpabz8i9"; }; buildInputs = [ curl libgcrypt ]; diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix index c8fa978534d9..7f925cd9b2a7 100644 --- a/pkgs/development/libraries/libmilter/default.nix +++ b/pkgs/development/libraries/libmilter/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, m4}: stdenv.mkDerivation rec { - name = "libmilter-8.14.4"; + name = "libmilter-8.14.8"; src = fetchurl { - url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.4.tar.gz"; - sha256 = "1cbwz5ynl8snrdkl7ay1qhqknbyv0qsvdvcri7mb662hgi1hj0dw"; + url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.8.tar.gz"; + sha256 = "1zmhzkj3gzx8022hsrysr3nzlcmv1qisb5i4jbx91661bw96ksq2"; }; buildPhase = '' diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix new file mode 100644 index 000000000000..26dc6be8382c --- /dev/null +++ b/pkgs/development/libraries/libmsgpack/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, autoconf, automake, libtool, ruby }: + +stdenv.mkDerivation rec { + version = "0.5.8"; + name = "libmsgpack-${version}"; + + src = fetchurl { + url = "https://github.com/msgpack/msgpack-c/archive/cpp-${version}.tar.gz"; + sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k"; + }; + + buildInputs = [ autoconf automake libtool ruby ]; + + outputs = [ "out" "lib" ]; + + preConfigure = "./bootstrap"; + + postInstall = '' + mkdir -p $lib/lib + mv $out/lib/*.so.* $lib/lib/ + ''; + + meta = with stdenv.lib; { + description = "MessagePack implementation for C and C++"; + homepage = http://msgpack.org; + maintainers = [ maintainers.redbaron ]; + license = licenses.asl20; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/libraries/libmsn/default.nix b/pkgs/development/libraries/libmsn/default.nix index 4ec5e62ea04d..77fe3403de77 100644 --- a/pkgs/development/libraries/libmsn/default.nix +++ b/pkgs/development/libraries/libmsn/default.nix @@ -6,5 +6,6 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/libmsn/${name}.tar.bz2"; sha256 = "338369c7455b123e84b9a7a858ac0ed2b1dc32e6529f460fdc01d28869a20fde"; }; + patches = [ ./fix-ftbfs-gcc4.7.diff ]; buildInputs = [ cmake openssl ]; } diff --git a/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff b/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff new file mode 100644 index 000000000000..46aeab31c842 --- /dev/null +++ b/pkgs/development/libraries/libmsn/fix-ftbfs-gcc4.7.diff @@ -0,0 +1,16 @@ +Fix g++ 4.7 build failure + +Kudos to Matthias Klose for the patch + +Index: libmsn-4.2/msn/util.cpp +=================================================================== +--- libmsn-4.2.orig/msn/util.cpp 2009-07-22 19:57:10.000000000 +0000 ++++ libmsn-4.2/msn/util.cpp 2012-04-16 20:52:18.068767213 +0000 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/pkgs/development/libraries/libmspack/default.nix b/pkgs/development/libraries/libmspack/default.nix index d02217afd3e2..a49cd95822f6 100644 --- a/pkgs/development/libraries/libmspack/default.nix +++ b/pkgs/development/libraries/libmspack/default.nix @@ -3,7 +3,10 @@ stdenv.mkDerivation { name = "libmspack-0.4alpha"; src = fetchurl { - url = http://www.cabextract.org.uk/libmspack/libmspack-0.4alpha.tar.gz; + # upstream url: "curl: (22) The requested URL returned error: 406 Not Acceptable" + #url = http://www.cabextract.org.uk/libmspack/libmspack-0.4alpha.tar.gz; + url = "http://pkgs.fedoraproject.org/lookaside/pkgs/libmspack/" + + "libmspack-0.4alpha.tar.gz/1ab10b507259993c74b4c41a88103b59/libmspack-0.4alpha.tar.gz"; sha256 = "0s2w5zxx9cw7445cx9ap59ky5n7r201551zg906w9ghcys1qk5dp"; }; diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix new file mode 100644 index 000000000000..7cdb8fb46910 --- /dev/null +++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, cmake, neon, libdiscid }: + +stdenv.mkDerivation rec { + name = "libmusicbrainz-5.0.1"; + + buildInputs = [ cmake neon libdiscid ]; + + src = fetchurl { + url = "https://github.com/downloads/metabrainz/libmusicbrainz/${name}.tar.gz"; + md5 = "a0406b94c341c2b52ec0fe98f57cadf3"; + }; + + dontUseCmakeBuildDir=true; + + meta = { + homepage = http://musicbrainz.org/doc/libmusicbrainz; + description = "MusicBrainz Client Library (5.x version)"; + longDescription = '' + The libmusicbrainz (also known as mb_client or MusicBrainz Client + Library) is a development library geared towards developers who wish to + add MusicBrainz lookup capabilities to their applications.''; + maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index 00308bf9471a..2b82fe2a4bc5 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, glib, gdk_pixbuf }: +{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool +, glib, gdk_pixbuf, gobjectIntrospection, autoreconfHook }: stdenv.mkDerivation rec { ver_maj = "0.7"; @@ -9,23 +10,15 @@ stdenv.mkDerivation rec { url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz"; sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"; }; - src_m4 = fetchurl { - url = "mirror://gentoo/distfiles/introspection-20110205.m4.tar.bz2"; - sha256 = "1cnqh7aaji648nfd5537v7xaak8hgww3bpifhwam7bl0sc3ad523"; - }; # see Gentoo ebuild - we don't need to depend on gtk+(2/3) - preConfigure = '' - cd m4 - tar xvf ${src_m4} - cd .. - + preAutoreconf = '' sed -i -e 's:noinst_PROG:check_PROG:' tests/Makefile.am || die sed -i -e '/PKG_CHECK_MODULES(TESTS/d' configure.ac || die - AT_M4DIR=. autoreconf ''; - buildInputs = [ pkgconfig automake autoconf glib gdk_pixbuf ]; + buildInputs = [ pkgconfig automake autoconf autoreconfHook + libtool glib gdk_pixbuf gobjectIntrospection ]; meta = { homepage = http://galago-project.org/; # very obsolete but found no better diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix new file mode 100644 index 000000000000..b3eee8ed4342 --- /dev/null +++ b/pkgs/development/libraries/liboauth/default.nix @@ -0,0 +1,21 @@ +{ fetchurl, stdenv, nss, openssl, pkgconfig }: + + +stdenv.mkDerivation rec { + name = "liboauth-1.0.2"; + + src = fetchurl { + url = "mirror://sourceforge/liboauth/${name}.tar.gz"; + sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv"; + }; + + buildInputs = [ nss openssl ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + description = "C library implementing the OAuth secure authentication protocol"; + homepage = http://liboauth.sourceforge.net/; + repositories.git = https://github.com/x42/liboauth.git; + }; + +} diff --git a/pkgs/development/libraries/libofa/curl-types.patch b/pkgs/development/libraries/libofa/curl-types.patch deleted file mode 100644 index acd8d9aeabb8..000000000000 --- a/pkgs/development/libraries/libofa/curl-types.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rc libofa-0.9.3/examples/protocol.cpp libofa-0.9.3-new/examples/protocol.cpp -*** libofa-0.9.3/examples/protocol.cpp 2006-05-10 14:05:42.000000000 -0400 ---- libofa-0.9.3-new/examples/protocol.cpp 2011-11-06 09:24:05.653283203 -0500 -*************** -*** 12,18 **** - #include - #include - #include -- #include - #include - - using namespace std; ---- 12,17 ---- diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix index 6b1ceee40f1c..2e2640e86362 100644 --- a/pkgs/development/libraries/libofa/default.nix +++ b/pkgs/development/libraries/libofa/default.nix @@ -1,17 +1,24 @@ { stdenv, fetchurl, expat, curl, fftw }: +let + version = "0.9.3"; + deb_patch = "5"; +in stdenv.mkDerivation rec { - name = "libofa-0.9.3"; - - propagatedBuildInputs = [ expat curl fftw ]; - - patches = [ ./libofa-0.9.3-gcc-4.patch ./libofa-0.9.3-gcc-4.3.patch ./gcc-4.x.patch ./curl-types.patch ]; + name = "libofa-${version}"; src = fetchurl { url = "http://musicip-libofa.googlecode.com/files/${name}.tar.gz"; sha256 = "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2"; }; + patches = fetchurl { + url = "mirror://debian/pool/main/libo/libofa/libofa_${version}-${deb_patch}.debian.tar.gz"; + sha256 = "1rfkyz13cm8izm90c1xflp4rvsa24aqs6qpbbbqqcbmvzsj6j9yn"; + }; + + propagatedBuildInputs = [ expat curl fftw ]; + meta = { homepage = http://code.google.com/musicip-libofa/; description = "LibOFA - Library Open Fingerprint Architecture"; diff --git a/pkgs/development/libraries/libofa/gcc-4.x.patch b/pkgs/development/libraries/libofa/gcc-4.x.patch deleted file mode 100644 index 50f72bb428c6..000000000000 --- a/pkgs/development/libraries/libofa/gcc-4.x.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/examples/example.cpp b/examples/example.cpp -index ef978d5..7d58a0f 100644 ---- a/examples/example.cpp -+++ b/examples/example.cpp -@@ -10,6 +10,7 @@ - #include "protocol.h" - - #include -+#include - - AudioData* loadWaveFile(char *file); - AudioData* loadDataUsingLAME(char *file); diff --git a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch b/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch deleted file mode 100644 index 7682e3710514..000000000000 --- a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.3.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix build with gcc >=4.3 -diff -ur libofa-0.9.3.orig/examples/example.cpp libofa-0.9.3/examples/example.cpp ---- libofa-0.9.3.orig/examples/example.cpp 2006-05-10 21:05:37.000000000 +0300 -+++ libofa-0.9.3/examples/example.cpp 2008-04-16 15:51:49.000000000 +0300 -@@ -9,6 +9,8 @@ - - #include "protocol.h" - -+#include -+ - AudioData* loadWaveFile(char *file); - AudioData* loadDataUsingLAME(char *file); - -Vain hakemistossa libofa-0.9.3/examples: example.cpp.orig -diff -ur libofa-0.9.3.orig/examples/protocol.cpp libofa-0.9.3/examples/protocol.cpp ---- libofa-0.9.3.orig/examples/protocol.cpp 2006-05-10 21:05:42.000000000 +0300 -+++ libofa-0.9.3/examples/protocol.cpp 2008-04-16 15:51:49.000000000 +0300 -@@ -8,6 +8,7 @@ - -------------------------------------------------------------------*/ - #include - #include -+#include - #include - #include - #include -diff -ur libofa-0.9.3.orig/lib/signal_op.cpp libofa-0.9.3/lib/signal_op.cpp ---- libofa-0.9.3.orig/lib/signal_op.cpp 2006-05-10 21:01:12.000000000 +0300 -+++ libofa-0.9.3/lib/signal_op.cpp 2008-04-16 15:51:49.000000000 +0300 -@@ -12,6 +12,7 @@ - // DATE CREATED: 1/12/06 - - -+#include - #include - #include "signal_op.h" - #include "AFLIB/aflibConverter.h" diff --git a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch b/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch deleted file mode 100644 index 920c383c657b..000000000000 --- a/pkgs/development/libraries/libofa/libofa-0.9.3-gcc-4.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/lib/JAMA/tnt_math_utils.h 2006-06-17 01:46:22.000000000 +0300 -+++ b/lib/JAMA/tnt_math_utils.h 2006-06-17 01:47:02.000000000 +0300 -@@ -20,11 +20,20 @@ - namespace TNT - { - /** -+ @returns the absolute value of a real (no-complex) scalar. -+*/ -+template -+Real abs(const Real &a) -+{ -+ return (a > 0 ? a : -a); -+} -+/** - @returns hypotenuse of real (non-complex) scalars a and b by - avoiding underflow/overflow - using (a * sqrt( 1 + (b/a) * (b/a))), rather than - sqrt(a*a + b*b). - */ -+ - template - Real hypot(const Real &a, const Real &b) - { -@@ -56,15 +65,6 @@ - } - */ - --/** -- @returns the absolute value of a real (no-complex) scalar. --*/ --template --Real abs(const Real &a) --{ -- return (a > 0 ? a : -a); --} -- - } - #endif - /* MATH_UTILS_H */ diff --git a/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch b/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch deleted file mode 100644 index 2b39d1fee9a4..000000000000 --- a/pkgs/development/libraries/libotr/0001-Fix-pass-opdata-when-sending-message-fragment.patch +++ /dev/null @@ -1,29 +0,0 @@ -From dc5f05eb934ebd285e01febb9a4018512db702b1 Mon Sep 17 00:00:00 2001 -From: David Goulet -Date: Sat, 19 Jan 2013 15:53:23 -0500 -Subject: [PATCH] Fix: pass opdata when sending message fragment - -The inject_message callback was missing the opdata when sending message -fragments. - -Signed-off-by: David Goulet ---- - src/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/message.c b/src/message.c -index 7c39529..aa71df2 100644 ---- a/src/message.c -+++ b/src/message.c -@@ -441,7 +441,7 @@ fragment: - /* Fragment and send according to policy */ - if (!err && messagep && *messagep) { - if (context) { -- err = fragment_and_send(ops, NULL, context, *messagep, -+ err = fragment_and_send(ops, opdata, context, *messagep, - fragPolicy, messagep); - } - } --- -1.7.10.4 - diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix index d737b8d9916e..0d5bdfcc9a75 100644 --- a/pkgs/development/libraries/libotr/default.nix +++ b/pkgs/development/libraries/libotr/default.nix @@ -1,26 +1,22 @@ -{stdenv, fetchurl, libgcrypt}: +{stdenv, fetchgit, libgcrypt, autoconf, automake, libtool}: stdenv.mkDerivation rec { - name = "libotr-4.0.0"; - src = fetchurl { - urls = [ - "http://www.cypherpunks.ca/otr/${name}.tar.gz" - # The site is down at the time of updating to 4.0.0, so I add this url - http://ftp.de.debian.org/debian/pool/main/libo/libotr/libotr_4.0.0.orig.tar.gz - ]; - sha256 = "3f911994409898e74527730745ef35ed75c352c695a1822a677a34b2cf0293b4"; + name = "libotr-20130821-git-f0f8a2"; + src = fetchgit { + url = "http://git.code.sf.net/p/otr/libotr"; + rev = "f0f8a2"; + sha256 = "08019r8bnk8f4yx6574jdz217p283ry7dmpqcad2d87yhkdmc3mm"; }; - # Crashes without it, still not accepted upstream. - # Discussed in https://github.com/cryptodotis/irssi-otr/issues/21 - patches = [ ./0001-Fix-pass-opdata-when-sending-message-fragment.patch ]; - NIX_LDFLAGS = "-lssp"; - propagatedBuildInputs = [ libgcrypt ]; + propagatedBuildInputs = [ libgcrypt autoconf automake libtool ]; + + preConfigure = "autoreconf -vfi"; meta = { homepage = "http://www.cypherpunks.ca/otr/"; + repositories.git = git://git.code.sf.net/p/otr/libotr; license = "LGPLv2.1"; description = "Library for Off-The-Record Messaging"; }; diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index 87e2a6416547..11eccb0a0e31 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, flex, bison }: stdenv.mkDerivation rec { - name = "libpcap-1.4.0"; + name = "libpcap-1.5.3"; src = fetchurl { url = "http://www.tcpdump.org/release/${name}.tar.gz"; - sha256 = "01klphfqxvkyjvic0hmc10qmiicqz6pv6kvb9s00kaz8f57jlskw"; + sha256 = "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"; }; nativeBuildInputs = [ flex bison ]; diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix new file mode 100644 index 000000000000..e56a45c92fce --- /dev/null +++ b/pkgs/development/libraries/libpipeline/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "libpipeline-1.2.6"; + + src = fetchurl { + url = "mirror://savannah/libpipeline/${name}.tar.gz"; + sha256 = "0wjsigim422ilzs46hxzv98l10zprpbk53gq3jzj6s9kn9n1wljc"; + }; + + meta = with stdenv.lib; { + homepage = "http://libpipeline.nongnu.org"; + description = "C library for manipulating pipelines of subprocesses in a flexible and convenient way"; + platforms = platforms.unix; + license = licenses.gpl3; + }; +} diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index 031e2aa1a914..094483da660a 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -3,11 +3,11 @@ assert zlib != null; stdenv.mkDerivation rec { - name = "libpng-1.2.50"; + name = "libpng-1.2.51"; src = fetchurl { url = "mirror://sourceforge/libpng/${name}.tar.xz"; - sha256 = "1rz8v3cvy1zzpagxn91lj8swb9vf75rz3yyi18v7zb4jihgzh927"; + sha256 = "0jkdlmnvn72jwm94dp98pznm9fy7alvcr2zpfh2dgbr2n09vimy7"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix index 8f62ef1e8dc9..153517986334 100644 --- a/pkgs/development/libraries/libpng/15.nix +++ b/pkgs/development/libraries/libpng/15.nix @@ -3,11 +3,11 @@ assert zlib != null; stdenv.mkDerivation rec { - name = "libpng-1.5.15"; + name = "libpng-1.5.18"; src = fetchurl { url = "mirror://sourceforge/libpng/${name}.tar.xz"; - sha256 = "1iaplghmv5qhd4dgwfymhp42sh27vz6s2107jk698xm57z2v9hwm"; + sha256 = "119m71p60iq3yn2n8ckl4j4cxvbpddj6sgdpa6g05jzyg7vw54y0"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index f120bca50c62..52aaeaf93a46 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,11 +3,11 @@ assert zlib != null; let - version = "1.6.8"; - sha256 = "109h2fcjspd792lvh5q4xnkpsv7rjczmrdl15i4ajx0xbs5kvxr4"; + version = "1.6.10"; + sha256 = "0mjsfxc18478y1jxrs3snmx7mvckmghvki9gfhmhl49n1vyz00s0"; patch_src = fetchurl { url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz"; - sha256 = "0wysnv0d8h7pyz7gfagnkwra2k7malqga1cn6wbk2l7a8k2r53qi"; + sha256 = "0512q27c26ajzqm2qzmmc7q1frj7cjylls2hxy3y3wg2r6ryizw8"; }; whenPatched = stdenv.lib.optionalString apngSupport; diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix index 68c3ac5130df..7085236feb52 100644 --- a/pkgs/development/libraries/libproxy/default.nix +++ b/pkgs/development/libraries/libproxy/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, cmake, zlib}: +{ stdenv, fetchurl, pkgconfig, cmake, zlib, glib }: stdenv.mkDerivation rec { name = "libproxy-0.4.11"; @@ -6,5 +6,9 @@ stdenv.mkDerivation rec { url = "http://libproxy.googlecode.com/files/${name}.tar.gz"; sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw"; }; - buildInputs = [cmake zlib]; + + nativeBuildInputs = [ pkgconfig cmake ]; + propagatedBuildInputs = [ zlib ] + # now some optional deps, but many more are possible + ++ [ glib ]; } diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix new file mode 100644 index 000000000000..aaa39783fa72 --- /dev/null +++ b/pkgs/development/libraries/libpwquality/default.nix @@ -0,0 +1,12 @@ +{ stdenv, cracklib, fetchurl, python }: + +stdenv.mkDerivation rec { + name = "libpwquality-1.2.3"; + + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/libpwquality/${name}.tar.bz2"; + sha256 = "0sjiabvl5277nfxyy96jdz65a0a3pmkkwrfbziwgik83gg77j75i"; + }; + + buildInputs = [ cracklib python ]; +} diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix new file mode 100644 index 000000000000..a0292067dbb2 --- /dev/null +++ b/pkgs/development/libraries/libqmi/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, glib, python }: + +stdenv.mkDerivation rec { + name = "libqmi-1.8.0"; + + src = fetchurl { + url = "http://www.freedesktop.org/software/libqmi/${name}.tar.xz"; + sha256 = "03gf221yjcdzvnl4v2adwpc6cyg5mlbccn20s00fp5bgvmq81pgs"; + }; + + preBuild = '' + patchShebangs . + ''; + + buildInputs = [ pkgconfig glib python ]; + + meta = with stdenv.lib; { + description = "Modem protocol helper library"; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix new file mode 100644 index 000000000000..f0012f552c1d --- /dev/null +++ b/pkgs/development/libraries/libraw/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, lcms2, jasper, pkgconfig }: + +stdenv.mkDerivation rec { + name = "libraw-0.16.0"; + + src = fetchurl { + url = http://www.libraw.org/data/LibRaw-0.16.0.tar.gz; + sha256 = "15ng4s24grib39r0nlgrf18r2j9yh43qyx4vbif38d95xiqkix3i"; + }; + + buildInputs = [ lcms2 jasper ] ; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)"; + homepage = http://www.libraw.org/; + license = stdenv.lib.licenses.gpl2Plus; + }; +} + diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 26b3de70dcdc..4863c928988a 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -3,7 +3,7 @@ , mysql, withMysql ? false , postgresql, withPostgresql ? false , sqlite, withSqlite ? true -, db4, withBdb ? false +, db, withBdb ? false }: stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional withMysql mysql ++ stdenv.lib.optional withSqlite sqlite ++ stdenv.lib.optional withPostgresql postgresql - ++ stdenv.lib.optional withBdb db4; + ++ stdenv.lib.optional withBdb db; propagatedBuildInputs = [ librdf_rasqal ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-threads" ] - ++ stdenv.lib.optional withBdb "--with-bdb=${db4}"; + ++ stdenv.lib.optional withBdb "--with-bdb=${db}"; meta = { homepage = http://librdf.org/; diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix new file mode 100644 index 000000000000..9ef1ada0a424 --- /dev/null +++ b/pkgs/development/libraries/libresample/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, cmake}: + +let + patch = fetchurl { + url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3-3.diff.gz; + sha256 = "063w8rqxw87fc89gas47vk0ll7xl8cy7d8g70gm1l62bqkkajklx"; + }; +in +stdenv.mkDerivation { + name = "libresample-0.1.3"; + src = fetchurl { + url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3.orig.tar.gz; + sha256 = "05a8mmh1bw5afqx0kfdqzmph4x2npcs4idx0p0v6q95lwf22l8i0"; + }; + patches = [ patch ]; + preConfigure = '' + cat debian/patches/1001_shlib-cmake.patch | patch -p1 + ''; + buildInputs = [ cmake ]; + + meta = { + description = "A real-time library for sampling rate conversion library"; + license = stdenv.lib.licenses.lgpl2Plus; + homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html; + maintainers = stdenv.lib.maintainers.sander; + }; +} diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix new file mode 100644 index 000000000000..863a42b741ba --- /dev/null +++ b/pkgs/development/libraries/libsearpc/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, automake, autoconf, pkgconfig, libtool, python, pythonPackages, glib, jansson}: + +stdenv.mkDerivation rec +{ + version = "1.2.1"; + seafileVersion = "2.1.1"; + name = "libsearpc-${version}"; + + src = fetchurl + { + url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz"; + sha256 = "c0e7cc812c642ebb1339c3701570e78ff5b8c8aa2a521e5a505e28d9666e89ec"; + }; + + patches = [ ./libsearpc.pc.patch ]; + + buildInputs = [ automake autoconf pkgconfig libtool python pythonPackages.simplejson ]; + propagatedBuildInputs = [ glib jansson ]; + + preConfigure = "./autogen.sh"; + + buildPhase = "make -j1"; + + meta = + { + homepage = "https://github.com/haiwen/libsearpc"; + description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System."; + license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/libsearpc/libsearpc.pc.patch b/pkgs/development/libraries/libsearpc/libsearpc.pc.patch new file mode 100644 index 000000000000..6f30932ba6db --- /dev/null +++ b/pkgs/development/libraries/libsearpc/libsearpc.pc.patch @@ -0,0 +1,10 @@ +From: Aaron Lindsay + +--- a/libsearpc.pc.in 2013-01-10 01:35:24.000000000 -0500 ++++ b/libsearpc.pc.in 2013-01-19 11:31:50.479301798 -0500 +@@ -1,4 +1,4 @@ +-prefix=(DESTDIR)@prefix@ ++prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix new file mode 100644 index 000000000000..a66d31d2ec44 --- /dev/null +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, getopt, bash }: + +stdenv.mkDerivation rec { + name = "libseccomp-${version}"; + version = "2.1.1"; + + src = fetchurl { + url = "mirror://sourceforge/libseccomp/libseccomp-${version}.tar.gz"; + sha256 = "0744mjx5m3jl1hzz13zypivl88m0wn44mf5gsrd3yf3w80gc24l8"; + }; + + # This fixes the check for 'getopt' to function appropriately. + # Additionally, this package can optionally include the kernel + # headers if they exist, or use its own inline copy of the source + # for talking to the seccomp filter - we opt to always use the + # inline copy + patchPhase = '' + substituteInPlace ./configure --replace "/bin/bash" "${bash}/bin/bash" + substituteInPlace ./configure --replace "verify_deps getopt" "" + substituteInPlace ./configure --replace getopt ${getopt}/bin/getopt + substituteInPlace ./configure --replace 'opt_sysinc_seccomp="yes"' 'opt_sysinc_seccomp="no"' + ''; + + meta = { + description = "high level library for the Linux Kernel seccomp filter"; + homepage = "http://sourceforge.net/projects/libseccomp"; + license = stdenv.lib.licenses.lgpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index a127e7322eb7..610d14568ae5 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, gnum4 }: stdenv.mkDerivation rec { - name = "libsigc++-2.2.11"; + name = "libsigc++-2.3.1"; src = fetchurl { - url = "mirror://gnome/sources/libsigc++/2.2/${name}.tar.xz"; - sha256 = "0ms93q7r8zznsqkfdj1ds9533f0aqfaw3kdkqv154rzmfigh8d4q"; + url = "mirror://gnome/sources/libsigc++/2.3/${name}.tar.xz"; + sha256 = "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"; }; buildInputs = [ pkgconfig gnum4 ]; diff --git a/pkgs/development/libraries/libsoup/2.44.nix b/pkgs/development/libraries/libsoup/2.44.nix deleted file mode 100644 index 4bef93ff8cd7..000000000000 --- a/pkgs/development/libraries/libsoup/2.44.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, intltool, python, gobjectIntrospection -, glib, libxml2, sqlite, glib_networking -, gnomeSupport ? true, libgnome_keyring -}: - -stdenv.mkDerivation { - name = "libsoup-2.44.2"; - - meta = { - description = "HTTP client/server library"; - license = stdenv.lib.licenses.lgpl2Plus; - }; - - src = fetchurl { - url = mirror://gnome/sources/libsoup/2.44/libsoup-2.44.2.tar.xz; - sha256 = "1wwqsmi1jvidiqwbdnjl66nmk1yja8w9dxf9cz10zh56fjmvbr77"; - }; - - preConfigure = '' - substituteInPlace libsoup/tld-parser.py \ - --replace "!/usr/bin/env python" "!${python}/bin/${python.executable}" - ''; - - nativeBuildInputs = [ pkgconfig intltool python gobjectIntrospection ]; - - propagatedBuildInputs = [ glib libxml2 sqlite ] - ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ]; - - passthru.propagatedUserEnvPackages = [ glib_networking ]; - - # glib_networking is a runtime dependency, not a compile-time dependency - configureFlags = "--disable-tls-check"; - - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; -} diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index a5ce0fda2704..049d6646ec8a 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -1,19 +1,26 @@ { stdenv, fetchurl, glib, libxml2, pkgconfig -, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking -, libintlOrEmpty }: - +, gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking, gobjectIntrospection +, libintlOrEmpty +, intltool, python }: +let + majorVersion = "2.45"; + version = "${majorVersion}.3"; +in stdenv.mkDerivation { - name = "libsoup-2.38.1"; + name = "libsoup-${version}"; src = fetchurl { - url = mirror://gnome/sources/libsoup/2.38/libsoup-2.38.1.tar.xz; - sha256 = "16iza4y8pmc4sn90iid88fgminvgcqypy3s2qnmzkzm5qwzr5f3i"; + url = "mirror://gnome/sources/libsoup/${majorVersion}/libsoup-${version}.tar.xz"; + sha256 = "04ma47hcrrbjp90r8jjn686cngnbgac24wgarpwwzlpg66wighva"; }; + patchPhase = '' + patchShebangs libsoup/ + ''; - buildInputs = libintlOrEmpty; + buildInputs = libintlOrEmpty ++ [ intltool python ]; nativeBuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ glib libxml2 ] + propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ] ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring sqlite ]; passthru.propagatedUserEnvPackages = [ glib_networking ]; diff --git a/pkgs/development/libraries/libspotify/default.nix b/pkgs/development/libraries/libspotify/default.nix index 000112008a33..56d15cd1e806 100644 --- a/pkgs/development/libraries/libspotify/default.nix +++ b/pkgs/development/libraries/libspotify/default.nix @@ -79,7 +79,7 @@ else stdenv.mkDerivation { meta = with stdenv.lib; { description = "Spotify API library"; homepage = https://developer.spotify.com/technologies/libspotify; - maintainers = with maintainers; [ lovek323 shlevy ]; + maintainers = with maintainers; [ lovek323 ]; license = licenses.unfree; }; } diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index 0a06452d5d89..c201eda69e61 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, cmake, zlib, libgcrypt }: +{ stdenv, fetchurl, pkgconfig, cmake, zlib, libgcrypt }: stdenv.mkDerivation rec { - name = "libssh-0.5.5"; + name = "libssh-0.6.3"; src = fetchurl { - url = "https://red.libssh.org/attachments/download/51/${name}.tar.gz"; - sha256 = "17cfdff4hc0ijzrr15biq29fiabafz0bw621zlkbwbc1zh2hzpy0"; + url = "https://red.libssh.org/attachments/download/87/${name}.tar.xz"; + sha256 = "1jyaj9h1iglvn02hrvcchbx8ycjpj8b91h8mi459k7q5jp2xgd9b"; }; buildInputs = [ zlib libgcrypt ]; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake pkgconfig ]; cmakeFlags = "-DWITH_GCRYPT=ON"; diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 42fa2578062d..d90e1c225641 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, perl, texinfo }: stdenv.mkDerivation rec { - name = "libtasn1-2.14"; + name = "libtasn1-3.4"; src = fetchurl { url = "mirror://gnu/libtasn1/${name}.tar.gz"; - sha256 = "0m1x2p04xpacl18dzv1hmsm2fk97gi167ra5h4kmjy16436kcadw"; + sha256 = "1j5cwsjk9wai700ljsr5qyzywijrr5ba05hhg4mkgqlg8mx50lzk"; }; + buildInputs = [ perl texinfo ]; + doCheck = true; meta = { diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix index 035077e12a6f..0745313b41e7 100644 --- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix +++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "libtorrent-rasterbar-${version}"; - version = "0.16.13"; + version = "0.16.16"; src = fetchurl { - url = "http://libtorrent.googlecode.com/files/${name}.tar.gz"; - sha256 = "1sr788hhip6pgfb842110nl36hqdc1vz2s9n5vzypm0jy7qklmvm"; + url = mirror://sourceforge/libtorrent/libtorrent-rasterbar-0.16.16.tar.gz; + sha256 = "1a3yxwjs4qb0rwx6cfpvar0a8jmavb6ik580b27md08jhvq80if7"; }; buildInputs = [ boost pkgconfig openssl zlib python libiconvOrNull geoip ]; diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix index a3de6f99418d..81336aed8aad 100644 --- a/pkgs/development/libraries/libtoxcore/default.nix +++ b/pkgs/development/libraries/libtoxcore/default.nix @@ -2,8 +2,8 @@ , libconfig, pkgconfig }: let - version = "18c98eb"; - date = "20131112"; + version = "388b1229b"; + date = "20140220"; in stdenv.mkDerivation rec { name = "tox-core-${date}-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/irungentoo/ProjectTox-Core/tarball/${version}"; name = "${name}.tar.gz"; - sha256 = "1g69fz9aspzsrlzlk6fpmjyyhb38v8mmp25nszlbra17n3f209yh"; + sha256 = "12vggiv0gyv8a2rd5qrv04b7yhfhxb7r0yh75gg5n4jdpcbhvgsd"; }; preConfigure = '' diff --git a/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix new file mode 100644 index 000000000000..86f5029e9a59 --- /dev/null +++ b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, autoreconfHook, mesa }: + +let version = "1.0"; in + +stdenv.mkDerivation rec { + name = "libtxc_dxtn_s2tc-${version}"; + + src = fetchurl { + url = "https://github.com/divVerent/s2tc/archive/v${version}.tar.gz"; + sha256 = "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752"; + }; + + buildInputs = [ autoreconfHook mesa ]; + + meta = { + description = "A patent-free S3TC compatible implementation"; + homepage = https://github.com/divVerent/s2tc; + repositories.git = https://github.com/divVerent/s2tc.git; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.page ]; + }; +} diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix index 44daabe6a736..e7f627f62f77 100644 --- a/pkgs/development/libraries/liburcu/default.nix +++ b/pkgs/development/libraries/liburcu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "0.8.1"; + version = "0.8.4"; name = "liburcu-${version}"; src = fetchurl { url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; - sha256 = "07p0lh43j7i1606m4l1dxm195z6fcfz74fmx7q2d7mrhn2bzc240"; + sha256 = "04py48xphylb246mpkzvld0yprj5h7cyv6pydr8b25aax5bs3h4n"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index dfb8f1c54a16..8be17b289f7e 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, udev }: let - version = "1.0.17"; + version = "1.0.18"; in stdenv.mkDerivation rec { - name = "libusb-${version}"; + name = "libusb-${version}"; # at 1.0.18 libusb joined with libusbx src = fetchurl { - url = "mirror://sourceforge/libusbx/libusbx-${version}.tar.bz2"; - sha256 = "1f25a773x9x5n48a0mcigyk77ay0hkiz6y6bi4588wzf7wn8svw7"; + url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2"; + sha256 = "081px0j98az0pjwwyjlq4qcmfn194fvm3qd4im0r9pm58pn5qgy7"; }; buildInputs = [ pkgconfig ]; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; meta = { - homepage = http://www.libusb.org; + homepage = http://www.libusb.info; description = "User-space USB library"; platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.urkud ]; diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix new file mode 100644 index 000000000000..afce119e3961 --- /dev/null +++ b/pkgs/development/libraries/libvirt-glib/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl +, nettle, libgcrypt, python, pygobject, gobjectIntrospection, libcap_ng +}: + +stdenv.mkDerivation rec { + name = "libvirt-glib-0.1.8"; + + src = fetchurl { + url = "http://libvirt.org/sources/glib/${name}.tar.gz"; + sha256 = "0ld7g9vlpdzx8rm90i8y1gnpygkn20x5z12gvsgms7dy5nala3ns"; + }; + + buildInputs = [ + pkgconfig libvirt glib libxml2 intltool libtool yajl nettle libgcrypt + python pygobject gobjectIntrospection libcap_ng + ]; + + # Compiler flag -fstack-protector-all fixes this build error: + # + # ./.libs/libvirt-glib-1.0.so: undefined reference to `__stack_chk_guard' + # + # And the extra include path fixes this build error: + # + # In file included from ../libvirt-gobject/libvirt-gobject-domain-device.h:30:0, + # from /tmp/nix-build-libvirt-glib-0.1.7.drv-2/libvirt-glib-0.1.7/libvirt-gobject/libvirt-gobject.h:33, + # from :4: + # ../libvirt-gobject/libvirt-gobject-domain.h:33:29: fatal error: libvirt/libvirt.h: No such file or directory + # compilation terminated. + # make[3]: *** [LibvirtGObject-1.0.gir] Error 1 + preConfigure = '' + export NIX_CFLAGS_COMPILE="-fstack-protector-all -I${libvirt}/include" + ''; + + meta = with stdenv.lib; { + description = "Library for working with virtual machines"; + longDescription = '' + libvirt-glib wraps libvirt to provide a high-level object-oriented API better + suited for glib-based applications, via three libraries: + + - libvirt-glib - GLib main loop integration & misc helper APIs + - libvirt-gconfig - GObjects for manipulating libvirt XML documents + - libvirt-gobject - GObjects for managing libvirt objects + ''; + homepage = http://libvirt.org/; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index c34934400d01..587fbfe48d32 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -1,50 +1,63 @@ { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng -, dnsmasq +, dnsmasq, libnl }: -let version = "1.2.0"; in +let version = "1.2.2"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "libvirt-${version}"; src = fetchurl { - url = "http://libvirt.org/sources/libvirt-${version}.tar.gz"; - sha256 = "1p9dn96j8qqp20lr0kvc7zyjjcpgsa9k41slyk2jmnv1g2p7ird8"; + url = "http://libvirt.org/sources/${name}.tar.gz"; + sha256 = "1hxvgh2fp2fk3wva7fnbz2pk6g5217wrmf9xwikiphn50zipg0x4"; }; - buildInputs = - [ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2 - utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper - libcap_ng - ]; + buildInputs = [ + pkgconfig libxml2 gnutls devicemapper perl python readline lvm2 + utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper + libcap_ng libnl + ]; - preConfigure = - '' - PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH - patchShebangs . # fixes /usr/bin/python references - ''; + preConfigure = '' + PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH + patchShebangs . # fixes /usr/bin/python references + ''; - configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-init-script=redhat --without-macvtap"; + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-init-script=redhat" + "--with-macvtap" + "--with-virtualport" + ]; - installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc"; + installFlags = [ + "localstatedir=$(TMPDIR)/var" + "sysconfdir=$(out)/etc" + ]; - postInstall = - '' - substituteInPlace $out/libexec/libvirt-guests.sh \ - --replace "$out/bin" "${gettext}/bin" - wrapProgram $out/sbin/libvirtd \ - --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin - ''; + postInstall = '' + substituteInPlace $out/libexec/libvirt-guests.sh \ + --replace "$out/bin" "${gettext}/bin" + wrapProgram $out/sbin/libvirtd \ + --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin + ''; enableParallelBuilding = true; + NIX_CFLAGS_COMPILE = "-fno-stack-protector"; - meta = { + meta = with stdenv.lib; { homepage = http://libvirt.org/; - description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)"; - license = "LGPLv2+"; - platforms = stdenv.lib.platforms.linux; + repositories.git = git://libvirt.org/libvirt.git; + description = '' + A toolkit to interact with the virtualization capabilities of recent + versions of Linux (and other OSes) + ''; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ wizeman ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix index 46e73a121fe3..aa869b4b19d8 100644 --- a/pkgs/development/libraries/libvpx/default.nix +++ b/pkgs/development/libraries/libvpx/default.nix @@ -1,13 +1,13 @@ {stdenv, fetchurl, bash, yasm, which, perl}: -let version = "1.2.0"; +let version = "1.3.0"; in stdenv.mkDerivation rec { name = "libvpx-" + version; src = fetchurl { # sadly, there's no official tarball for this release - url = "ftp://ftp.archlinux.org/other/libvpx/libvpx-${version}.tar.xz"; - sha256 = "02k9ylswgr2hvjqmg422fa9ggym0g94gzwb14nnckly698rvjc50"; + url = "http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2"; + sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc"; }; patchPhase = '' @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { [ "--disable-install-srcs" "--disable-install-docs" "--disable-examples" "--enable-vp8" "--enable-runtime-cpu-detect" "--enable-pic" ] # --enable-shared is only supported on ELF - ++ stdenv.lib.optional (!stdenv.isDarwin) "--enable-shared"; + ++ stdenv.lib.optional (!stdenv.isDarwin) "--disable-static --enable-shared"; installPhase = '' make quiet=false DIST_DIR=$out install diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix index ac5c6146cbae..18f57473fb91 100644 --- a/pkgs/development/libraries/libxklavier/default.nix +++ b/pkgs/development/libraries/libxklavier/default.nix @@ -1,12 +1,15 @@ { stdenv, fetchurl, pkgconfig, libX11, libXi, xkeyboard_config, libxml2 -, libICE, glib, libxkbfile, isocodes }: +, libICE, glib, libxkbfile, isocodes, gobjectIntrospection }: +let + version = "5.3"; +in stdenv.mkDerivation rec { - name = "libxklavier-5.0"; + name = "libxklavier-${version}"; src = fetchurl { - url = "mirror://sourceforge/gswitchit/${name}.tar.bz2"; - sha256 = "1c2dxinjfpq1lzxi0z46r0j80crbmwb0lkvnh6987cjjlwblpnfz"; + url = "mirror://gnome/sources/libxklavier/${version}/${name}.tar.xz"; + sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"; }; # TODO: enable xmodmap support, needs xmodmap DB @@ -14,6 +17,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gobjectIntrospection ]; + configureFlags = '' --with-xkb-base=${xkeyboard_config}/etc/X11/xkb --disable-xmodmap-support diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index b86df4969c29..b235c746e1a0 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation (rec { preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$out"''; installFlags = ''pythondir="$(out)/lib/${python.libPrefix}/site-packages"''; -} // stdenv.lib.optionalAttrs (!pythonSupport && stdenv.isFreeBSD) { +} // stdenv.lib.optionalAttrs (!pythonSupport) { configureFlags = "--with-python=no"; # otherwise build impurity bites us }) diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix index 37f03a1dfb69..aebb81020b3a 100644 --- a/pkgs/development/libraries/libxmlxx/default.nix +++ b/pkgs/development/libraries/libxmlxx/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl , pkgconfig, libxml2, glibmm, perl }: stdenv.mkDerivation rec { - name = "libxml++-2.30.1"; + name = "libxml++-2.37.1"; src = fetchurl { - url = "mirror://gnome/sources/libxml++/2.30/${name}.tar.bz2"; - sha256 = "02mrib11cjx5fshdr8p1biwvyl0xfkf86b6nh8ashwv590v0wgs3"; + url = "mirror://gnome/sources/libxml++/2.37/${name}.tar.xz"; + sha256 = "17xkdndcambij33k25cb5c4mg2457wi114kiaprjma9j0mh87cgk"; }; buildInputs = [ pkgconfig glibmm perl ]; diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index d8794142b7dc..fd84c53c88fd 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, libxml2 }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libxslt-1.1.28"; src = fetchurl { @@ -10,6 +10,17 @@ stdenv.mkDerivation (rec { buildInputs = [ libxml2 ]; + patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ]; + + configureFlags = [ + "--with-libxml-prefix=${libxml2}" + "--without-python" + "--without-crypto" + "--without-debug" + "--without-mem-debug" + "--without-debugger" + ]; + postInstall = '' mkdir -p $out/nix-support ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/ @@ -22,15 +33,4 @@ stdenv.mkDerivation (rec { platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.eelco ]; }; -} // (if !stdenv.isFreeBSD then {} else { - buildInputs = []; - - configureFlags = [ - "--with-libxml-prefix=${libxml2}" - "--without-python" - "--without-crypto" - "--without-debug" - "--without-mem-debug" - "--without-debugger" - ]; -})) +} diff --git a/pkgs/development/libraries/libxslt/patch-ah.patch b/pkgs/development/libraries/libxslt/patch-ah.patch new file mode 100644 index 000000000000..ea75b01178e3 --- /dev/null +++ b/pkgs/development/libraries/libxslt/patch-ah.patch @@ -0,0 +1,69 @@ +$NetBSD: patch-ah,v 1.3 2012/11/27 12:17:51 adam Exp $ + +Fix syms file for stricter solaris ld + +--- libxslt-1.1.28/libxslt/libxslt.syms.orig 2012-11-27 12:04:43.000000000 +0000 ++++ libxslt-1.1.28/libxslt/libxslt.syms +@@ -107,7 +107,7 @@ LIBXML2_1.0.11 { + xsltFreeCompMatchList; + xsltFreeTemplateHashes; + xsltGetTemplate; +- xsltMatchPattern; ++# xsltMatchPattern; + xsltTestCompMatchList; + + # preproc +@@ -407,7 +407,7 @@ LIBXML2_1.1.18 { + global: + + # xsltInternals +- xsltConstNamespaceNameXSLT; # variable ++# xsltConstNamespaceNameXSLT; # variable + xsltExtensionInstructionResultFinalize; + xsltExtensionInstructionResultRegister; + xsltInitCtxtKey; +@@ -416,24 +416,24 @@ LIBXML2_1.1.18 { + xsltInit; + + # xsltInternals +- xsltParseAnyXSLTElem; +- xsltParseSequenceConstructor; +- xsltPointerListAddSize; +- xsltPointerListClear; +- xsltPointerListCreate; +- xsltPointerListFree; ++# xsltParseAnyXSLTElem; ++# xsltParseSequenceConstructor; ++# xsltPointerListAddSize; ++# xsltPointerListClear; ++# xsltPointerListCreate; ++# xsltPointerListFree; + xsltRegisterLocalRVT; + xsltReleaseRVT; +- xsltRestoreDocumentNamespaces; ++# xsltRestoreDocumentNamespaces; + + # extensions +- xsltStyleStylesheetLevelGetExtData; ++# xsltStyleStylesheetLevelGetExtData; + + # xsltInternals + # xsltTransStorageAdd; removed in 1.1.28 + # xsltTransStorageRemove; removed in 1.1.28 + xsltUninit; +- xsltXSLTAttrMarker; # variable ++# xsltXSLTAttrMarker; # variable + } LIBXML2_1.1.9; + + LIBXML2_1.1.20 { +@@ -476,6 +476,10 @@ LIBXML2_1.1.26 { + + # transform + xsltProcessOneNode; ++ ++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local") ++ local: ++ *; + } LIBXML2_1.1.25; + + LIBXML2_1.1.27 { diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix index cf687c972430..d0ad17048aa5 100644 --- a/pkgs/development/libraries/libyaml/default.nix +++ b/pkgs/development/libraries/libyaml/default.nix @@ -1,16 +1,18 @@ -{stdenv, fetchurl}: - +{ stdenv, fetchurl }: +let + version = "0.1.6"; +in stdenv.mkDerivation { - name = "libyaml-0.1.4"; + name = "libyaml-${version}"; src = fetchurl { - url = http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz; - sha256 = "0dvavrhxjrjfxgdgysxqfpdy08lpg3m9i8vxjyvdkcjsmra1by3v"; + url = "http://pyyaml.org/download/libyaml/yaml-${version}.tar.gz"; + sha256 = "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx"; }; - meta = { + meta = with stdenv.lib; { homepage = http://pyyaml.org/; description = "A YAML 1.1 parser and emitter written in C"; - license = "free"; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/libyubikey/default.nix b/pkgs/development/libraries/libyubikey/default.nix new file mode 100644 index 000000000000..25c2117b059d --- /dev/null +++ b/pkgs/development/libraries/libyubikey/default.nix @@ -0,0 +1,21 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec +{ + version = "1.11"; + name = "libyubikey-${version}"; + + src = fetchurl + { + url = "http://opensource.yubico.com/yubico-c/releases/${name}.tar.gz"; + sha256 = "19pm4rqsnm9r0n5j26bqkxa1jpimdavzcvg5g7p416vkjhxc6lw9"; + }; + + meta = + { + homepage = "http://opensource.yubico.com/yubico-c/"; + description = "C library for manipulating Yubico YubiKey One-Time Passwords (OTPs)"; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} diff --git a/pkgs/development/libraries/libzdb/default.nix b/pkgs/development/libraries/libzdb/default.nix new file mode 100644 index 000000000000..90692569f089 --- /dev/null +++ b/pkgs/development/libraries/libzdb/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, sqlite}: + +stdenv.mkDerivation rec +{ + version = "3.0"; + name = "libzdb-${version}"; + + src = fetchurl + { + url = "http://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz"; + sha256 = "e334bcb9ca1410e863634a164e3b1b5784018eb6e90b6c2b527780fc29a123c8"; + }; + + buildInputs = [ sqlite ]; + + meta = + { + homepage = "http://www.tildeslash.com/libzdb/"; + description = "A small, easy to use Open Source Database Connection Pool Library."; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix index 914157c7a0cd..be50a58c54a0 100644 --- a/pkgs/development/libraries/libzip/default.nix +++ b/pkgs/development/libraries/libzip/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "libzip-0.11.1"; + name = "libzip-0.11.2"; src = fetchurl { url = "http://www.nih.at/libzip/${name}.tar.gz"; - sha256 = "15fwscng2lk0ypg45awk4y2grjqm987frnjcsnbxznfgpckrq7yy"; + sha256 = "1mcqrz37vjrfr4gnss37z1m7xih9x9miq3mms78zf7wn7as1znw3"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/log4cxx/default.nix b/pkgs/development/libraries/log4cxx/default.nix index e62fa2fa1c5f..b2e13a1e9ab8 100644 --- a/pkgs/development/libraries/log4cxx/default.nix +++ b/pkgs/development/libraries/log4cxx/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, autoconf, automake, libtool, libxml2, cppunit, boost -, apr, aprutil, db4, expat +, apr, aprutil, db, expat }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src/main/cpp/socketoutputstream.cpp ''; - buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db4 expat]; + buildInputs = [autoconf automake libtool libxml2 cppunit boost apr aprutil db expat]; meta = { homepage = http://logging.apache.org/log4cxx/index.html; diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix index 3b1fd9faa6b2..d8a2ea6ee377 100644 --- a/pkgs/development/libraries/mediastreamer/default.nix +++ b/pkgs/development/libraries/mediastreamer/default.nix @@ -3,11 +3,11 @@ libv4l, libtheora, intltool, libvpx, gsm, mesa, libX11, libXv, libXext, glew, libopus, libupnp, vim }: stdenv.mkDerivation rec { - name = "mediastreamer-2.9.0"; + name = "mediastreamer-2.10.0"; src = fetchurl { url = "mirror://savannah/linphone/mediastreamer/${name}.tar.gz"; - sha256 = "1mdcaqkcdwzlj7hy3bz0ipkrrqiw1cgy01in8f24rfra9i2bjif2"; + sha256 = "1sp1vjcz0rx518l7cfmkb4802xa5wyylr2b5hxlpjk3ygg28g3c0"; }; # TODO: make it load plugins from *_PLUGIN_PATH diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix new file mode 100644 index 000000000000..8e2e202f4320 --- /dev/null +++ b/pkgs/development/libraries/menu-cache/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, glib, pkgconfig }: + +stdenv.mkDerivation { + name = "menu-cache-0.5.1"; + src = fetchurl { + url = "mirror://sourceforge/lxde/menu-cache-0.5.1.tar.gz"; + sha256 = "08m1msgbl6j7j72cwcg18klb99jif8h1phkcnbplxkdf3w15irh8"; + }; + + buildInputs = [ glib pkgconfig ]; + + meta = with stdenv.lib; { + homepage = "http://blog.lxde.org/?tag=menu-cache"; + license = licenses.gpl2Plus; + description = "Library to read freedesktop.org menu files"; + maintainers = [ maintainers.ttuegel ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index f7ff87b34cc6..9452ae0a7c21 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,9 +1,8 @@ -{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoconf, automake, libtool +{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook , python, libxml2Python, file, expat, makedepend , libdrm, xorg, wayland, udev, llvm, libffi -, libvdpau +, libvdpau, libelf , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt -, enableR600LlvmCompiler ? true, libelf , enableExtraFeatures ? false # not maintained }: @@ -13,19 +12,19 @@ else /** Packaging design: - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now). - This or the mesa attribute (which also contains GLU) are small (~ 2.2 MB, mostly headers) + This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers) and are designed to be the buildInput of other packages. - DRI and EGL drivers are compiled into $drivers output, - which is bigger (~13 MB) and depends on LLVM (~44 MB). + which is much bigger and depends on LLVM. These should be searched at runtime in "/run/opengl-driver{,-32}/lib/*" and so are kind-of impure (given by NixOS). (I suppose on non-NixOS one would create the appropriate symlinks from there.) - - libOSMesa is in $osmesa (~4.2 MB) + - libOSMesa is in $osmesa (~4 MB) */ let - version = "9.2.5"; - # this is the default search path for DRI drivers (note: X server introduces an overriding env var) + version = "10.0.4"; + # this is the default search path for DRI drivers driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; in with { inherit (stdenv.lib) optional optionals optionalString; }; @@ -35,27 +34,27 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "1w3bxclgwl2hwyxk3za7dbdakb8jsya7afck35cz0v8pxppvjsml"; + sha256 = "0h2sq8h0l7415vsqfkb7mn1rxm62m2anpi9swlca69fbpr9bavpz"; }; prePatch = "patchShebangs ."; patches = [ ./static-gallium.patch - ./dricore-gallium.patch - ./werror-wundef.patch + # TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu), + # as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog ]; # Change the search path for EGL drivers from $drivers/* to driverLink postPatch = '' sed '/D_EGL_DRIVER_SEARCH_DIR=/s,EGL_DRIVER_INSTALL_DIR,${driverLink}/lib/egl,' \ -i src/egl/main/Makefile.am + '' + /* work around RTTI LLVM problems */ '' + patch -R -p1 < ${./rtti.patch} ''; outputs = ["out" "drivers" "osmesa"]; - preConfigure = "./autogen.sh"; - configureFlags = [ "--with-dri-driverdir=$(drivers)/lib/dri" "--with-egl-driver-dir=$(drivers)/lib/egl" @@ -72,11 +71,9 @@ stdenv.mkDerivation { "--enable-osmesa" # used by wine "--with-dri-drivers=i965,r200,radeon" - ("--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" - + optionalString enableR600LlvmCompiler ",radeonsi") - "--with-egl-platforms=x11,wayland,drm" "--enable-gbm" "--enable-shared-glapi" + "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi" + "--with-egl-platforms=x11,wayland,drm" "--enable-gbm" ] - ++ optional enableR600LlvmCompiler "--enable-r600-llvm-compiler" ++ optional enableTextureFloats "--enable-texture-float" ++ optionals enableExtraFeatures [ "--enable-openvg" "--enable-gallium-egl" # not needed for EGL in Gallium, but OpenVG might be useful @@ -90,17 +87,15 @@ stdenv.mkDerivation { ++ optionals stdenv.isLinux [libdrm] ; buildInputs = with xorg; [ - autoconf automake libtool intltool expat libxml2Python llvm + autoreconfHook intltool expat libxml2Python llvm libXfixes glproto dri2proto libX11 libXext libxcb libXt - libffi wayland libvdpau + libffi wayland libvdpau libelf ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ] ++ optional stdenv.isLinux udev - ++ optional enableR600LlvmCompiler libelf ; enableParallelBuilding = true; #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672 - # TODO: best fix this before merging >=9.2 to master # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; # also move libOSMesa to $osmesa, as it's relatively big diff --git a/pkgs/development/libraries/mesa/dricore-gallium.patch b/pkgs/development/libraries/mesa/dricore-gallium.patch deleted file mode 100644 index 9a8b6768277b..000000000000 --- a/pkgs/development/libraries/mesa/dricore-gallium.patch +++ /dev/null @@ -1,216 +0,0 @@ -commit 5208f187c7dade2c33385a56c1a5f1c3cedc8377 (HEAD, nix-patches) -Author: Vladimír Čunát -Date: Mon May 13 11:34:59 2013 +0200 - - 118-dricore-gallium.patch - -diff --git a/configure.ac b/configure.ac -index be89843..08f6761 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -928,6 +928,8 @@ AC_SUBST([GLESv2_LIB_DEPS]) - AC_SUBST([GLESv2_PC_LIB_PRIV]) - - DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la" -+MESAGALLIUM_LIBS="${DRI_LIB_DEPS}" -+AC_SUBST([MESAGALLIUM_LIBS], ${MESAGALLIUM_LIBS}) - - AC_SUBST([HAVE_XF86VIDMODE]) - -diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am -index 3cdec83..53ff69b 100644 ---- a/src/gallium/auxiliary/Makefile.am -+++ b/src/gallium/auxiliary/Makefile.am -@@ -34,14 +34,14 @@ if LLVM_NEEDS_FNORTTI - - AM_CXXFLAGS += -fno-rtti - --libgallium_la_LIBADD = $(LLVM_LIBS) -- - endif - - libgallium_la_SOURCES += \ - $(GALLIVM_SOURCES) \ - $(GALLIVM_CPP_SOURCES) - -+libgallium_la_LIBADD = ../../mesa/libdricore/libmesagallium.la $(LLVM_LIBS) $(GALLIUM_DRI_LIB_DEPS) -+ - endif - - indices/u_indices_gen.c: $(srcdir)/indices/u_indices_gen.py -diff --git a/src/gallium/targets/dri-i915/Makefile.am b/src/gallium/targets/dri-i915/Makefile.am -index f4f9030..e9b9462 100644 ---- a/src/gallium/targets/dri-i915/Makefile.am -+++ b/src/gallium/targets/dri-i915/Makefile.am -@@ -49,7 +49,7 @@ i915_dri_la_SOURCES = \ - i915_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - i915_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ - $(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \ -diff --git a/src/gallium/targets/dri-nouveau/Makefile.am b/src/gallium/targets/dri-nouveau/Makefile.am -index 69ccf32..fef4c63 100644 ---- a/src/gallium/targets/dri-nouveau/Makefile.am -+++ b/src/gallium/targets/dri-nouveau/Makefile.am -@@ -48,7 +48,7 @@ nouveau_dri_la_SOURCES = \ - nouveau_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - nouveau_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ - $(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \ -diff --git a/src/gallium/targets/dri-r300/Makefile.am b/src/gallium/targets/dri-r300/Makefile.am -index 8c0215d..6beb536 100644 ---- a/src/gallium/targets/dri-r300/Makefile.am -+++ b/src/gallium/targets/dri-r300/Makefile.am -@@ -49,7 +49,7 @@ r300_dri_la_SOURCES = \ - r300_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - r300_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ -diff --git a/src/gallium/targets/dri-r600/Makefile.am b/src/gallium/targets/dri-r600/Makefile.am -index 2b3524b..d40fb89 100644 ---- a/src/gallium/targets/dri-r600/Makefile.am -+++ b/src/gallium/targets/dri-r600/Makefile.am -@@ -48,7 +48,7 @@ r600_dri_la_SOURCES = \ - r600_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - r600_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/drivers/r600/libr600.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ -diff --git a/src/gallium/targets/dri-radeonsi/Makefile.am b/src/gallium/targets/dri-radeonsi/Makefile.am -index f7d87a6..87ab2aa 100644 ---- a/src/gallium/targets/dri-radeonsi/Makefile.am -+++ b/src/gallium/targets/dri-radeonsi/Makefile.am -@@ -49,7 +49,7 @@ radeonsi_dri_la_SOURCES = \ - radeonsi_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - radeonsi_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ -diff --git a/src/gallium/targets/dri-swrast/Makefile.am b/src/gallium/targets/dri-swrast/Makefile.am -index 1104379..72d2401 100644 ---- a/src/gallium/targets/dri-swrast/Makefile.am -+++ b/src/gallium/targets/dri-swrast/Makefile.am -@@ -49,7 +49,7 @@ swrast_dri_la_SOURCES = \ - swrast_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - swrast_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/dri/sw/libdrisw.la \ - $(top_builddir)/src/gallium/winsys/sw/dri/libswdri.la \ -diff --git a/src/gallium/targets/dri-vmwgfx/Makefile.am b/src/gallium/targets/dri-vmwgfx/Makefile.am -index ca7df65..4384976 100644 ---- a/src/gallium/targets/dri-vmwgfx/Makefile.am -+++ b/src/gallium/targets/dri-vmwgfx/Makefile.am -@@ -48,7 +48,7 @@ vmwgfx_dri_la_SOURCES = \ - vmwgfx_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined - - vmwgfx_dri_la_LIBADD = \ -- $(top_builddir)/src/mesa/libmesagallium.la \ -+ @MESAGALLIUM_LIBS@ \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ - $(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \ -diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am -index 5c40ae8..6922ab2 100644 ---- a/src/gallium/targets/egl-static/Makefile.am -+++ b/src/gallium/targets/egl-static/Makefile.am -@@ -104,7 +104,7 @@ AM_CPPFLAGS += \ - $(API_DEFINES) - - egl_gallium_la_LIBADD += \ -- $(top_builddir)/src/mesa/libmesagallium.la -+ @MESAGALLIUM_LIBS@ - # make st/mesa built-in when there is a single glapi provider - if HAVE_SHARED_GLAPI - egl_gallium_la_LIBADD += \ -diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am -index 41483dd..0045a673 100644 ---- a/src/mesa/Makefile.am -+++ b/src/mesa/Makefile.am -@@ -75,9 +75,6 @@ noinst_LTLIBRARIES += libmesa.la - else - check_LTLIBRARIES = libmesa.la - endif --if HAVE_GALLIUM --noinst_LTLIBRARIES += libmesagallium.la --endif - - SRCDIR = $(top_srcdir)/src/mesa/ - BUILDDIR = $(top_builddir)/src/mesa/ -@@ -119,15 +116,6 @@ libmesa_la_LIBADD = \ - $() - libmesa_la_LDFLAGS = - --libmesagallium_la_SOURCES = \ -- $(MESA_GALLIUM_FILES) \ -- $(MESA_ASM_FILES_FOR_ARCH) -- --libmesagallium_la_LIBADD = \ -- $(top_builddir)/src/glsl/libglsl.la \ -- $(top_builddir)/src/mesa/program/libprogram.la \ -- $() -- - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = gl.pc - -diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am -index 753548e..8761418 100644 ---- a/src/mesa/libdricore/Makefile.am -+++ b/src/mesa/libdricore/Makefile.am -@@ -42,6 +42,7 @@ libdricore@VERSION@_la_SOURCES = \ - libdricore@VERSION@_la_LDFLAGS = -version-number 1:0 - libdricore@VERSION@_la_LIBADD = \ - ../program/libdricore_program.la \ -+ $(top_builddir)/src/mapi/shared-glapi/libglapi.la - $() - - if HAVE_X86_ASM -@@ -65,8 +66,10 @@ AM_CPPFLAGS += \ - -I$(top_srcdir)/src/mesa/sparc - endif - -+lib_LTLIBRARIES = -+ - if HAVE_DRI --lib_LTLIBRARIES = libdricore@VERSION@.la -+lib_LTLIBRARIES += libdricore@VERSION@.la - - # Provide compatibility with scripts for the old Mesa build system for - # a while by putting a link to the driver into /lib of the build tree. -@@ -76,6 +79,17 @@ all-local: libdricore@VERSION@.la - ln -sf libdricore@VERSION@.so.1 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so - endif - -+libmesagallium_la_SOURCES = \ -+ $(STATETRACKER_FILES) -+libmesagallium_la_CFLAGS = @LLVM_CFLAGS@ -+libmesagallium_la_CXXFLAGS = @LLVM_CXXFLAGS@ -+libmesagallium_la_LIBADD = libdricore@VERSION@.la $(LLVM_LIBS) -+ -+if HAVE_GALLIUM -+noinst_LTLIBRARIES = libmesagallium.la -+endif -+ -+ - CLEANFILES = \ - $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1 \ - $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so diff --git a/pkgs/development/libraries/mesa/rtti.patch b/pkgs/development/libraries/mesa/rtti.patch new file mode 100644 index 000000000000..6b123139013d --- /dev/null +++ b/pkgs/development/libraries/mesa/rtti.patch @@ -0,0 +1,72 @@ +http://lists.freedesktop.org/archives/mesa-dev/2013-October/046311.html + +* As discussed on the mailing list, + forced no-rtti breaks C++ public + API's such as the Haiku C++ libGL.so +* -fno-rtti *can* be still set however + instead of blindly forcing -fno-rtti, + we can rely on the llvm-config + --cppflags output. + If the system llvm is built without + rtti (default), the no-rtti flag will be + present in llvm-config --cppflags + (which we pick up on) + If llvm is built with rtti + (REQUIRES_RTTI=1), then -fno-rtti is + removed from llvm-config --cppflags. +* We could selectively add / remove rtti + from various components, however mixing + rtti and non-rtti code is tricky and + could introduce bugs. +* This needs impact tested. +--- + configure.ac | 1 - + scons/llvm.py | 3 --- + src/gallium/auxiliary/Makefile.am | 6 ------ + 3 files changed, 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0d082d2..3335575 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1943,7 +1943,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes) + AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes) + AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) + AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1) +-AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302) + + AC_SUBST([ELF_LIB]) + +diff --git a/scons/llvm.py b/scons/llvm.py +index 7cd609c..c1c3736 100644 +--- a/scons/llvm.py ++++ b/scons/llvm.py +@@ -195,9 +195,6 @@ def generate(env): + if llvm_version >= distutils.version.LooseVersion('3.1'): + components.append('mcjit') + +- if llvm_version >= distutils.version.LooseVersion('3.2'): +- env.Append(CXXFLAGS = ('-fno-rtti',)) +- + env.ParseConfig('llvm-config --libs ' + ' '.join(components)) + env.ParseConfig('llvm-config --ldflags') + except OSError: +diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am +index 670e124..2d2d8d4 100644 +--- a/src/gallium/auxiliary/Makefile.am ++++ b/src/gallium/auxiliary/Makefile.am +@@ -25,12 +25,6 @@ AM_CXXFLAGS += \ + $(GALLIUM_CFLAGS) \ + $(LLVM_CXXFLAGS) + +-if LLVM_NEEDS_FNORTTI +- +-AM_CXXFLAGS += -fno-rtti +- +-endif +- + libgallium_la_SOURCES += \ + $(GALLIVM_SOURCES) \ + $(GALLIVM_CPP_SOURCES) +-- +1.8.4 diff --git a/pkgs/development/libraries/mesa/static-gallium.patch b/pkgs/development/libraries/mesa/static-gallium.patch index 755682d9f1e8..bb3f60eaf88a 100644 --- a/pkgs/development/libraries/mesa/static-gallium.patch +++ b/pkgs/development/libraries/mesa/static-gallium.patch @@ -1,11 +1,4 @@ -commit 2c910b6f186616cac8134e2a2cbe239c8351ed99 -Author: Vladimír Čunát -Date: Mon May 13 11:34:34 2013 +0200 - - 117-static-gallium.patch - - Conflicts (moving of VISIBILITY_ confused the merge): - src/gallium/auxiliary/Makefile.am +117-static-gallium.patch from Ubuntu Trusty diff --git a/configure.ac b/configure.ac index b9fcb0b..be89843 100644 diff --git a/pkgs/development/libraries/mesa/werror-wundef.patch b/pkgs/development/libraries/mesa/werror-wundef.patch deleted file mode 100644 index 4663f68bd7d3..000000000000 --- a/pkgs/development/libraries/mesa/werror-wundef.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN Mesa-9.2.0-orig/include/GL/gl.h Mesa-9.2.0/include/GL/gl.h ---- Mesa-9.2.0-orig/include/GL/gl.h 2013-08-14 03:34:42.000000000 +0200 -+++ Mesa-9.2.0/include/GL/gl.h 2013-09-24 19:34:58.319140812 +0200 -@@ -2088,7 +2088,7 @@ typedef void (APIENTRYP PFNGLMULTITEXCOO - - - --#if GL_ARB_shader_objects -+#if defined(GL_ARB_shaders_objects) && GL_ARB_shader_objects - - #ifndef GL_MESA_shader_debug - #define GL_MESA_shader_debug 1 diff --git a/pkgs/development/libraries/minixml/default.nix b/pkgs/development/libraries/minixml/default.nix index 33b713239c85..f3b1c2c72a77 100644 --- a/pkgs/development/libraries/minixml/default.nix +++ b/pkgs/development/libraries/minixml/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "mxml-${version}"; - version = "2.6"; + version = "2.8"; src = fetchurl { - url = "http://ftp.easysw.com/pub/mxml/${version}/${name}.tar.gz"; - sha256 = "15cpqr43cwvy1ms67rfav8l9fjgybkaqfq7nhag8qnhd3bd4glxh"; + url = "http://www.msweet.org/files/project3/${name}.tar.gz"; + sha256 = "1m8i62dfmgfc1v8y3zx0r4i2hr5n86yw01xh5kiq53bi3bwnk4qc"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix index 3824e3d3755b..e5d212dc2690 100644 --- a/pkgs/development/libraries/mpc/default.nix +++ b/pkgs/development/libraries/mpc/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, gmp, mpfr }: stdenv.mkDerivation rec { - name = "mpc-0.9"; + name = "mpc-1.0.1"; src = fetchurl { url = "http://www.multiprecision.org/mpc/download/${name}.tar.gz"; - sha1 = "229722d553030734d49731844abfef7617b64f1a"; + sha1 = "vxg0rkyn4cs40wr2cp6bbcyr1nnijzlc"; }; buildInputs = [ gmp mpfr ]; diff --git a/pkgs/development/libraries/mpfr/3.1.2.nix b/pkgs/development/libraries/mpfr/3.1.2.nix deleted file mode 100644 index fd164cf91052..000000000000 --- a/pkgs/development/libraries/mpfr/3.1.2.nix +++ /dev/null @@ -1,51 +0,0 @@ - -{stdenv, fetchurl, gmp}: - -stdenv.mkDerivation (rec { - name = "mpfr-3.1.2"; - - src = fetchurl { - url = "mirror://gnu/mpfr/${name}.tar.bz2"; - sha256 = "0sqvpfkzamxdr87anzakf9dhkfh15lfmm5bsqajk02h1mxh3zivr"; - }; - - buildInputs = [ gmp ]; - - doCheck = true; - - enableParallelBuilding = true; - - meta = { - homepage = http://www.mpfr.org/; - description = "GNU MPFR, a library for multiple-precision floating-point arithmetic"; - - longDescription = '' - The GNU MPFR library is a C library for multiple-precision - floating-point computations with correct rounding. MPFR is - based on the GMP multiple-precision library. - - The main goal of MPFR is to provide a library for - multiple-precision floating-point computation which is both - efficient and has a well-defined semantics. It copies the good - ideas from the ANSI/IEEE-754 standard for double-precision - floating-point arithmetic (53-bit mantissa). - ''; - - license = "LGPLv2+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.all; - }; -} - -// - -(stdenv.lib.optionalAttrs stdenv.isFreeBSD { - /* Work around a FreeBSD bug that otherwise leads to segfaults in - the test suite: - http://hydra.bordeaux.inria.fr/build/34862 - http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html - http://www.freebsd.org/cgi/query-pr.cgi?pr=161344 - */ - configureFlags = [ "--disable-thread-safe" ]; - })) diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index faa2e1b1a71e..8e3281c862ae 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -1,15 +1,24 @@ -{stdenv, fetchurl, gmp}: +{ stdenv, fetchurl, gmp }: -stdenv.mkDerivation (rec { - name = "mpfr-3.1.0"; +stdenv.mkDerivation rec { + name = "mpfr-3.1.2"; src = fetchurl { url = "mirror://gnu/mpfr/${name}.tar.bz2"; - sha256 = "105nx8qqx5x8f4rlplr2wk4cyv61iw5j3jgi2k21rpb8s6xbp9vl"; + sha256 = "0sqvpfkzamxdr87anzakf9dhkfh15lfmm5bsqajk02h1mxh3zivr"; }; buildInputs = [ gmp ]; + configureFlags = + /* Work around a FreeBSD bug that otherwise leads to segfaults in the test suite: + http://hydra.bordeaux.inria.fr/build/34862 + http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html + http://www.freebsd.org/cgi/query-pr.cgi?pr=161344 + */ + stdenv.lib.optional (stdenv.isSunOS or stdenv.isFreeBSD) "--disable-thread-safe" ++ + stdenv.lib.optional stdenv.is64bit "--with-pic"; + doCheck = true; enableParallelBuilding = true; @@ -37,14 +46,3 @@ stdenv.mkDerivation (rec { }; } -// - -(stdenv.lib.optionalAttrs stdenv.isFreeBSD { - /* Work around a FreeBSD bug that otherwise leads to segfaults in - the test suite: - http://hydra.bordeaux.inria.fr/build/34862 - http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00015.html - http://www.freebsd.org/cgi/query-pr.cgi?pr=161344 - */ - configureFlags = [ "--disable-thread-safe" ]; - })) diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix new file mode 100644 index 000000000000..6e1e8c8e1138 --- /dev/null +++ b/pkgs/development/libraries/mps/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, autoreconfHook, sqlite }: + +stdenv.mkDerivation rec { + name = "mps-${version}"; + version = "1.113.0"; + + src = fetchurl { + url = "http://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz"; + sha256 = "0v4difh3yl2mvpvnwlavhaags945l1452g07fllhdbpzgbjay79i"; + }; + + buildInputs = [ autoreconfHook sqlite ]; + + # Fix a slightly annoying build failure in 'make install' + patchPhase = "substituteInPlace ./Makefile.in --replace /hot/Release /hot"; + + meta = { + description = "A flexible memory management and garbage collection library"; + homepage = "http://www.ravenbrook.com/project/mps"; + license = stdenv.lib.licenses.sleepycat; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/libraries/mtdev/default.nix b/pkgs/development/libraries/mtdev/default.nix index 854becf6bb55..f92fe3730435 100644 --- a/pkgs/development/libraries/mtdev/default.nix +++ b/pkgs/development/libraries/mtdev/default.nix @@ -22,8 +22,6 @@ stdenv.mkDerivation rec { ''; license = "MIT/X11"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 569d7fe2a328..993993cecd07 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -8,7 +8,7 @@ let , but this is left as an exercise to the reader. So disable them for now. */ - cxx = stdenv.system != "i686-solaris"; + cxx = !stdenv.isSunOS; in stdenv.mkDerivation (rec { name = "ncurses-5.9"; @@ -18,11 +18,25 @@ stdenv.mkDerivation (rec { sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh"; }; + patches = [ ./patch-ac ]; + configureFlags = '' - --with-shared --includedir=''${out}/include --without-debug + --with-shared --without-debug --enable-pc-files --enable-symlinks ${if unicode then "--enable-widec" else ""}${if cxx then "" else "--without-cxx-binding"} ''; + # PKG_CONFIG_LIBDIR is where the *.pc files will be installed. If this + # directory doesn't exist, the configure script will disable installation of + # *.pc files. The configure script usually (on LSB distros) pick $(path of + # pkg-config)/../lib/pkgconfig. On NixOS that path doesn't exist and is not + # the place we want to put *.pc files from other packages anyway. So we must + # tell it explicitly where to install with PKG_CONFIG_LIBDIR. + preConfigure = '' + export configureFlags="$configureFlags --includedir=$out/include" + export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig" + mkdir -p "$PKG_CONFIG_LIBDIR" + ''; + selfNativeBuildInput = true; enableParallelBuilding = true; @@ -44,8 +58,11 @@ stdenv.mkDerivation (rec { echo "INPUT(-l''${lib}w)" > $out/lib/lib$lib.so ln -svf lib''${lib}w.a $out/lib/lib$lib.a ln -svf lib''${lib}w.so.5 $out/lib/lib$lib.so.5 + ln -svf ''${lib}w.pc $out/lib/pkgconfig/$lib.pc fi done; + ln -svf . $out/include/ncursesw + ln -svf ncursesw5-config $out/bin/ncurses5-config '' else ""; meta = { diff --git a/pkgs/development/libraries/ncurses/patch-ac b/pkgs/development/libraries/ncurses/patch-ac new file mode 100644 index 000000000000..73578f8a3675 --- /dev/null +++ b/pkgs/development/libraries/ncurses/patch-ac @@ -0,0 +1,40 @@ +$NetBSD: patch-ac,v 1.18 2011/11/01 14:47:46 hans Exp $ + +--- ncurses-5.9/configure.orig 2011-02-21 01:40:36.000000000 +0000 ++++ ncurses-5.9/configure +@@ -7096,6 +7096,13 @@ sco*) #(vi + # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer + ;; + solaris2.1[0-9]) #(vi ++ case "$GCC_VERSION" in ++ 4.[67].*) ++ cf_XOPEN_SOURCE=600 ++ cf_add_cflags=-std=c99 ++ CPPFLAGS="$CPPFLAGS -std=c99" ++ ;; ++ esac + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; + solaris2.[1-9]) #(vi +@@ -9640,12 +9647,7 @@ case ".$MANPAGE_RENAMES" in #(vi + .no) #(vi + ;; + .|.yes) +- # Debian 'man' program? +- if test -f /etc/debian_version ; then +- MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames +- else + MANPAGE_RENAMES=no +- fi + ;; + esac + +@@ -18449,7 +18444,7 @@ echo "${ECHO_T}$LIB_SUBSETS" >&6 + + ### Construct the list of include-directories to be generated + +-CPPFLAGS="$CPPFLAGS -I. -I../include" ++CPPFLAGS="-I. -I../include $CPPFLAGS" + if test "$srcdir" != "."; then + CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include" + fi diff --git a/pkgs/development/libraries/npapi-sdk/default.nix b/pkgs/development/libraries/npapi-sdk/default.nix new file mode 100644 index 000000000000..255468e78103 --- /dev/null +++ b/pkgs/development/libraries/npapi-sdk/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "npapi-sdk-${version}"; + + version = "0.27.2"; + + src = fetchurl { + url = "https://bitbucket.org/mgorny/npapi-sdk/downloads/${name}.tar.bz2"; + + sha256 = "0xxfcsjmmgbbyl9zwpzdshbx27grj5fnzjfmldmm9apws2yk9gq1"; + }; + + meta = with stdenv.lib; { + description = "NPAPI-SDK is a bundle of NPAPI headers by Mozilla"; + + homepage = https://code.google.com/p/npapi-sdk/; + license = licenses.bsd3; + maintainers = with maintainers; [ wizeman ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 2b6f952696cd..8aa8edfd3b91 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: -let version = "4.10.2"; in +let version = "4.10.3"; in stdenv.mkDerivation { name = "nspr-${version}"; src = fetchurl { url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha1 = "650e4aa35d58624bc1083ed585c81c4af09cf23c"; + sha256 = "1r81rc2v8rlvc9wfsmi98h7k4qwsqb37v5ww1c4v1nk5lsqpjmzj"; }; preConfigure = "cd nspr"; diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch new file mode 100644 index 000000000000..4268231380c1 --- /dev/null +++ b/pkgs/development/libraries/nss/85_security_load.patch @@ -0,0 +1,80 @@ +## 85_security_load.patch by Mike Hommey +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Load modules from $ORIGIN/nss. + +Index: nss/nss/cmd/shlibsign/shlibsign.c +=================================================================== +--- nss.orig/nss/cmd/shlibsign/shlibsign.c 2013-08-05 14:40:31.041657554 +0900 ++++ nss/nss/cmd/shlibsign/shlibsign.c 2013-08-05 14:40:31.033657739 +0900 +@@ -851,6 +851,8 @@ + libname = PR_GetLibraryName(NULL, "softokn3"); + assert(libname != NULL); + lib = PR_LoadLibrary(libname); ++ if (!lib) ++ lib = PR_LoadLibrary("/usr/lib/nss/libsoftokn3.so"); + assert(lib != NULL); + PR_FreeLibraryName(libname); + +Index: nss/nss/lib/pk11wrap/pk11load.c +=================================================================== +--- nss.orig/nss/lib/pk11wrap/pk11load.c 2013-08-05 14:40:31.041657554 +0900 ++++ nss/nss/lib/pk11wrap/pk11load.c 2013-08-05 14:40:31.033657739 +0900 +@@ -406,6 +406,13 @@ + * unload the library if anything goes wrong from here on out... + */ + library = PR_LoadLibrary(mod->dllName); ++ if ((library == NULL) && ++ !rindex(mod->dllName, PR_GetDirectorySeparator())) { ++ library = PORT_LoadLibraryFromOrigin(my_shlib_name, ++ (PRFuncPtr) &softoken_LoadDSO, ++ mod->dllName); ++ } ++ + mod->library = (void *)library; + + if (library == NULL) { +Index: nss/nss/lib/util/secload.c +=================================================================== +--- nss.orig/nss/lib/util/secload.c 2013-08-05 14:40:31.041657554 +0900 ++++ nss/nss/lib/util/secload.c 2013-08-05 14:40:31.033657739 +0900 +@@ -69,9 +69,14 @@ + + /* Remove the trailing filename from referencePath and add the new one */ + c = strrchr(referencePath, PR_GetDirectorySeparator()); ++ if (!c) { /* referencePath doesn't contain a / means that dladdr gave us argv[0] ++ * and program was called from $PATH. Hack to get libs from /usr/lib */ ++ referencePath = "/usr/lib/"; ++ c = &referencePath[8]; /* last / */ ++ } + if (c) { + size_t referencePathSize = 1 + c - referencePath; +- fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 1); ++ fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 5); + if (fullName) { + memcpy(fullName, referencePath, referencePathSize); + strcpy(fullName + referencePathSize, name); +@@ -81,6 +86,12 @@ + #endif + libSpec.type = PR_LibSpec_Pathname; + libSpec.value.pathname = fullName; ++ if ((referencePathSize >= 4) && ++ (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) { ++ memcpy(fullName + referencePathSize -4, "lib", 3); ++ } ++ strcpy(fullName + referencePathSize, "nss/"); ++ strcpy(fullName + referencePathSize + 4, name); + dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL + #ifdef PR_LD_ALT_SEARCH_PATH + /* allow library's dependencies to be found in the same directory +@@ -88,6 +99,10 @@ + | PR_LD_ALT_SEARCH_PATH + #endif + ); ++ if (! dlh) { ++ strcpy(fullName + referencePathSize, name); ++ dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL); ++ } + PORT_Free(fullName); + } + } diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index 64c07d9cb2e2..92cc12fe1be8 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -5,23 +5,17 @@ let nssPEM = fetchurl { - url = http://dev.gentoo.org/~anarchy/patches/nss-3.15-pem-support-20130617.patch.xz; - sha256 = "1k1m8lsgqwxx251943hks1dd13hz1adpqqb0hxwn011by5vmi201"; - }; - - secLoadPatch = fetchurl { - name = "security_load.patch"; - urls = http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.3.1-1/85_security_load.patch; - sha256 = "041c6v4cxwsy14qr5m9qs0gkv3w24g632cwpz27kacxpa886r1ds"; + url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz; + sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw"; }; in stdenv.mkDerivation rec { name = "nss-${version}"; - version = "3.15.3.1"; + version = "3.15.4"; src = fetchurl { - url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_3_1_RTM/src/${name}.tar.gz"; - sha1 = "4e0f81a1f770447dc5440201a579151b601463e2"; + url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_4_RTM/src/${name}.tar.gz"; + sha1 = "c164fac83fcbaff010786767e2a858ca23a89a5b"; }; buildInputs = [ nspr perl zlib sqlite ]; @@ -32,7 +26,8 @@ in stdenv.mkDerivation rec { patches = [ ./nss-3.15-gentoo-fixups.patch - secLoadPatch + # from http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch + ./85_security_load.patch ./nix_secload_fixup.patch ]; diff --git a/pkgs/development/libraries/ois/default.nix b/pkgs/development/libraries/ois/default.nix index abf6c7112a5c..67df3645eb90 100644 --- a/pkgs/development/libraries/ois/default.nix +++ b/pkgs/development/libraries/ois/default.nix @@ -1,4 +1,4 @@ -x@{builderDefsPackage +x@{builderDefsPackage, fetchurl , autoconf, automake, libtool, m4 , libX11, xproto, libXi, inputproto , libXaw, libXmu, libXt @@ -30,10 +30,17 @@ rec { inherit (sourceInfo) name version; inherit buildInputs; - phaseNames = ["doConfigure" "doMakeInstall"]; + phaseNames = ["doPatch" "doConfigure" "doMakeInstall"]; + + patches = [(fetchurl { + url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/ois/files/ois-1.3-gcc47.patch; + sha256 = "026jw06n42bcrmg0sbdhzc4cqxsnf7fw30a2z9cigd9x282zhii8"; + name = "gcc47.patch"; + })]; + patchFlags = "-p0"; configureCommand = ''sh bootstrap; sh configure''; - + meta = { description = "Object-oriented C++ input system"; maintainers = with a.lib.maintainers; diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix index 513b340e132a..28d361ea7b8d 100644 --- a/pkgs/development/libraries/opencolorio/default.nix +++ b/pkgs/development/libraries/opencolorio/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ocio-${version}"; - version = "1.0.8"; + version = "1.0.9"; src = fetchurl { - url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.8.zip"; - sha256 = "1l70bf40dz2znm9rh3r6xs9d6kp719y1djayb7dc89khfqqbx2di"; + url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.9.zip"; + sha256 = "14j80dgbb6f09z63aqh2874vhzpga6zksz8jmqnj1zh87x15pqnr"; }; buildInputs = [ cmake unzip ]; diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index 60b9c7738a0b..c8e8ff352773 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, openssl, cyrus_sasl, db4, groff}: +{stdenv, fetchurl, openssl, cyrus_sasl, db, groff}: stdenv.mkDerivation rec { - name = "openldap-2.4.35"; + name = "openldap-2.4.39"; src = fetchurl { url = "ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/${name}.tgz"; - sha256 = "1swy3rly6y0asikp862sigmab8gcll6scb65ln10vps7q5s0640n"; + sha256 = "19zq9dc7dl03wmqd11fbsdii1npyq1vlicl3nxbfygqh8xrwhrw2"; }; - buildInputs = [ openssl cyrus_sasl db4 groff ]; + buildInputs = [ openssl cyrus_sasl db groff ]; configureFlags = [ "--enable-overlays" @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.openldap.org/"; description = "An open source implementation of the Lightweight Directory Access Protocol"; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 6e61b743a568..678a439fe0ac 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation { homePage = http://www.open-mpi.org/; description = "Open source MPI-2 implementation"; longDescription = "The Open MPI Project is an open source MPI-2 implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers."; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 640b99df5473..0d57018dcd6f 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -2,7 +2,7 @@ , withCryptodev ? false, cryptodevHeaders }: let - name = "openssl-1.0.1e"; + name = "openssl-1.0.1g"; opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] (throw "openssl needs its platform name cross building" null) @@ -41,7 +41,7 @@ stdenv.mkDerivation { "http://www.openssl.org/source/${name}.tar.gz" "http://openssl.linux-mirror.org/source/${name}.tar.gz" ]; - sha256 = "1qqskk39jh85fvdn3ycmdqjdf67c0b97dwmmbcysl4gzr3l1akzp"; + sha256 = "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk"; }; patches = patchesCross false; @@ -53,7 +53,9 @@ stdenv.mkDerivation { # On x86_64-darwin, "./config" misdetects the system as # "darwin-i386-cc". So specify the system type explicitly. configureScript = - if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc" else "./config"; + if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc" + else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc" + else "./config"; configureFlags = "shared --libdir=lib --openssldir=etc/ssl" + stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"; diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix index 67be64921e75..be6216b758c9 100644 --- a/pkgs/development/libraries/p11-kit/default.nix +++ b/pkgs/development/libraries/p11-kit/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libiconv, pkgconfig, libffi, libtasn1 }: stdenv.mkDerivation rec { - name = "p11-kit-0.20.1"; + name = "p11-kit-0.20.2"; src = fetchurl { url = "${meta.homepage}releases/${name}.tar.gz"; - sha256 = "0lsaxd1rg74ax1vkclq7r52b43rhy14mn5i14xqvb8dzlgq4hiaj"; + sha256 = "0z7gwmsj9hcmpk3ai2lwla59y3h9jc13xmqk5rijnv645zcm3v84"; }; postInstall = "rm -frv $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index f57ee931fafa..2dc71bb2d11b 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -2,16 +2,16 @@ , libintlOrEmpty, gobjectIntrospection }: stdenv.mkDerivation rec { - name = "pango-1.32.5"; #.6 and higher need a not-yet-stable fontconfig (!) + name = "pango-1.32.5"; #.6 and higher need fontconfig-2.11.* which is troublesome src = fetchurl { url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz"; sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx"; }; - buildInputs = [ gobjectIntrospection ] - ++ stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ]; - + buildInputs = with stdenv.lib; + optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex + ++ optionals stdenv.isDarwin [ gettext fontconfig ]; nativeBuildInputs = [ pkgconfig ]; @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + doCheck = true; postInstall = "rm -rf $out/share/gtk-doc"; meta = { diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix index f71c52e670bf..ab598f47a52d 100644 --- a/pkgs/development/libraries/pangomm/default.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "C++ interface to the Pango text rendering library"; homepage = http://www.pango.org/; - license = with licenses; [ lgpl2 lgpl21 ]; + # TODO license = with licenses; [ lgpl2 lgpl21 ]; maintainers = with maintainers; [ lovek323 raskin ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index e59c249348a8..51279701d4a5 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true }: stdenv.mkDerivation rec { - name = "pcre-8.31"; + name = "pcre-8.34"; src = fetchurl { url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2"; - sha256 = "5778a02535473c7ee7838ea598c19f451e63cf5eec0bf0307a688301c9078c3c"; + sha256 = "0gsqmsp0q0n3q0ba32gkjvgcsdy6nwidqa7sbxkbw817zzhkl15n"; }; # The compiler on Darwin crashes with an internal error while building the @@ -13,11 +13,14 @@ stdenv.mkDerivation rec { # problem. In case we ever update the Darwin GCC version, the exception for # that platform ought to be removed. configureFlags = '' + --enable-jit ${if unicodeSupport then "--enable-unicode-properties" else ""} ${if !cplusplusSupport then "--disable-cpp" else ""} '' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0"; - doCheck = !stdenv.isCygwin; # XXX: test failure on Cygwin + doCheck = with stdenv; !(isCygwin || isFreeBSD); + # XXX: test failure on Cygwin + # we are running out of stack on both freeBSDs on Hydra meta = { homepage = "http://www.pcre.org/"; diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix index c57b050ebc67..3111f71369a0 100644 --- a/pkgs/development/libraries/pocketsphinx/default.nix +++ b/pkgs/development/libraries/pocketsphinx/default.nix @@ -16,6 +16,5 @@ stdenv.mkDerivation rec { description = "Voice recognition library written in C"; homepage = http://cmusphinx.sourceforge.net; license = "free-non-copyleft"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 821e66ea0b30..d5d1614ec8f4 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -53,13 +53,10 @@ stdenv.mkDerivation rec { "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-polkitd-user=polkituser" #TODO? config.ids.uids.polkituser "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS + "--enable-introspection" ]; - makeFlags = - '' - INTROSPECTION_GIRDIR=$(out)/share/gir-1.0 - INTROSPECTION_TYPELIBDIR=$(out)lib/girepository-1.0 - ''; + makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0 INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; #doCheck = true; # some /bin/bash problem that isn't auto-solved by patchShebangs diff --git a/pkgs/development/libraries/poppler/0.18.nix b/pkgs/development/libraries/poppler/0.18.nix deleted file mode 100644 index 123d229f2ba5..000000000000 --- a/pkgs/development/libraries/poppler/0.18.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ fetchurl, stdenv, cairo, freetype, fontconfig, zlib -, libjpeg, curl, libpthreadstubs, xorg, openjpeg -, libxml2, pkgconfig, cmake, lcms, libiconvOrEmpty -, glibSupport ? false, glib, gtk3Support ? false, gtk3 # gtk2 no longer accepted -, qt4Support ? false, qt4 ? null -}: - -stdenv.mkDerivation rec { - name = "poppler-0.18.4"; - - src = fetchurl { - url = "${meta.homepage}${name}.tar.gz"; - sha256 = "0bnl05al7mjndp2h0355946j59nfw76f5v0x57d47q68rm412hik"; - }; - - propagatedBuildInputs = with xorg; - [ zlib cairo freetype fontconfig libjpeg lcms curl - libpthreadstubs libxml2 stdenv.gcc.libc - libXau libXdmcp libxcb libXrender libXext - openjpeg - ] - ++ stdenv.lib.optional glibSupport glib - ++ stdenv.lib.optional gtk3Support gtk3 - ++ stdenv.lib.optional qt4Support qt4; - - nativeBuildInputs = [ pkgconfig cmake ] ++ libiconvOrEmpty; - - cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; - - patches = [ ./datadir_env.patch ]; - - # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files - # such as `../../../test/unittestcases/UseNone.pdf'. - #doCheck = !qt4Support; - checkTarget = "test"; - - enableParallelBuilding = true; - - meta = { - homepage = http://poppler.freedesktop.org/; - description = "Poppler, a PDF rendering library"; - - longDescription = '' - Poppler is a PDF rendering library based on the xpdf-3.0 code base. - ''; - - platforms = if qt4Support - then qt4.meta.platforms - else stdenv.lib.platforms.all; - - license = "GPLv2"; - }; -} diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix index 34d5bac6adb3..f405e30433fb 100644 --- a/pkgs/development/libraries/portaudio/default.nix +++ b/pkgs/development/libraries/portaudio/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, alsaLib, pkgconfig }: stdenv.mkDerivation rec { - name = "portaudio-19-20111121"; + name = "portaudio-19-20140130"; src = fetchurl { - url = http://www.portaudio.com/archives/pa_stable_v19_20111121.tgz; - sha256 = "168vmcag3c5y3zwf7h5298ydh83g72q5bznskrw9cr2h1lrx29lw"; + url = http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz; + sha256 = "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g"; }; buildInputs = [ pkgconfig ] diff --git a/pkgs/development/libraries/ppl/default.nix b/pkgs/development/libraries/ppl/default.nix index 2ba6b5cb9078..cbdb7b128b45 100644 --- a/pkgs/development/libraries/ppl/default.nix +++ b/pkgs/development/libraries/ppl/default.nix @@ -1,13 +1,13 @@ { fetchurl, stdenv, gmpxx, perl, gnum4 }: -let version = "0.11.2"; in +let version = "1.0"; in stdenv.mkDerivation rec { name = "ppl-${version}"; src = fetchurl { url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2"; - sha256 = "1sxviip4yk6gp453pid5scy1ba66dzdpr02i1416yk7lkv0x3yz3"; + sha256 = "0m0b6dzablci8mlavpsmn5w1v3r46li0wpjwvsybgxx0p1ifjsf1"; }; nativeBuildInputs = [ perl gnum4 ]; @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { configureFlags = "--disable-watchdog"; + patches = [ ./upstream-based.patch ]; + # Beware! It took ~6 hours to compile PPL and run its tests on a 1.2 GHz # x86_64 box. Nevertheless, being a dependency of GCC, it probably ought # to be tested. @@ -40,7 +42,7 @@ stdenv.mkDerivation rec { version of the simplex algorithm. ''; - homepage = http://www.cs.unipr.it/ppl/; + homepage = http://bugseng.com/products/ppl/; license = "GPLv3+"; diff --git a/pkgs/development/libraries/ppl/upstream-based.patch b/pkgs/development/libraries/ppl/upstream-based.patch new file mode 100644 index 000000000000..551050f67bf9 --- /dev/null +++ b/pkgs/development/libraries/ppl/upstream-based.patch @@ -0,0 +1,42 @@ +https://bugs.gentoo.org/show_bug.cgi?id=447928 +--- ppl-1.0/src/p_std_bits.cc.org 2012-12-30 00:37:03.033948083 +0100 ++++ ppl-1.0/src/mp_std_bits.cc 2012-12-30 00:44:12.893019313 +0100 +@@ -25,6 +25,9 @@ + #include "ppl-config.h" + #include "mp_std_bits.defs.hh" + ++#if __GNU_MP_VERSION < 5 \ ++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) ++ + const bool std::numeric_limits::is_specialized; + const int std::numeric_limits::digits; + const int std::numeric_limits::digits10; +@@ -70,3 +73,6 @@ + const bool std::numeric_limits::traps; + const bool std::numeric_limits::tininess_before; + const std::float_round_style std::numeric_limits::round_style; ++ ++#endif // __GNU_MP_VERSION < 5 ++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) +--- ppl-1.0/src/mp_std_bits.defs.hh.org 2012-12-30 00:37:03.037948187 +0100 ++++ ppl-1.0/src/mp_std_bits.defs.hh 2012-12-30 00:42:32.002424189 +0100 +@@ -38,6 +38,9 @@ + #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS) + void swap(mpq_class& x, mpq_class& y); + ++#if __GNU_MP_VERSION < 5 \ ++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) ++ + namespace std { + + #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS +@@ -164,6 +167,9 @@ + + } // namespace std + ++#endif // __GNU_MP_VERSION < 5 ++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1) ++ + #include "mp_std_bits.inlines.hh" + + #endif // !defined(PPL_mp_std_bits_defs_hh) diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix index 1da9ef193b5f..952bdfa29cee 100644 --- a/pkgs/development/libraries/qca2/default.nix +++ b/pkgs/development/libraries/qca2/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { EMSA3_SHA512 ///< SHA512, with EMSA3 (ie PKCS#1 Version 1.5) encoding' ''; + patches = [ ./gcc47.patch ]; + configureFlags = "--no-separate-debug-info"; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/qca2/gcc47.patch b/pkgs/development/libraries/qca2/gcc47.patch new file mode 100644 index 000000000000..08711884a570 --- /dev/null +++ b/pkgs/development/libraries/qca2/gcc47.patch @@ -0,0 +1,12 @@ +# Thanks to http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20120917/347917.html +--- qca-2.0.3/src/botantools/botan/botan/secmem.h.orig 2007-04-19 23:26:13.000000000 +0200 ++++ qca-2.0.3/src/botantools/botan/botan/secmem.h 2012-09-16 23:28:43.767480490 +0200 +@@ -214,7 +214,7 @@ + + SecureVector(u32bit n = 0) { MemoryRegion::init(true, n); } + SecureVector(const T in[], u32bit n) +- { MemoryRegion::init(true); set(in, n); } ++ { MemoryRegion::init(true); this->set(in, n); } + SecureVector(const MemoryRegion& in) + { MemoryRegion::init(true); set(in); } + SecureVector(const MemoryRegion& in1, const MemoryRegion& in2) diff --git a/pkgs/development/libraries/qca2/ossl.nix b/pkgs/development/libraries/qca2/ossl.nix index 153d3ba57467..d2b8778aa142 100644 --- a/pkgs/development/libraries/qca2/ossl.nix +++ b/pkgs/development/libraries/qca2/ossl.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, fetchsvn, qt4, qca2, openssl, which}: +{stdenv, fetchurl, fetchgit, qt4, qca2, openssl, which}: stdenv.mkDerivation rec { version = "2.0.0-beta3"; @@ -9,10 +9,10 @@ stdenv.mkDerivation rec { }; # SVN version has stabilized and has a lot of fixes for fresh OpenSSL # Take the main source from there - svn_src = fetchsvn { - url = svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/plugins/qca-ossl ; - rev = 1115936; - sha256 = "ef2c0307e8834e1e7cb23b6fea1cc22486328a37186301a6c11161b1c93d834b"; + git_src = fetchgit { + url = git://anongit.kde.org/qca; + rev = "0a8b9db6613f2282fe492ff454412f502a6be410"; + sha256 = "1ebb97092f21b9152c6dda56cb33795bea4e83c82800848e800ddaaaf23a31e1"; }; buildInputs = [ qt4 qca2 openssl ]; nativeBuildInputs = [ which ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { configureFlags="--no-separate-debug-info --with-qca=${qca2} --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib"; preConfigure='' - cp ${svn_src}/qca-ossl.cpp . + cp ${git_src}/plugins/qca-ossl/qca-ossl.cpp . configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins" ''; diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix index e593200d1599..e94aecc41e43 100644 --- a/pkgs/development/libraries/qt-5/default.nix +++ b/pkgs/development/libraries/qt-5/default.nix @@ -145,7 +145,7 @@ stdenv.mkDerivation rec { postInstall = if buildDocs then "make docs&&make install_docs" else ""; - enableParallelBuilding = true; + #enableParallelBuilding = true; # often fails on Hydra, as well as qt4 meta = { homepage = http://qt-project.org; diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix new file mode 100644 index 000000000000..84a7a9b4ccf7 --- /dev/null +++ b/pkgs/development/libraries/rabbitmq-c/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, cmake, openssl, popt, xmlto }: + +stdenv.mkDerivation rec { + version = "0.4.1"; + name = "rabbitmq-c-${version}"; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/alanxz/rabbitmq-c/releases/download/v${version}/${name}.tar.gz"; + sha256 = "01m4n043hzhhxky8z67zj3r4gbg3mwcqbwqr9nms9lqbfaa70x93"; + }; + + buildInputs = [ cmake openssl popt xmlto ]; + + meta = { + description = "RabbitMQ C AMQP client library"; + homepage = https://github.com/alanxz/rabbitmq-c; + license = with stdenv.lib.licenses; mit; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/development/libraries/readline/readline-6.2-patches.nix b/pkgs/development/libraries/readline/readline-6.2-patches.nix index 719face21355..9fdcb3743b72 100644 --- a/pkgs/development/libraries/readline/readline-6.2-patches.nix +++ b/pkgs/development/libraries/readline/readline-6.2-patches.nix @@ -5,4 +5,5 @@ patch: [ (patch "002" "1m670g2xzib6r81315q9r24nh9brmxkpq07acch1fwxmih94jqqy") (patch "003" "0x13c9wir4r44v2vdg96y0ahn8kl3wcmb5y0xn15yvid6pzk28fb") (patch "004" "0xjlkxfssfsd6jwbqhfjs4hybcps0b9zgz8v86vbhnzag4j39g89") +(patch "005" "1x61bjl3wgs1gwla9b3y1hh12m1j5qlbis22258mljjl9mg900pg") ] diff --git a/pkgs/development/libraries/readline/readline6.3.nix b/pkgs/development/libraries/readline/readline6.3.nix new file mode 100644 index 000000000000..2f99b9d72183 --- /dev/null +++ b/pkgs/development/libraries/readline/readline6.3.nix @@ -0,0 +1,49 @@ +{ fetchurl, stdenv, ncurses }: + +stdenv.mkDerivation (rec { + name = "readline-6.3"; + + src = fetchurl { + url = "mirror://gnu/readline/${name}.tar.gz"; + sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"; + }; + + propagatedBuildInputs = [ncurses]; + + patchFlags = "-p0"; + + patches = + [ ./link-against-ncurses.patch ]; + + meta = { + description = "GNU Readline, a library for interactive line editing"; + + longDescription = '' + The GNU Readline library provides a set of functions for use by + applications that allow users to edit command lines as they are + typed in. Both Emacs and vi editing modes are available. The + Readline library includes additional functions to maintain a + list of previously-entered command lines, to recall and perhaps + reedit those lines, and perform csh-like history expansion on + previous commands. + + The history facilites are also placed into a separate library, + the History library, as part of the build process. The History + library may be used without Readline in applications which + desire its capabilities. + ''; + + homepage = http://savannah.gnu.org/projects/readline/; + + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + +// + +# Don't run the native `strip' when cross-compiling. +(if (stdenv ? cross) + then { dontStrip = true; } + else { })) diff --git a/pkgs/development/libraries/rubberband/default.nix b/pkgs/development/libraries/rubberband/default.nix index 9e606967ab11..b0707ad15f06 100644 --- a/pkgs/development/libraries/rubberband/default.nix +++ b/pkgs/development/libraries/rubberband/default.nix @@ -2,20 +2,21 @@ , vampSDK, ladspaH }: stdenv.mkDerivation { - name = "rubberband-1.7.0"; + name = "rubberband-1.8.1"; src = fetchurl { - url = http://code.breakfastquay.com/attachments/download/23/rubberband-1.7.0.tar.bz2; - sha256 = "10pnfzaiws6bi17qlyj3r0alj2nvm11pkd14nms6yxas8c7gwdw0"; + url = http://code.breakfastquay.com/attachments/download/23/rubberband-1.8.1.tar.bz2; + sha256 = "0x9bm2nqd6w2f35w2sqcp7h5z34i4w7mdg53m0vzjhffnnq6637z"; }; buildInputs = [ pkgconfig libsamplerate libsndfile fftw vampSDK ladspaH ]; - meta = { + meta = with stdenv.lib; { description = "High quality software library for audio time-stretching and pitch-shifting"; homepage = http://www.breakfastquay.com/rubberband/index.html; - license = ["GPL"]; # commercial license availible as well, see homepage. You'll get some more optimized routines - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + # commercial license available as well, see homepage. You'll get some more optimized routines + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu maintainers.marcweber ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix index 67041ad06078..8d55bafeb20d 100644 --- a/pkgs/development/libraries/ruby_ncursesw_sup/default.nix +++ b/pkgs/development/libraries/ruby_ncursesw_sup/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ncurses, ruby, rubygems }: stdenv.mkDerivation rec { - name = ''ncursesw-sup-afd962b9c06108ff0643e98593c5605314d76917''; + name = "ncursesw-sup-${version}"; + version = "1.4.6"; src = fetchurl { - url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/afd962b9c06108ff0643e98593c5605314d76917.tar.gz"; - sha256 = "13i286p4bm8zqg9xh96a1dg7wkywj9m6975gbh3w43d3rmfc1h6a"; + url = "https://github.com/sup-heliotrope/ncursesw-ruby/archive/v${version}.tar.gz"; + sha256 = "1fzmj5kqh2aql7r7jys8cyf7mb78kz71yc4a6gh74h9s8pybyhh7"; }; meta = { @@ -32,12 +33,12 @@ stdenv.mkDerivation rec { # For some reason, the installation phase doesn't work with the default # make install command run by gem (we'll fix it and do it ourselves later) gem install --no-verbose --install-dir "$out/${ruby.gemPath}" \ - --bindir "$out/bin" --no-rdoc --no-ri ncursesw-sup-1.3.1.2.gem || true + --bindir "$out/bin" --no-rdoc --no-ri ncursesw-${version}.gem || true # Needed for ruby to recognise the gem cp ncursesw.gemspec "$out/${ruby.gemPath}/specifications" - cd "$out/${ruby.gemPath}/gems/ncursesw-sup-1.3.1.2" + cd "$out/${ruby.gemPath}/gems/ncursesw-${version}" mkdir src mv lib src sed -i "s/srcdir = ./srcdir = src/" Makefile diff --git a/pkgs/development/libraries/sbc/default.nix b/pkgs/development/libraries/sbc/default.nix index 12662b9dea94..06411c1f22a8 100644 --- a/pkgs/development/libraries/sbc/default.nix +++ b/pkgs/development/libraries/sbc/default.nix @@ -15,8 +15,6 @@ stdenv.mkDerivation rec { homepage = http://www.bluez.org/; - licenses = stdenv.lib.licenses.gpl2; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; + license = stdenv.lib.licenses.gpl2; }; } diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix new file mode 100644 index 000000000000..cd56287f6ca0 --- /dev/null +++ b/pkgs/development/libraries/science/math/arpack/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, gfortran, openblas }: + +let version = "3.1.5"; +in +stdenv.mkDerivation { + name = "arpack-${version}"; + src = fetchurl { + url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/get/arpack-ng_${version}.tar.gz"; + sha256 = "05fmg4m0yri47rzgsl2mnr1qbzrs7qyd557p3v9wwxxw0rwcwsd2"; + }; + + buildInputs = [ gfortran ]; + propagatedBuildInputs = [ openblas ]; + + preConfigure = '' + substituteInPlace arpack.pc.in \ + --replace "@BLAS_LIBS@" "-L${openblas}/lib @BLAS_LIBS@" + ''; + + # Auto-detection fails because gfortran brings in BLAS by default + configureFlags="--with-blas=-lopenblas --with-lapack=-lopenblas"; + + meta = { + homepage = "http://forge.scilab.org/index.php/p/arpack-ng/"; + description = "A collection of Fortran77 subroutines to solve large scale eigenvalue problems"; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix index 63733a35b204..2fd5c9ad493d 100644 --- a/pkgs/development/libraries/serd/default.nix +++ b/pkgs/development/libraries/serd/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix index e758fe34c362..b511a841d190 100644 --- a/pkgs/development/libraries/serf/default.nix +++ b/pkgs/development/libraries/serf/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { buildPhase = '' scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \ - APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc" + APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc" ''; installPhase = '' @@ -40,6 +40,6 @@ stdenv.mkDerivation { description = "HTTP client library based on APR"; license = stdenv.lib.licenses.asl20 ; maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; }; } diff --git a/pkgs/development/libraries/silgraphite/default.nix b/pkgs/development/libraries/silgraphite/default.nix index db018cca4656..8e8cdc0ce1cf 100644 --- a/pkgs/development/libraries/silgraphite/default.nix +++ b/pkgs/development/libraries/silgraphite/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { version = "2.3.1"; name = "silgraphite-2.3.1"; - + src = fetchurl { url = "mirror://sourceforge/silgraphite/silgraphite/${version}/${name}.tar.gz"; sha256 = "9b07c6e91108b1fa87411af4a57e25522784cfea0deb79b34ced608444f2ed65"; @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { meta = { description = "An advanced font engine"; maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.linux; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix index 3212d13ce352..f874804c0010 100644 --- a/pkgs/development/libraries/silgraphite/graphite2.nix +++ b/pkgs/development/libraries/silgraphite/graphite2.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { meta = { description = "An advanced font engine"; maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.linux; + hydraPlatforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix index 0f2326420cbb..8f122cb699ac 100644 --- a/pkgs/development/libraries/sord/default.nix +++ b/pkgs/development/libraries/sord/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation rec { description = "A lightweight C library for storing RDF data in memory"; license = licenses.mit; maintainers = [ maintainers.goibhniu ]; - + platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix index dafa82bad347..1841fcbe4a13 100644 --- a/pkgs/development/libraries/sphinxbase/default.nix +++ b/pkgs/development/libraries/sphinxbase/default.nix @@ -19,7 +19,6 @@ stdenv.mkDerivation (rec { description = "Support Library for Pocketsphinx"; homepage = http://cmusphinx.sourceforge.net; license = "free-non-copyleft"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } // (stdenv.lib.optionalAttrs multipleOutputs { outputs = [ "out" "lib" "headers" ]; diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index 60bf24dfd784..adb1fe90558e 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1 , openssl, pulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib -, cyrus_sasl, python, pygtk, autoconf, automake, libtool }: +, cyrus_sasl, python, pygtk, autoconf, automake, libtool, usbredir +, gtk3, enableGTK3 ? false }: with stdenv.lib; @@ -13,9 +14,9 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gtk spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection - libjpeg_turbo zlib cyrus_sasl python pygtk - ]; + spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection + libjpeg_turbo zlib cyrus_sasl python pygtk usbredir + ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk ]); nativeBuildInputs = [ pkgconfig intltool libtool autoconf automake ]; @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-maintainer-mode" - "--with-gtk=2.0" + (if enableGTK3 then "--with-gtk3" else "--with-gtk=2.0") ]; dontDisableStatic = true; # Needed by the coroutine test diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index de96ab58eaef..ec392e715315 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -3,11 +3,11 @@ assert readline != null -> ncurses != null; stdenv.mkDerivation { - name = "sqlite-3.8.0.2"; + name = "sqlite-3.8.4.3"; src = fetchurl { - url = http://www.sqlite.org/2013/sqlite-autoconf-3080002.tar.gz; - sha1 = "294c30e882a0d45877bce09afe72d08ccfc6b650"; + url = "http://www.sqlite.org/2014/sqlite-autoconf-3080403.tar.gz"; + sha1 = "zd9nqg1fc41222hvzvmvzr92z80b3wvh"; }; buildInputs = [ readline ncurses ]; diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix index fc8dc123032a..6b8b611d3f7a 100644 --- a/pkgs/development/libraries/strigi/default.nix +++ b/pkgs/development/libraries/strigi/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig perl ]; + patches = [ ./export_bufferedstream.patch ]; + enableParallelBuilding = true; meta = { diff --git a/pkgs/development/libraries/strigi/export_bufferedstream.patch b/pkgs/development/libraries/strigi/export_bufferedstream.patch new file mode 100644 index 000000000000..4c6b34fe1bec --- /dev/null +++ b/pkgs/development/libraries/strigi/export_bufferedstream.patch @@ -0,0 +1,12 @@ +diff -u -r strigi-0.7.8/libstreams/include/strigi/bufferedstream.h strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h +--- strigi-0.7.8/libstreams/include/strigi/bufferedstream.h 2013-02-05 13:34:57.000000000 -0800 ++++ strigi-0.7.8_new/libstreams/include/strigi/bufferedstream.h 2013-07-14 17:01:54.000000000 -0700 +@@ -34,7 +34,7 @@ + * BufferedStream will do the rest. + */ + template +-class BufferedStream : public StreamBase { ++class STRIGI_EXPORT BufferedStream : public StreamBase { + private: + StreamBuffer buffer; + bool finishedWritingToBuffer; diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix index bd177ffc6600..f8c5a213ee3b 100644 --- a/pkgs/development/libraries/sword/default.nix +++ b/pkgs/development/libraries/sword/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig icu clucene_core curl ]; # because curl/types.h disappeared since at least curl 7.21.7 - patches = [ ./dont_include_curl_types_h.patch ]; + patches = [ ./dont_include_curl_types_h.patch ./gcc47.patch ]; prePatch = '' patchShebangs .; diff --git a/pkgs/development/libraries/sword/gcc47.patch b/pkgs/development/libraries/sword/gcc47.patch new file mode 100644 index 000000000000..7b55de75b646 --- /dev/null +++ b/pkgs/development/libraries/sword/gcc47.patch @@ -0,0 +1,35 @@ +https://bugs.gentoo.org/419505 + + +--- a/include/multimapwdef.h ++++ b/include/multimapwdef.h +@@ -12,21 +12,21 @@ class multimapwithdefault : public std::multimap { + public: + typedef std::pair value_type; + T& getWithDefault(const Key& k, const T& defaultValue) { +- if (find(k) == this->end()) { +- insert(value_type(k, defaultValue)); ++ if (this->find(k) == this->end()) { ++ this->insert(value_type(k, defaultValue)); + } +- return (*(find(k))).second; ++ return (*(this->find(k))).second; + } + + T& operator[](const Key& k) { +- if (find(k) == this->end()) { +- insert(value_type(k, T())); ++ if (this->find(k) == this->end()) { ++ this->insert(value_type(k, T())); + } +- return (*(find(k))).second; ++ return (*(this->find(k))).second; + } + bool has(const Key& k, const T &val) const { +- typename std::multimap::const_iterator start = lower_bound(k); +- typename std::multimap::const_iterator end = upper_bound(k); ++ typename std::multimap::const_iterator start = this->lower_bound(k); ++ typename std::multimap::const_iterator end = this->upper_bound(k); + for (; start!=end; start++) { + if (start->second == val) + return true; diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix index 9a4ba00e1d33..ebd8699dc17c 100644 --- a/pkgs/development/libraries/t1lib/default.nix +++ b/pkgs/development/libraries/t1lib/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, x11, libXaw, libXpm}: +{stdenv, fetchurl, xlibsWrapper, libXaw, libXpm}: stdenv.mkDerivation { name = "t1lib-5.1.2"; @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2"; }; - buildInputs = [x11 libXaw libXpm]; + buildInputs = [xlibsWrapper libXaw libXpm]; buildFlags = "without_doc"; } diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix index cd083f0d80ad..41087044e49d 100644 --- a/pkgs/development/libraries/taglib/default.nix +++ b/pkgs/development/libraries/taglib/default.nix @@ -1,20 +1,22 @@ {stdenv, fetchurl, zlib, cmake}: stdenv.mkDerivation rec { - name = "taglib-1.8"; + name = "taglib-1.9.1"; src = fetchurl { - url = "https://github.com/downloads/taglib/taglib/${name}.tar.gz"; - sha256 = "16i0zjpxqqslbwi4kl6y15qwm15mh7ykh74x19m2741wf20k9lv6"; + url = http://taglib.github.io/releases/taglib-1.9.1.tar.gz; + sha256 = "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj"; }; cmakeFlags = "-DWITH_ASF=ON -DWITH_MP4=ON"; - buildInputs = [zlib]; - nativeBuildInputs = [cmake]; + buildInputs = [ zlib ]; + nativeBuildInputs = [ cmake ]; meta = { homepage = http://developer.kde.org/~wheeler/taglib.html; + repositories.git = git://github.com/taglib/taglib.git; + description = "A library for reading and editing the meta-data of several popular audio formats"; inherit (cmake.meta) platforms; maintainers = [ stdenv.lib.maintainers.urkud ]; diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix index a6a624c0a878..a5185689ee0a 100644 --- a/pkgs/development/libraries/telepathy/farstream/default.nix +++ b/pkgs/development/libraries/telepathy/farstream/default.nix @@ -2,12 +2,12 @@ , pkgconfig, libxslt, python, gstreamer, gst_python, pygobject }: stdenv.mkDerivation rec { - name = "${pname}-0.4.0"; + name = "${pname}-0.6.1"; pname = "telepathy-farstream"; src = fetchurl { url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz"; - sha256 = "13mllgfx4b1hh1vpzq8lk5qfr3ivkkkmwbxgi6d47avgk746kznd"; + sha256 = "0ia8nldxxan1cvplr62aicjhfcrm27s3qyk0x46c8q0fmqvnzlm3"; }; buildInputs = [ gst_plugins_base gst_python pygobject ]; diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix index f44e4cbcd8b2..6c0806ec4cd1 100644 --- a/pkgs/development/libraries/telepathy/glib/default.nix +++ b/pkgs/development/libraries/telepathy/glib/default.nix @@ -1,16 +1,19 @@ -{ stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt }: +{ stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt +, gobjectIntrospection, valaSupport ? true, vala }: stdenv.mkDerivation rec { - name = "telepathy-glib-0.22.0"; + name = "telepathy-glib-0.24.0"; src = fetchurl { url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz"; - sha256 = "0mqrq2azw70rm50vy21acfnzn8mmh0w7dxh87mwr1lyk0jn1n232"; + sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"; }; - propagatedBuildInputs = [dbus_glib glib python]; + configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings"; - buildInputs = [pkgconfig libxslt]; + propagatedBuildInputs = [dbus_glib glib python gobjectIntrospection]; + + buildInputs = [pkgconfig libxslt] ++ stdenv.lib.optional valaSupport vala; meta = { homepage = http://telepathy.freedesktop.org; diff --git a/pkgs/development/libraries/telepathy/qt/cmake-2.8.12.diff b/pkgs/development/libraries/telepathy/qt/cmake-2.8.12.diff new file mode 100644 index 000000000000..f6e57c626c30 --- /dev/null +++ b/pkgs/development/libraries/telepathy/qt/cmake-2.8.12.diff @@ -0,0 +1,25 @@ +diff --git a/cmake/modules/FindQt.cmake b/cmake/modules/FindQt.cmake +index c2eac76..b3131f0 100644 +--- a/cmake/modules/FindQt.cmake ++++ b/cmake/modules/FindQt.cmake +@@ -74,10 +74,18 @@ ENDMACRO(QT_GET_MOC_FLAGS) + + MACRO(QT_CREATE_MOC_COMMAND infile outfile moc_flags moc_options) + IF(QT_VERSION_MAJOR MATCHES 4) +- QT4_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") ++ IF(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) ++ QT4_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}" "") ++ ELSE(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) ++ QT4_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") ++ ENDIF(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) + ELSE(QT_VERSION_MAJOR MATCHES 4) + IF(QT_VERSION_MAJOR MATCHES 5) +- QT5_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") ++ IF(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) ++ QT5_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}" "") ++ ELSE(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) ++ QT5_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") ++ ENDIF(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) + ENDIF(QT_VERSION_MAJOR MATCHES 5) + ENDIF(QT_VERSION_MAJOR MATCHES 4) + ENDMACRO(QT_CREATE_MOC_COMMAND) diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix index b535961357b0..f2e0d1945620 100644 --- a/pkgs/development/libraries/telepathy/qt/default.nix +++ b/pkgs/development/libraries/telepathy/qt/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig python libxslt ]; propagatedBuildInputs = [ qt4 dbus_glib telepathy_farstream telepathy_glib pythonDBus ]; + patches = [ ./cmake-2.8.12.diff ./farstream-0.2.diff ]; preBuild = '' NIX_CFLAGS_COMPILE+=" `pkg-config --cflags dbus-glib-1`" ''; diff --git a/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff new file mode 100644 index 000000000000..86d392fe1ac8 --- /dev/null +++ b/pkgs/development/libraries/telepathy/qt/farstream-0.2.diff @@ -0,0 +1,28 @@ +diff -urB telepathy-qt/cmake/modules/FindFarstream.cmake new/cmake/modules/FindFarstream.cmake +--- telepathy-qt/cmake/modules/FindFarstream.cmake 2012-04-25 22:14:22.275967164 +0200 ++++ new/cmake/modules/FindFarstream.cmake 2012-10-07 12:19:46.543103512 +0200 +@@ -23,9 +23,9 @@ + # in the find_path() and find_library() calls + find_package(PkgConfig) + if (FARSTREAM_MIN_VERSION) +- PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1>=${FARSTREAM_MIN_VERSION}) ++ PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2>=${FARSTREAM_MIN_VERSION}) + else (FARSTREAM_MIN_VERSION) +- PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.1) ++ PKG_CHECK_MODULES(PC_FARSTREAM farstream-0.2) + endif (FARSTREAM_MIN_VERSION) + set(FARSTREAM_DEFINITIONS ${PC_FARSTREAM_CFLAGS_OTHER}) + endif (NOT WIN32) +@@ -34,10 +34,10 @@ + PATHS + ${PC_FARSTREAM_INCLUDEDIR} + ${PC_FARSTREAM_INCLUDE_DIRS} +- PATH_SUFFIXES farstream-0.1 ++ PATH_SUFFIXES farstream-0.2 + ) + +-find_library(FARSTREAM_LIBRARIES NAMES farstream-0.1 ++find_library(FARSTREAM_LIBRARIES NAMES farstream-0.2 + PATHS + ${PC_FARSTREAM_LIBDIR} + ${PC_FARSTREAM_LIBRARY_DIRS} diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix index 2b555db32821..e1129d25ef4e 100644 --- a/pkgs/development/libraries/thrift/default.nix +++ b/pkgs/development/libraries/thrift/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf, -libtool, pkgconfig, bison, flex }: +{ stdenv, fetchgit, boost, zlib, libevent, openssl, python, automake, autoconf +, libtool, pkgconfig, bison, flex +}: stdenv.mkDerivation { name = "thrift-0.9.1"; @@ -13,14 +14,23 @@ stdenv.mkDerivation { }; enableParallelBuilding = true; - buildInputs = [ boost zlib libevent openssl python automake autoconf libtool - pkgconfig bison flex ]; + + # Workaround to make the python wrapper not drop this package: + # pythonFull.override { extraLibs = [ thrift ]; } + pythonPath = []; + + buildInputs = [ + boost zlib libevent openssl python automake autoconf libtool pkgconfig + bison flex + ]; preConfigure = "sh bootstrap.sh; export PY_PREFIX=$out"; - meta = { - homepage = http://thrift.apache.org/; - license = "ASL2.0"; + meta = with stdenv.lib; { description = "Library for scalable cross-language services"; + homepage = http://thrift.apache.org/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index 47925520ab47..11dc34176f53 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -30,8 +30,8 @@ args : with args; }; # official postgres connector psql = rec { - deriv = stdenv.mkDerivation { - name = "psql-odbc-08.03.0200"; + deriv = stdenv.mkDerivation rec { + name = "psqlodbc-09.03.0100"; buildInputs = [ unixODBC libtool postgresql openssl ]; preConfigure=" export CPPFLAGS=-I${unixODBC}/include @@ -39,9 +39,8 @@ args : with args; "; # added -ltdl to resolve missing references `dlsym' `dlerror' `dlopen' `dlclose' src = fetchurl { - url = http://wwwmaster.postgresql.org/redir?setmir=53&typ=h&url=http://ftp.de.postgresql.org/mirror/postgresql//odbc/versions/src/psqlodbc-08.03.0200.tar.gz; - name = "psqlodbc-08.03.0200.tar.gz"; - sha256 = "1401hgzvs3m2yr2nbbf9gfy2wwijrk4ihwz972arbn0krsiwxya1"; + url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz"; + sha256 = "0mh10chkmlppidnmvgbp47v5jnphsrls28zwbvyk2crcn8gdx9q1"; }; meta = { description = "unix odbc driver for postgresql"; @@ -91,8 +90,11 @@ args : with args; configureFlags = "--with-sqlite3=${sqlite} --with-odbc=${unixODBC}"; + # move libraries to $out/lib where they're expected to be postInstall = '' - mkdir -p $out/lib + mkdir -p "$out/lib" + mv "$out"/*.so "$out/lib" + mv "$out"/*.la "$out/lib" ''; meta = { diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix new file mode 100644 index 000000000000..7f05daab0210 --- /dev/null +++ b/pkgs/development/libraries/usbredir/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, libusb }: + +stdenv.mkDerivation rec { + name = "usbredir-${version}"; + version = "0.6"; + + src = fetchurl { + url = "http://spice-space.org/download/usbredir/${name}.tar.bz2"; + sha256 = "028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf"; + }; + + buildInputs = [ pkgconfig libusb ]; + propagatedBuildInputs = [ libusb ]; + + meta = with stdenv.lib; { + description = "USB traffic redirection protocol"; + homepage = http://spice-space.org/page/UsbRedir; + license = licenses.lgpl21; + + maintainers = [ maintainers.offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 5ac2487c9edc..0564e6887957 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { ln -sv ${gyp}/bin/gyp build/gyp/gyp ''; - nativeBuildInputs = stdenv.lib.optional (system == "i686-linux") which; + nativeBuildInputs = [ which ]; buildInputs = [ readline python ]; buildFlags = [ @@ -35,6 +35,9 @@ stdenv.mkDerivation { "${arch}.release" ]; + # http://code.google.com/p/v8/issues/detail?id=2149 + NIX_CFLAGS_COMPILE = "-Wno-unused-local-typedefs -Wno-aggressive-loop-optimizations"; + enableParallelBuilding = true; installPhase = '' diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix index fb24ba98b450..9a81b840b35d 100644 --- a/pkgs/development/libraries/vaapi-vdpau/default.nix +++ b/pkgs/development/libraries/vaapi-vdpau/default.nix @@ -8,13 +8,18 @@ stdenv.mkDerivation rec { sha256 = "1fcvgshzyc50yb8qqm6v6wn23ghimay23ci0p8sm8gxcy211jp0m"; }; + patches = [ ./glext85.patch + (fetchurl { url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/libva-vdpau-driver/files/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch?revision=1.1"; + name = "libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch"; + sha256 = "166svcav6axkrlb3i4rbf6dkwjnqdf69xw339az1f5yabj72pqqs"; + }) ]; + buildInputs = [ libvdpau mesa libva pkgconfig ]; preConfigure = '' sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure ''; - patches = [ ./glext85.patch ]; meta = { homepage = http://cgit.freedesktop.org/vaapi/vdpau-driver/; diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix index 83b921dd49b9..97251e15c497 100644 --- a/pkgs/development/libraries/vigra/default.nix +++ b/pkgs/development/libraries/vigra/default.nix @@ -1,11 +1,14 @@ { stdenv, fetchurl, cmake, libtiff, libpng, libjpeg, doxygen, python, fftw, fftwSinglePrec, hdf5, boost, numpy }: stdenv.mkDerivation rec { - name = "vigra-1.8.0"; + name = "vigra-1.9.0"; src = fetchurl { - url = "${meta.homepage}/${name}-src.tar.gz"; - sha256 = "0542qy1bqaq73l7i8aqdhwdbhd6m1wldsn1w2sfyf8yf4398ffpw"; + urls = [ + "${meta.homepage}/${name}-src.tar.gz" + "${meta.homepage}-old-versions/${name}-src.tar.gz" + ]; + sha256 = "00fg64da6dj9k42d90dz6y7x91xw1xqppcla14im74m4afswrgcg"; }; buildInputs = [ cmake fftw fftwSinglePrec libtiff libpng libjpeg python boost @@ -17,7 +20,7 @@ stdenv.mkDerivation rec { meta = { description = "Novel computer vision C++ library with customizable algorithms and data structures"; - homepage = http://hci.iwr.uni-heidelberg.de/vigra/; + homepage = http://hci.iwr.uni-heidelberg.de/vigra; license = "MIT"; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index e9ad56bdbf16..58631e832170 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }: -let version = "1.3.0"; in +let version = "1.4.0"; in stdenv.mkDerivation rec { name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0vhd8z74r4zmm7hrbb8l450sb6slqkdrvmk4k78sq9lays2pd09f"; + sha256 = "0n2sbh4xg8xkcjhyi3f4vwcv89krdriyfs0rzdibdj5l2ngkpwqq"; }; buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ]; diff --git a/pkgs/development/libraries/webkit/bison26.patch b/pkgs/development/libraries/webkit/bison26.patch deleted file mode 100644 index 95898adeb8a6..000000000000 --- a/pkgs/development/libraries/webkit/bison26.patch +++ /dev/null @@ -1,515 +0,0 @@ -Index: /trunk/Source/WebCore/ChangeLog -=================================================================== ---- /trunk/Source/WebCore/ChangeLog (revision 124098) -+++ /trunk/Source/WebCore/ChangeLog (revision 124099) -@@ -1,2 +1,27 @@ -+2012-07-30 Alexis Menard -+ -+ Build fix with newer bison 2.6. -+ https://bugs.webkit.org/show_bug.cgi?id=92264 -+ -+ Reviewed by Adam Barth. -+ -+ As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html -+ YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS -+ version I had access to as well as recent Linux runs at least version 2.3 so it's safe -+ to use the replacement of these deprecated macros in favor of %lex-param and %parse-param. -+ As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release -+ of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore. -+ -+ No new tests : build fix and the patch should not trigger any regressions -+ -+ * css/CSSGrammar.y: -+ * css/CSSParser.cpp: -+ * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define. -+ * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h -+ therefore including this file within the namespace {} declarations leads to xpathyyparse being -+ defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp -+ (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs -+ to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same. -+ - 2012-07-30 Sadrul Habib Chowdhury - -Index: /trunk/Source/WebCore/css/CSSParser.cpp -=================================================================== ---- /trunk/Source/WebCore/css/CSSParser.cpp (revision 124098) -+++ /trunk/Source/WebCore/css/CSSParser.cpp (revision 124099) -@@ -115,5 +115,5 @@ - #endif - --extern int cssyyparse(void* parser); -+extern int cssyyparse(WebCore::CSSParser*); - - using namespace std; -Index: /trunk/Source/WebCore/css/CSSGrammar.y -=================================================================== ---- /trunk/Source/WebCore/css/CSSGrammar.y (revision 124098) -+++ /trunk/Source/WebCore/css/CSSGrammar.y (revision 124099) -@@ -54,11 +54,10 @@ - #define YYDEBUG 0 - --// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x --#define YYPARSE_PARAM parser --#define YYLEX_PARAM parser -- - %} - - %pure_parser -+ -+%parse-param { CSSParser* parser } -+%lex-param { CSSParser* parser } - - %union { -@@ -90,5 +89,5 @@ - %{ - --static inline int cssyyerror(const char*) -+static inline int cssyyerror(void*, const char*) - { - return 1; -Index: /trunk/Source/WebCore/xml/XPathParser.cpp -=================================================================== ---- /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124098) -+++ /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124099) -@@ -33,22 +33,19 @@ - #include "XPathException.h" - #include "XPathNSResolver.h" -+#include "XPathPath.h" - #include "XPathStep.h" - #include - #include - --int xpathyyparse(void*); -- -+using namespace WebCore; - using namespace WTF; - using namespace Unicode; -- --namespace WebCore { --namespace XPath { -- --class LocationPath; -- --#include "XPathGrammar.h" -+using namespace XPath; -+ -+extern int xpathyyparse(WebCore::XPath::Parser*); -+#include "XPathGrammar.h" - - Parser* Parser::currentParser = 0; -- -+ - enum XMLCat { NameStart, NameCont, NotPartOfName }; - -@@ -631,4 +628,2 @@ - } - --} --} -Index: /trunk/Source/WebCore/xml/XPathGrammar.y -=================================================================== ---- /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124098) -+++ /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124099) -@@ -35,4 +35,5 @@ - #include "XPathPath.h" - #include "XPathPredicate.h" -+#include "XPathStep.h" - #include "XPathVariableReference.h" - #include -@@ -45,6 +46,4 @@ - #define YYDEBUG 0 - #define YYMAXDEPTH 10000 --#define YYPARSE_PARAM parserParameter --#define PARSER static_cast(parserParameter) - - using namespace WebCore; -@@ -54,4 +53,5 @@ - - %pure_parser -+%parse-param { WebCore::XPath::Parser* parser } - - %union -@@ -72,5 +72,5 @@ - - static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } --static void xpathyyerror(const char*) { } -+static void xpathyyerror(void*, const char*) { } - - %} -@@ -119,5 +119,5 @@ - OrExpr - { -- PARSER->m_topExpr = $1; -+ parser->m_topExpr = $1; - } - ; -@@ -139,5 +139,5 @@ - { - $$ = new LocationPath; -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | -@@ -151,5 +151,5 @@ - $$ = $2; - $$->insertFirstStep($1); -- PARSER->unregisterParseNode($1); -+ parser->unregisterParseNode($1); - } - ; -@@ -160,6 +160,6 @@ - $$ = new LocationPath; - $$->appendStep($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->registerParseNode($$); - } - | -@@ -167,5 +167,5 @@ - { - $$->appendStep($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - | -@@ -174,6 +174,6 @@ - $$->appendStep($2); - $$->appendStep($3); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); - } - ; -@@ -184,9 +184,9 @@ - if ($2) { - $$ = new Step(Step::ChildAxis, *$1, *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, *$1); -- PARSER->deleteNodeTest($1); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($1); -+ parser->registerParseNode($$); - } - | -@@ -195,6 +195,6 @@ - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$1, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$1, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } -@@ -202,9 +202,9 @@ - if ($2) { - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -213,9 +213,9 @@ - if ($3) { - $$ = new Step($1, *$2, *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, *$2); -- PARSER->deleteNodeTest($2); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($2); -+ parser->registerParseNode($$); - } - | -@@ -224,6 +224,6 @@ - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$2, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$2, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } -@@ -231,9 +231,9 @@ - if ($3) { - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($2); -- PARSER->registerParseNode($$); -+ parser->deleteString($2); -+ parser->registerParseNode($$); - } - | -@@ -260,6 +260,6 @@ - $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); - -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | -@@ -267,6 +267,6 @@ - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | -@@ -274,7 +274,7 @@ - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); -- PARSER->deleteString($1); -- PARSER->deleteString($3); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->deleteString($3); -+ parser->registerNodeTest($$); - } - ; -@@ -294,6 +294,6 @@ - $$ = new Vector; - $$->append(new Predicate($1)); -- PARSER->unregisterParseNode($1); -- PARSER->registerPredicateVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerPredicateVector($$); - } - | -@@ -301,5 +301,5 @@ - { - $$->append(new Predicate($2)); -- PARSER->unregisterParseNode($2); -+ parser->unregisterParseNode($2); - } - ; -@@ -316,5 +316,5 @@ - { - $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; -@@ -324,5 +324,5 @@ - { - $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | -@@ -330,5 +330,5 @@ - { - $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; -@@ -338,6 +338,6 @@ - { - $$ = new VariableReference(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -350,6 +350,6 @@ - { - $$ = new StringExpression(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -357,6 +357,6 @@ - { - $$ = new Number($1->toDouble()); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -370,6 +370,6 @@ - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -379,7 +379,7 @@ - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->deleteExpressionVector($3); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->deleteExpressionVector($3); -+ parser->registerParseNode($$); - } - ; -@@ -390,6 +390,6 @@ - $$ = new Vector; - $$->append($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerExpressionVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerExpressionVector($$); - } - | -@@ -397,5 +397,5 @@ - { - $$->append($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - ; -@@ -413,7 +413,7 @@ - $$->addSubExpression($1); - $$->addSubExpression($3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -431,7 +431,7 @@ - $3->setAbsolute(true); - $$ = new Path(static_cast($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | -@@ -441,8 +441,8 @@ - $3->setAbsolute(true); - $$ = new Path(static_cast($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -454,7 +454,7 @@ - { - $$ = new Filter($1, *$2); -- PARSER->unregisterParseNode($1); -- PARSER->deletePredicateVector($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->deletePredicateVector($2); -+ parser->registerParseNode($$); - } - ; -@@ -466,7 +466,7 @@ - { - $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -478,7 +478,7 @@ - { - $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -490,7 +490,7 @@ - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -502,7 +502,7 @@ - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -514,7 +514,7 @@ - { - $$ = new NumericOp(NumericOp::OP_Add, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | -@@ -522,7 +522,7 @@ - { - $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -534,7 +534,7 @@ - { - $$ = new NumericOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -547,6 +547,6 @@ - $$ = new Negative; - $$->addSubExpression($2); -- PARSER->unregisterParseNode($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($2); -+ parser->registerParseNode($$); - } - ; diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix deleted file mode 100644 index ef4d259cb029..000000000000 --- a/pkgs/development/libraries/webkit/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -args : with args; -let - s = import ./src-for-default.nix; # 1.8.3 needs newer gtk3, wait for x-updates - version = lib.attrByPath ["version"] s.version args; -in -rec { - src = fetchurl { - url = s.url; - sha256 = s.hash; - }; - - buildInputs = with xlibs; [ - pkgconfig libtool intltool autoconf automake gperf bison flex - gtk3 gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl - mesa libXt libXrender renderproto libXcomposite compositeproto - libXdamage damageproto kbproto - ]; - - propagatedBuildInputs = [ - gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good - ]; - - configureFlags = [ - # "--enable-3D-transforms" # no longer recognized - "--enable-web-sockets" - "--enable-web-timing" - - # https://bugs.webkit.org/show_bug.cgi?id=55294 - "--enable-image-resizer" - - "--enable-geolocation" - - # Not implemented? - # "--enable-web-audio" - - "--enable-mathml" - - #"--enable-wml" - - # https://bugs.webkit.org/show_bug.cgi?id=45110 - #"--enable-indexed-database" - - # Doesn't work in release... - #"--enable-xhtmlmp" - - # "--enable-input-speech" - - #"--enable-file-writer" # no longer recognized - "--enable-blob" - - # https://bugs.webkit.org/show_bug.cgi?id=59430 - # "--enable-directory-upload" - - # https://bugs.webkit.org/show_bug.cgi?id=58443 - # "--enable-file-system" - - "--enable-dependency-tracking" # to fix parallel building - ]; - - # instead of enableParallelBuilding = true; - makeFlags = "-j$NIX_BUILD_CORES"; - - /* doConfigure should be specified separately */ - phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") - "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"]; - - patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099 - patchFlags = "-p2"; - - #doCheck = true; # tests still have problems - - doReplaceUsrBin = fullDepEntry ('' - for i in $(find . -name '*.pl') $(find . -name '*.pm'); do - sed -e 's@/usr/bin/gcc@gcc@' -i $i - done - '') ["minInit" "doUnpack"]; - - doAddPrograms = fullDepEntry ('' - mkdir -p $out/bin - for i in Programs/.libs/* Programs/*; do - cp $i $out/bin/webkit-program-$(basename $i) || true - done - '') ["minInit" "doMake" "defEnsureDir"]; - - paranoidFixComments = fullDepEntry ('' - sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h') - '') ["minInit" "doUnpack"]; - - # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html - fixConfigure = fullDepEntry ('' - sed -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \ - -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \ - configure{,.ac} - '') ["minInit" "doUnpack"]; - - name = s.name; - meta = { - description = "WebKit - a fast and correct HTML renderer"; - maintainers = [stdenv.lib.maintainers.raskin]; - }; - passthru = { - inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup; - }; -} diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix deleted file mode 100644 index c2e3b9b06dd6..000000000000 --- a/pkgs/development/libraries/webkit/gtk2.nix +++ /dev/null @@ -1,109 +0,0 @@ - -args : with args; -let - s = import ./src-for-gtk2.nix; - version = lib.attrByPath ["version"] s.version args; -in -rec { - src = fetchurl { - url = s.url; - sha256 = s.hash; - }; - - buildInputs = with xlibs; [ - pkgconfig libtool intltool autoconf automake gperf bison flex - gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl - mesa libXt libXrender renderproto libXcomposite compositeproto - libXdamage damageproto kbproto - ]; - - propagatedBuildInputs = [ - gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good - ]; - - configureFlags = [ - "--with-gtk=2.0" - - # "--enable-3D-transforms" # no longer recognized - "--enable-web-sockets" - "--enable-web-timing" - - # https://bugs.webkit.org/show_bug.cgi?id=55294 - "--enable-image-resizer" - - "--enable-geolocation" - - # Not implemented? - # "--enable-web-audio" - - "--enable-mathml" - - #"--enable-wml" - - # https://bugs.webkit.org/show_bug.cgi?id=45110 - #"--enable-indexed-database" - - # Doesn't work in release... - #"--enable-xhtmlmp" - - # "--enable-input-speech" - - #"--enable-file-writer" # no longer recognized - "--enable-blob" - - # https://bugs.webkit.org/show_bug.cgi?id=59430 - # "--enable-directory-upload" - - # https://bugs.webkit.org/show_bug.cgi?id=58443 - # "--enable-file-system" - - "--enable-dependency-tracking" # to fix parallel building - ]; - - # instead of enableParallelBuilding = true; - makeFlags = "-j$NIX_BUILD_CORES"; - - /* doConfigure should be specified separately */ - phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") - "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"]; - - patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099 - patchFlags = "-p2"; - - #doCheck = true; # tests still have problems - - doReplaceUsrBin = fullDepEntry ('' - for i in $(find . -name '*.pl') $(find . -name '*.pm'); do - sed -e 's@/usr/bin/gcc@gcc@' -i $i - done - '') ["minInit" "doUnpack"]; - - doAddPrograms = fullDepEntry ('' - mkdir -p $out/bin - for i in Programs/.libs/* Programs/*; do - cp $i $out/bin/webkit-program-$(basename $i) || true - done - '') ["minInit" "doMake" "defEnsureDir"]; - - paranoidFixComments = fullDepEntry ('' - sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h') - '') ["minInit" "doUnpack"]; - - # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html - fixConfigure = fullDepEntry ('' - sed -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \ - -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \ - configure{,.ac} - '') ["minInit" "doUnpack"]; - - name = s.name; - meta = { - description = "WebKit - a fast and correct HTML renderer"; - maintainers = [stdenv.lib.maintainers.raskin]; - }; - passthru = { - inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup; - }; -} diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix deleted file mode 100644 index 65bcd4350960..000000000000 --- a/pkgs/development/libraries/webkit/src-for-default.nix +++ /dev/null @@ -1,10 +0,0 @@ -rec { - version="1.8.1"; - name="webkit-1.8.1"; - hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls"; - url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - - -} - diff --git a/pkgs/development/libraries/webkit/src-for-gtk2.nix b/pkgs/development/libraries/webkit/src-for-gtk2.nix deleted file mode 100644 index 65bcd4350960..000000000000 --- a/pkgs/development/libraries/webkit/src-for-gtk2.nix +++ /dev/null @@ -1,10 +0,0 @@ -rec { - version="1.8.1"; - name="webkit-1.8.1"; - hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls"; - url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - - -} - diff --git a/pkgs/development/libraries/webkit/src-for-svn.nix b/pkgs/development/libraries/webkit/src-for-svn.nix deleted file mode 100644 index f90bafbf6dc3..000000000000 --- a/pkgs/development/libraries/webkit/src-for-svn.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="r86499"; - name="webkit-r86499"; - hash="04sfwri81x2d9y3z0v7rhrr40vn0bxcbnhb8a0gymqkwa1ngpzmp"; - url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2"; - advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2"; - - -} diff --git a/pkgs/development/libraries/webkit/src-info-for-default.nix b/pkgs/development/libraries/webkit/src-info-for-default.nix deleted file mode 100644 index c4e5b8a6fd6e..000000000000 --- a/pkgs/development/libraries/webkit/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://webkitgtk.org/?page=download"; - versionExtractorSedScript = "s/.*-([.0-9]+)[.].*/\\1/"; - versionReferenceCreator = "s/-([.0-9.]+)[.]/-\${version}./"; - baseName = "webkit"; -} diff --git a/pkgs/development/libraries/webkit/src-info-for-svn.nix b/pkgs/development/libraries/webkit/src-info-for-svn.nix deleted file mode 100644 index 994cae544cb2..000000000000 --- a/pkgs/development/libraries/webkit/src-info-for-svn.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://nightly.webkit.org/"; - versionExtractorSedScript = "s/.*-(r[0-9]+)[.].*/\\1/"; - versionReferenceCreator = "s/-(r[0-9.]+)[.]/-\${version}./"; - baseName = "webkit"; -} diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 766bb7154746..8497ea9ae942 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -2,10 +2,13 @@ , pkgconfig, which, gettext, gobjectIntrospection , gtk2, gtk3, wayland, libwebp, enchant , libxml2, libsoup, libsecret, libxslt, harfbuzz +, gst-plugins-base +, withGtk2 ? false +, enableIntrospection ? true }: stdenv.mkDerivation rec { - name = "webkitgtk-2.2.3"; + name = "webkitgtk-2.4.0"; meta = { description = "Web content rendering engine, GTK+ port"; @@ -17,23 +20,23 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://webkitgtk.org/releases/${name}.tar.xz"; - sha256 = "01a69v0aw3bv2zkx6jzk71r3pjlf2xfhxavjnma89kmd78qb7g4l"; + sha256 = "1fyz6ysw7npy5wa7m1zg05zrj0gi0wdlpjbqix03iq4ym36pflnw"; }; patches = [ ./webcore-svg-libxml-cflags.patch ]; + CC = "cc"; + prePatch = '' patchShebangs Tools/gtk - - for i in $(find . -name '*.p[l|m]'); do - sed -e 's@/usr/bin/gcc@gcc@' -i $i - done ''; - configureFlags = [ + configureFlags = with stdenv.lib; [ "--disable-geolocation" - "--disable-video" # TODO: gsteramer-1.0 - "--enable-introspection" + (optionalString enableIntrospection "--enable-introspection") + ] ++ stdenv.lib.optional withGtk2 [ + "--with-gtk=2.0" + "--disable-webkit2" ]; dontAddDisableDepTrack = true; @@ -46,9 +49,13 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 wayland libwebp enchant libxml2 libsecret libxslt harfbuzz + gst-plugins-base ]; - propagatedBuildInputs = [ gtk3 libsoup ]; + propagatedBuildInputs = [ + libsoup + (if withGtk2 then gtk2 else gtk3) + ]; #enableParallelBuilding = true; # build problems on Hydra } diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index eb55d1d60f41..5b3f9e03ac7a 100644 --- a/pkgs/development/libraries/wildmidi/default.nix +++ b/pkgs/development/libraries/wildmidi/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, alsaLib, freepats }: +{ stdenv, fetchurl, cmake, alsaLib, freepats }: stdenv.mkDerivation rec { - name = "wildmidi-0.2.3.5"; + name = "wildmidi-0.3.6"; src = fetchurl { - url = "mirror://sourceforge/project/wildmidi/wildmidi/${name}.tar.gz"; - sha256 = "0m75753mn0rbwja180c2qk53s149wp4k35dijr2i6pa7sc12fr00"; + url = "https://github.com/Mindwerks/wildmidi/archive/${name}.tar.gz"; + sha256 = "0y8r812f8h9jqlajwbzni7f23k8kfcp4wxz3jdq75z902bsmdzpf"; }; - # NOTE: $out in configureFlags, like this: - # configureFlags = "--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg"; - # is not expanded, so use this workaround: - preConfigure = '' - configureFlags="--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg" - ''; + nativeBuildInputs = [ cmake ]; buildInputs = [ alsaLib ]; + preConfigure = '' + substituteInPlace CMakeLists.txt \ + --replace /etc/wildmidi $out/etc + ''; + postInstall = '' mkdir "$out"/etc echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg diff --git a/pkgs/development/libraries/wvstreams/default.nix b/pkgs/development/libraries/wvstreams/default.nix index 0b551b753f57..ecfc9b88a0e4 100644 --- a/pkgs/development/libraries/wvstreams/default.nix +++ b/pkgs/development/libraries/wvstreams/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation { preConfigure = '' find -type f | xargs sed -i 's@/bin/bash@bash@g' + + sed -e '1i#include ' -i $(find . -name '*.c' -o -name '*.cc') ''; buildInputs = [ qt4 dbus zlib openssl readline perl ]; diff --git a/pkgs/development/libraries/xbase/default.nix b/pkgs/development/libraries/xbase/default.nix index 847ca6510e5a..81447276db79 100644 --- a/pkgs/development/libraries/xbase/default.nix +++ b/pkgs/development/libraries/xbase/default.nix @@ -9,7 +9,13 @@ stdenv.mkDerivation { }; prePatch = "find . -type f -not -name configure -print0 | xargs -0 chmod -x"; - patches = [ ./xbase-fixes.patch ]; + patches = [ + ./xbase-fixes.patch + (fetchurl { + url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-db/xbase/files/xbase-3.1.2-gcc47.patch?revision=1.1"; + sha256 = "1kpcrkkcqdwl609yd0qxlvp743icz3vni13993sz6fkgn5lah8yl"; + }) + ]; meta = { homepage = http://linux.techass.com/projects/xdb/; diff --git a/pkgs/development/libraries/xlibs-wrapper/default.nix b/pkgs/development/libraries/xlibs-wrapper/default.nix index 07220d6e1a65..fcdab133e2f8 100644 --- a/pkgs/development/libraries/xlibs-wrapper/default.nix +++ b/pkgs/development/libraries/xlibs-wrapper/default.nix @@ -6,6 +6,8 @@ stdenv.mkDerivation { installPhase = "mkdir -p $out"; unpackPhase = "sourceRoot=."; propagatedBuildInputs = packages; + + preferLocalBuild = true; } // { # For compatability with XFree86. buildClientLibs = true; diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix index ef7a65599a92..9f578e4b9dde 100644 --- a/pkgs/development/libraries/xmlrpc-c/default.nix +++ b/pkgs/development/libraries/xmlrpc-c/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, curl }: stdenv.mkDerivation rec { - name = "xmlrpc-c-1.25.26"; + name = "xmlrpc-c-1.25.27"; src = fetchurl { url = "mirror://sourceforge/xmlrpc-c/${name}.tgz"; - sha256 = "1f82vsdkldhk1sfqyh6z0ylp5769x4fx3rnd2hw0c6fhx8swcmgj"; + sha256 = "0g9m9n258lpbs42a2lagd4h7qim1g34gkaqyx8h50qrsk49ipspn"; }; buildInputs = [ curl ]; diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix new file mode 100644 index 000000000000..29e92d0b6ece --- /dev/null +++ b/pkgs/development/libraries/zeroc-ice/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }: + +stdenv.mkDerivation rec { + name = "zeroc-ice-3.5.1"; + + src = fetchurl { + url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz"; + sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq"; + }; + + buildInputs = [ mcpp bzip2 expat openssl db5 ]; + + buildPhase = '' + cd cpp + make OPTIMIZE=yes + ''; + + installPhase = '' + make prefix=$out install + ''; + + meta = with stdenv.lib; { + homepage = "http://www.zeroc.com/ice.html"; + description = "The internet communications engine"; + license = licenses.gpl2; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index ec47c35c1530..0d4abaf25e0a 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, static ? false }: -let version = "1.2.7"; in +let version = "1.2.8"; in stdenv.mkDerivation rec { name = "zlib-${version}"; - + src = fetchurl { urls = [ "http://www.zlib.net/${name}.tar.gz" # old versions vanish from here "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz" ]; - sha256 = "1i96gsdvxqb6skp9a58bacf1wxamwi9m9pg4yn7cpf7g7239r77s"; + sha256 = "039agw5rqvqny92cpkrfn243x2gd4xn13hs3xi6isk55d2vqqr9n"; }; configureFlags = if static then "" else "--shared"; diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix index 69e53d4e8f64..055a491f4601 100644 --- a/pkgs/development/libraries/zziplib/default.nix +++ b/pkgs/development/libraries/zziplib/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { zip/unzip tools. ''; - licenses = [ "LGPLv2+" "MPLv1.1" ]; + license = [ "LGPLv2+" "MPLv1.1" ]; homepage = http://zziplib.sourceforge.net/; diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix index 0ae4ce13064c..efaadf5606e1 100644 --- a/pkgs/development/lisp-modules/clwrapper/default.nix +++ b/pkgs/development/lisp-modules/clwrapper/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation { phases="installPhase fixupPhase"; + preferLocalBuild = true; + passthru = { inherit lisp; }; diff --git a/pkgs/development/lisp-modules/stumpwm/default.nix b/pkgs/development/lisp-modules/stumpwm/default.nix index 57939526f565..ae0dab1ec9d4 100644 --- a/pkgs/development/lisp-modules/stumpwm/default.nix +++ b/pkgs/development/lisp-modules/stumpwm/default.nix @@ -1,4 +1,4 @@ -{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}: +{pkgs, nixLib, clwrapper, cl-ppcre, clx, buildLispPackage}: buildLispPackage rec { baseName = "stumpwm"; version = "2013-09"; @@ -9,7 +9,7 @@ buildLispPackage rec { }; description = "Tiling window manager for X11"; deps = [cl-ppcre clx]; - buildInputs = with pkgs; [texinfo autoconf which makeWrapper]; + buildInputs = with pkgs; [texinfo4 autoconf which makeWrapper]; meta = { maintainers = [nixLib.maintainers.raskin]; platforms = nixLib.platforms.linux; @@ -18,11 +18,11 @@ buildLispPackage rec { preConfigure = '' ${x.deployConfigScript} export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD/" - ./autogen.sh + ./autogen.sh configureFlags=" --with-lisp=$NIX_LISP --with-$NIX_LISP=$(which common-lisp.sh) --with-contrib-dir=$out/lib/common-lisp/stumpwm/contrib/" ''; installPhase = with pkgs; x.installPhase + '' - make install + make install if [ "$NIX_LISP" = "sbcl" ]; then wrapProgram "$out"/bin/stumpwm --set SBCL_HOME "${clwrapper.lisp}/lib/sbcl" diff --git a/pkgs/development/misc/amdadl-sdk/default.nix b/pkgs/development/misc/amdadl-sdk/default.nix index d311b6b722a9..c177d8fe03fd 100644 --- a/pkgs/development/misc/amdadl-sdk/default.nix +++ b/pkgs/development/misc/amdadl-sdk/default.nix @@ -1,12 +1,13 @@ -{ fetchurl, stdenv, unzip }: +{ requireFile, stdenv, unzip }: stdenv.mkDerivation rec { - version = "4.0"; + version = "6.0"; name = "amdadl-sdk-${version}"; - src = fetchurl { - url = "http://download2-developer.amd.com/amd/GPU/zip/ADL_SDK_${version}.zip"; - sha256 = "4265ee2f265b69cc39b61e10f79741c1d799f4edb71dce14a7d88509fbec0efa"; + src = requireFile { + name = "ADL_SDK_6.0.zip"; + url = http://developer.amd.com/tools-and-sdks/graphics-development/display-library-adl-sdk/; + sha256 = "429f4fd1edebb030d6366f4e0a877cf105e4383f7dd2ccf54e5aef8f2e4242c9"; }; buildInputs = [ unzip ]; @@ -17,6 +18,10 @@ stdenv.mkDerivation rec { unzip $src ''; + patchPhase = '' + sed -i -e '/include/a \#include ' include/adl_structures.h || die + ''; + buildPhase = '' #Build adlutil cd adlutil @@ -37,8 +42,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "API to access display driver functionality for ATI graphics cards"; homepage = http://developer.amd.com/tools/graphics-development/display-library-adl-sdk/; - license = licenses.amdadl; + license = licenses.unfree; maintainers = [ maintainers.offline ]; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index 9c843fa8c373..278c073dc586 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -2,9 +2,9 @@ { name, app ? null , platformVersion ? "8", abiVersion ? "armeabi-v7a", useGoogleAPIs ? false , enableGPU ? false, extraAVDFiles ? [] -, package ? null, activity ? null}: - -assert app != null -> package != null && activity != null; +, package ? null, activity ? null +, avdHomeDir ? null +}: let androidsdkComposition = androidsdk { @@ -20,7 +20,7 @@ stdenv.mkDerivation { mkdir -p $out/bin cat > $out/bin/run-test-emulator << "EOF" - #!/bin/sh -e + #! ${stdenv.shell} -e # We need a TMPDIR if [ "$TMPDIR" = "" ] @@ -28,8 +28,13 @@ stdenv.mkDerivation { export TMPDIR=/tmp fi - # Store the virtual devices somewhere else, instead of polluting a user's HOME directory - export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX) + ${if avdHomeDir == null then '' + # Store the virtual devices somewhere else, instead of polluting a user's HOME directory + export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX) + '' else '' + mkdir -p "${avdHomeDir}" + export ANDROID_SDK_HOME="${avdHomeDir}" + ''} # We have to look for a free TCP port @@ -54,17 +59,22 @@ stdenv.mkDerivation { export ANDROID_SERIAL="emulator-$port" - # Create a virtual android device - yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS + # Create a virtual android device for testing if it does not exists - ${stdenv.lib.optionalString enableGPU '' - # Enable GPU acceleration - echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini - ''} + if [ "$(android list avd | grep 'Name: device')" = "" ] + then + # Create a virtual android device + yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS - ${stdenv.lib.concatMapStrings (extraAVDFile: '' - ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd - '') extraAVDFiles} + ${stdenv.lib.optionalString enableGPU '' + # Enable GPU acceleration + echo "hw.gpu.enabled=yes" >> $ANDROID_SDK_HOME/.android/avd/device.avd/config.ini + ''} + + ${stdenv.lib.concatMapStrings (extraAVDFile: '' + ln -sf ${extraAVDFile} $ANDROID_SDK_HOME/.android/avd/device.avd + '') extraAVDFiles} + fi # Launch the emulator ${androidsdkComposition}/libexec/android-sdk-*/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & @@ -94,11 +104,24 @@ stdenv.mkDerivation { echo "ready" >&2 ${stdenv.lib.optionalString (app != null) '' - # Install the App through the debugger - ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install ${app}/*.apk + # Install the App through the debugger, if it has not been installed yet + + if [ -z "${package}" ] || [ "$(adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] + then + if [ -d "${app}" ] + then + appPath="$(echo ${app}/*.apk)" + else + appPath="${app}" + fi + + ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install "$appPath" + fi # Start the application - ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/.${activity} + ${stdenv.lib.optionalString (package != null && activity != null) '' + ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} + ''} ''} EOF chmod +x $out/bin/run-test-emulator diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix new file mode 100644 index 000000000000..92b8c9a18456 --- /dev/null +++ b/pkgs/development/mobile/flashtool/default.nix @@ -0,0 +1,64 @@ +{ stdenv, requireFile, p7zip, jre, libusb1, platformTools, gtk2, glib, libXtst }: + +assert stdenv.system == "i686-linux"; + +# TODO: +# +# The FlashTool and FlashToolConsole scripts are messy and should probably we +# replaced entirely. All these scripts do is try to guess the environment in +# which to run the Java binary (and they guess wrong on NixOS). +# +# The FlashTool scripts run 'chmod' on the binaries installed in the Nix +# store. These commands fail, naturally, because the Nix story is (hopefully) +# mounted read-only. This doesn't matter, though, because the build +# instructions fix the executable bits already. + +stdenv.mkDerivation rec { + name = "flashtool-0.9.14.0"; + + src = requireFile { + url = "http://dfiles.eu/files/n8c1c3pgc"; + name = "flashtool-0.9.14.0-linux.tar.7z"; + sha256 = "0mfjdjj7clz2dhkg7lzy1m8hk8ngla7zgcryf51aki1gnpbb2zc1"; + }; + + buildInputs = [ p7zip jre ]; + + unpackPhase = '' + 7z e ${src} + tar xf ${name}-linux.tar + sourceRoot=FlashTool + ''; + + buildPhase = '' + ln -s ${platformTools}/platform-tools/adb x10flasher_lib/adb.linux + ln -s ${platformTools}/platform-tools/fastboot x10flasher_lib/fastboot.linux + ln -s ${libusb1}/lib/libusb-1.0.so.0 ./x10flasher_lib/linux/lib32/libusbx-1.0.so + + chmod +x x10flasher_lib/unyaffs.linux.x86 x10flasher_lib/bin2elf x10flasher_lib/bin2sin + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" x10flasher_lib/unyaffs.linux.x86 + ln -sf unyaffs.linux.x86 x10flasher_lib/unyaffs.linux + + ln -s swt32.jar x10flasher_lib/swtlin/swt.jar + + sed -i \ + -e 's|$(uname -m)|i686|' \ + -e 's|export JAVA_HOME=.*|export JAVA_HOME=${jre}|' \ + -e 's|export LD_LIBRARY_PATH=.*|export LD_LIBRARY_PATH=${libXtst}/lib:${glib}/lib:${gtk2}/lib:./x10flasher_lib/linux/lib32|' \ + FlashTool FlashToolConsole + ''; + + installPhase = '' + mkdir -p $out + mv * $out/ + ''; + + meta = { + homepage = "http://www.flashtool.net/"; + description = "S1 flashing software for Sony phones from X10 to Xperia Z Ultra"; + license = stdenv.lib.licenses.unfreeRedistributableFirmware; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = stdenv.lib.platforms.none; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix index 068a9acedda4..1e32cce9c722 100644 --- a/pkgs/development/mobile/titaniumenv/build-app.nix +++ b/pkgs/development/mobile/titaniumenv/build-app.nix @@ -1,7 +1,7 @@ -{stdenv, androidsdk, titaniumsdk, xcodewrapper, jdk}: -{ appId, name, appName ? null, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ] +{stdenv, androidsdk, titaniumsdk, titanium, xcodewrapper, jdk, python, which}: +{ name, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null -, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosDistribute ? false +, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null }: assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null; @@ -15,92 +15,107 @@ let }; deleteKeychain = "security delete-keychain $keychainName"; - - _appName = if appName == null then name else appName; in stdenv.mkDerivation { name = stdenv.lib.replaceChars [" "] [""] name; inherit src; - buildInputs = [ jdk ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper; + buildInputs = [ titanium jdk python which ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper; buildPhase = '' export HOME=$TMPDIR - + + ${stdenv.lib.optionalString (tiVersion != null) '' + # Replace titanium version by the provided one + sed -i -e "s|[0-9a-zA-Z\.]*|${tiVersion}|" tiapp.xml + ''} + + # Simulate a login + mkdir -p $HOME/.titanium + cat > $HOME/.titanium/auth_session.json < $TMPDIR/config.json + titanium --config-file $TMPDIR/config.json --no-colors config sdk.defaultInstallLocation ${titaniumsdk} + + titanium --config-file $TMPDIR/config.json --no-colors config paths.modules ${titaniumsdk} + mkdir -p $out ${if target == "android" then - if release then - ''${titaniumsdk}/mobilesdk/*/*/android/builder.py distribute "${_appName}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId} ${androidKeyStore} ${androidKeyStorePassword} ${androidKeyAlias} $out'' - else - ''${titaniumsdk}/mobilesdk/*/*/android/builder.py build "${_appName}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId}'' - + '' + titanium config --config-file $TMPDIR/config.json --no-colors android.sdkPath ${androidsdkComposition}/libexec/android-sdk-* + + ${if release then + ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --password ${androidKeyStorePassword} --output-dir $out'' + else + ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only --output $out''} + '' else if target == "iphone" then - if iosDistribute then '' - export HOME=/Users/$(whoami) - export keychainName=$(basename $out) + '' + export NIX_TITANIUM_WORKAROUND="--config-file $TMPDIR/config.json" + + ${if release then + '' + export HOME=/Users/$(whoami) + export keychainName=$(basename $out) - # Create a keychain with the component hash name (should always be unique) - security create-keychain -p "" $keychainName - security default-keychain -s $keychainName - security unlock-keychain -p "" $keychainName - security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A + # Create a keychain with the component hash name (should always be unique) + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A - provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Z0-9]\{36\}") + provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Z0-9]\{36\}") - # Ensure that the requested provisioning profile can be found + # Ensure that the requested provisioning profile can be found + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] + then + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${iosMobileProvisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" + fi - if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] - then - mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" - cp ${iosMobileProvisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" - fi + # Make a copy of the Titanium SDK and fix its permissions. Without it, + # builds using the facebook module fail, because it needs to be writable - ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py distribute 7.0 $(pwd) ${appId} "${_appName}" "$provisioningId" "${iosCertificateName}" $out universal "$HOME/Library/Keychains/$keychainName" + cp -av ${titaniumsdk} $TMPDIR/titaniumsdk - # Remove our generated keychain + find $TMPDIR/titaniumsdk | while read i + do + chmod 755 "$i" + done + + # Simulate a login + mkdir -p $HOME/.titanium + cat > $HOME/.titanium/auth_session.json < , systems ? [ "x86_64-linux" "x86_64-darwin" ] , xcodeVersion ? "5.0" +, tiVersion ? "3.2.2.GA" , rename ? false , newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "" +, allowUnfree ? false }: let - pkgs = import nixpkgs {}; + pkgs = import nixpkgs { config.allowUnfree = allowUnfree; }; in rec { kitchensink_android_debug = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; in import ./kitchensink { inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion; }; + titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; }; + inherit tiVersion; target = "android"; }); kitchensink_android_release = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; in import ./kitchensink { inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion; }; + titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; }; + inherit tiVersion; target = "android"; release = true; }); emulate_kitchensink_debug = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; in import ./emulate-kitchensink { inherit (pkgs) androidenv; @@ -41,7 +45,7 @@ rec { emulate_kitchensink_release = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; in import ./emulate-kitchensink { inherit (pkgs) androidenv; @@ -55,7 +59,8 @@ rec { rec { kitchensink_ios_development = import ./kitchensink { inherit (pkgs) fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion; }; + titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; }; + inherit tiVersion; target = "iphone"; }; @@ -74,13 +79,14 @@ rec { }; } else {}) // (if rename then let - pkgs = import nixpkgs { system = "x86_64-darwin"; }; + pkgs = import nixpkgs { system = "x86_64-darwin"; config.allowUnfree = allowUnfree; }; in { kitchensink_ipa = import ./kitchensink { inherit (pkgs) stdenv fetchgit; - titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion; }; + titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion tiVersion; }; target = "iphone"; + inherit tiVersion; release = true; rename = true; inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword; diff --git a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix index 5187b0e02387..cad4503dc96e 100644 --- a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix +++ b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix @@ -6,5 +6,5 @@ androidenv.emulateApp { platformVersion = "16"; useGoogleAPIs = true; package = "com.appcelerator.kitchensink"; - activity = "KitchensinkActivity"; + activity = ".KitchensinkActivity"; } diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix index 001b91f551d2..95dd09be30dc 100644 --- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix +++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix @@ -1,4 +1,4 @@ -{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "11" ], release ? false +{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "11" ], tiVersion ? "3.2.1.GA", release ? false , rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null }: @@ -7,8 +7,8 @@ assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioning let src = fetchgit { url = https://github.com/appcelerator/KitchenSink.git; - rev = "d9f39950c0137a1dd67c925ef9e8046a9f0644ff"; - sha256 = "0aj42ac262hw9n9blzhfibg61kkbp3wky69rp2yhd11vwjlcq1qc"; + rev = "0b8175f20f0aa71f93921025dec5d0f3299960ae"; + sha256 = "0b2p4wbnlp46wpanqj5h3yfb2hdbh20nxbis8zscj4qlgrnyjdjz"; }; # Rename the bundle id to something else @@ -27,9 +27,8 @@ let in titaniumenv.buildApp { name = "KitchenSink-${target}-${if release then "release" else "debug"}"; - appName = "KitchenSink"; - appId = if rename then newBundleId else "com.appcelerator.kitchensink"; src = if rename then renamedSrc else src; + inherit tiVersion; inherit target androidPlatformVersions release; diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix similarity index 94% rename from pkgs/development/mobile/titaniumenv/titaniumsdk.nix rename to pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix index abf06a00fc9c..fa01dadc7756 100644 --- a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix +++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.1.nix @@ -72,5 +72,7 @@ stdenv.mkDerivation { '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") '' # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work. sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py + + sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js ''; } diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix new file mode 100644 index 000000000000..1f0d53e99fe5 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix @@ -0,0 +1,78 @@ +{stdenv, fetchurl, unzip, makeWrapper, python, jdk}: + +stdenv.mkDerivation { + name = "mobilesdk-3.2.2.v20140305122111"; + src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-linux.zip; + sha1 = "12dc1bfe8dd73db0650a235492f5f50c7b816d69"; + } + else if stdenv.system == "x86_64-darwin" then fetchurl { + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-osx.zip; + sha1 = "9875b59faf0ab92e8996b58476466405ed60f6e2"; + } + else throw "Platform: ${stdenv.system} not supported!"; + + buildInputs = [ unzip makeWrapper ]; + + buildCommand = '' + mkdir -p $out + cd $out + yes y | unzip $src + + # Fix shebang header for python scripts + + find . -name \*.py | while read i + do + sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i + done + + # Rename ugly version number + cd mobilesdk/* + mv 3.2.2.v20140305122111 3.2.2.GA + cd 3.2.2.GA + + # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that + # Yes, I know it's nasty :-) + + cd android + + sed -i -f ${./fixtiverify.sed} builder.py + sed -i -f ${./fixtiprofiler.sed} builder.py + sed -i -f ${./fixso.sed} builder.py + sed -i -f ${./fixnativelibs.sed} builder.py + + # Patch some executables + + ${if stdenv.system == "i686-linux" then + '' + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32 + '' + else if stdenv.system == "x86_64-linux" then + '' + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64 + '' + else ""} + + # Wrap builder script + + mv builder.py .builder.py + cat > builder.py <3.12 + +stdenv.mkDerivation { + name = "ocaml-typeconv-3.0.5"; + + src = fetchurl { + url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz"; + sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198"; + }; + + buildInputs = [ocaml findlib ]; + + createFindlibDestdir = true; + + meta = { + homepage = "http://forge.ocamlcore.org/projects/type-conv/"; + description = "Support library for OCaml preprocessor type conversions"; + license = "LGPL"; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/typeconv/default.nix b/pkgs/development/ocaml-modules/typeconv/default.nix index 299e7729b91e..33e30f5d5c8e 100644 --- a/pkgs/development/ocaml-modules/typeconv/default.nix +++ b/pkgs/development/ocaml-modules/typeconv/default.nix @@ -1,13 +1,11 @@ {stdenv, fetchurl, ocaml, findlib}: -# note: works only with ocaml >3.12 - stdenv.mkDerivation { - name = "ocaml-typeconv-3.0.5"; + name = "ocaml-typeconv-109.60.01"; src = fetchurl { - url = "http://forge.ocamlcore.org/frs/download.php/821/type_conv-3.0.5.tar.gz"; - sha256 = "90ac6c401a600a23012a3f513def6f67d4979b11bd551f4d0af78f0f0b479198"; + url = https://github.com/janestreet/type_conv/archive/109.60.01.tar.gz; + sha256 = "0lpxri68glgq1z2pp02rp45cb909xywbff8d4idljrf6fzzil2zx"; }; buildInputs = [ocaml findlib ]; @@ -17,7 +15,8 @@ stdenv.mkDerivation { meta = { homepage = "http://forge.ocamlcore.org/projects/type-conv/"; description = "Support library for OCaml preprocessor type conversions"; - license = "LGPL"; + license = stdenv.lib.licenses.lgpl21; platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ z77z ]; }; } diff --git a/pkgs/development/perl-modules/BerkeleyDB/default.nix b/pkgs/development/perl-modules/BerkeleyDB/default.nix index 01f698da2326..a6af84a6581d 100644 --- a/pkgs/development/perl-modules/BerkeleyDB/default.nix +++ b/pkgs/development/perl-modules/BerkeleyDB/default.nix @@ -1,4 +1,4 @@ -{buildPerlPackage, fetchurl, db4}: +{buildPerlPackage, fetchurl, db}: buildPerlPackage rec { name = "BerkeleyDB-0.54"; @@ -9,7 +9,7 @@ buildPerlPackage rec { }; preConfigure = '' - echo "LIB = ${db4}/lib" > config.in - echo "INCLUDE = ${db4}/include" >> config.in + echo "LIB = ${db}/lib" > config.in + echo "INCLUDE = ${db}/include" >> config.in ''; } diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix index 9310e3ca0816..5d22970155b6 100644 --- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix +++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix @@ -1,11 +1,11 @@ { fetchurl, buildPerlPackage, zlib, stdenv }: buildPerlPackage rec { - name = "Compress-Raw-Zlib-2.063"; + name = "Compress-Raw-Zlib-2.065"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz"; - sha256 = "16cn9pq4pngncs3qhlam0yw2l0q7hq4qfdyxp03jaad6ndc4dzp9"; + url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz"; + sha256 = "1i09h3dvn8ipaj1l2nq2qd19wzhn7wcpbsipdkcniwi0sgy1kf1p"; }; preConfigure = '' diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix index be5faa330aea..619f2f14b96b 100644 --- a/pkgs/development/perl-modules/DBD-Pg/default.nix +++ b/pkgs/development/perl-modules/DBD-Pg/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }: buildPerlPackage rec { - name = "DBD-Pg-2.19.3"; + name = "DBD-Pg-3.0.0"; src = fetchurl { - url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz"; - sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p"; + url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz"; + sha256 = "10s1dhpxxqfl421388l6gzfdm1gzxf5iah42i1w6yji9mgkz8hf8"; }; buildInputs = [ postgresql ]; diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 06688ded22a5..7b1741c3d1e9 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }: buildPerlPackage rec { - name = "DBD-SQLite-1.37"; + name = "DBD-SQLite-1.42"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "0197kvlziaj2wfdbzlhdlqmzvb29fmfyy6y2isbbwlg0b0f7ccd1"; + url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz"; + sha256 = "14x9cjsc8dz8ad1nad0bqiq9cbk1rjfb8h5y0rpk3pdl38y6afxb"; }; propagatedBuildInputs = [ DBI ]; diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix index 4017d8f5ca53..4195f8d613e7 100644 --- a/pkgs/development/perl-modules/DB_File/default.nix +++ b/pkgs/development/perl-modules/DB_File/default.nix @@ -1,4 +1,4 @@ -{fetchurl, buildPerlPackage, db4}: +{fetchurl, buildPerlPackage, db}: buildPerlPackage rec { name = "DB_File-1.831"; @@ -12,8 +12,8 @@ buildPerlPackage rec { cat > config.in < B -> C, +# C can import propagated packages by A , propagatedBuildInputs ? [] -, # List of packages that should be added to the PYTHONPATH - # environment variable in programs built by this function. Packages - # in the standard `propagatedBuildInputs' variable are also added. - # The difference is that `pythonPath' is not propagated to the user - # environment. This is preferrable for programs because it doesn't - # pollute the user environment. - pythonPath ? [] +# passed to "python setup.py install" +, setupPyInstallFlags ? [] -, installCommand ? - '' - easy_install --always-unzip --prefix="$out" . - '' - -, preConfigure ? "true" - -, buildPhase ? "true" +# passed to "python setup.py build" +, setupPyBuildFlags ? [] +# enable tests by default , doCheck ? true -, checkPhase ? - '' - runHook preCheck - ${python}/bin/${python.executable} setup.py test - runHook postCheck - '' - -, preInstall ? "" -, postInstall ? "" +# List of packages that should be added to the PYTHONPATH +# environment variable in programs built by this function. Packages +# in the standard `propagatedBuildInputs' variable are also added. +# The difference is that `pythonPath' is not propagated to the user +# environment. This is preferrable for programs because it doesn't +# pollute the user environment. +, pythonPath ? [] , meta ? {} +# Execute before shell hook +, preShellHook ? "" + +# Execute after shell hook +, postShellHook ? "" + , ... } @ attrs: -# Keep extra attributes from ATTR, e.g., `patchPhase', etc. +# Keep extra attributes from `attrs`, e.g., `patchPhase', etc. python.stdenv.mkDerivation (attrs // { - inherit doCheck buildPhase checkPhase; + inherit doCheck; name = namePrefix + name; - # default to python's platforms and add maintainer(s) to every - # package - meta = { - platforms = python.meta.platforms; - } // meta // { - maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow lib.maintainers.iElectric ]; - }; - - # checkPhase after installPhase to run tests on installed packages - phases = "unpackPhase patchPhase configurePhase buildPhase installPhase checkPhase fixupPhase distPhase"; - - buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath; + buildInputs = [ + python wrapPython setuptools + (distutils-cfg.override { extraCfg = distutilsExtraCfg; }) + ] ++ buildInputs ++ pythonPath + ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip); propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader ]; pythonPath = [ setuptools ] ++ pythonPath; - preConfigure = '' + configurePhase = attrs.configurePhase or '' + runHook preConfigure + + # patch python interpreter to write null timestamps when compiling python files + # with following var we tell python to activate the patch so that python doesn't + # try to update them when we freeze timestamps in nix store export DETERMINISTIC_BUILD=1 - PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH" - ${preConfigure} + + # prepend following line to import setuptools before distutils + # this way we make sure setuptools monkeypatches distutils commands + # this way setuptools provides extra helpers such as "python setup.py test" + sed -i '0,/import distutils/s//import setuptools;import distutils/' setup.py + sed -i '0,/from distutils/s//import setuptools;from distutils/' setup.py + + runHook postConfigure ''; - installPhase = preInstall + '' + checkPhase = attrs.checkPhase or '' + runHook preCheck + + ${python}/bin/${python.executable} setup.py test + + runHook postCheck + ''; + + buildPhase = attrs.buildPhase or '' + runHook preBuild + + ${python}/bin/${python.executable} setup.py build ${lib.concatStringsSep " " setupPyBuildFlags} + + runHook postBuild + ''; + + installPhase = attrs.installPhase or '' + runHook preInstall + mkdir -p "$out/lib/${python.libPrefix}/site-packages" - echo "installing \`${name}' with \`easy_install'..." export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" - ${installCommand} + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --old-and-unmanageable \ + --prefix="$out" ${lib.concatStringsSep " " setupPyInstallFlags} + + # --install-lib: + # sometimes packages specify where files should be installed outside the usual + # python lib prefix, we override that back so all infrastructure (setup hooks) + # work as expected + + # --old-and-unmanagable: + # instruct setuptools not to use eggs but fallback to plan package install + # this also reduces one .pth file in the chain, but the main reason is to + # force install process to install only scripts for the package we are + # installing (otherwise it will install scripts also for dependencies) # A pth file might have been generated to load the package from # within its own site-packages, rename this package not to @@ -94,21 +132,22 @@ python.stdenv.mkDerivation (attrs // { # corresponding site.py needs to be included in the PYTHONPATH. rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* - ${postInstall} + runHook postInstall ''; postFixup = '' wrapPythonPrograms - # If a user installs a Python package, she probably also wants its - # dependencies in the user environment (since Python modules don't - # have something like an RPATH, so the only way to find the + # If a user installs a Python package, they probably also wants its + # dependencies in the user environment profile (only way to find the # dependencies is to have them in the PYTHONPATH variable). + # Allows you to do: $ PYTHONPATH=~/.nix-profile/lib/python2.7/site-packages python if test -e $out/nix-support/propagated-build-inputs; then ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi + # TODO: document createBuildInputsPth build-inputs "$buildInputStrings" for inputsfile in propagated-build-inputs propagated-native-build-inputs; do if test -e $out/nix-support/$inputsfile; then @@ -116,4 +155,22 @@ python.stdenv.mkDerivation (attrs // { fi done ''; + + shellHook = attrs.shellHook or '' + mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages + ${preShellHook} + export PATH="/tmp/$name/bin:$PATH" + export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + python setup.py develop --prefix /tmp/$name + ${postShellHook} + ''; + + meta = with lib.maintainers; { + # default to python's platforms + platforms = python.meta.platforms; + } // meta // { + # add extra maintainer(s) to every package + maintainers = (meta.maintainers or []) ++ [ chaoflow iElectric ]; + }; + }) diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index a7c839799b1f..282aeca9ed1c 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -5,7 +5,7 @@ wrapPythonPrograms() { wrapPythonProgramsIn() { local dir="$1" local pythonPath="$2" - local python="$(type -p python)" + local python="@executable@" local i declare -A pythonPathsSeen=() @@ -18,11 +18,11 @@ wrapPythonProgramsIn() { for i in $(find "$dir" -type f -perm +0100); do # Rewrite "#! .../env python" to "#! /nix/store/.../python". - if head -n1 "$i" | grep -q '#!.*/env.*python'; then - sed -i "$i" -e "1 s^.*/env[ ]*python^#! $python^" + if head -n1 "$i" | grep -q '#!.*/env.*\(python\|pypy\)'; then + sed -i "$i" -e "1 s^.*/env[ ]*\(python\|pypy\)^#! $python^" fi - if head -n1 "$i" | grep -q /python; then + if head -n1 "$i" | grep -q '/python\|/pypy'; then # dont wrap EGG-INFO scripts since they are called from python if echo "$i" | grep -v EGG-INFO/scripts; then echo "wrapping \`$i'..." diff --git a/pkgs/development/python-modules/offline-distutils/default.nix b/pkgs/development/python-modules/offline-distutils/default.nix deleted file mode 100644 index 269f67bf5cd0..000000000000 --- a/pkgs/development/python-modules/offline-distutils/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -# Used during module installation to prevent easy_install and python -# setup.py install/test from downloading - -{ stdenv, python }: - -stdenv.mkDerivation { - name = "python-offline-distutils-${python.version}"; - - buildInputs = [ python ]; - - unpackPhase = "true"; - installPhase = '' - dst="$out/lib/${python.libPrefix}/site-packages" - ensureDir $dst/distutils - ln -s ${python}/lib/${python.libPrefix}/distutils/* $dst/distutils/ - cat < $dst/distutils/distutils.cfg -[easy_install] -allow-hosts = None -EOF - ''; -} diff --git a/pkgs/development/python-modules/pil/default.nix b/pkgs/development/python-modules/pil/default.nix index 1dfdfee08fb6..0b462cb4e521 100644 --- a/pkgs/development/python-modules/pil/default.nix +++ b/pkgs/development/python-modules/pil/default.nix @@ -14,16 +14,15 @@ buildPythonPackage { doCheck = true; - configurePhase = '' + preConfigure = '' sed -i "setup.py" \ -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${freetype}")|g ; s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${libjpeg}")|g ; s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${zlib}")|g ;' ''; - buildPhase = "python setup.py build_ext -i"; checkPhase = "python selftest.py"; - #installPhase = "python setup.py install --prefix=$out"; + buildPhase = "python setup.py build_ext -i"; meta = { homepage = http://www.pythonware.com/products/pil/; diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix index 1e8ceed6878f..54a50a2b71f1 100644 --- a/pkgs/development/python-modules/pycairo/default.nix +++ b/pkgs/development/python-modules/pycairo/default.nix @@ -1,11 +1,24 @@ { stdenv, fetchurl, python, pkgconfig, cairo, x11 }: -stdenv.mkDerivation { - name = "pycairo-1.8.8"; - src = fetchurl { - url = http://cairographics.org/releases/pycairo-1.8.8.tar.gz; - sha256 = "0q18hd4ai4raljlvd76ylgi30kxpr2qq83ka6gzwh0ya8fcmjlig"; - }; +stdenv.mkDerivation rec { + version = "1.10.0"; + name = "pycairo-${version}"; + src = if python.is_py3k or false + then fetchurl { + url = "http://cairographics.org/releases/pycairo-${version}.tar.bz2"; + sha256 = "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"; + } + else fetchurl { + url = "http://cairographics.org/releases/py2cairo-${version}.tar.bz2"; + sha256 = "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"; + }; buildInputs = [ python pkgconfig cairo x11 ]; + preConfigure = '' + sed -e 's@#!/usr/bin/env python@#!${python.executable}@' -i waf + head waf + ''; + configurePhase = "${python.executable} waf configure --prefix=$out"; + buildPhase = "${python.executable} waf"; + installPhase = "${python.executable} waf install"; } diff --git a/pkgs/development/python-modules/pycangjie/default.nix b/pkgs/development/python-modules/pycangjie/default.nix new file mode 100644 index 000000000000..04f7e434a54b --- /dev/null +++ b/pkgs/development/python-modules/pycangjie/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, bash, autoconf, automake, libtool, pkgconfig, libcangjie +, sqlite, python3, cython3 +}: + +stdenv.mkDerivation rec { + name = "pycangjie-${version}"; + version = "1.0"; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/Cangjians/pycangjie/archive/v${version}.tar.gz"; + sha256 = "1wx0m0chcpgxhj6cdxrwyi8hq05xlbap1ifs0wzb6nkglir0sb4j"; + }; + + buildInputs = [ + autoconf automake libtool pkgconfig libcangjie sqlite python3 cython3 + ]; + + preConfigure = '' + find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';' + sed -i 's@/usr@${libcangjie}@' tests/__init__.py + ''; + + configureScript = "./autogen.sh"; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Python wrapper to libcangjie"; + homepage = http://cangjians.github.io/projects/pycangjie/; + license = licenses.lgpl3Plus; + maintainers = [ maintainers.linquize ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index ec741ba247e5..5da727a08db1 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -9,17 +9,7 @@ buildPythonPackage rec { sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"; }; - buildInputs = [ python gmp ]; - - buildPhase = - '' - python ./setup.py build_ext --library-dirs=${gmp}/lib - ''; - -# installPhase = -# '' -# python ./setup.py install --prefix=$out -# ''; + buildInputs = [ gmp ]; meta = { homepage = "http://www.pycrypto.org/"; diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index e291544911cc..dfe805ec9e40 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -14,7 +14,12 @@ buildPythonPackage rec { propagatedBuildInputs = [ gtk pygobject pycairo ]; - installCommand = "make install"; + configurePhase = "configurePhase"; + + buildPhase = "buildPhase"; + + installPhase = "installPhase"; + checkPhase = stdenv.lib.optionalString (libglade == null) '' sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \ diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index d45d724ae589..df95e56377d7 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonPackage rec { - name = "pylint-0.26.0"; + name = "pylint-0.28.0"; namePrefix = ""; src = fetchurl { url = "http://download.logilab.org/pub/pylint/${name}.tar.gz"; - sha256 = "1mg1ywpj0klklv63s2hwn5xwxi3wfwgnyz9d4pz32hzb53azq835"; + sha256 = "1077hs8zpl1q5yc6wcg645nfqc4pwbdk8vjcv0qrldbb87f3yv7a"; }; propagatedBuildInputs = [ pythonPackages.logilab_astng ]; diff --git a/pkgs/development/python-modules/rpkg-buildfix.diff b/pkgs/development/python-modules/rpkg-buildfix.diff new file mode 100644 index 000000000000..d410f09072f7 --- /dev/null +++ b/pkgs/development/python-modules/rpkg-buildfix.diff @@ -0,0 +1,11 @@ +--- a/setup.py 2012-03-12 23:26:16.000000000 +0100 ++++ b/setup.py 2014-02-04 14:52:02.335856975 +0100 +@@ -14,6 +14,6 @@ + package_dir = {'': 'src'}, + packages = ['pyrpkg'], + scripts = ['src/rpkg'], +- data_files = [('/etc/bash_completion.d', ['src/rpkg.bash']), +- ('/etc/rpkg', ['src/rpkg.conf'])], ++ data_files = [('etc/bash_completion.d', ['src/rpkg.bash']), ++ ('etc/rpkg', ['src/rpkg.conf'])], + ) diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 8ddf0e9329f6..e33c815d23bc 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -1,26 +1,26 @@ -{ stdenv, fetchurl, python, wrapPython }: +{ stdenv, fetchurl, python, wrapPython, distutils-cfg }: stdenv.mkDerivation rec { shortName = "setuptools-${version}"; name = "${python.executable}-${shortName}"; - version = "2.0.2"; + version = "2.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools/${shortName}.tar.gz"; - sha256 = "09nv5x45y8fgc0kjmmw4gig3hr0is9xlc5rq053vnbmkxr5q5xmi"; + sha256 = "1m8qjvj5bfbphdags5s6pgmvk3xnw509lgdlq9whkq5a9mgxf8m7"; }; - buildInputs = [ python wrapPython ]; + buildInputs = [ python wrapPython distutils-cfg ]; - buildPhase = "${python}/bin/${python.executable} setup.py build --build-base $out"; + buildPhase = "${python}/bin/${python.executable} setup.py build"; installPhase = '' dst=$out/lib/${python.libPrefix}/site-packages mkdir -p $dst PYTHONPATH="$dst:$PYTHONPATH" - ${python}/bin/${python.executable} setup.py install --prefix=$out + ${python}/bin/${python.executable} setup.py install --prefix=$out --install-lib=$out/lib/${python.libPrefix}/site-packages wrapPythonPrograms ''; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Utilities to facilitate the installation of Python packages"; homepage = http://pypi.python.org/pypi/setuptools; - licenses = [ "PSF" "ZPL" ]; + license = [ "PSF" "ZPL" ]; platforms = platforms.all; }; } diff --git a/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch b/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch deleted file mode 100644 index 96a4f81ee581..000000000000 --- a/pkgs/development/python-modules/setuptools/distribute-skip-sdist_with_utf8_encoded_filename.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -r f5ac515f062a setuptools/tests/test_sdist.py ---- a/setuptools/tests/test_sdist.py Fri Jul 26 09:52:26 2013 +0200 -+++ b/setuptools/tests/test_sdist.py Sat Jul 27 20:22:17 2013 +0200 -@@ -3,12 +3,14 @@ - - - import os -+import locale - import shutil - import sys - import tempfile - import unittest - import unicodedata - -+from setuptools.tests.py26compat import skipIf - from setuptools.compat import StringIO, unicode - from setuptools.command.sdist import sdist - from setuptools.command.egg_info import manifest_maker -@@ -318,6 +320,9 @@ - filename = filename.decode('latin-1') - self.assertFalse(filename in cmd.filelist.files) - -+ -+ @skipIf(sys.version_info >= (3,) and locale.getpreferredencoding() != 'UTF-8', -+ 'Unittest fails if locale is not utf-8 but the manifests is recorded correctly') - def test_sdist_with_utf8_encoded_filename(self): - # Test for #303. - dist = Distribution(SETUP_ATTRS) diff --git a/pkgs/development/python-modules/setuptools/site.nix b/pkgs/development/python-modules/setuptools/site.nix deleted file mode 100644 index 34e7b478595e..000000000000 --- a/pkgs/development/python-modules/setuptools/site.nix +++ /dev/null @@ -1,16 +0,0 @@ -# Propagated by buildPythonPackge to process pth files - -{ stdenv, python, setuptools }: - -stdenv.mkDerivation { - name = "python-setuptools-site-${setuptools.version}"; - - buildInputs = [ python setuptools ]; - - unpackPhase = "true"; - installPhase = '' - dst="$out/lib/${python.libPrefix}/site-packages" - ensureDir $dst - ln -s ${setuptools}/lib/${python.libPrefix}/site-packages/site.* $dst/ - ''; -} diff --git a/pkgs/development/python-modules/slowaes/default.nix b/pkgs/development/python-modules/slowaes/default.nix new file mode 100644 index 000000000000..e45ffdfb2e17 --- /dev/null +++ b/pkgs/development/python-modules/slowaes/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, buildPythonPackage }: + +buildPythonPackage rec { + name = "slowaes-0.1a1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/slowaes/${name}.tar.gz"; + sha256 = "83658ae54cc116b96f7fdb12fdd0efac3a4e8c7c7064e3fac3f4a881aa54bf09"; + }; + + meta = { + homepage = "http://code.google.com/p/slowaes/"; + description = "AES implemented in pure python"; + license = stdenv.lib.licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/tarsnapper-path.patch b/pkgs/development/python-modules/tarsnapper-path.patch new file mode 100644 index 000000000000..337ad49f9715 --- /dev/null +++ b/pkgs/development/python-modules/tarsnapper-path.patch @@ -0,0 +1,20 @@ +diff --git a/src/tarsnapper/script.py b/src/tarsnapper/script.py +index 737ac8d..52cc775 100644 +--- a/src/tarsnapper/script.py ++++ b/src/tarsnapper/script.py +@@ -48,7 +48,7 @@ class TarsnapBackend(object): + """ + ``arguments`` is a single list of strings. + """ +- call_with = ['tarsnap'] ++ call_with = ['@NIXTARSNAPPATH@'] + for option in self.options: + key = option[0] + pre = "-" if len(key) == 1 else "--" +@@ -499,4 +499,4 @@ def run(): + + + if __name__ == '__main__': +- run() +\ No newline at end of file ++ run() diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch index d3e588bd1cd2..958187f982fe 100644 --- a/pkgs/development/python-modules/virtualenv-change-prefix.patch +++ b/pkgs/development/python-modules/virtualenv-change-prefix.patch @@ -1,8 +1,23 @@ -Without this patch `virtualenv --python=python2.7 .` fails with an error because it notices that the python readline.so is not in the same path as python2.7. I assume this is to avoid copying the wrong file on systems where it is possible to find incompatible libraries by accident. Adding "/nix/store" to the prefix fixes this problem. Unfortunately readline is still not available if you just run `virtualenv .`. +Without this patch `virtualenv --python=python2.7 .` fails with an +error because it notices that the python readline.so is not in the +same path as python2.7. I assume this is to avoid copying the wrong +file on systems where it is possible to find incompatible libraries by +accident. Adding "/nix/store" to the prefix fixes this problem. ---- virtualenv-1.8.4/virtualenv.py 2013-01-16 23:43:37.583615220 +0100 -+++ virtualenv-1.8.4/virtualenv.py 2013-01-16 23:44:47.885973431 +0100 -@@ -1135,17 +1135,7 @@ +A sitecustomize.py is created in the virtualenv which makes libraries +from the python specified by the --python argument available to the +virtualenv. For example, this makes readline and sqlite3 available +when a wrapped python is specified. If no --python argument is passed, +it will only add the path to the python used when building +`virtualenv`, which is the unwrapped python, so sqlite3 won't be +available. + + +diff --git a/virtualenv.py b/virtualenv.py +index d3e76a7..cb307fa 100755 +--- a/virtualenv.py ++++ b/virtualenv.py +@@ -1051,17 +1051,7 @@ def path_locations(home_dir): def change_prefix(filename, dst_prefix): @@ -21,7 +36,7 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because if hasattr(sys, 'real_prefix'): prefixes.append(sys.real_prefix) -@@ -1162,6 +1152,8 @@ +@@ -1078,6 +1068,8 @@ def change_prefix(filename, dst_prefix): if src_prefix != os.sep: # sys.prefix == "/" assert relpath[0] == os.sep relpath = relpath[1:] @@ -30,3 +45,15 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because return join(dst_prefix, relpath) assert False, "Filename %s does not start with any of these prefixes: %s" % \ (filename, prefixes) +@@ -1190,6 +1182,11 @@ def install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages, clear, sy + site_filename_dst = change_prefix(site_filename, home_dir) + site_dir = os.path.dirname(site_filename_dst) + writefile(site_filename_dst, SITE_PY) ++ wrapper_path = join(prefix, "lib", py_version, "site-packages") ++ writefile( ++ join(site_dir, 'sitecustomize.py',), ++ "import sys; sys.path.append('%s')" % wrapper_path ++ ) + writefile(join(site_dir, 'orig-prefix.txt'), prefix) + site_packages_filename = join(site_dir, 'no-global-site-packages.txt') + if not site_packages: diff --git a/pkgs/development/python-modules/wxPython/3.0.nix b/pkgs/development/python-modules/wxPython/3.0.nix new file mode 100644 index 000000000000..9aa6148643bd --- /dev/null +++ b/pkgs/development/python-modules/wxPython/3.0.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true }: + +assert wxGTK.unicode; + +with stdenv.lib; + +let version = "3.0.0.0"; in + +stdenv.mkDerivation { + name = "wxPython-${version}"; + + builder = ./builder3.0.sh; + + src = fetchurl { + url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2"; + sha256 = "af88695e820dd914e8375dc91ecb736f6fb605979bb38460ace61bbea494dc11"; + }; + + buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) pythonPackages.python pythonPackages.wrapPython ] + ++ optional openglSupport pythonPackages.pyopengl; + + inherit openglSupport; + + passthru = { inherit wxGTK openglSupport; }; +} diff --git a/pkgs/development/python-modules/wxPython/builder3.0.sh b/pkgs/development/python-modules/wxPython/builder3.0.sh new file mode 100644 index 000000000000..7403c67d0912 --- /dev/null +++ b/pkgs/development/python-modules/wxPython/builder3.0.sh @@ -0,0 +1,22 @@ +source $stdenv/setup + +flags="WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=${openglSupport?1:0} UNICODE=1" + +configurePhase() { + cd wxPython +} + +buildPhase() { + python setup.py $flags build +} + +installPhase() { + python setup.py $flags install --prefix=$out + + # Ugly workaround for Nixpkgs/111. + ln -s $out/lib/python*/site-packages/wx-*-gtk2-unicode/* $out/lib/python*/site-packages + + wrapPythonPrograms +} + +genericBuild diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 5b2de20e33f4..b3769245bbe8 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -4,14 +4,14 @@ let name = "cppcheck"; - version = "1.63"; + version = "1.64"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2"; - sha256 = "0r10z44qydqxxxlxiggl2nzksd3gkb7bp784dfmpnnr1jd2zqjwj"; + sha256 = "0n2hrg99rsp77b3plpip315pyk0x4gh8gljs9z3iwcbcg14mliff"; }; configurePhase = "makeFlags=PREFIX=$out"; diff --git a/pkgs/development/tools/analysis/findbugs/default.nix b/pkgs/development/tools/analysis/findbugs/default.nix index 2adaaf3c0317..cf60f1af7673 100644 --- a/pkgs/development/tools/analysis/findbugs/default.nix +++ b/pkgs/development/tools/analysis/findbugs/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation { name = "findbugs-2.0.3"; @@ -13,9 +13,25 @@ stdenv.mkDerivation { ''; installPhase = '' - mkdir -p $out - cp -prd bin lib plugin doc $out/ - rm $out/bin/*.bat + d=$out/libexec/findbugs + mkdir -p $d $out/bin $out/nix-support + + cp -prd bin lib plugin doc $d/ + rm $d/bin/*.bat + for i in $d/bin/*; do + if [ -f $i ]; then ln -s $i $out/bin/; fi + done + + # Get rid of unnecessary JARs. + rm $d/lib/ant.jar + + # Make some JARs findable. + mkdir -p $out/share/java + ln -s $d/lib/{findbugs.jar,findbugs-ant.jar} $out/share/java/ + + cat < $out/nix-support/setup-hook + export FINDBUGS_HOME=$d + EOF ''; meta = { diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index a8d376ef23c8..9ad34097d0b1 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { }; patches = - (stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch); + [ ./lcov-except-unreach.patch ./no-warn-missing.patch ] + ++ stdenv.lib.optional stdenv.isFreeBSD ./freebsd-install.patch; preBuild = '' makeFlagsArray=(PREFIX=$out BIN_DIR=$out/bin MAN_DIR=$out/share/man) @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { done ''; - meta = { + meta = with stdenv.lib; { description = "LCOV, a code coverage tool that enhances GNU gcov"; longDescription = @@ -40,7 +41,7 @@ stdenv.mkDerivation rec { homepage = http://ltp.sourceforge.net/coverage/lcov.php; license = "GPLv2+"; - maintainers = [ ]; - platforms = stdenv.lib.platforms.all; + maintainers = [ maintainers.mornfall ]; + platforms = platforms.all; }; } diff --git a/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch new file mode 100644 index 000000000000..6c8d8664d02b --- /dev/null +++ b/pkgs/development/tools/analysis/lcov/lcov-except-unreach.patch @@ -0,0 +1,13 @@ +http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?r1=1.117&r2=1.118&view=patch + +--- a/bin/geninfo 2012/10/10 08:36:16 1.117 ++++ b/bin/geninfo 2012/11/13 09:58:53 1.118 +@@ -1833,7 +1833,7 @@ + push(@result, 0); + } else { + # Check for zero count +- if ($count eq "#####") { ++ if ($count =~ /^[#=]/) { + $count = 0; + } + push(@result, 1); diff --git a/pkgs/development/tools/analysis/lcov/no-warn-missing.patch b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch new file mode 100644 index 000000000000..fa1f476fba0f --- /dev/null +++ b/pkgs/development/tools/analysis/lcov/no-warn-missing.patch @@ -0,0 +1,54 @@ +http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?view=log + +--- a/bin/geninfo 2013/01/10 09:02:32 1.119 ++++ b/bin/geninfo 2013/02/22 14:09:08 1.120 +@@ -864,7 +864,6 @@ + my $source; # gcov source header information + my $object; # gcov object header information + my @matches; # List of absolute paths matching filename +- my @unprocessed; # List of unprocessed source code files + my $base_dir; # Base directory for current file + my @tmp_links; # Temporary links to be cleaned up + my @result; +@@ -1060,7 +1059,6 @@ + + # Traverse the list of generated .gcov files and combine them into a + # single .info file +- @unprocessed = keys(%{$instr}); + foreach $gcov_file (sort(@gcov_list)) + { + my $i; +@@ -1143,16 +1141,6 @@ + \@matches, \@gcov_content); + } + +- # Remove processed file from list +- for ($index = scalar(@unprocessed) - 1; $index >= 0; $index--) +- { +- if ($unprocessed[$index] eq $source_filename) +- { +- splice(@unprocessed, $index, 1); +- last; +- } +- } +- + # Skip external files if requested + if (!$opt_external) { + if (is_external($source_filename)) { +@@ -1297,16 +1285,6 @@ + unlink($gcov_file); + } + +- # Check for files which show up in the graph file but were never +- # processed +- if (@unprocessed && @gcov_list) +- { +- foreach (@unprocessed) +- { +- warn("WARNING: no data found for $_\n"); +- } +- } +- + if (!($output_filename && ($output_filename eq "-"))) + { + close(INFO_HANDLE); diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix index b4fdd4c09d4d..4be166f97682 100644 --- a/pkgs/development/tools/analysis/spin/default.nix +++ b/pkgs/development/tools/analysis/spin/default.nix @@ -26,5 +26,6 @@ stdenv.mkDerivation { description = "Formal verification tool for distributed software systems"; homepage = http://spinroot.com/; license = "free"; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 97565bec98e7..a6ea2c2f59d4 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6"; }; + patches = [ ./glibc-2.19.patch ]; + # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. nativeBuildInputs = [ perl ]; @@ -15,7 +17,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patchPhase = + postPatch = # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666). '' echo "getting rid of the \`-arch' GCC option..." diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch new file mode 100644 index 000000000000..137b0a325b04 --- /dev/null +++ b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch @@ -0,0 +1,39 @@ +https://projects.archlinux.org/svntogit/packages.git/plain/trunk/valgrind-3.9.0-glibc-2.19.patch?h=packages/valgrind + +diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure +--- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000 ++++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000 +@@ -6689,6 +6689,16 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.19) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 ++$as_echo "2.19 family" >&6; } ++ ++$as_echo "#define GLIBC_2_19 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } +diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac +--- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000 ++++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000 +@@ -918,6 +918,13 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.19) ++ AC_MSG_RESULT(2.19 family) ++ AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix index 19c664c2ea7e..0dfb634c5944 100644 --- a/pkgs/development/tools/build-managers/apache-ant/default.nix +++ b/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -65,10 +65,6 @@ stdenv.mkDerivation { LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" - if [ -e \$JAVA_HOME/lib/tools.jar ]; then - LOCALCLASSPATH="\$JAVA_HOME/lib/tools.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" - fi - exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \ -Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \ org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \ diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix index b28c4d9296fa..f21be7cc48c7 100644 --- a/pkgs/development/tools/build-managers/buildbot-slave/default.nix +++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix @@ -1,12 +1,12 @@ { stdenv, buildPythonPackage, fetchurl, coreutils, twisted }: buildPythonPackage (rec { - name = "buildbot-slave-0.8.7p1"; + name = "buildbot-slave-0.8.8"; namePrefix = ""; src = fetchurl { url = "http://buildbot.googlecode.com/files/${name}.tar.gz"; - sha256 = "1p7a0srab6ifljh9vi25awvxfrxljj9s0hi1jipiiykyhjihgnxv"; + sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb"; }; patchPhase = '' diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix index c872d67146b3..2d7c63fdc7de 100644 --- a/pkgs/development/tools/build-managers/buildbot/default.nix +++ b/pkgs/development/tools/build-managers/buildbot/default.nix @@ -9,12 +9,12 @@ assert enableDebugClient -> pygobject != null && pyGtkGlade != null; buildPythonPackage (rec { - name = "buildbot-0.8.7p1"; + name = "buildbot-0.8.8"; namePrefix = ""; src = fetchurl { url = "http://buildbot.googlecode.com/files/${name}.tar.gz"; - sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld"; + sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh"; }; patchPhase = diff --git a/pkgs/development/tools/build-managers/cmake/762-13887.patch b/pkgs/development/tools/build-managers/cmake/762-13887.patch new file mode 100644 index 000000000000..3ef27a09b5c2 --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/762-13887.patch @@ -0,0 +1,17 @@ +diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx +index e7491bb..57b4348 100644 +--- a/Source/CTest/cmCTestTestHandler.cxx ++++ b/Source/CTest/cmCTestTestHandler.cxx +@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector& vec) + for ( it = vec.begin(); it != vec.end(); ++it ) + { + int retVal = 0; +- std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str()); +- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd ++ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it + << std::endl); +- if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0, ++ if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0, + cmSystemTools::OUTPUT_MERGE + /*this->Verbose*/) || retVal != 0 ) + { diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index d66149a95096..9ce69374cd88 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -7,7 +7,7 @@ with stdenv.lib; let os = stdenv.lib.optionalString; majorVersion = "2.8"; - minorVersion = "9"; + minorVersion = "12.2"; version = "${majorVersion}.${minorVersion}"; in @@ -18,12 +18,14 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz"; - sha256 = "1yg68ng732cfm5c0h91chqwhg06zdh45bybm353kd1myk5rwqgfw"; + sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc"; }; + enableParallelBuilding = true; + patches = # Don't search in non-Nix locations such as /usr, but do search in - # Nixpkgs' Glibc. + # Nixpkgs' Glibc. optional (stdenv ? glibc) ./search-path.patch; buildInputs = [ curl expat zlib bzip2 libarchive ] @@ -51,6 +53,6 @@ stdenv.mkDerivation rec { homepage = http://www.cmake.org/; description = "Cross-Platform Makefile Generator"; platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.urkud ]; + maintainers = with stdenv.lib.maintainers; [ urkud mornfall ]; }; } diff --git a/pkgs/development/tools/build-managers/cmake/search-path.patch b/pkgs/development/tools/build-managers/cmake/search-path.patch index ef8a9eef7c18..31c85d6f5220 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path.patch @@ -1,41 +1,43 @@ -diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/Linux.cmake cmake-2.8.5/Modules/Platform/Linux.cmake ---- cmake-2.8.5-orig/Modules/Platform/Linux.cmake 2011-07-08 14:21:44.000000000 +0200 -+++ cmake-2.8.5/Modules/Platform/Linux.cmake 2011-07-21 19:45:00.000000000 +0200 -@@ -36,13 +36,13 @@ +diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake +index fe8e003..378512c 100644 +--- a/Modules/Platform/Linux.cmake ++++ b/Modules/Platform/Linux.cmake +@@ -36,13 +36,13 @@ else() # checking the platform every time. This option is advanced enough # that only package maintainers should need to adjust it. They are # capable of providing a setting on the command line. -- IF(EXISTS "/etc/debian_version") -- SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL +- if(EXISTS "/etc/debian_version") +- set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL - "Install .so files without execute permission.") -- ELSE(EXISTS "/etc/debian_version") -+ #IF(EXISTS "/etc/debian_version") -+ # SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL -+ # "Install .so files without execute permission.") -+ #ELSE(EXISTS "/etc/debian_version") - SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL +- else() ++ # if(EXISTS "/etc/debian_version") ++ # set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL ++ # "Install .so files without execute permission.") ++ # else() + set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL "Install .so files without execute permission.") -- ENDIF(EXISTS "/etc/debian_version") -+ #ENDIF(EXISTS "/etc/debian_version") - ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE) +- endif() ++ # endif() + endif() # Match multiarch library directory names. -@@ -52,6 +52,6 @@ +@@ -52,6 +52,6 @@ include(Platform/UnixPaths) # Debian has lib64 paths only for compatibility so they should not be # searched. --IF(EXISTS "/etc/debian_version") -- SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) --ENDIF(EXISTS "/etc/debian_version") -+#IF(EXISTS "/etc/debian_version") -+# SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) -+#ENDIF(EXISTS "/etc/debian_version") -diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/Modules/Platform/UnixPaths.cmake ---- cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake 2011-07-08 14:21:44.000000000 +0200 -+++ cmake-2.8.5/Modules/Platform/UnixPaths.cmake 2011-07-21 19:50:52.000000000 +0200 -@@ -33,55 +33,18 @@ +-if(EXISTS "/etc/debian_version") +- set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) +-endif() ++# if(EXISTS "/etc/debian_version") ++# set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE) ++#endif() +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index ccb2663..39834e6 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) # search types. - LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH + list(APPEND CMAKE_SYSTEM_PREFIX_PATH # Standard - /usr/local /usr / - @@ -47,7 +49,7 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M - ) - -# List common include file locations not under the common prefixes. --LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH +-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH - # Windows API on Cygwin - /usr/include/w32api - @@ -56,11 +58,11 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M - - # Other - /usr/pkg/include -- /opt/csw/include /opt/include +- /opt/csw/include /opt/include - /usr/openwin/include - ) - --LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH +-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH - # Windows API on Cygwin - /usr/lib/w32api - @@ -69,25 +71,25 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M - - # Other - /usr/pkg/lib -- /opt/csw/lib /opt/lib +- /opt/csw/lib /opt/lib - /usr/openwin/lib - ) - --LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH +-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH - /usr/pkg/bin + "@glibc@" ) - LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /usr/lib /usr/lib32 /usr/lib64 + "@glibc@/lib" ) - LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES + list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include + "@glibc@/include" ) - LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES + list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include + "@glibc@/include" ) diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 175e538e5193..abc0b070a764 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -56,3 +56,20 @@ if [ -n "$crossConfig" ]; then else envHooks+=(addCMakeParams) fi + +makeCmakeFindLibs(){ + for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do + case $flag in + -I*) + export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}" + ;; + -L*) + export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}" + ;; + esac + done +} + +# not using setupHook, because it could be a setupHook adding additional +# include flags to NIX_CFLAGS_COMPILE +postHooks+=(makeCmakeFindLibs) diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index 97b50d0019fa..f8466e5aafda 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unzip, jdk, makeWrapper }: stdenv.mkDerivation rec { - name = "gradle-1.8"; + name = "gradle-1.11"; src = fetchurl { url = "http://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "00spxad9b5vddshp02cic0ds8icgb1clknl7494f467x2pxbnhm3"; + sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7"; }; installPhase = '' @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { makeWrapper ${jdk}/bin/java $out/bin/gradle \ --set JAVA_HOME ${jdk} \ - --add-flags "-classpath $out/lib/gradle-launcher-1.8.jar org.gradle.launcher.GradleMain" + --add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain" ''; phases = "unpackPhase installPhase"; diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh index 6a66466506cb..c28854ca0896 100644 --- a/pkgs/development/tools/build-managers/leiningen/builder.sh +++ b/pkgs/development/tools/build-managers/leiningen/builder.sh @@ -19,5 +19,6 @@ chmod -v 755 $out_bin patchShebangs $out wrapProgram $out_bin \ - --prefix PATH ":" ${rlwrap}/bin \ - --set LEIN_GPG ${gnupg}/bin/gpg + --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \ + --set LEIN_GPG ${gnupg}/bin/gpg \ + --set JAVA_CMD ${jdk}/bin/java diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix index a41cf69ad238..ff21e518936c 100644 --- a/pkgs/development/tools/build-managers/leiningen/default.nix +++ b/pkgs/development/tools/build-managers/leiningen/default.nix @@ -1,23 +1,24 @@ -{ stdenv, fetchurl, makeWrapper, jdk, rlwrap, clojure, gnupg }: +{ stdenv, fetchurl, makeWrapper +, coreutils, findutils, jdk, rlwrap, clojure, gnupg }: stdenv.mkDerivation rec { pname = "leiningen"; - version = "2.3.3"; + version = "2.3.4"; name = "${pname}-${version}"; src = fetchurl { url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg"; - sha256 = "0lc5ivgknkflk6k4a4q1r8bm3kq63p4cazfs1rdb02cfhdip52hc"; + sha256 = "1v83hpvp349pgqqiy4babc5m5b9lcwk0fif80fpv4jqvp0a8v6r7"; }; jarsrc = fetchurl { url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar"; - sha256 = "1a8i0940ww7xqhwlaaavsgw8s9rjqdnv46hfsla41ns789bappxf"; + sha256 = "1pqc99p4vz4q3qcs90cqql6m7kc27ihx4hbqs5alxkzk7jv8s2bk"; }; patches = ./lein_2.3.0.patch; - inherit rlwrap clojure gnupg; + inherit rlwrap clojure gnupg findutils coreutils jdk; builder = ./builder.sh; diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index b5c0b0a03dae..75c2da8a28de 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ''; homepage = http://martine.github.io/ninja/; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index ac6951785416..a64360c57274 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -1,11 +1,15 @@ { stdenv, fetchurl, erlang }: + +let + version = "2.2.0"; +in stdenv.mkDerivation { - name = "rebar-2.1.0-pre"; + name = "rebar-${version}"; src = fetchurl { - url = "https://github.com/basho/rebar/archive/2.1.0-pre.tar.gz"; - sha256 = "0dsbk9ssvk1hx9275900dg4bz79kpwcid4gsz09ziiwzv0jjbrjn"; + url = "https://github.com/rebar/rebar/archive/${version}.tar.gz"; + sha256 = "0wprgzin09286v583jmlc385jqpi2lcpdql9srm4c7g39122dg43"; }; buildInputs = [ erlang ]; diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index 8139d6e28c78..c6856dae5651 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -2,7 +2,7 @@ let name = "scons"; - version = "2.3.0"; + version = "2.3.1"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/scons/${name}-${version}.tar.gz"; - sha256 = "0jrv8v5dpdp231n1gsfmirqy27f7qas6m255jjm2qjygk6chchll"; + sha256 = "00822ax62cfi2fvz9zhw80hl1273524d97xfycq4q276z1lb86h9"; }; buildInputs = [python makeWrapper]; @@ -23,6 +23,8 @@ stdenv.mkDerivation { buildPhase = "python setup.py install --prefix=$out --install-data=$out/share --install-lib=$(toPythonPath $out) --symlink-scons -O1"; installPhase = "for n in $out/bin/*-${version}; do wrapProgram $n --suffix PYTHONPATH ':' \"$(toPythonPath $out)\"; done"; + pythonPath = []; + meta = { homepage = "http://scons.org/"; description = "An improved, cross-platform substitute for Make"; diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..5194684261c9 --- /dev/null +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "jenkins"; + version = "1.550"; + + src = fetchurl { + url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; + sha256 = "1ziimbfs9kylga0xmxlfsfcc7qsirs5bnx00pa99m2l5sz2ki793"; + }; + meta = { + description = "An extendable open source continuous integration server."; + homepage = http://jenkins-ci.org; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.coconnor ]; + }; + + buildCommand = "ln -s $src $out"; +} diff --git a/pkgs/development/tools/documentation/doxygen/1.7.nix b/pkgs/development/tools/documentation/doxygen/1.7.nix deleted file mode 100644 index f530ed70e37f..000000000000 --- a/pkgs/development/tools/documentation/doxygen/1.7.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ stdenv, fetchurl, perl, flex, bison, qt4 }: - -let - name = "doxygen-1.7.4"; -in -stdenv.mkDerivation { - inherit name; - - src = fetchurl { - url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz"; - sha256 = "0rnzyp5f8c454fdkgpg5hpxwmx642spgxcpw3blbvnyw8129jp44"; - }; - - patches = [ ./tmake.patch ]; - - buildInputs = - [ perl flex bison ] - ++ stdenv.lib.optional (qt4 != null) qt4; - - prefixKey = "--prefix "; - - configureFlags = - [ "--dot dot" ] - ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard"; - - preConfigure = stdenv.lib.optionalString (qt4 != null) - '' - echo "using QTDIR=${qt4}..." - export QTDIR=${qt4} - ''; - - makeFlags = "MAN1DIR=share/man/man1"; - - enableParallelBuilding = true; - - meta = { - license = "GPLv2+"; - homepage = "http://doxygen.org/"; - description = "Doxygen, a source code documentation generator tool"; - - longDescription = '' - Doxygen is a documentation system for C++, C, Java, Objective-C, - Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP, - C\#, and to some extent D. It can generate an on-line - documentation browser (in HTML) and/or an off-line reference - manual (in LaTeX) from a set of documented source files. - ''; - - maintainers = [stdenv.lib.maintainers.simons]; - platforms = if qt4 != null then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 69c1f4181cc7..9a8979aaa6cf 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchurl, perl, flex, bison, qt4 }: +{ stdenv, fetchurl, perl, python, flex, bison, qt4 }: let - name = "doxygen-1.8.5"; + name = "doxygen-1.8.6"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz"; - sha256 = "09fcsz1rd4a9njsz3as7z8s3mk621pvcclavxbb6ib8jvdkqnfi4"; + sha256 = "0pskjlkbj76m9ka7zi66yj8ffjcv821izv3qxqyyphf0y0jqcwba"; }; patches = [ ./tmake.patch ]; buildInputs = - [ perl flex bison ] + [ perl python flex bison ] ++ stdenv.lib.optional (qt4 != null) qt4; prefixKey = "--prefix "; @@ -23,7 +23,10 @@ stdenv.mkDerivation { [ "--dot dot" ] ++ stdenv.lib.optional (qt4 != null) "--with-doxywizard"; - preConfigure = stdenv.lib.optionalString (qt4 != null) + preConfigure = + '' + patchShebangs . + '' + stdenv.lib.optionalString (qt4 != null) '' echo "using QTDIR=${qt4}..." export QTDIR=${qt4} diff --git a/pkgs/development/tools/documentation/haddock/2.14.2.nix b/pkgs/development/tools/documentation/haddock/2.14.2.nix new file mode 100644 index 000000000000..c4677f202ddd --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.14.2.nix @@ -0,0 +1,22 @@ +{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, hspec +, QuickCheck, xhtml +}: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.14.2"; + sha256 = "0h96jj6y093h4gcqpiq0nyv7h5wjg8ji7z1im9ydivmsv0627prk"; + isLibrary = true; + isExecutable = true; + buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ]; + testDepends = [ Cabal deepseq filepath hspec QuickCheck ]; + buildTools = [ alex happy ]; + doCheck = false; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix index 0d298558e5ee..2e5701375a47 100644 --- a/pkgs/development/tools/gnulib/default.nix +++ b/pkgs/development/tools/gnulib/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit }: stdenv.mkDerivation { - name = "gnulib-0.0-8015-gf0aab22"; + name = "gnulib-0.1-83-g8008cac"; src = fetchgit { url = "http://git.savannah.gnu.org/r/gnulib.git"; - rev = "f0aab227265173908ecaa2353de6cf791cec3304"; - sha256 = "162i39wvrmjhkg8w07i92vg9l0f0lk57zl1ynf0lvs70rkdd8a82"; + rev = "8008cac0568ee76a4a9b7002f839e1abbad78af6"; + sha256 = "1w8wh5ljh1qpssnj2lxizf45ggd7fgk5ggwhrnzjxxhn9m7rdvwm"; }; buildPhase = ":"; diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix index 3cb85b86acbd..ebe8d2c3e24c 100644 --- a/pkgs/development/tools/haskell/BNFC/default.nix +++ b/pkgs/development/tools/haskell/BNFC/default.nix @@ -1,4 +1,4 @@ -{ cabal, mtl, fetchurl }: +{ cabal, mtl, fetchurl, alex, happy }: cabal.mkDerivation (self: { pname = "BNFC"; @@ -7,8 +7,10 @@ cabal.mkDerivation (self: { isLibrary = true; isExecutable = true; buildDepends = [ mtl ]; + buildTools = [ alex happy ]; patches = [ (fetchurl { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "103l04ylzswgxrmpv5zy6dd0jyr96z21mdkpgk1z4prvn8wjl624"; }) ]; patchFlags = "-p2"; + preConfigure = "runhaskell Setup.lhs clean"; meta = { homepage = "http://bnfc.digitalgrammars.com/"; description = "A compiler front-end generator"; diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix index 6c24b509db56..7cbc66305847 100644 --- a/pkgs/development/tools/haskell/HaRe/default.nix +++ b/pkgs/development/tools/haskell/HaRe/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "HaRe"; - version = "0.7.0.9"; - sha256 = "1a3kf6hdzchcyb743l6ikyw3nclcy8g7a5kaj4jgxqvmss9z73f1"; + version = "0.7.2.2"; + sha256 = "0w9cjs3r99k4mf835higcsllk0h8lbich1v9wb2pvwbqi3i9r0sp"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -24,7 +24,7 @@ cabal.mkDerivation (self: { ]; jailbreak = true; meta = { - homepage = "http://www.cs.kent.ac.uk/projects/refactor-fp"; + homepage = "https://github.com/RefactoringTools/HaRe/wiki"; description = "the Haskell Refactorer"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/tools/haskell/cabal-delete/default.nix b/pkgs/development/tools/haskell/cabal-delete/default.nix new file mode 100644 index 000000000000..65a7b4d3211a --- /dev/null +++ b/pkgs/development/tools/haskell/cabal-delete/default.nix @@ -0,0 +1,34 @@ +{ cabal, fetchgit, bytestring ? null, containers ? null, directory ? null, + filepath, process ? null, attoparsec, ghcPaths, transformers }: + +let + tag = "0.5.2.0"; +in + +cabal.mkDerivation (self: { + pname = "cabal-delete"; + version = "${tag}"; + src = fetchgit { + url = git://github.com/iquiw/cabal-delete.git; + rev = "refs/tags/v${tag}"; + sha256 = "1ap319isjg8bafm4jz2krfwvvg11hj5yk0g99a3l1a3a36hpdgzw"; + }; + isLibrary = false; + isExecutable = true; + buildDepends = [ + bytestring + containers + directory + filepath + process + attoparsec + ghcPaths + transformers + ]; + meta = { + homepage = "https://github.com/iquiw/cabal-delete"; + description = "Uninstall packages installed by cabal"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/cabal-meta/default.nix b/pkgs/development/tools/haskell/cabal-meta/default.nix new file mode 100644 index 000000000000..62048e2893b3 --- /dev/null +++ b/pkgs/development/tools/haskell/cabal-meta/default.nix @@ -0,0 +1,18 @@ +{ cabal, hspec, shelly, systemFileio, systemFilepath, text }: + +cabal.mkDerivation (self: { + pname = "cabal-meta"; + version = "0.4.1.2"; + sha256 = "17ln9j0n9rb0kbnp37fi9yaf932dacrdmf3jrp301r886kh2a7kk"; + isLibrary = true; + isExecutable = true; + doCheck = false; + buildDepends = [ shelly systemFileio systemFilepath text ]; + testDepends = [ hspec shelly systemFilepath text ]; + meta = { + homepage = "http://www.yesodweb.com/"; + description = "build multiple packages at once"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index d0d7e7b39b24..7ad20ee066b2 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.58"; - sha256 = "0xsp0f87583pcjdfhngbc9465yisk2m3sn6904s0szprkpi2p03x"; + version = "1.61"; + sha256 = "058bwswkhsj3rbxl42n23ri79smmhkaj6wid4c6x02yl3m8l7xsy"; isLibrary = false; isExecutable = true; buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ]; diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix new file mode 100644 index 000000000000..c5c35ac571cb --- /dev/null +++ b/pkgs/development/tools/haskell/cake3/default.nix @@ -0,0 +1,23 @@ +{ cabal, attoparsec, deepseq, filepath, haskellSrcMeta +, languageJavascript, mimeTypes, monadloc, mtl, optparseApplicative +, syb, systemFilepath, text, textFormat +}: + +cabal.mkDerivation (self: { + pname = "cake3"; + version = "0.4.0.0"; + sha256 = "15v50m60fr2mgfm2irxfaw4pi2s3bx187p0y0ns20rqfy0dasxyx"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + attoparsec deepseq filepath haskellSrcMeta languageJavascript + mimeTypes monadloc mtl optparseApplicative syb systemFilepath text + textFormat + ]; + meta = { + homepage = "https://github.com/grwlf/cake3"; + description = "Third cake the Makefile EDSL"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/ghc-events-analyze/default.nix b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix new file mode 100644 index 000000000000..7744a3071cce --- /dev/null +++ b/pkgs/development/tools/haskell/ghc-events-analyze/default.nix @@ -0,0 +1,20 @@ +{ cabal, diagramsLib, diagramsSvg, filepath, ghcEvents, lens, mtl +, optparseApplicative, parsec, SVGFonts, thLift, transformers +}: + +cabal.mkDerivation (self: { + pname = "ghc-events-analyze"; + version = "0.2.0"; + sha256 = "04px1p0pnx54414m7sdpmdhj2dpsi1z8bjm8jq2yzh66854xiyh4"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + diagramsLib diagramsSvg filepath ghcEvents lens mtl + optparseApplicative parsec SVGFonts thLift transformers + ]; + meta = { + description = "Analyze and visualize event logs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix index cd27fb5fbc4d..036c308a7121 100644 --- a/pkgs/development/tools/haskell/hasktags/default.nix +++ b/pkgs/development/tools/haskell/hasktags/default.nix @@ -1,13 +1,12 @@ -{ cabal, filepath, HUnit, json }: +{ cabal, filepath, json, utf8String }: cabal.mkDerivation (self: { pname = "hasktags"; - version = "0.68.6"; - sha256 = "1r5vnn9n2jva1ccjv8vnp3j0z3bh3xsi7yjv9llnvj0jw308aq9r"; + version = "0.68.7"; + sha256 = "0z98ha2xjc6npcyn15arp6h6ad87bs4acdhd1rnqrsy4lc0lny04"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath json ]; - testDepends = [ filepath HUnit json ]; + buildDepends = [ filepath json utf8String ]; meta = { homepage = "http://github.com/MarcWeber/hasktags"; description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs"; diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index b78785f8fc13..17ae7d508d3f 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -1,15 +1,16 @@ -{ cabal, cpphs, filepath, haskellSrcExts, hscolour, transformers -, uniplate +{ cabal, cmdargs, cpphs, filepath, haskellSrcExts, hscolour +, transformers, uniplate }: cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.55"; - sha256 = "184y0vh5rwsv13vj49zvgwwpgdf5y7wxfisry9pv2998flwkf4rj"; + version = "1.8.60"; + sha256 = "10kc4g9sipd5758n3x2xndaw1c887263gvff0y395drfgqh5qxal"; isLibrary = true; isExecutable = true; buildDepends = [ - cpphs filepath haskellSrcExts hscolour transformers uniplate + cmdargs cpphs filepath haskellSrcExts hscolour transformers + uniplate ]; jailbreak = true; meta = { diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix index 53e2c5a74194..1cffefd6da31 100644 --- a/pkgs/development/tools/haskell/keter/default.nix +++ b/pkgs/development/tools/haskell/keter/default.nix @@ -1,28 +1,27 @@ { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive -, conduit, dataDefault, filepath, fsnotify, httpClient -, httpClientConduit, httpConduit, httpReverseProxy, httpTypes -, liftedBase, mtl, network, networkConduit, networkConduitTls -, random, regexTdfa, stm, systemFileio, systemFilepath, tar, text -, time, transformers, unixCompat, unixProcessConduit +, conduit, conduitExtra, dataDefault, filepath, fsnotify, hspec +, httpConduit, httpReverseProxy, httpTypes, liftedBase, mtl +, network, networkConduitTls, random, regexTdfa, stm, systemFileio +, systemFilepath, tar, text, time, transformers, unixCompat , unorderedContainers, vector, wai, waiAppStatic, waiExtra, warp , warpTls, yaml, zlib }: cabal.mkDerivation (self: { pname = "keter"; - version = "1.1.0.1"; - sha256 = "04hvwfs1dskaxl1fw29lf52389hy1yr3hwd05bl294zgfh995i0s"; + version = "1.3.0"; + sha256 = "1fvb93iga4c0kfv29ksrmn9bjznl7wfspg1v9a5d3svwrszl4is3"; isLibrary = true; isExecutable = true; buildDepends = [ aeson async attoparsec blazeBuilder caseInsensitive conduit - dataDefault filepath fsnotify httpClient httpClientConduit - httpConduit httpReverseProxy httpTypes liftedBase mtl network - networkConduit networkConduitTls random regexTdfa stm systemFileio - systemFilepath tar text time transformers unixCompat - unixProcessConduit unorderedContainers vector wai waiAppStatic + conduitExtra dataDefault filepath fsnotify httpConduit + httpReverseProxy httpTypes liftedBase mtl network networkConduitTls + random regexTdfa stm systemFileio systemFilepath tar text time + transformers unixCompat unorderedContainers vector wai waiAppStatic waiExtra warp warpTls yaml zlib ]; + testDepends = [ conduit hspec transformers ]; meta = { homepage = "http://www.yesodweb.com/"; description = "Web application deployment manager, focusing on Haskell web frameworks"; diff --git a/pkgs/development/tools/haskell/rehoo/default.nix b/pkgs/development/tools/haskell/rehoo/default.nix new file mode 100644 index 000000000000..016070f66c33 --- /dev/null +++ b/pkgs/development/tools/haskell/rehoo/default.nix @@ -0,0 +1,19 @@ +{ cabal, cmdargs, parallelIo, shelly, split, systemFilepath, text +}: + +cabal.mkDerivation (self: { + pname = "rehoo"; + version = "0.3.1"; + sha256 = "0pwmz1q2866yj8hxbvha4v1smhppkd3jsrrhbhmbxw137l54ijgf"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + cmdargs parallelIo shelly split systemFilepath text + ]; + meta = { + homepage = "https://github.com/jwiegley/rehoo"; + description = "Rebuild default.hoo from many .hoo files in the current directory"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix index fc8c0e3f0526..84444522d195 100644 --- a/pkgs/development/tools/haskell/timeplot/default.nix +++ b/pkgs/development/tools/haskell/timeplot/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "timeplot"; - version = "1.0.23"; - sha256 = "0z87yzqv1bjclvyslzpclhrbfm4vcyz0q32jr4kbnfwjk3s8zyi2"; + version = "1.0.24"; + sha256 = "1k6xinnnc0723mbf0yvqn6qipjr3hcvy2qjv38sy7f5h0gp8lfhc"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/una/default.nix b/pkgs/development/tools/haskell/una/default.nix new file mode 100644 index 000000000000..172949818a60 --- /dev/null +++ b/pkgs/development/tools/haskell/una/default.nix @@ -0,0 +1,16 @@ +{ cabal, cmdargs, filepath, ioStorage }: + +cabal.mkDerivation (self: { + pname = "una"; + version = "2.1.0"; + sha256 = "0gpycwd0dgnw7cdicpn19wv1xb4jq3j9dfzry2ilv85h02zkwfvh"; + isLibrary = false; + isExecutable = true; + buildDepends = [ cmdargs filepath ioStorage ]; + meta = { + homepage = "https://github.com/jwiegley/una"; + description = "Universal un-archiver utility"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/literate-programming/noweb/default.nix b/pkgs/development/tools/literate-programming/noweb/default.nix index c173010928dc..291bc29e1b70 100644 --- a/pkgs/development/tools/literate-programming/noweb/default.nix +++ b/pkgs/development/tools/literate-programming/noweb/default.nix @@ -9,13 +9,15 @@ stdenv.mkDerivation { sha256 = "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9"; }; preBuild = '' + ensureDir $out/lib/noweb cd src - makeFlags="BIN=$out/bin LIB=$out/lib MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex" + makeFlags="BIN=$out/bin LIB=$out/lib/noweb MAN=$out/share/man TEXINPUTS=$out/share/texmf/tex/latex" ''; preInstall=''mkdir -p $out/share/texmf/tex/latex''; postInstall= '' substituteInPlace $out/bin/cpif --replace "PATH=/bin:/usr/bin" "" - for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} $out/lib/*; do + for f in $out/bin/{noweb,nountangle,noroots,noroff,noindex} \ + $out/lib/noweb/{toroff,btdefn,totex,pipedoc,noidx,unmarkup,toascii,tohtml,emptydefn}; do substituteInPlace $f --replace "nawk" "${gawk}/bin/awk" done ''; diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix index 2d8169d408fe..f6793e3aeec0 100644 --- a/pkgs/development/tools/misc/autoconf/2.13.nix +++ b/pkgs/development/tools/misc/autoconf/2.13.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.gnu.org/software/autoconf/; description = "Part of the GNU Build System"; + branch = "2.13"; longDescription = '' GNU Autoconf is an extensible package of M4 macros that produce diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix index 308183cb6fc0..a26c1fdd1995 100644 --- a/pkgs/development/tools/misc/autogen/default.nix +++ b/pkgs/development/tools/misc/autogen/default.nix @@ -46,7 +46,7 @@ let version = "5.18"; in documentation of program options. ''; - licenses = ["GPLv3+" "LGPLv3+" ]; + license = ["GPLv3+" "LGPLv3+" ]; homepage = http://www.gnu.org/software/autogen/; diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix deleted file mode 100644 index 80b033425a13..000000000000 --- a/pkgs/development/tools/misc/automake/automake-1.10.x.nix +++ /dev/null @@ -1,41 +0,0 @@ -{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false}: - -stdenv.mkDerivation rec { - name = "automake-1.10.3"; - - builder = ./builder.sh; - - setupHook = ./setup-hook.sh; - - src = fetchurl { - url = "mirror://gnu/automake/${name}.tar.bz2"; - sha256 = "1p0sgv8zl6ah6vwpqf7jkrjr3cw8ydpmnbi0ljb1dhrrp0xv92p9"; - }; - - buildInputs = [perl autoconf makeWrapper]; - - inherit doCheck; - - # Disable indented log output from Make, otherwise "make.test" will - # fail. - preCheck = "unset NIX_INDENT_MAKE"; - - # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the - # "fixed" path in generated files! - dontPatchShebangs = true; - - meta = { - homepage = http://www.gnu.org/software/automake/; - description = "GNU standard-compliant makefile generator"; - - longDescription = '' - GNU Automake is a tool for automatically generating - `Makefile.in' files compliant with the GNU Coding - Standards. Automake requires the use of Autoconf. - ''; - - license = "GPLv2+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix index 8bee4790bcb7..269d423f2fab 100644 --- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: stdenv.mkDerivation rec { - name = "automake-1.12.4"; + name = "automake-1.12.6"; # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is # available upstream; see @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "0wppdm0wfizs6nmiwlkigcmh2pn33dywdkl7b407j3pvwn622vsi"; + sha256 = "1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q"; }; buildInputs = [perl autoconf makeWrapper]; diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix index d19bb24eb370..aa8e70b5edc5 100644 --- a/pkgs/development/tools/misc/babeltrace/default.nix +++ b/pkgs/development/tools/misc/babeltrace/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, libuuid, popt }: stdenv.mkDerivation rec { - name = "babeltrace-1.1.1"; + name = "babeltrace-1.2.1"; src = fetchurl { url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2"; - sha256 = "04jc1yd3aaq59fmpzswzc78cywpq7wzjfqdlsg7xc76ivb8cggfz"; + sha256 = "1pwg0y57iy4c8wynb6bj7f6bxaiclmxcm4f3nllpw9brhbdzygc1"; }; buildInputs = [ pkgconfig glib libuuid popt ]; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 6b93240ba057..6db4abbf446b 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -1,10 +1,13 @@ { stdenv, fetchurl, noSysDirs, zlib -, cross ? null, gold ? false, bison ? null, flex2535 ? null, bc ? null, dejagnu ? null -, deterministic ? false }: +, cross ? null, gold ? true, bison ? null +}: let basename = "binutils-2.23.1"; in + +with { inherit (stdenv.lib) optional optionals optionalString; }; + stdenv.mkDerivation rec { - name = basename + stdenv.lib.optionalString (cross != null) "-${cross.config}"; + name = basename + optionalString (cross != null) "-${cross.config}"; src = fetchurl { url = "mirror://gnu/binutils/${basename}.tar.bz2"; @@ -21,23 +24,26 @@ stdenv.mkDerivation rec { # That requires upstream changes for things to work. So we can patch it to # get the old behaviour by now. ./dtneeded.patch - ] ++ (stdenv.lib.optional deterministic ./deterministic.patch); + + # Make binutils output deterministic by default. + ./deterministic.patch + ]; buildInputs = [ zlib ] - ++ stdenv.lib.optional gold bison; + ++ optional gold bison; inherit noSysDirs; preConfigure = '' # Clear the default library search path. if test "$noSysDirs" = "1"; then - echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt + echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt fi # Use symlinks instead of hard links to save space ("strip" in the # fixup phase strips each hard link separately). - for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in; do + for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do sed -i "$i" -e 's|ln |ln -s |' done ''; @@ -46,15 +52,15 @@ stdenv.mkDerivation rec { # to the bootstrap-tools libgcc (as uses to happen on arm/mips) NIX_CFLAGS_COMPILE = "-static-libgcc"; - configureFlags = "--disable-werror" # needed for dietlibc build - + stdenv.lib.optionalString (stdenv.system == "mips64el-linux") - " --enable-fix-loongson2f-nop" - + stdenv.lib.optionalString (cross != null) " --target=${cross.config}" - + stdenv.lib.optionalString gold " --enable-gold --enable-plugins" - + stdenv.lib.optionalString deterministic " --enable-deterministic-archives"; + configureFlags = + [ "--enable-shared" "--enable-deterministic-archives" ] + ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop" + ++ optional (cross != null) "--target=${cross.config}" + ++ optionals gold [ "--enable-gold" "--enable-plugins" ] + ++ optional (stdenv.system == "i686-linux") "--enable-targets=x86_64-linux-gnu"; enableParallelBuilding = true; - + meta = { description = "GNU Binutils, tools for manipulating binaries (linker, assembler, etc.)"; diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix index adabcec98981..d313d271afbb 100644 --- a/pkgs/development/tools/misc/cgdb/default.nix +++ b/pkgs/development/tools/misc/cgdb/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { homepage = http://cgdb.sourceforge.net/; + repositories.git = git://github.com/cgdb/cgdb.git; + license = "GPLv2+"; platforms = with stdenv.lib.platforms; linux ++ cygwin; diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index 3978d96400cd..5d7da48ccede 100644 --- a/pkgs/development/tools/misc/cl-launch/default.nix +++ b/pkgs/development/tools/misc/cl-launch/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="cl-launch"; - version="3.22.1"; + version="4.0.2.2"; name="${baseName}-${version}"; - hash="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-3.22.1.tar.gz"; - sha256="08lb8nm4dvkbgraqclw5xd7j6xskw9hgjpg9ql087gib5a90k09i"; + hash="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.2.2.tar.gz"; + sha256="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; }; buildInputs = [ ]; diff --git a/pkgs/development/tools/misc/cl-launch/default.upstream b/pkgs/development/tools/misc/cl-launch/default.upstream index 1ff5daca02c5..ff7ee9446d28 100644 --- a/pkgs/development/tools/misc/cl-launch/default.upstream +++ b/pkgs/development/tools/misc/cl-launch/default.upstream @@ -1,2 +1,2 @@ url http://common-lisp.net/project/xcvb/cl-launch/ -version_link '.-[0-9].*[0-9][.]tar[.].*' +version_link '.-[0-9].*[0-9][.]tar[.][a-z0-9]*$' diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix index e5c9df96aab9..72a6571f3ccf 100644 --- a/pkgs/development/tools/misc/cpphs/default.nix +++ b/pkgs/development/tools/misc/cpphs/default.nix @@ -1,13 +1,14 @@ -{ cabal }: +{ cabal, polyparse }: cabal.mkDerivation (self: { pname = "cpphs"; - version = "1.17.1"; - sha256 = "1xk1gk3skgiy6bc8rdhm7i3f6b5nqsm9nz6qswbxq94nxmw3pg9p"; + version = "1.18.4"; + sha256 = "0rmcq66wn7lsc5g1wk6bbsr7jiw8h6bz5cbvdywnv7vmwsx8gh51"; isLibrary = true; isExecutable = true; + buildDepends = [ polyparse ]; meta = { - homepage = "http://haskell.org/cpphs/"; + homepage = "http://projects.haskell.org/cpphs/"; description = "A liberalised re-implementation of cpp, the C pre-processor"; license = "LGPL"; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix new file mode 100644 index 000000000000..93dceb60f8d9 --- /dev/null +++ b/pkgs/development/tools/misc/dfu-programmer/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, libusb1 }: +let + version = "0.6.2"; +in +stdenv.mkDerivation rec { + name="dfu-programmer-${version}"; + + buildInputs = [ libusb1 ]; + + src = fetchurl { + url = "mirror://sourceforge/dfu-programmer/${name}.tar.gz"; + sha256 = "0rdg4h5alpa3py3v3xgvn2vcgmnbj077am90jqj83nad89m9c801"; + }; + + preConfigure = '' + substituteInPlace configure \ + --replace "/usr/include/libusb-1.0" "${libusb1}/include/libusb-1.0" + ''; + + meta = with stdenv.lib; { + license = licenses.gpl2; + description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader."; + homepage = http://dfu-programmer.sourceforge.net/; + maintainers = [ maintainers.the-kenny ]; + }; +} diff --git a/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch b/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch new file mode 100644 index 000000000000..6553dea7b4c3 --- /dev/null +++ b/pkgs/development/tools/misc/elfutils/CVE-2014-0172.patch @@ -0,0 +1,32 @@ +https://bugzilla.redhat.com/show_bug.cgi?id=1085663 + +Reported-by: Florian Weimer +Signed-off-by: Mark Wielaard +--- + libdw/dwarf_begin_elf.c | 8 +++++++- + 2 files changed, 12 insertions(+), 1 deletions(-) + +diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c +index 79daeac..34ea373 100644 +--- a/libdw/dwarf_begin_elf.c ++++ b/libdw/dwarf_begin_elf.c +@@ -1,5 +1,5 @@ + /* Create descriptor from ELF descriptor for processing file. +- Copyright (C) 2002-2011 Red Hat, Inc. ++ Copyright (C) 2002-2011, 2014 Red Hat, Inc. + This file is part of elfutils. + Written by Ulrich Drepper , 2002. + +@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) + memcpy (&size, data->d_buf + 4, sizeof size); + size = be64toh (size); + ++ /* Check for unsigned overflow so malloc always allocated ++ enough memory for both the Elf_Data header and the ++ uncompressed section data. */ ++ if (unlikely (sizeof (Elf_Data) + size < size)) ++ break; ++ + Elf_Data *zdata = malloc (sizeof (Elf_Data) + size); + if (unlikely (zdata == NULL)) + break; diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 526a66e02804..53e4bd6821f2 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -3,20 +3,21 @@ # TODO: Look at the hardcoded paths to kernel, modules etc. stdenv.mkDerivation rec { name = "elfutils-${version}"; - version = "0.152"; - + version = "0.158"; + src = fetchurl { urls = [ - "https://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2" + "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2" "mirror://gentoo/distfiles/${name}.tar.bz2" ]; - sha256 = "19mlgxyzcwiv64ynj2cibgkiw4qkm3n37kizvy6555dsmlaqfybq"; + sha256 = "0z9rprmizd7rwb3xwfmz5liii7hbiv3g2arl23h56brm45fay9xy"; }; patches = [ + ./CVE-2014-0172.patch (fetchurl { - url = https://fedorahosted.org/releases/e/l/elfutils/0.152/elfutils-portability.patch; - sha256 = "0q318w4cvvqv9ps4xcwphapj1gl31isgjyya4y9sm72qj68n61p0"; + url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability.patch"; + sha256 = "0y2fyjis5xrd3g2pcbcm145q2kmh52n5c74w8dwv3hqdp5ky7igd"; }) ]; # We need bzip2 in NativeInputs because otherwise we can't unpack the src, diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index d67407eb03df..b3a86a03d97c 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -8,7 +8,7 @@ let - basename = "gdb-7.6.2"; + basename = "gdb-7.7"; # Whether (cross-)building for GNU/Hurd. This is an approximation since # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and @@ -27,9 +27,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.bz2"; - sha256 = "1s6hjqmq7xz10hqx45dgrpfh5mla578shn3zxgnrsv66w4n0wsig"; + sha256 = "08vcb97j1b7vxwq6088wb6s3g3bm8iwikd922y0xsgbbxv3d2104"; }; + patches = [ ./edit-signals.patch ]; + # I think python is not a native input, but I leave it # here while I will not need it cross building nativeBuildInputs = [ texinfo python ] @@ -78,7 +80,7 @@ stdenv.mkDerivation rec { license = "GPLv3+"; - platforms = with platforms; linux ++ cygwin; + platforms = with platforms; linux ++ cygwin ++ darwin; maintainers = with maintainers; [ pierron ]; }; } diff --git a/pkgs/development/tools/misc/gdb/edit-signals.patch b/pkgs/development/tools/misc/gdb/edit-signals.patch new file mode 100644 index 000000000000..e9da8035ef5b --- /dev/null +++ b/pkgs/development/tools/misc/gdb/edit-signals.patch @@ -0,0 +1,25 @@ +Patch adapted from +https://www.sourceware.org/ml/gdb-patches/2012-08/msg00439.html + +Without it, spawning a terminal 'vim' from gdb 'edit' cmd, makes +all gdb grazy. + +diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c +index 7ea0fec..be5455c 100644 +--- a/gdb/tui/tui-win.c ++++ b/gdb/tui/tui-win.c +@@ -831,11 +831,12 @@ void + tui_initialize_win (void) + { + #ifdef SIGWINCH +-#ifdef HAVE_SIGACTION ++#if defined (HAVE_SIGACTION) && defined (SA_RESTART) + struct sigaction old_winch; + +- memset (&old_winch, 0, sizeof (old_winch)); ++ sigemptyset (&old_winch.sa_mask); + old_winch.sa_handler = &tui_sigwinch_handler; ++ old_winch.sa_flags = SA_RESTART; + sigaction (SIGWINCH, &old_winch, NULL); + #else + signal (SIGWINCH, &tui_sigwinch_handler); diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index d1cd59d8828a..fdb5f72af830 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libtool, ncurses }: stdenv.mkDerivation rec { - name = "global-6.2.9"; + name = "global-6.2.12"; src = fetchurl { url = "mirror://gnu/global/${name}.tar.gz"; - sha256 = "00y38kp0zbpjl9c9phldy7j2ihqc54qn4cdgk0azbjdsv75k3n6q"; + sha256 = "05jkhya1cs6yqhkf8nw5x56adkxxrqyga7sq7hx44dbf7alczwfa"; }; buildInputs = [ libtool ncurses ]; @@ -42,6 +42,6 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/global/; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix index d1b0d0e376ed..75e8e2dfe4fd 100644 --- a/pkgs/development/tools/misc/gnum4/default.nix +++ b/pkgs/development/tools/misc/gnum4/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: -stdenv.mkDerivation { - name = "gnum4-1.4.16"; +stdenv.mkDerivation rec { + name = "gnum4-1.4.17"; src = fetchurl { - url = mirror://gnu/m4/m4-1.4.16.tar.bz2; - sha256 = "035r7ma272j2cwni2961jp22k6bn3n9xwn3b3qbcn2yrvlghql22"; + url = "mirror://gnu/m4/m4-1.4.17.tar.bz2"; + sha256 = "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"; }; doCheck = !stdenv.isDarwin @@ -13,7 +13,7 @@ stdenv.mkDerivation { && !stdenv.isSunOS; # XXX: `test-setlocale2.sh' fails # Upstream is aware of it; it may be in the next release. - patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ./no-gets.patch ]; + patches = [ ./s_isdir.patch ]; meta = { homepage = http://www.gnu.org/software/m4/; diff --git a/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch b/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch deleted file mode 100644 index dd371584a798..000000000000 --- a/pkgs/development/tools/misc/gnum4/readlink-EINVAL.patch +++ /dev/null @@ -1,18 +0,0 @@ -Newer Linux kernels would return EINVAL instead of ENOENT. -The patch below, taken from Gnulib, allows the test to pass when -these Linux versions are in use: -https://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html . - -diff --git a/tests/test-readlink.h b/tests/test-readlink.h -index 08d5662..7247fc4 100644 ---- a/tests/test-readlink.h -+++ b/tests/test-readlink.h -@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print) - ASSERT (errno == ENOENT); - errno = 0; - ASSERT (func ("", buf, sizeof buf) == -1); -- ASSERT (errno == ENOENT); -+ ASSERT (errno == ENOENT || errno == EINVAL); - errno = 0; - ASSERT (func (".", buf, sizeof buf) == -1); - ASSERT (errno == EINVAL); diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index a3e1348f940d..2d60a06fb3e1 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }: stdenv.mkDerivation rec { - name = "help2man-1.43.3"; + name = "help2man-1.44.1"; src = fetchurl { - url = "mirror://gnu/help2man/${name}.tar.gz"; - sha256 = "00yk86rvvaavg7y6i5bvk5xhm417jl9dpr8bqvqdksw0i48qv5v7"; + url = "mirror://gnu/help2man/${name}.tar.xz"; + sha256 = "1yyyfw9zrfdvslnv91bnhyqmazwx243wmkc9wdaz888rfx36ipi2"; }; buildInputs = [ makeWrapper perl gettext LocaleGettext ]; diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix index bdd35dc50f05..ec3a5e9bcbf6 100644 --- a/pkgs/development/tools/misc/lsof/default.nix +++ b/pkgs/development/tools/misc/lsof/default.nix @@ -12,7 +12,9 @@ stdenv.mkDerivation { preBuild = "sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;';"; - configurePhase = "./Configure -n linux;"; + configurePhase = if stdenv.isDarwin + then "./Configure -n darwin;" + else "./Configure -n linux;"; installPhase = '' mkdir -p $out/bin $out/man/man8 @@ -28,5 +30,6 @@ stdenv.mkDerivation { socket (IPv6/IPv4/UNIX local), or partition (by opening a file from it). ''; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix index a436f29df14c..1d20d8eef456 100644 --- a/pkgs/development/tools/misc/ltrace/default.nix +++ b/pkgs/development/tools/misc/ltrace/default.nix @@ -1,17 +1,18 @@ { stdenv, fetchurl, elfutils }: stdenv.mkDerivation rec { - name = "ltrace-0.5.3"; + name = "ltrace-0.7.3"; src = fetchurl { - url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz; - sha256 = "0cmyw8zyw8b1gszrwizcm53cr0mig1iw3kv18v5952m9spb2frjw"; + url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.7.3.orig.tar.bz2; + sha256 = "00wmbdghqbz6x95m1mcdd3wd46l6hgcr4wggdp049dbifh3qqvqf"; }; buildInputs = [ elfutils ]; - preBuild = + preConfigure = '' + configureFlags="--disable-werror" makeFlagsArray=(INSTALL="install -c") ''; diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix index 42d11ebe7c57..541385d8bec2 100644 --- a/pkgs/development/tools/misc/lttng-tools/default.nix +++ b/pkgs/development/tools/misc/lttng-tools/default.nix @@ -1,16 +1,19 @@ -{ stdenv, fetchurl, popt, libuuid, liburcu, lttngUst }: +{ stdenv, fetchurl, popt, libuuid, liburcu, lttngUst, kmod }: stdenv.mkDerivation rec { - name = "lttng-tools-2.3.0"; + name = "lttng-tools-2.4.1"; src = fetchurl { url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2"; - sha256 = "16j55xqrh00mjbcvdmdkfxchavi7jsxlpnfjqc1g1d3x65ss9wri"; + sha256 = "1v9f7a3c2shwgn4g759bblgr27h9ql9sfq71r1mbkf8rd235g2jr"; }; buildInputs = [ popt libuuid liburcu lttngUst ]; - patches = [ ./lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch ]; + prePatch = '' + sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|g" \ + -i src/bin/lttng-sessiond/modprobe.c + ''; meta = with stdenv.lib; { description = "Tracing tools (kernel + user space) for Linux"; diff --git a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch b/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch deleted file mode 100644 index 7d9edbda97ae..000000000000 --- a/pkgs/development/tools/misc/lttng-tools/lttng-change-modprobe-path-from-sbin-modprobe-to-modprobe.patch +++ /dev/null @@ -1,53 +0,0 @@ -From daba2e936571a236817022b760d91c48b730c30b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= -Date: Tue, 9 Jul 2013 23:47:47 +0200 -Subject: [PATCH] Change modprobe path from "/sbin/modprobe" to "modprobe" - (rely on PATH lookup) - ---- - src/bin/lttng-sessiond/modprobe.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/bin/lttng-sessiond/modprobe.c b/src/bin/lttng-sessiond/modprobe.c -index 7e06dad..4075efe 100644 ---- a/src/bin/lttng-sessiond/modprobe.c -+++ b/src/bin/lttng-sessiond/modprobe.c -@@ -90,7 +90,7 @@ void modprobe_remove_lttng_control(void) - - for (i = ARRAY_SIZE(kern_modules_control) - 1; i >= 0; i--) { - ret = snprintf(modprobe, sizeof(modprobe), -- "/sbin/modprobe -r -q %s", -+ "modprobe -r -q %s", - kern_modules_control[i].name); - if (ret < 0) { - PERROR("snprintf modprobe -r"); -@@ -125,7 +125,7 @@ void modprobe_remove_lttng_data(void) - - for (i = ARRAY_SIZE(kern_modules_list) - 1; i >= 0; i--) { - ret = snprintf(modprobe, sizeof(modprobe), -- "/sbin/modprobe -r -q %s", -+ "modprobe -r -q %s", - kern_modules_list[i].name); - if (ret < 0) { - PERROR("snprintf modprobe -r"); -@@ -169,7 +169,7 @@ int modprobe_lttng_control(void) - - for (i = 0; i < ARRAY_SIZE(kern_modules_control); i++) { - ret = snprintf(modprobe, sizeof(modprobe), -- "/sbin/modprobe %s%s", -+ "modprobe %s%s", - kern_modules_control[i].required ? "" : "-q ", - kern_modules_control[i].name); - if (ret < 0) { -@@ -205,7 +205,7 @@ int modprobe_lttng_data(void) - - for (i = 0; i < ARRAY_SIZE(kern_modules_list); i++) { - ret = snprintf(modprobe, sizeof(modprobe), -- "/sbin/modprobe %s%s", -+ "modprobe %s%s", - kern_modules_list[i].required ? "" : "-q ", - kern_modules_list[i].name); - if (ret < 0) { --- -1.8.2.3 - diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix index 014a97a91581..0cba211f28b9 100644 --- a/pkgs/development/tools/misc/lttng-ust/default.nix +++ b/pkgs/development/tools/misc/lttng-ust/default.nix @@ -12,11 +12,11 @@ # Debian builds with std.h (systemtap). stdenv.mkDerivation rec { - name = "lttng-ust-2.3.0"; + name = "lttng-ust-2.4.1"; src = fetchurl { url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2"; - sha256 = "1hazjybrppyaakvfp1bs92vx0n2sgcsw0m6i5hwq7xq8vij7cj4q"; + sha256 = "1nx9b1haiylajzjy03wgfcy85nwg578c6gy8ip55y8cabjrw0hp1"; }; buildInputs = [ liburcu ]; diff --git a/pkgs/development/tools/misc/lttv/default.nix b/pkgs/development/tools/misc/lttv/default.nix index 5cf8b6649418..0096cbdbabf5 100644 --- a/pkgs/development/tools/misc/lttv/default.nix +++ b/pkgs/development/tools/misc/lttv/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { homepage = http://lttng.org/; # liblttvtraceread (ltt/ directory) is distributed under the GNU LGPL v2.1. # The rest of the LTTV package is distributed under the GNU GPL v2. - license = with licenses; [ gpl2 lgpl21 ]; + # TODO license = with licenses; [ gpl2 lgpl21 ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 356b004aa4e5..953035342fd8 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="luarocks"; - version="2.1.1"; + version="2.1.2"; name="${baseName}-${version}"; - hash="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr"; - url="http://luarocks.org/releases/luarocks-2.1.1.tar.gz"; - sha256="1b0qscmzdn80kxnn31v5q0rpafkwq1fr0766dzyh7dc2r6ws2nwr"; + hash="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; + url="http://luarocks.org/releases/luarocks-2.1.2.tar.gz"; + sha256="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; }; buildInputs = [ lua curl diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix index c625f1474006..36a57e8fe96e 100644 --- a/pkgs/development/tools/misc/openocd/default.nix +++ b/pkgs/development/tools/misc/openocd/default.nix @@ -17,6 +17,11 @@ stdenv.mkDerivation rec { buildInputs = [ libftdi libusb1 ]; + postInstall = '' + mkdir -p "$out/etc/udev/rules.d" + ln -s "$out/share/openocd/contrib/openocd.udev" "$out/etc/udev/rules.d/99-openocd.rules" + ''; + meta = { homepage = http://openocd.sourceforge.net/; description = "OpenOCD, an on-chip debugger"; diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 857aa1cabcf9..06b5c2ef516d 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "patchelf-0.6"; + name = "patchelf-0.8"; src = fetchurl { url = "http://nixos.org/releases/patchelf/${name}/${name}.tar.bz2"; - sha256 = "fc7e7fa95f282fc37a591a802629e0e1ed07bc2a8bf162228d9a69dd76127c01"; + sha256 = "c99f84d124347340c36707089ec8f70530abd56e7827c54d506eb4cc097a17e7"; }; meta = { homepage = http://nixos.org/patchelf.html; license = "GPL"; description = "A small utility to modify the dynamic linker and RPATH of ELF executables"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix deleted file mode 100644 index aa8418496eaa..000000000000 --- a/pkgs/development/tools/misc/patchelf/unstable.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, fetchurl }: - -stdenv.mkDerivation rec { - name = "patchelf-0.7pre160_1c057cd"; - - src = fetchurl { - url = http://hydra.nixos.org/build/2961500/download/2/patchelf-0.7pre160_1c057cd.tar.bz2; - sha256 = "bbc46169f6b6803410e0072cf57e631481e3d5f1dde234f4eacbccb6562c5f4f"; - }; - - meta = { - homepage = http://nixos.org/patchelf.html; - license = "GPL"; - description = "A small utility to modify the dynamic linker and RPATH of ELF executables"; - }; -} diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix index 8fcf254e8ca3..2fa7194cf073 100644 --- a/pkgs/development/tools/misc/saleae-logic/default.nix +++ b/pkgs/development/tools/misc/saleae-logic/default.nix @@ -3,6 +3,8 @@ # Suggested udev rules to be able to access the Logic device without being root: # SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666" # SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1001", MODE="0666" +# +# In NixOS, simply add this package to services.udev.packages. { stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft , fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor @@ -79,6 +81,10 @@ stdenv.mkDerivation rec { # Copy the generated .desktop file mkdir -p "$out/share/applications" cp "$desktopItem"/share/applications/* "$out/share/applications/" + + # Install provided udev rules + mkdir -p "$out/etc/udev/rules.d" + cp Drivers/99-SaleaeLogic.rules "$out/etc/udev/rules.d/" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index bdf3a7d05616..732423da5cd4 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -15,5 +15,6 @@ stdenv.mkDerivation rec { description = "A system call tracer for Linux"; license = licenses.bsd3; platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/development/tools/misc/swig/2.x.nix b/pkgs/development/tools/misc/swig/2.x.nix index 2066ead51a14..b51ce0f2d5af 100644 --- a/pkgs/development/tools/misc/swig/2.x.nix +++ b/pkgs/development/tools/misc/swig/2.x.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { # Licensing is a mess: http://www.swig.org/Release/LICENSE . license = "BSD-style"; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ urkud ]; }; } diff --git a/pkgs/development/tools/misc/swig/3.x.nix b/pkgs/development/tools/misc/swig/3.x.nix new file mode 100644 index 000000000000..653fb0616034 --- /dev/null +++ b/pkgs/development/tools/misc/swig/3.x.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pcre }: + +stdenv.mkDerivation rec { + name = "swig-3.0.0"; + + src = fetchurl { + url = "mirror://sourceforge/swig/${name}.tar.gz"; + sha256 = "99cab1055877d00280509f0e04c1fe76643ec3792e9b8e7efcc9aa6e247229df"; + }; + + buildInputs = [ pcre ]; + + meta = { + description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages"; + + longDescription = '' + SWIG is an interface compiler that connects programs written in C and + C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl. It + works by taking the declarations found in C/C++ header files and using + them to generate the wrapper code that scripting languages need to + access the underlying C/C++ code. In addition, SWIG provides a variety + of customization features that let you tailor the wrapping process to + suit your application. + ''; + + homepage = http://swig.org/; + + # Licensing is a mess: http://www.swig.org/Release/LICENSE . + license = "BSD-style"; + + platforms = stdenv.lib.platforms.linux; + + maintainers = with stdenv.lib.maintainers; [ urkud ]; + }; +} diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix index 1f37fd87f8a8..d489feba4dc5 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -39,6 +39,8 @@ stdenv.mkDerivation rec { # Licensing is a mess: http://www.swig.org/Release/LICENSE . license = "BSD-style"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ ]; }; } diff --git a/pkgs/development/tools/misc/teensy/default.nix b/pkgs/development/tools/misc/teensy/default.nix new file mode 100644 index 000000000000..9902cd034539 --- /dev/null +++ b/pkgs/development/tools/misc/teensy/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, unzip, libusb }: +let + version = "2.1"; +in +stdenv.mkDerivation { + name = "teensy-loader-${version}"; + src = fetchurl { + url = "http://www.pjrc.com/teensy/teensy_loader_cli.2.1.zip"; + sha256 = "0iidj3q0l2hds1gaadnwgni4qdgk6r0nv101986jxda8cw6h9zfs"; + }; + + buildInputs = [ unzip libusb ]; + + installPhase = '' + mkdir -p $out/bin + cp -v teensy_loader_cli $out/bin/ + ''; + + meta = with stdenv.lib; { + license = licenses.gpl3; + description = "Firmware uploader for the Teensy microcontroller board"; + homepage = http://www.pjrc.com/teensy/; + maintainers = with maintainers; [ the-kenny ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/texinfo/4.9.nix b/pkgs/development/tools/misc/texinfo/4.9.nix deleted file mode 100644 index fd42093e561d..000000000000 --- a/pkgs/development/tools/misc/texinfo/4.9.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchurl, ncurses}: - -stdenv.mkDerivation { - name = "texinfo-4.9"; - src = fetchurl { - url = mirror://gnu/texinfo/texinfo-4.9.tar.bz2; - sha256 = "0h7q9h405m88fjj067brzniiv8306ryl087pgjpmbpd2jci9h6g7"; - }; - buildInputs = [ncurses]; -} diff --git a/pkgs/development/tools/misc/texinfo/5.1.nix b/pkgs/development/tools/misc/texinfo/5.2.nix similarity index 83% rename from pkgs/development/tools/misc/texinfo/5.1.nix rename to pkgs/development/tools/misc/texinfo/5.2.nix index 2f318f18d542..0a7446fe5344 100644 --- a/pkgs/development/tools/misc/texinfo/5.1.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, ncurses, perl }: +{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }: stdenv.mkDerivation rec { - name = "texinfo-5.1"; + name = "texinfo-5.2"; src = fetchurl { url = "mirror://gnu/texinfo/${name}.tar.xz"; - sha256 = "0864v5i488x3mb3v5p6nhy2kw0mqkzpa3b0453iibj81zlpq078q"; + sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"; }; - buildInputs = [ ncurses perl ]; + buildInputs = [ perl xz ] + ++ stdenv.lib.optional interactive ncurses; preInstall = '' installFlags="TEXMF=$out/texmf-dist"; diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix index d49077a5ef6d..67ef086941e3 100644 --- a/pkgs/development/tools/misc/uhd/default.nix +++ b/pkgs/development/tools/misc/uhd/default.nix @@ -8,15 +8,15 @@ stdenv.mkDerivation rec { name = "uhd-${version}"; - version = "3.5.4"; + version = "3.7.0"; # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz # and xxx.yyy.zzz. Hrmpf... src = fetchurl { name = "${name}.tar.gz"; - url = "https://github.com/EttusResearch/uhd/archive/release_003_005_004.tar.gz"; - sha256 = "1l11dv72r4ynfpw58aacq0kjylzw85yapv3kzc76lg6qgdb0pqrd"; + url = "https://github.com/EttusResearch/uhd/archive/release_003_007_000.tar.gz"; + sha256 = "0x9imfy63s6wlbilr2n82c15nd33ix0mbap0q1xwh2pj1mk4d5jk"; }; cmakeFlags = "-DLIBUSB_INCLUDE_DIRS=${libusb1}/include/libusb-1.0"; @@ -27,10 +27,10 @@ stdenv.mkDerivation rec { preConfigure = "cd host"; # Firmware images are downloaded (pre-built) - uhdImagesName = "uhd-images_003.005.004-release"; + uhdImagesName = "uhd-images_003.007.000-release"; uhdImagesSrc = fetchurl { url = "http://files.ettus.com/binaries/maint_images/archive/${uhdImagesName}.tar.gz"; - sha256 = "0lgy9076vshlaq7l4n3q1hka3q4xxzdz7mqh7kawg4dziq7j8nl6"; + sha256 = "0vb0rc5ji8n6l6ycvd7pbazxzm0ihvkmqm77jflqrd3kky8r722d"; }; postPhases = [ "installFirmware" ]; diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix index 384e724dfad8..8b00d17ac7d1 100644 --- a/pkgs/development/tools/neoload/default.nix +++ b/pkgs/development/tools/neoload/default.nix @@ -13,9 +13,9 @@ if !licenseAccepted then throw '' else assert licenseAccepted; # the installer is very picky and demands 1.7.0.07 -let dotInstall4j = writeTextFile { name = "dot-install4j"; text = '' - JRE_VERSION ${jre} 1 7 0 7 - JRE_INFO ${jre} 94 +let dotInstall4j = path: writeTextFile { name = "dot-install4j"; text = '' + JRE_VERSION ${jre}${path} 1 7 0 7 + JRE_INFO ${jre}${path} 94 ''; }; responseVarfile = writeTextFile { name = "response.varfile"; text = '' @@ -48,7 +48,6 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/lib/neoload - ln -s ${jre} $out/lib/neoload/jre # the installer wants to use its internal JRE # disable this. The extra spaces are needed because the installer carries @@ -56,7 +55,7 @@ in stdenv.mkDerivation rec { sed -e 's/^if \[ -f jre.tar.gz/if false /' $src > installer chmod a+x installer - cp ${dotInstall4j} .install4j + cp ${dotInstall4j ""} .install4j chmod u+w .install4j sed -e "s|INSTALLDIR|$out|" ${responseVarfile} > response.varfile @@ -66,7 +65,7 @@ in stdenv.mkDerivation rec { bash -ic './installer -q -varfile response.varfile' for i in $out/bin/*; do - wrapProgram $i --run 'cp ${dotInstall4j} ~/.install4j' \ + wrapProgram $i --run 'cp ${dotInstall4j "/lib/openjdk/jre"} ~/.install4j' \ --run 'chmod u+w ~/.install4j' done @@ -75,7 +74,7 @@ in stdenv.mkDerivation rec { name=$(basename "$i") sed -e 's|/lib/neoload/bin|/bin|' "$i" > "$out/share/applications/$name" done - rm $out/lib/neoload/*.desktop $out/lib/neoload/uninstall + rm -r $out/lib/neoload/*.desktop $out/lib/neoload/uninstall ''; diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix new file mode 100644 index 000000000000..be125801bd50 --- /dev/null +++ b/pkgs/development/tools/node-webkit/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, buildEnv, makeWrapper +, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}: +let + bits = if stdenv.system == "x86_64-linux" then "x64" + else "ia32"; + + nwEnv = buildEnv { + name = "node-webkit-env"; + paths = [ + xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf + freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext + xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc + ]; + }; + +in stdenv.mkDerivation rec { + name = "node-webkit-${version}"; + version = "0.8.4"; + + src = fetchurl { + url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz"; + sha256 = if bits == "x64" then + "91229edfb03349306c5ce101fdab2de55f7473cc7c36367e9611a0527d2ef591" else + "12axppynangh0q72swzqcmz2blncgm2dw9n489313ybnp2p42hnp"; + }; + + patchPhase = '' + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot + ''; + + installPhase = let + LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit"; + in '' + ensureDir $out/bin + ensureDir $out/share/node-webkit + cp -R * $out/share/node-webkit + + ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + + makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}" + makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}" + ''; + + buildInputs = [ makeWrapper ]; + + meta = with stdenv.lib; { + description = "An app runtime based on Chromium and node.js"; + homepage = https://github.com/rogerwang/node-webkit; + platforms = ["i686-linux" "x86_64-linux"]; + maintainers = [ maintainers.offline ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix new file mode 100644 index 000000000000..3ab935705a2d --- /dev/null +++ b/pkgs/development/tools/ocaml/oasis/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, ocaml_typeconv, + ocamlmod, ocamlify, ounit, expect}: + +stdenv.mkDerivation { + name = "ocaml-oasis-0.4.1"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1355/oasis-0.4.1.tar.gz; + sha256 = "1lsnw9f1jh6106kphxg40qp0sia6cbkbb9ahs5y6ifnfkmllkjhj"; + }; + + createFindlibDestdir = true; + + buildInputs = + [ + ocaml findlib ocaml_data_notation ocaml_typeconv ocamlmod ocamlify ounit + ]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://oasis.forge.ocamlcore.org/; + description = "Configure, build and install system for OCaml projects"; + license = stdenv.lib.licenses.lgpl21; + platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix new file mode 100644 index 000000000000..88b7451e0f00 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocamlify/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, ocaml, findlib, ounit}: + +stdenv.mkDerivation { + name = "ocamlify-0.0.2"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1209/ocamlify-0.0.2.tar.gz; + sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii"; + }; + + buildInputs = [ocaml findlib ounit]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod; + description = "Generate OCaml modules from source files"; + platforms = ocaml.meta.platforms; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix new file mode 100644 index 000000000000..d72df18f8992 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, ocaml, findlib, ounit}: + +stdenv.mkDerivation { + name = "ocamlmod-0.0.7"; + + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1350/ocamlmod-0.0.7.tar.gz; + sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3"; + }; + + buildInputs = [ocaml findlib ounit]; + + configurePhase = "ocaml setup.ml -configure --prefix $out"; + buildPhase = "ocaml setup.ml -build"; + installPhase = "ocaml setup.ml -install"; + + meta = { + homepage = http://forge.ocamlcore.org/projects/ocamlmod/ocamlmod; + description = "Generate OCaml modules from source files"; + platforms = ocaml.meta.platforms; + maintainers = with stdenv.lib.maintainers; [ + z77z + ]; + }; +} diff --git a/pkgs/development/tools/ocaml/opam/1.1.nix b/pkgs/development/tools/ocaml/opam/1.1.nix index c5093db107d0..2c71f8ba49f5 100644 --- a/pkgs/development/tools/ocaml/opam/1.1.nix +++ b/pkgs/development/tools/ocaml/opam/1.1.nix @@ -30,13 +30,13 @@ let sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81"; }; opam = fetchurl { - url = "https://github.com/ocaml/opam/archive/1.1.0.zip"; - sha256 = "38a5edc1428f9e8e0d13e7017c97e1614dd651b75b4c234c80ff22f103d38bf7"; + url = "https://github.com/ocaml/opam/archive/1.1.1.zip"; + sha256 = "9c69eeb448af5a38950b2664446401ce240b9f028e0b4d26b6ac1a96938a5f03"; }; }; in stdenv.mkDerivation rec { - name = "opam-1.1.0"; + name = "opam-1.1.1"; buildInputs = [unzip curl ncurses ocaml]; diff --git a/pkgs/development/tools/parsing/alex/2.3.1.nix b/pkgs/development/tools/parsing/alex/2.3.1.nix index 7dc17cd4153a..b38979256c66 100644 --- a/pkgs/development/tools/parsing/alex/2.3.1.nix +++ b/pkgs/development/tools/parsing/alex/2.3.1.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildTools = [ perl ]; doCheck = false; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/alex/"; description = "Alex is a tool for generating lexical analysers in Haskell"; diff --git a/pkgs/development/tools/parsing/alex/2.3.2.nix b/pkgs/development/tools/parsing/alex/2.3.2.nix index 5d10dbd69951..dc4a0261c4a9 100644 --- a/pkgs/development/tools/parsing/alex/2.3.2.nix +++ b/pkgs/development/tools/parsing/alex/2.3.2.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildTools = [ perl ]; doCheck = false; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/alex/"; description = "Alex is a tool for generating lexical analysers in Haskell"; diff --git a/pkgs/development/tools/parsing/alex/2.3.3.nix b/pkgs/development/tools/parsing/alex/2.3.3.nix index bbe413d478ff..146f784463e4 100644 --- a/pkgs/development/tools/parsing/alex/2.3.3.nix +++ b/pkgs/development/tools/parsing/alex/2.3.3.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildTools = [ perl ]; doCheck = false; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/alex/"; description = "Alex is a tool for generating lexical analysers in Haskell"; diff --git a/pkgs/development/tools/parsing/alex/2.3.5.nix b/pkgs/development/tools/parsing/alex/2.3.5.nix index 3fb843e69557..65faf84aa2cb 100644 --- a/pkgs/development/tools/parsing/alex/2.3.5.nix +++ b/pkgs/development/tools/parsing/alex/2.3.5.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildTools = [ perl ]; doCheck = false; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/alex/"; description = "Alex is a tool for generating lexical analysers in Haskell"; diff --git a/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch b/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch new file mode 100644 index 000000000000..1e5942bfbefb --- /dev/null +++ b/pkgs/development/tools/parsing/alex/adapt-crazy-perl-regex-for-cpp-4.8.0.patch @@ -0,0 +1,12 @@ +diff -ubr alex-2.3.5-orig/Setup.lhs alex-2.3.5/Setup.lhs +--- alex-2.3.5-orig/Setup.lhs 2013-04-19 12:00:15.812606335 +0000 ++++ alex-2.3.5/Setup.lhs 2013-04-19 12:05:41.635450321 +0000 +@@ -25,7 +25,7 @@ + -- hack to turn cpp-style '# 27 "GenericTemplate.hs"' into + -- '{-# LINE 27 "GenericTemplate.hs" #-}'. + crazy_perl_regexp = +- "s/^#\\s+(\\d+)\\s+(\"[^\"]*\")/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g" ++ "s/^#\\s+(\\d+)\\s+(\"[^\"]*\").*/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g" + + myPostBuild _ flags _ lbi = do + let runProgram p = rawSystemProgramConf (buildVerbose flags) p (withPrograms lbi) diff --git a/pkgs/development/tools/parsing/bison/2.x.nix b/pkgs/development/tools/parsing/bison/2.x.nix index 77ba164f07ae..5660d51f0606 100644 --- a/pkgs/development/tools/parsing/bison/2.x.nix +++ b/pkgs/development/tools/parsing/bison/2.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, m4, perl }: stdenv.mkDerivation rec { - name = "bison-2.6.5"; + name = "bison-2.7"; src = fetchurl { - url = "mirror://gnu/bison/${name}.tar.xz"; - sha256 = "8640d5b51aad462db6863711f333a9159836853e0b1e79fdef708c6efb5cd52b"; + url = "mirror://gnu/bison/${name}.tar.gz"; + sha256 = "0cd8s2g7zjshya7kwjc9rh3drsssl4hiq4sccnkgf0nn9wvygfqr"; }; nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl; diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix index e3bd4ac7a5a9..284223905f64 100644 --- a/pkgs/development/tools/parsing/bison/3.x.nix +++ b/pkgs/development/tools/parsing/bison/3.x.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, m4, perl, flex }: +{ stdenv, fetchurl, m4, perl }: stdenv.mkDerivation rec { name = "bison-3.0.2"; @@ -8,11 +8,9 @@ stdenv.mkDerivation rec { sha256 = "1vc17y6242jlwp0gdj7wsim3nvc1ws7q3j0v3065nz8g9hd9vwnd"; }; - nativeBuildInputs = [ m4 ] ++ stdenv.lib.optionals doCheck [perl flex]; + nativeBuildInputs = [ m4 perl ]; propagatedBuildInputs = [ m4 ]; - doCheck = true; - meta = { homepage = "http://www.gnu.org/software/bison/"; description = "GNU Bison, a Yacc-compatible parser generator"; diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix similarity index 69% rename from pkgs/development/tools/parsing/flex/flex-2.5.35.nix rename to pkgs/development/tools/parsing/flex/2.5.35.nix index 21180e7d185e..8047080a125d 100644 --- a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix +++ b/pkgs/development/tools/parsing/flex/2.5.35.nix @@ -1,17 +1,16 @@ -# This should be moved to default.nix eventually (?) - -{stdenv, fetchurl, yacc, m4}: - -assert yacc != null && m4 != null; +{ stdenv, fetchurl, bison, m4 }: stdenv.mkDerivation { name = "flex-2.5.35"; + src = fetchurl { url = mirror://sourceforge/flex/flex-2.5.35.tar.bz2; sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b"; }; - buildInputs = [yacc]; - propagatedNativeBuildInputs = [m4]; + + buildInputs = [ bison ]; + + propagatedNativeBuildInputs = [ m4 ]; crossAttrs = { preConfigure = '' @@ -21,6 +20,7 @@ stdenv.mkDerivation { }; meta = { + homepage = http://flex.sourceforge.net/; description = "A fast lexical analyser generator"; }; } diff --git a/pkgs/development/tools/parsing/flex/2.5.39.nix b/pkgs/development/tools/parsing/flex/2.5.39.nix new file mode 100644 index 000000000000..f12f89f6e24c --- /dev/null +++ b/pkgs/development/tools/parsing/flex/2.5.39.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, bison, m4 }: + +stdenv.mkDerivation { + name = "flex-2.5.39"; + + src = fetchurl { + url = mirror://sourceforge/flex/flex-2.5.39.tar.bz2; + sha256 = "0zv15giw3gma03y2bzw78hjfy49vyir7vbcgnh9bb3637dgvblmd"; + }; + + buildInputs = [ bison ]; + + propagatedNativeBuildInputs = [ m4 ]; + + postConfigure = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i Makefile -e 's/-no-undefined//;' + ''; + + crossAttrs = { + preConfigure = '' + export ac_cv_func_malloc_0_nonnull=yes + export ac_cv_func_realloc_0_nonnull=yes + ''; + }; + + meta = { + homepage = http://flex.sourceforge.net/; + description = "A fast lexical analyser generator"; + }; +} diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.33.nix b/pkgs/development/tools/parsing/flex/flex-2.5.33.nix deleted file mode 100644 index 9be98689aeaa..000000000000 --- a/pkgs/development/tools/parsing/flex/flex-2.5.33.nix +++ /dev/null @@ -1,20 +0,0 @@ -# !!! this should be moved to default.nix eventually (but I delay -# doing that since it would cause a rebuild of lots of stuff). - -{stdenv, fetchurl, yacc, m4}: - -assert yacc != null && m4 != null; - -stdenv.mkDerivation { - name = "flex-2.5.33"; - src = fetchurl { - url = mirror://sourceforge/flex/flex-2.5.33.tar.bz2; - md5 = "343374a00b38d9e39d1158b71af37150"; - }; - buildInputs = [yacc]; - propagatedBuildInputs = [m4]; - - meta = { - description = "A fast lexical analyser generator"; - }; -} diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.34.nix b/pkgs/development/tools/parsing/flex/flex-2.5.34.nix deleted file mode 100644 index d56cf0c88a2e..000000000000 --- a/pkgs/development/tools/parsing/flex/flex-2.5.34.nix +++ /dev/null @@ -1,19 +0,0 @@ -# This should be moved to default.nix eventually (?) - -{stdenv, fetchurl, yacc, m4}: - -assert yacc != null && m4 != null; - -stdenv.mkDerivation { - name = "flex-2.5.34"; - src = fetchurl { - url = mirror://sourceforge/flex/flex-2.5.34.tar.bz2; - sha256 = "1c8e64f32508841b0441ddfb139c4cfd25fee3728cadb63f5f351c6eb9b224a6"; - }; - buildInputs = [yacc]; - propagatedBuildInputs = [m4]; - - meta = { - description = "A fast lexical analyser generator"; - }; -} diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix b/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix deleted file mode 100644 index 13bb68349790..000000000000 --- a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix +++ /dev/null @@ -1,12 +0,0 @@ -{stdenv, fetchurl, yacc}: - -assert yacc != null; - -stdenv.mkDerivation { - name = "flex-2.5.4a"; - src = fetchurl { - url = mirror://sourceforge/flex/flex-2.5.4a.tar.gz; - md5 = "bd8753d0b22e1f4ec87a553a73021adf"; - }; - buildInputs = [yacc]; -} diff --git a/pkgs/development/tools/parsing/happy/1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix index 401c4d1475ce..5ebac4303e75 100644 --- a/pkgs/development/tools/parsing/happy/1.18.4.nix +++ b/pkgs/development/tools/parsing/happy/1.18.4.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ perl ]; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/happy/"; description = "Happy is a parser generator for Haskell"; diff --git a/pkgs/development/tools/parsing/happy/1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix index d64d8983e9cb..7463a9f94a0a 100644 --- a/pkgs/development/tools/parsing/happy/1.18.5.nix +++ b/pkgs/development/tools/parsing/happy/1.18.5.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ perl ]; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/happy/"; description = "Happy is a parser generator for Haskell"; diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix index fdc483fe5714..3a3795c90db6 100644 --- a/pkgs/development/tools/parsing/happy/1.18.6.nix +++ b/pkgs/development/tools/parsing/happy/1.18.6.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ perl ]; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/happy/"; description = "Happy is a parser generator for Haskell"; diff --git a/pkgs/development/tools/parsing/happy/1.18.8.nix b/pkgs/development/tools/parsing/happy/1.18.8.nix index decc992809a2..141205d19402 100644 --- a/pkgs/development/tools/parsing/happy/1.18.8.nix +++ b/pkgs/development/tools/parsing/happy/1.18.8.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ perl ]; + patches = [ ./adapt-crazy-perl-regex-for-cpp-4.8.0.patch ]; meta = { homepage = "http://www.haskell.org/happy/"; description = "Happy is a parser generator for Haskell"; diff --git a/pkgs/development/tools/parsing/happy/1.19.3.nix b/pkgs/development/tools/parsing/happy/1.19.3.nix new file mode 100644 index 000000000000..b1a03fa3b9f8 --- /dev/null +++ b/pkgs/development/tools/parsing/happy/1.19.3.nix @@ -0,0 +1,18 @@ +{ cabal, mtl, perl }: + +cabal.mkDerivation (self: { + pname = "happy"; + version = "1.19.3"; + sha256 = "1q3hipgcwvrf333wlyqmg4mgf24gwiagddlfyr9zgi4k42p2373x"; + isLibrary = false; + isExecutable = true; + buildDepends = [ mtl ]; + buildTools = [ perl ]; + meta = { + homepage = "http://www.haskell.org/happy/"; + description = "Happy is a parser generator for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch b/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch new file mode 100644 index 000000000000..8bc4db0f405e --- /dev/null +++ b/pkgs/development/tools/parsing/happy/adapt-crazy-perl-regex-for-cpp-4.8.0.patch @@ -0,0 +1,12 @@ +diff -ubr happy-1.18.6-orig/Setup.lhs happy-1.18.6/Setup.lhs +--- happy-1.18.6-orig/Setup.lhs 2013-04-19 14:17:10.865999210 +0200 ++++ happy-1.18.6/Setup.lhs 2013-04-19 14:17:15.285214809 +0200 +@@ -25,7 +25,7 @@ + -- hack to turn cpp-style '# 27 "GenericTemplate.hs"' into + -- '{-# LINE 27 "GenericTemplate.hs" #-}'. + crazy_perl_regexp = +- "s/^#\\s+(\\d+)\\s+(\"[^\"]*\")/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g" ++ "s/^#\\s+(\\d+)\\s+(\"[^\"]*\").*/{-# LINE \\1 \\2 #-}/g;s/\\$(Id:.*)\\$/\\1/g" + + myPostBuild _ flags _ lbi = do + let runProgram p = rawSystemProgramConf (buildVerbose flags) p (withPrograms lbi) diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix index 7eea3bedcef0..6fc53595efbd 100644 --- a/pkgs/development/tools/phantomjs/default.nix +++ b/pkgs/development/tools/phantomjs/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, freetype, fontconfig, openssl }: +{ stdenv, fetchurl, freetype, fontconfig, openssl, unzip }: -assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" ]; +assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; stdenv.mkDerivation rec { - name = "phantomjs-1.9.2"; + name = "phantomjs-1.9.7"; # I chose to use the binary build for now. # The source version is quite nasty to compile @@ -12,16 +12,24 @@ stdenv.mkDerivation rec { src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://phantomjs.googlecode.com/files/${name}-linux-i686.tar.bz2"; - sha256 = "1nywb9xhcfjark6zfjlnrljc08r5185vv25vfcc65jzla8hy75qp"; + url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-i686.tar.bz2"; + sha256 = "1ffd5544wnkww5cgwsims4bk4bymvm6pm19p32nbhwabxqhbnj9a"; } - else # x86_64-linux - fetchurl { - url = "http://phantomjs.googlecode.com/files/${name}-linux-x86_64.tar.bz2"; - sha256 = "1xsjx4j6rwkq27y4iqdn0ai4yrq70a3g9309blywki0g976phccg"; - }; + else + if stdenv.system == "x86_64-linux" then + fetchurl { + url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-linux-x86_64.tar.bz2"; + sha256 = "06mhvj8rx298j0mrijw48zfm28hqgy81vdr1vv0jp4ncxbvijfs7"; + } + else # x86_64-darwin + fetchurl { + url = "https://bitbucket.org/ariya/phantomjs/downloads/${name}-macosx.zip"; + sha256 = "0vsagvx181gnypi6kgmxp4br6hnvd81vyy3cbz5pxccdys7iywvj"; + }; - buildPhase = '' + buildInputs = if stdenv.isDarwin then [ unzip ] else []; + + buildPhase = if stdenv.isDarwin then "" else '' patchelf \ --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ --set-rpath "${freetype}/lib:${fontconfig}/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib:${openssl}/lib" \ @@ -55,6 +63,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = ["i686-linux" "x86_64-linux" ]; + platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index bccaa70ead7c..90f7647aa05f 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib , glibc, gtk, libX11, makeWrapper, nspr, nss, pango, unzip, gconf -, libXrender, libXext +, libXi, libXrender, libXext }: # note: there is a i686 version available as well assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { - name = "chromedriver_linux64_2.0"; + name = "chromedriver_linux64"; src = fetchurl { - url = "http://chromedriver.googlecode.com/files/${name}.zip"; - sha256 = "165dq5550fs6262qa2jnjvm9smwjvws2zkkz7z5v4ibfg2j3409m"; + url = "http://chromedriver.storage.googleapis.com/2.9/${name}.zip"; + sha256 = "1m5xl5pz445igvhj31hby97xbizlw05b8fc6w53zq7faw7mzm665"; }; buildInputs = [ unzip makeWrapper ]; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { mv chromedriver $out/bin patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver wrapProgram "$out/bin/chromedriver" \ - --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:\$LD_LIBRARY_PATH" + --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:${libXrender}/lib:${gconf}/lib:${libXext}/lib:${libXi}/lib:\$LD_LIBRARY_PATH" ''; meta = with stdenv.lib; { @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { description = "A WebDriver server for running Selenium tests on Chrome"; license = licenses.bsd3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix new file mode 100644 index 000000000000..efb1e85c2d73 --- /dev/null +++ b/pkgs/development/tools/selenium/server/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "selenium-server-standalone-${version}"; + version = "2.39.0"; + + src = fetchurl { + url = "https://selenium.googlecode.com/files/${name}.jar"; + sha256 = "11ixh5x5f9kia2va8wssd3n7y57dkv3snw6xvk85y4qhzg64b65f"; + }; + + unpack = ""; + + buildCommand = '' + mkdir -p $out/share/lib/${name} + cp $src $out/share/lib/${name}/${name}.jar + ''; + + meta = with stdenv.lib; { + homepage = https://code.google.com/p/selenium; + description = "Selenium Server for remote WebDriver."; + maintainers = [ maintainers.coconnor ]; + platforms = platforms.all; + hydraPlatforms = []; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 80fc093822fd..d0870e82b723 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -4,18 +4,18 @@ assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; stdenv.mkDerivation rec { - name = "vagrant-1.4.0"; + name = "vagrant-1.4.3"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.0_x86_64.deb; - sha256 = "0hggajqdwk1qlkhf5sgdlmyxhan33q3pdgks9n5i2cw6f2ckw3rh"; + url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.3_x86_64.deb; + sha256 = "dbd06de0f3560e2d046448d627bca0cbb0ee34b036ef605aa87ed20e6ad2684b"; } else fetchurl { - url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.0_i686.deb; - sha256 = "03jcmsdl4na5n08phyvx65dnfv1gq9vgn07kcyqc2f8nq7vmcmkm"; + url = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.3_i686.deb; + sha256 = "66e613fc1c9e31ecaf8e5f1d07d2ae4fca3d4fc2e43593543962664258d9af9b"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 7c10bcb51dec..062d7f4ec066 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http_parser, c-ares, pkgconfig, runCommand }: +{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux, http-parser, c-ares, pkgconfig, runCommand }: let dtrace = runCommand "dtrace-native" {} '' @@ -6,13 +6,12 @@ let ln -sv /usr/sbin/dtrace $out/bin ''; - version = "0.10.24"; + version = "0.10.26"; # !!! Should we also do shared libuv? deps = { - inherit v8 openssl zlib; + inherit v8 openssl zlib http-parser; cares = c-ares; - http-parser = http_parser; }; sharedConfigureFlags = name: [ @@ -27,7 +26,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; - sha256 = "0yip81va8nd3kzj64385avcx7ck13a2xcdj3amzwnhk830rxf331"; + sha256 = "1ahx9cf2irp8injh826sk417wd528awi4l1mh7vxg7k8yak4wppg"; }; configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps); diff --git a/pkgs/development/web/nodejs/no-xcode.patch b/pkgs/development/web/nodejs/no-xcode.patch index c0e8ec924933..e88168b68a77 100644 --- a/pkgs/development/web/nodejs/no-xcode.patch +++ b/pkgs/development/web/nodejs/no-xcode.patch @@ -1,7 +1,7 @@ diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_emulation.py ---- a/tools/gyp/pylib/gyp/xcode_emulation.py 2013-12-19 00:49:45.000000000 +0100 -+++ b/tools/gyp/pylib/gyp/xcode_emulation.py 2014-01-13 13:46:19.000000000 +0100 -@@ -295,11 +295,20 @@ +--- a/tools/gyp/pylib/gyp/xcode_emulation.py 2014-01-23 06:05:51.000000000 +0100 ++++ b/tools/gyp/pylib/gyp/xcode_emulation.py 2014-02-04 17:49:48.000000000 +0100 +@@ -302,10 +302,17 @@ def _XcodeSdkPath(self, sdk_root): if sdk_root not in XcodeSettings._sdk_path_cache: @@ -9,87 +9,85 @@ diff -Naur a/tools/gyp/pylib/gyp/xcode_emulation.py b/tools/gyp/pylib/gyp/xcode_ - XcodeSettings._sdk_path_cache[sdk_root] = sdk_path - if sdk_root: - XcodeSettings._sdk_root_cache[sdk_path] = sdk_root -- return XcodeSettings._sdk_path_cache[sdk_root] -+ try: -+ sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path') -+ XcodeSettings._sdk_path_cache[sdk_root] = sdk_path -+ -+ if sdk_root: -+ XcodeSettings._sdk_root_cache[sdk_path] = sdk_root -+ except: -+ # if this fails it's because xcodebuild failed, which means -+ # the user is probably on a CLT-only system, where there -+ # is no valid SDK root -+ XcodeSettings._sdk_path_cache[sdk_root] = None -+ -+ return None; -+ #return XcodeSettings._sdk_path_cache[sdk_root] ++ try: ++ sdk_path = self._GetSdkVersionInfoItem(sdk_root, 'Path') ++ XcodeSettings._sdk_path_cache[sdk_root] = sdk_path ++ if sdk_root: ++ XcodeSettings._sdk_root_cache[sdk_path] = sdk_root ++ except: ++ # if this fails it's because xcodebuild failed, which means ++ # the user is probably on a CLT-only system, where there ++ # is no valid SDK root ++ XcodeSettings._sdk_path_cache[sdk_root] = None ++ + return XcodeSettings._sdk_path_cache[sdk_root] def _AppendPlatformVersionMinFlags(self, lst): - self._Appendf(lst, 'MACOSX_DEPLOYMENT_TARGET', '-mmacosx-version-min=%s') -@@ -409,10 +418,11 @@ - - cflags += self._Settings().get('WARNING_CFLAGS', []) - +@@ -420,10 +427,12 @@ + framework_root = sdk_root + else: + framework_root = '' - config = self.spec['configurations'][self.configname] - framework_dirs = config.get('mac_framework_dirs', []) - for directory in framework_dirs: -- cflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) +- cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root)) ++ + if 'SDKROOT' in self._Settings(): + config = self.spec['configurations'][self.configname] + framework_dirs = config.get('mac_framework_dirs', []) + for directory in framework_dirs: -+ cflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) ++ cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root)) self.configname = None return cflags -@@ -659,10 +669,11 @@ - for rpath in self._Settings().get('LD_RUNPATH_SEARCH_PATHS', []): - ldflags.append('-Wl,-rpath,' + rpath) - +@@ -673,10 +682,12 @@ + sdk_root = self._SdkPath() + if not sdk_root: + sdk_root = '' - config = self.spec['configurations'][self.configname] - framework_dirs = config.get('mac_framework_dirs', []) - for directory in framework_dirs: -- ldflags.append('-F' + directory.replace('$(SDKROOT)', self._SdkPath())) +- ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) ++ + if 'SDKROOT' in self._Settings(): + config = self.spec['configurations'][self.configname] + framework_dirs = config.get('mac_framework_dirs', []) + for directory in framework_dirs: -+ ldflags.append('-F' + directory.replace('$(SDKROOT)', self._SdkPath())) ++ ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root)) self.configname = None return ldflags -@@ -843,7 +854,10 @@ - l = '-l' + m.group(1) - else: - l = library -- return l.replace('$(SDKROOT)', self._SdkPath(config_name)) +@@ -863,7 +874,11 @@ + sdk_root = self._SdkPath(config_name) + if not sdk_root: + sdk_root = '' +- return l.replace('$(SDKROOT)', sdk_root) ++ + if self._SdkPath(): -+ return l.replace('$(SDKROOT)', self._SdkPath(config_name)) ++ return l.replace('$(SDKROOT)', sdk_root) + else: + return l def AdjustLibraries(self, libraries, config_name=None): """Transforms entries like 'Cocoa.framework' in libraries into entries like -@@ -956,12 +970,15 @@ +@@ -1018,12 +1033,16 @@ # Since the value returned by this function is only used when ARCHS is not # set, then on iOS we return "i386", as the default xcode project generator # does not set ARCHS if it is not set in the .gyp file. - if self.isIOS: -- return 'i386' ++ ++ try: ++ if self.isIOS: ++ return 'i386' ++ version, build = self._XcodeVersion() ++ if version >= '0500': ++ return 'x86_64' + return 'i386' - version, build = self._XcodeVersion() - if version >= '0500': -- return 'x86_64' -- return 'i386' -+ try: -+ if self.isIOS: -+ return 'i386' -+ version, build = self._XcodeVersion() -+ if version >= '0500': -+ return 'x86_64' -+ return 'i386' + except: -+ return 'x86_64' + return 'x86_64' +- return 'i386' class MacPrefixHeader(object): """A class that helps with emulating Xcode's GCC_PREFIX_HEADER feature. diff --git a/pkgs/development/web/xmlindent/default.nix b/pkgs/development/web/xmlindent/default.nix new file mode 100644 index 000000000000..f0966357d93d --- /dev/null +++ b/pkgs/development/web/xmlindent/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, flex }: + +stdenv.mkDerivation rec { + name = "xmlindent-${version}"; + version = "0.2.17"; + + src = fetchurl { + url = "mirror://sourceforge/project/xmlindent/xmlindent/${version}/${name}.tar.gz"; + sha256 = "0k15rxh51a5r4bvfm6c4syxls8al96cx60a9mn6pn24nns3nh3rs"; + }; + + buildInputs = [ flex ]; + + preConfigure = '' + substituteInPlace Makefile --replace "PREFIX=/usr/local" "PREFIX=$out" + ''; + + meta = { + description = "XML stream reformatter"; + homepage = http://xmlindent.sourceforge.net/; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + }; +} diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix index c9fd9706c0e3..93277eb15a27 100644 --- a/pkgs/games/LambdaHack/default.nix +++ b/pkgs/games/LambdaHack/default.nix @@ -1,18 +1,19 @@ -{ cabal, assertFailure, binary, ConfigFile, deepseq, enummapsetTh -, filepath, gtk, hashable, keys, miniutter, mtl, prettyShow, random -, stm, text, transformers, unorderedContainers, zlib +{ cabal, assertFailure, binary, deepseq, enummapsetTh, filepath +, gtk, hashable, hsini, keys, miniutter, mtl, prettyShow, random +, stm, text, transformers, unorderedContainers, vector +, vectorBinaryInstances, zlib }: cabal.mkDerivation (self: { pname = "LambdaHack"; - version = "0.2.10.6"; - sha256 = "19ak0ygw38b51wkm4p10xgdk3h9mh5vvb8c60qhs7cmgzjcph38n"; + version = "0.2.12"; + sha256 = "0ics1z376qyagkzg58mqqw7cbkjpkik57l8570qmk589nkhck86n"; isLibrary = true; isExecutable = true; buildDepends = [ - assertFailure binary ConfigFile deepseq enummapsetTh filepath gtk - hashable keys miniutter mtl prettyShow random stm text transformers - unorderedContainers zlib + assertFailure binary deepseq enummapsetTh filepath gtk hashable + hsini keys miniutter mtl prettyShow random stm text transformers + unorderedContainers vector vectorBinaryInstances zlib ]; jailbreak = true; meta = { diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index e039291882c5..720be6fb1d24 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -6,13 +6,13 @@ let py = pythonPackages; + version = "2.0.22"; in - stdenv.mkDerivation rec { - name = "anki-2.0.20"; + name = "anki-${version}"; src = fetchurl { url = "http://ankisrs.net/download/mirror/${name}.tgz"; - sha256 = "1w274g7as458bfkh86635p04fimvmkn70j8qy9m6nl2xwjaq8nhm"; + sha256 = "1bnjzf8050hrs3iiaak0m07sxj07vqic677llg2g6iarg9ws8x26"; }; pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ] @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { decrease your time spent studying, or greatly increase the amount you learn. Anyone who needs to remember things in their daily life can benefit from - Anki. Since it is content-agnostic and supports images, audio, videos and + Anki. Since it is content-agnostic and supports images, audio, videos and scientific markup (via LaTeX), the possibilities are endless. For example: * learning a language diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix index 86cf929aede7..bf2fb1e89c21 100644 --- a/pkgs/games/asc/default.nix +++ b/pkgs/games/asc/default.nix @@ -10,6 +10,10 @@ stdenv.mkDerivation rec { sha256 = "1r011l4gsliky6szjvda8xzyhkkc50ahrr7p14911v5ydar0w3hh"; }; + configureFlags = [ "--disable-paragui" "--disable-paraguitest" ]; + + NIX_CFLAGS_COMPILE = "-fpermissive"; # I'm too lazy to catch all gcc47-related problems + buildInputs = [ SDL SDL_image SDL_mixer SDL_sound libsigcxx physfs boost expat freetype libjpeg wxGTK lua perl pkgconfig zlib zip bzip2 libpng diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix index 195679183776..3db7aecfe1a5 100644 --- a/pkgs/games/gtypist/default.nix +++ b/pkgs/games/gtypist/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ncurses}: stdenv.mkDerivation { - name = "gtypist-2.9.3"; + name = "gtypist-2.9.4"; src = fetchurl { - url = "mirror://gnu/gtypist/gtypist-2.9.3.tar.xz"; - sha256 = "0srwa841caci69hzqb47xfbxxf7fvz3640qka083p72vm8z9hsxw"; + url = "mirror://gnu/gtypist/gtypist-2.9.4.tar.xz"; + sha256 = "18f54lh7ihhfvgwk3xd9d087kmganrgi2jd7avhvwn5gcc31vrqq"; }; buildInputs = [ncurses]; diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix new file mode 100644 index 000000000000..bfa5a69dfc32 --- /dev/null +++ b/pkgs/games/minecraft-server/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, jre }: + +with import {}; + +stdenv.mkDerivation rec { + name = "minecraft-server-${version}"; + version = "1.7.5"; + + src = fetchurl { + url = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar"; + sha256 = "0f3sh3fws02yl4xqa8qrvn0cchfp0hymqrf30c5syzzcz9w4l8pq"; + }; + + installPhase = '' + mkdir -p $out/bin $out/lib/minecraft + cp -v $src $out/lib/minecraft/server.jar + + cat > $out/bin/minecraft-server << EOF + #!/bin/sh + exec ${jre}/bin/java \$@ -jar $out/lib/minecraft/server.jar nogui + EOF + + chmod +x $out/bin/minecraft-server + ''; + + phases = "installPhase"; + + meta = { + description = "Minecraft Server"; + homepage = "https://minecraft.net"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix index 1f80998da92d..b4ec7eb311ff 100644 --- a/pkgs/games/minecraft/default.nix +++ b/pkgs/games/minecraft/default.nix @@ -2,11 +2,11 @@ , mesa, openal, alsaOss }: stdenv.mkDerivation { - name = "minecraft-1.4.7"; + name = "minecraft-2013.07.01"; src = fetchurl { - url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar"; - sha256 = "92db974aa759a3f17f3cd61550fa5010e335c57dd813dad9e39b9cc013420a49"; + url = "https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar"; + sha256 = "04pj4l5q0a64jncm2kk45r7nxnxa2z9n110dcxbbahdi6wk0png8"; }; phases = "installPhase"; @@ -30,7 +30,7 @@ stdenv.mkDerivation { meta = { description = "A sandbox-building game"; homepage = http://www.minecraft.net; - maintainers = [ stdenv.lib.maintainers.page stdenv.lib.maintainers.shlevy ]; + maintainers = [ stdenv.lib.maintainers.page ]; license = "unfree-redistributable"; }; } diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix new file mode 100644 index 000000000000..1d23640ce8b1 --- /dev/null +++ b/pkgs/games/mnemosyne/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, fetchurl +, buildPythonPackage +, pyqt4 +, matplotlib +, cherrypy +, sqlite3 +}: +let + version = "2.2.1"; +in buildPythonPackage rec { + name = "mnemosyne-${version}"; + src = fetchurl { + url = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz"; + sha256 = "7f5dd06a879b9ab059592355412182ee286e78e124aa25d588cacf9e4ab7c423"; + }; + pythonPath = [ + pyqt4 + matplotlib + cherrypy + sqlite3 + ]; + preConfigure = '' + substituteInPlace setup.py --replace /usr $out + find . -type f -exec grep -H sys.exec_prefix {} ';' | cut -d: -f1 | xargs sed -i s,sys.exec_prefix,\"$out\", + ''; + installCommand = "python setup.py install --prefix=$out"; + meta = { + homepage = "http://mnemosyne-proj.org/"; + description = "Spaced-repetition software."; + longDescription = '' + The Mnemosyne Project has two aspects: + + * It's a free flash-card tool which optimizes your learning process. + * It's a research project into the nature of long-term memory. + + We strive to provide a clear, uncluttered piece of software, easy to use + and to understand for newbies, but still infinitely customisable through + plugins and scripts for power users. + + ## Efficient learning + + Mnemosyne uses a sophisticated algorithm to schedule the best time for + a card to come up for review. Difficult cards that you tend to forget + quickly will be scheduled more often, while Mnemosyne won't waste your + time on things you remember well. + + ## Memory research + + If you want, anonymous statistics on your learning process can be + uploaded to a central server for analysis. This data will be valuable to + study the behaviour of our memory over a very long time period. The + results will be used to improve the scheduling algorithms behind the + software even further. + ''; + }; +} diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 6b385bc2e564..7e2b4221d523 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "1.3.3"; + version = "1.4.0"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0pfagqw8i1c6zrzarlwivrcac8b8ai1inam9qc01hj3h04nfv4b9"; + sha256 = "0m89pr7m7xg71q1j3869dfrbhv88g90cw9zn0jlpg8crsj4wnnyq"; }; buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ]; diff --git a/pkgs/games/planetaryannihilation/default.nix b/pkgs/games/planetaryannihilation/default.nix new file mode 100755 index 000000000000..009d07d4456c --- /dev/null +++ b/pkgs/games/planetaryannihilation/default.nix @@ -0,0 +1,54 @@ +{ stdenv, config, fetchurl, patchelf, makeWrapper, xlibs, gtk, glib, udev, alsaLib, atk +, nspr, fontconfig, cairo, pango, nss, freetype, gnome3, gdk_pixbuf, curl, systemd, xorg }: + +# TODO: use dynamic attributes once Nix 1.7 is out +assert ((config.planetary_annihilation or null).url or null) != null; +assert ((config.planetary_annihilation or null).sha256 or null) != null; + +/* to setup: + $ cat ~/.nixpkgs/config.nix + { + planetary_annihilation = { + url = "file:///home/user/PA_Linux_62857.tar.bz2"; + sha256 = "0imi3k5144dsn3ka9khx3dj76klkw46ga7m6rddqjk4yslwabh3k"; + }; +} +*/ + +stdenv.mkDerivation { + name = "planetary-annihalation"; + + src = fetchurl { + inherit (config.planetary_annihilation) url sha256; + }; + + buildInputs = [ patchelf makeWrapper ]; + + installPhase = '' + mkdir -p $out/{bin,lib} + + cp -R * $out/ + mv $out/*.so $out/lib + rm $out/libstdc++.so.6 + ln -s $out/PA $out/bin/PA + + ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0 + + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" "$out/PA" + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc xlibs.libXdamage xorg.libXfixes gtk glib stdenv.glibc "$out" xlibs.libXext pango udev xlibs.libX11 xlibs.libXcomposite alsaLib atk nspr fontconfig cairo pango nss freetype gnome3.gconf gdk_pixbuf xlibs.libXrender ]}:{stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" "$out/host/CoherentUI_Host.bin" + + wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.glibc xlibs.libX11 xlibs.libXcursor gtk glib curl "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" + + for f in $out/lib/*; do + patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc curl xlibs.libX11 stdenv.glibc xlibs.libXcursor "$out" ]}:${stdenv.gcc.gcc}/lib64:${stdenv.glibc}/lib64" $f + done + ''; + + meta = with stdenv.lib; { + homepage = http://www.uberent.com/pa/; + description = "next-generation RTS that takes the genre to a planetary scale"; + license = "unfree"; + platforms = platforms.linux; + maintainers = [ maintainers.iElectric ]; + }; +} diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix index 65a61cb6cabc..196561d1e379 100644 --- a/pkgs/games/simutrans/default.nix +++ b/pkgs/games/simutrans/default.nix @@ -4,7 +4,7 @@ let result = withPak (mkPak pak128); ver_1 = "112"; - ver_2 = "1"; + ver_2 = "3"; ver_h2 = "${ver_1}-${ver_2}"; # "pakset" of objects, images, text, music, etc. @@ -23,11 +23,11 @@ let }; pak64 = fetchurl { url = "mirror://sourceforge/simutrans/pak64/${ver_h2}/simupak64-${ver_h2}.zip"; - sha256 = "1197rl2534wx9wdafarlr42qjw6pyghz4bynq2g68pi10h8csypw"; + sha256 = "1ng963n2gvnwmsj73iy3gp9i5iqf5g6qk1gh1jnfm86gnjrsrq4m"; }; pak128 = fetchurl { - url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.2.0--${ver_1}.0.zip"; - sha256 = "13rwv9q3fa3ac0k11ds7zkpd00k4mn14rb0cknknvyz46icb9n80"; + url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.3.0--${ver_1}.2.zip"; + sha256 = "0jcif6mafsvpvxh1njyd6z2f6sab0fclq3f3nlg765yp3i1bfgff"; }; withPak = pak: stdenv.mkDerivation { @@ -44,7 +44,13 @@ let src = fetchurl { url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simutrans-src-${ver_h2}.zip"; - sha256 = "1xrxpd5m2dc9bk8w21smfj28r41ji1qaihjwkwrifgz6rhg19l5c"; + sha256 = "0jdq2krfj3qsh8dks9ixsdvpyjq9yi80p58b0xjpsn35mkbxxaca"; + }; + + # this resource is needed since 112.2 because the folders in simutrans directory has been removed from source code + resources = fetchurl { + url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simulinux-${ver_h2}.zip"; + sha256 = "14ly341pdkr8r3cd0q49w424m79iz38iaxfi9l1yfcxl8idkga1c"; }; sourceRoot = "."; @@ -72,6 +78,7 @@ let installPhase = '' mkdir -p $out/share/ mv simutrans $out/share/ + unzip -o ${resources} -d $out/share/ mkdir -p $out/bin/ mv build/default/sim $out/bin/simutrans diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 70cffaa192e2..f9d380d9cd52 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -1,36 +1,43 @@ { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip , openal, libvorbis, glew, freetype, xlibs, SDL, mesa, binutils -, asciidoc, libxslt, docbook_xsl, curl +, asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper , jdk ? null, python ? null , withAI ? true # support for AI Interfaces and Skirmish AIs }: + stdenv.mkDerivation rec { name = "spring-${version}"; - version = "95.0"; + version = "96.0"; src = fetchurl { url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma"; - sha256 = "0g0jfbbxl1g8nasibw13yjnsgalnfn4s2ii5z4s8k87vla9apg1v"; + sha256 = "1axyqkxgv3a0zg0afzlc7j3lyi412zd551j317ci41yqz2qzf0px"; }; - buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL - xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl ] + cmakeFlags = ["-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON" + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON" + "-DPREFER_STATIC_LIBS:BOOL=OFF"]; + + buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL + xlibs.libX11 xlibs.libXcursor mesa glew asciidoc libxslt docbook_xsl curl makeWrapper + docbook_xsl_ns ] ++ stdenv.lib.optional withAI jdk ++ stdenv.lib.optional withAI python; - prePatch = '' - substituteInPlace cont/base/make_gamedata_arch.sh --replace "#!/bin/sh" "#!${stdenv.shell}/bin/sh" \ - --replace "which" "type -p" - ''; + # reported upstream http://springrts.com/mantis/view.php?id=4305 + #enableParallelBuilding = true; # occasionally missing generated files on Hydra - enableParallelBuilding = true; + postInstall = '' + wrapProgram "$out/bin/spring" \ + --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib" + ''; meta = with stdenv.lib; { homepage = http://springrts.com/; description = "A powerful real-time strategy (RTS) game engine"; license = licenses.gpl2; - maintainers = [ maintainers.phreedom maintainers.qknight ]; + maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ]; platforms = platforms.mesaPlatforms; }; } diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix index f522eef8eb91..b5c8ef0154c2 100644 --- a/pkgs/games/spring/springlobby.nix +++ b/pkgs/games/spring/springlobby.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, cmake, wxGTK, openal, pkgconfig, curl, libtorrentRasterbar, libpng, libX11 -, gettext, bash, gawk, boost, libnotify, gtk, doxygen }: +, gettext, bash, gawk, boost, libnotify, gtk, doxygen, spring, makeWrapper }: stdenv.mkDerivation rec { name = "springlobby-${version}"; - version = "0.180"; + version = "0.186"; src = fetchurl { url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2"; - sha256 = "0v2pwrwiwiggyl95rcyfj3pdlwsss5vcmnyzd40r9swb9gyi55na"; + sha256 = "0pj7v85gl76hxvfhcypxsayk8lnnhgjn2irawgx49p80wsivl64k"; }; buildInputs = [ cmake wxGTK openal pkgconfig curl gettext libtorrentRasterbar boost libpng libX11 - libnotify gtk doxygen + libnotify gtk doxygen makeWrapper ]; prePatch = '' @@ -26,13 +26,18 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - #buildPhase = "make VERBOSE=1"; + postInstall = '' + wrapProgram $out/bin/springlobby \ + --prefix PATH : "${spring}/bin" \ + --set SPRING_BUNDLE_DIR "${spring}/lib" + ''; meta = with stdenv.lib; { homepage = http://springlobby.info/; + repositories.git = git://github.com/springlobby/springlobby.git; description = "Cross-platform lobby client for the Spring RTS project"; license = licenses.gpl2; - maintainers = [ maintainers.phreedom maintainers.qknight]; + maintainers = with maintainers; [ phreedom qknight iElectric ]; platforms = platforms.linux; }; } diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix index 130f1f905a44..6a54dd7512f6 100644 --- a/pkgs/games/stepmania/default.nix +++ b/pkgs/games/stepmania/default.nix @@ -23,4 +23,9 @@ stdenv.mkDerivation rec { echo "exec $out/stepmania" >> $out/bin/stepmania chmod +x $out/bin/stepmania ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = maintainers.mornfall; + }; } diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 46f22d332ccb..cd2698665f62 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { preConfigure = '' echo Building internal Irrlicht cd lib/irrlicht/source/Irrlicht/ + cp "${mesa}"/include/GL/{gl,glx,wgl}ext.h . NDEBUG=1 make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} cd - ''; diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix index dc221f37dd62..4b1cab6531c7 100644 --- a/pkgs/games/ultimatestunts/default.nix +++ b/pkgs/games/ultimatestunts/default.nix @@ -10,6 +10,10 @@ stdenv.mkDerivation rec { buildInputs = [ SDL mesa SDL_image freealut openal libvorbis pkgconfig ]; + postPatch = '' + sed -e '1i#include ' -i $(find . -name '*.c' -o -name '*.cpp') + ''; + meta = { homepage = http://www.ultimatestunts.nl/; description = "Remake of the popular racing DOS-game Stunts"; diff --git a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch deleted file mode 100644 index f008be35e378..000000000000 --- a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- widelands-build17-src.old/CMakeLists.txt 2012-04-23 02:46:49.000000000 -0700 -+++ widelands-build17-src/CMakeLists.txt 2012-07-14 19:49:14.000000000 -0700 -@@ -140,8 +140,6 @@ - else (WL_UNIT_TESTS) - message(STATUS "Disabled Unit Tests") - set (Boost_FIND_COMPONENTS signals) -- set (Boost_USE_STATIC_LIBS ON) -- set (Boost_USE_MULTITHREADED ON) - set (Boost_DETAILED_FAILURE_MSG ON) - find_package(Boost 1.35.0 COMPONENTS signals REQUIRED) - endif (WL_UNIT_TESTS) diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix index 65c991340728..b6008bd7e76a 100644 --- a/pkgs/games/widelands/default.nix +++ b/pkgs/games/widelands/default.nix @@ -1,77 +1,46 @@ -x@{builderDefsPackage - , libjpeg, boost, SDL, SDL_gfx, SDL_image, SDL_net, SDL_ttf, SDL_sound - , gettext, zlib, libiconv, libpng, python, expat, lua5, glew, doxygen - , cmake, ggz_base_libs, mesa, SDL_mixer - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, cmake, python, gettext +, boost, libpng, zlib, glew, lua +, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf, SDL_gfx +}: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="widelands"; - version="build17"; - name="${baseName}-${version}"; - project="${baseName}"; - url="https://launchpadlibrarian.net/102893896/widelands-build17-src.tar.bz2"; - hash="be48b3b8f342a537b39a3aec2f7702250a6a47e427188ba3bece67d7d90f3cc5"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; +stdenv.mkDerivation { + name = "widelands-18"; - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["killBuildDir" "doPatch" "doCmake" "doMakeInstall" "createScript"]; - - patches = [ ./boost_and_cmake_die_die_die.patch ]; - - killBuildDir = a.fullDepEntry '' - rm -r build - '' ["minInit" "doUnpack"]; - - cmakeFlags = [ - "-DLUA_LIBRARIES=-llua" - "-DWL_PORTABLE=true" - ]; - - createScript = a.fullDepEntry '' - mkdir -p "$out/bin" - echo '#! ${a.stdenv.shell}' >> "$out/bin/widelands" - echo "cd \"$out/share/games/widelands\"" >> "$out/bin/widelands" - echo "\"$out/games/widelands\" \"\$@\"" >> "$out/bin/widelands" - chmod a+x "$out/bin/widelands" - '' ["minInit"]; - - meta = { - description = "Widelands RTS with multiple-goods economy"; + meta = with stdenv.lib; { + description = "RTS with multiple-goods economy"; + homepage = "http://widelands.org/"; longDescription = '' Widelands is a real time strategy game based on "The Settlers" and "The Settlers II". It has a single player campaign mode, as well as a networked - multiplayer mode. + multiplayer mode. ''; - - maintainers = with a.lib.maintainers; - [ - raskin - jcumming - ]; - platforms = a.lib.platforms.linux; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin jcumming ]; hydraPlatforms = []; - license = a.lib.licenses.gpl2Plus; }; - passthru = { - updateInfo = { - downloadPage = "https://launchpad.net/widelands/+download"; - }; - }; -}) x + + src = fetchurl { + url = "https://launchpad.net/widelands/build18/build-18/+download/" + + "widelands-build18-src.tar.bz2"; + sha256 = "1qvx1cwkf61iwq0qkngvg460dsxqsfvk36qc7jf7mzwkiwbxkzvd"; + }; + + preConfigure = '' + cmakeFlags=" + -DWL_INSTALL_PREFIX=$out + -DWL_INSTALL_BINDIR=bin + -DWL_INSTALL_DATADIR=share/widelands + " + ''; + + nativeBuildInputs = [ cmake python gettext ]; + + buildInputs = [ + boost libpng zlib glew lua + SDL SDL_image SDL_mixer SDL_net SDL_ttf SDL_gfx + ]; + + enableParallelBuilding = true; +} diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix index 454112638768..97414c07bda7 100644 --- a/pkgs/games/xboard/default.nix +++ b/pkgs/games/xboard/default.nix @@ -5,11 +5,11 @@ let s = # Generated upstream information rec { baseName="xboard"; - version="4.7.2"; + version="4.7.3"; name="${baseName}-${version}"; - hash="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; - url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.2.tar.gz"; - sha256="1vm95fjp3pkvvjvamfs7zqw4l4b4v7v52h2npvf9j5059fckcrwv"; + hash="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"; + url="http://ftp.gnu.org/gnu/xboard/xboard-4.7.3.tar.gz"; + sha256="1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z"; }; buildInputs = [ libX11 xproto libXt libXaw libSM libICE libXmu diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix index ed37227bb039..5695bb5b4294 100644 --- a/pkgs/games/xmoto/default.nix +++ b/pkgs/games/xmoto/default.nix @@ -15,7 +15,11 @@ rec { configureFlags = []; /* doConfigure should be removed if not needed */ - phaseNames = [ "doConfigure" "doMakeInstall"]; + phaseNames = [ "patchIncludes" "doConfigure" "doMakeInstall"]; + patchIncludes = a.fullDepEntry '' + sed -e '1i#include ' -i src/helpers//System.cpp + sed -e '1i#include ' -i src/helpers//System.cpp + '' ["doUnpack" "minInit"]; meta = { description = "X-Moto - obstacled race game"; diff --git a/pkgs/misc/beep/default.nix b/pkgs/misc/beep/default.nix new file mode 100644 index 000000000000..8f0830be1862 --- /dev/null +++ b/pkgs/misc/beep/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +# this package is working only as root +# in order to work as a non privileged user you would need to suid the bin + +stdenv.mkDerivation { + name = "beep-1.3"; + src = fetchurl { + url = http://www.johnath.com/beep/beep-1.3.tar.gz; + md5 = "49c340ceb95dbda3f97b2daafac7892a"; + }; + + makeFlags = "INSTALL_DIR=\${out}/bin/ MAN_DIR=\${out}/man/man1/"; + + preInstall = '' + mkdir -p $out/bin + mkdir -p $out/man/man1 + ''; + meta = { + description = "The advanced PC speaker beeper"; + homepage = http://www.johnath.com/beep/; + license = "GPLv2"; + }; +} diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index 5d891c381001..bf55f93db5b7 100644 --- a/pkgs/misc/emulators/wine/unstable.nix +++ b/pkgs/misc/emulators/wine/unstable.nix @@ -7,12 +7,12 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; let - version = "1.7.10"; + version = "1.7.14"; name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "1nybsp4pga0jhx6rm6ngpa2ixsbj75p8w22r9d70x4zgjx5hw9s4"; + sha256 = "029y4vsjz2jxy31g5nylpl7wm5qhw37dsbx4f0za6swk51z97w9d"; }; gecko = fetchurl { diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix index eaab4276c1a3..c3bced292005 100644 --- a/pkgs/misc/emulators/zsnes/default.nix +++ b/pkgs/misc/emulators/zsnes/default.nix @@ -2,35 +2,28 @@ stdenv.mkDerivation { name = "zsnes-1.51"; - + src = fetchurl { url = mirror://sourceforge/zsnes/zsnes151src.tar.bz2; sha256 = "08s64qsxziv538vmfv38fg1rfrz5k95dss5zdkbfxsbjlbdxwmi8"; }; + # copied from arch linux, fixes gcc-4.8 compatibility + patches = [ ./zsnes.patch ]; + + postPatch = '' + patch -p0 < ${./zsnes-1.51-libpng15.patch} + ''; + buildInputs = [ nasm SDL zlib libpng ncurses mesa ]; preConfigure = '' cd src - sed -i "/^STRIP/d" configure - - # Fix for undefined strncasecmp() - echo '#include ' > tmp.cpp - cat tmp.cpp tools/strutil.h > tools/strutil.h.new - mv tools/strutil.h.new tools/strutil.h - - # Fix for undefined system() - echo '#include ' > tmp.cpp - cat tmp.cpp tools/depbuild.cpp > tools/depbuild.cpp.new - mv tools/depbuild.cpp.new tools/depbuild.cpp - - # Fix for lots of undefined strcmp, strncmp etc. - echo '#include ' > tmp.cpp - cat tmp.cpp parsegen.cpp > parsegen.cpp.new - mv parsegen.cpp.new parsegen.cpp ''; - + + configureFlags = "--enable-release"; + meta = { description = "A Super Nintendo Entertainment System Emulator"; license = "GPLv2+"; diff --git a/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch b/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch new file mode 100644 index 000000000000..b32c30967547 --- /dev/null +++ b/pkgs/misc/emulators/zsnes/zsnes-1.51-libpng15.patch @@ -0,0 +1,12 @@ +Use existing png_set_IHDR() and stop accessing PNG structure members directly + +--- src/zip/zpng.c ++++ src/zip/zpng.c +@@ -129,7 +129,6 @@ + png_set_IHDR(png_ptr, info_ptr, width, height, 8, + PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, + PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); +- info_ptr->color_type = PNG_COLOR_TYPE_RGB; + + //Allocate an array of scanline pointers + row_pointers = (png_bytep*)malloc(height*sizeof(png_bytep)); diff --git a/pkgs/misc/emulators/zsnes/zsnes.patch b/pkgs/misc/emulators/zsnes/zsnes.patch new file mode 100644 index 000000000000..d5d681ae67a8 --- /dev/null +++ b/pkgs/misc/emulators/zsnes/zsnes.patch @@ -0,0 +1,80 @@ +diff -aur zsnes_1_51//src/Makefile.in zsnes_1_51_new//src/Makefile.in +--- zsnes_1_51//src/Makefile.in 2007-01-24 21:54:12.000000000 +0100 ++++ zsnes_1_51_new//src/Makefile.in 2010-09-06 00:03:04.715810431 +0200 +@@ -95,7 +95,7 @@ + %.o: %.cpp + @CXX@ @CXXFLAGS@ -o $@ -c $< + %.o %.h: %.psr $(PSR) +- ./$(PSR) @PSRFLAGS@ -gcc @CC@ -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $< ++ ./$(PSR) @PSRFLAGS@ -gcc "@CC@" -compile -flags "@CFLAGS@ -O1 -D_FORTIFY_SOURCE=0" -cheader $*.h -fname $* $*.o $< + + default: main + all: main tools +@@ -133,7 +133,7 @@ + + include makefile.dep + makefile.dep: $(TOOL_D)/depbuild Makefile +- $(TOOL_D)/depbuild @CC@ "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep ++ $(TOOL_D)/depbuild "@CC@" "@CFLAGS@" "@NASMPATH@" "@NFLAGS@" $(Z_OBJS) > makefile.dep + + Makefile: Makefile.in config.status + ./config.status +diff -aur zsnes_1_51//src/parsegen.cpp zsnes_1_51_new//src/parsegen.cpp +--- zsnes_1_51//src/parsegen.cpp 2007-10-31 05:30:26.000000000 +0100 ++++ zsnes_1_51_new//src/parsegen.cpp 2010-09-05 15:48:36.903333444 +0200 +@@ -19,6 +19,9 @@ + Config file handler creator by Nach (C) 2005-2007 + */ + ++#include ++#include ++ + #if !defined(__GNUC__) && !defined(_MSC_VER) + #error You are using an unsupported compiler + #endif +@@ -1822,7 +1825,7 @@ + } + } + +-int main(size_t argc, const char *const *const argv) ++int main(int argc, const char *const *const argv) + { + const char *cheader_file = 0; + bool compile = false; +diff -aur zsnes_1_51//src/tools/depbuild.cpp zsnes_1_51_new//src/tools/depbuild.cpp +--- zsnes_1_51//src/tools/depbuild.cpp 2006-12-27 12:04:05.000000000 +0100 ++++ zsnes_1_51_new//src/tools/depbuild.cpp 2010-09-05 15:48:36.903333444 +0200 +@@ -183,7 +183,7 @@ + } + } + +-int main(size_t argc, const char *const *const argv) ++int main(int argc, const char *const *const argv) + { + if (argc < 5) + { +diff -aur zsnes_1_51//src/tools/strutil.h zsnes_1_51_new//src/tools/strutil.h +--- zsnes_1_51//src/tools/strutil.h 2006-12-27 12:04:05.000000000 +0100 ++++ zsnes_1_51_new//src/tools/strutil.h 2010-09-05 15:48:36.903333444 +0200 +@@ -15,6 +15,9 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++#include ++#include ++ + /* + This is part of a toolkit used to assist in ZSNES development + */ +diff -u -r zsnes_1_51/src/tools/depbuild.cpp zsnes_1_51-fix/src/tools/depbuild.cpp +--- zsnes_1_51/src/tools/depbuild.cpp 2006-12-27 12:04:05.000000000 +0100 ++++ zsnes_1_51-fix/src/tools/depbuild.cpp 2012-07-14 16:20:17.759886250 +0200 +@@ -26,6 +26,8 @@ + #include + using namespace std; + ++#include ++ + #include "fileutil.h" + #include "strutil.h" + diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix index b3c71c891912..7e750d9c9b37 100644 --- a/pkgs/misc/screensavers/xlockmore/default.nix +++ b/pkgs/misc/screensavers/xlockmore/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { - name = "xlockmore-5.38"; + name = "xlockmore-5.43"; src = fetchurl { url = "http://www.tux.org/~bagleyd/xlock/${name}/${name}.tar.bz2"; - sha256 = "15x5l43zdjn881xf2m9psz9s2hvd2l8py2kzdhdh1v9m4ml20nf4"; + sha256 = "1l36n8x51j7lwdalv6yi37cil290vzd3djjqydhsm0pnm8hiz499"; }; # Optionally, it can use GTK+. diff --git a/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch b/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch new file mode 100644 index 000000000000..7966d1e683b9 --- /dev/null +++ b/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch @@ -0,0 +1,121 @@ +diff -r -u a/app/Makefile.am b/app/Makefile.am +--- a/app/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/app/Makefile.am 2014-01-16 14:22:24.584094619 +0100 +@@ -21,7 +21,7 @@ + seafile_LDADD = @CCNET_LIBS@ \ + $(top_builddir)/lib/libseafile.la \ + $(top_builddir)/lib/libseafile_common.la \ +- @SEARPC_LIBS@ \ ++ @SEARPC_LIBS@ @JANSSON_LIBS@ \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 + + seafile_LDFALGS = @STATIC_COMPILE@ @CONSOLE@ +@@ -29,7 +29,7 @@ + if COMPILE_SERVER + seafserv_tool_SOURCES = seafserv-tool.c + seafserv_tool_LDADD = @CCNET_LIBS@ \ +- $(top_builddir)/lib/libseafile.la @SEARPC_LIBS@ \ ++ $(top_builddir)/lib/libseafile.la @SEARPC_LIBS@ @JANSSON_LIBS@ \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 + + seafserv_tool_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@ @SERVER_PKG_RPATH@ +diff -r -u a/configure.ac b/configure.ac +--- a/configure.ac 2014-01-10 11:38:46.000000000 +0100 ++++ b/configure.ac 2014-01-16 14:22:24.584094619 +0100 +@@ -233,6 +233,7 @@ + GLIB_REQUIRED=2.16.0 + CCNET_REQUIRED=0.9.3 + SEARPC_REQUIRED=1.0 ++JANSSON_REQUIRED=2.2.1 + ZDB_REQUIRED=2.10 + #LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1 + CURL_REQUIRED=7.17 +@@ -254,6 +255,11 @@ + AC_SUBST(SEARPC_CFLAGS) + AC_SUBST(SEARPC_LIBS) + ++PKG_CHECK_MODULES(JANSSON, [jansson >= $JANSSON_REQUIRED]) ++AC_SUBST(JANSSON_CFLAGS) ++AC_SUBST(JANSSON_LIBS) ++ ++ + PKG_CHECK_MODULES(LIBEVENT, [libevent >= $LIBEVENT_REQUIRED]) + AC_SUBST(LIBEVENT_CFLAGS) + AC_SUBST(LIBEVENT_LIBS) +diff -r -u a/daemon/Makefile.am b/daemon/Makefile.am +--- a/daemon/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/daemon/Makefile.am 2014-01-16 14:22:24.587427993 +0100 +@@ -139,7 +139,7 @@ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 -levent \ + $(top_builddir)/common/cdc/libcdc.la \ + $(top_builddir)/common/index/libindex.la ${LIB_WS32} \ +- @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ ++ @SEARPC_LIBS@ @CCNET_LIBS@ @GNOME_KEYRING_LIBS@ @JANSSON_LIBS@ + + seaf_daemon_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@ + +diff -r -u a/server/gc/Makefile.am b/server/gc/Makefile.am +--- a/server/gc/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/server/gc/Makefile.am 2014-01-16 14:23:20.991449822 +0100 +@@ -50,7 +50,7 @@ + $(top_builddir)/common/cdc/libcdc.la \ + $(top_builddir)/lib/libseafile_common.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 -levent \ +- @SEARPC_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} ++ @SEARPC_LIBS@ @JANSSON_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} + + seafserv_gc_LDFLAGS = @STATIC_COMPILE@ @SERVER_PKG_RPATH@ + +@@ -63,6 +63,6 @@ + $(top_builddir)/common/cdc/libcdc.la \ + $(top_builddir)/lib/libseafile_common.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 -levent \ +- @SEARPC_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} ++ @SEARPC_LIBS@ @JANSSON_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} + + seaf_fsck_LDFLAGS = @STATIC_COMPILE@ @SERVER_PKG_RPATH@ +diff -r -u a/server/Makefile.am b/server/Makefile.am +--- a/server/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/server/Makefile.am 2014-01-16 14:23:40.498354610 +0100 +@@ -99,6 +99,6 @@ + $(top_builddir)/common/index/libindex.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 -levent \ + $(top_builddir)/common/cdc/libcdc.la \ +- @SEARPC_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} ++ @SEARPC_LIBS@ @JANSSON_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ ${LIB_WS32} + + seaf_server_LDFLAGS = @STATIC_COMPILE@ @SERVER_PKG_RPATH@ +diff -r -u a/httpserver/Makefile.am b/httpserver/Makefile.am +--- a/httpserver/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/httpserver/Makefile.am 2014-01-16 14:26:48.673985279 +0100 +@@ -50,7 +50,7 @@ + @CCNET_LIBS@ \ + $(top_builddir)/lib/libseafile.la \ + $(top_builddir)/common/cdc/libcdc.la \ +- @SEARPC_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ \ ++ @SEARPC_LIBS@ @JANSSON_LIBS@ @ZDB_LIBS@ @CURL_LIBS@ \ + @LIBARCHIVE_LIBS@ ${LIB_WS32} + + httpserver_LDFLAGS = @STATIC_COMPILE@ +diff -r -u a/controller/Makefile.am b/controller/Makefile.am +--- a/controller/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/controller/Makefile.am 2014-01-16 14:29:42.076102675 +0100 +@@ -18,6 +18,6 @@ + seafile_controller_LDADD = @CCNET_LIBS@ \ + $(top_builddir)/lib/libseafile_common.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -levent \ +- @SEARPC_LIBS@ ++ @SEARPC_LIBS@ @JANSSON_LIBS@ + + seafile_controller_LDFLAGS = @STATIC_COMPILE@ @SERVER_PKG_RPATH@ +diff -r -u a/fuse/Makefile.am b/fuse/Makefile.am +--- a/fuse/Makefile.am 2014-01-10 11:38:46.000000000 +0100 ++++ b/fuse/Makefile.am 2014-01-16 14:31:44.764267711 +0100 +@@ -43,6 +43,6 @@ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ \ + -lsqlite3 -levent \ + $(top_builddir)/common/cdc/libcdc.la \ +- @SEARPC_LIBS@ @ZDB_LIBS@ @FUSE_LIBS@ ++ @SEARPC_LIBS@ @JANSSON_LIBS@ @ZDB_LIBS@ @FUSE_LIBS@ + + seaf_fuse_LDFLAGS = @STATIC_COMPILE@ @SERVER_PKG_RPATH@ diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix new file mode 100644 index 000000000000..53092e3a8b74 --- /dev/null +++ b/pkgs/misc/seafile-shared/default.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, intltool, fuse, ccnet}: + +stdenv.mkDerivation rec +{ + version = "2.1.1"; + name = "seafile-shared-${version}"; + + src = fetchurl + { + url = "https://github.com/haiwen/seafile/archive/v${version}.tar.gz"; + sha256 = "f07b09ab1eb1cb33f92cee74e499d0350941624396910a4c1a7d79abb45acaa6"; + }; + + patches = [ ./0003-Add-autoconfiguration-for-libjansson.patch ]; + + buildInputs = [ which automake autoconf pkgconfig libtool vala python intltool fuse ]; + propagatedBuildInputs = [ ccnet ]; + + preConfigure = '' + sed -ie 's|/bin/bash|/bin/sh|g' ./autogen.sh + ./autogen.sh + ''; + + configureFlags = "--disable-server --disable-console"; + + buildPhase = "make -j1"; + + postInstall = '' + # Remove seafile binary + rm -rf "$out/bin/seafile" + # Remove cli client binary + rm -rf "$out/bin/seaf-cli" + ''; + + meta = + { + homepage = "https://github.com/haiwen/seafile"; + description = "Shared components of Seafile: seafile-daemon, libseafile, libseafile python bindings, manuals, and icons"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix index b40ebe84bcb1..9426684165db 100644 --- a/pkgs/misc/solfege/default.nix +++ b/pkgs/misc/solfege/default.nix @@ -28,10 +28,9 @@ stdenv.mkDerivation rec { postInstall = '' set -x - find "${librsvg}" "${gdk_pixbuf}" -name loaders.cache -print0 | xargs -0 cat > "$out/gdk-pixbuf.loaders" wrapProgram "$out/bin/solfege" \ --prefix PYTHONPATH ':' "$PYTHONPATH" \ - --set GDK_PIXBUF_MODULE_FILE "$out/gdk-pixbuf.loaders" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; meta = with stdenv.lib; { diff --git a/pkgs/misc/source-and-tags/default.nix b/pkgs/misc/source-and-tags/default.nix index ece31bbaa74f..981c01e2b4a7 100644 --- a/pkgs/misc/source-and-tags/default.nix +++ b/pkgs/misc/source-and-tags/default.nix @@ -56,8 +56,13 @@ args: with args; { tagCmd = " srcs=\"`find . -type f -name \"*.*hs\"; find . -type f -name \"*.*hs*\";`\" [ -z \"$srcs\" ] || { - ${toString hasktags}/bin/hasktags-modified --ignore-close-implementation --ctags $srcs - sort tags > \$TAG_FILE + # without this creating tag files for lifted-base fails + export LC_ALL=en_US.UTF-8 + export LANG=en_US.UTF-8 + ${if args.stdenv.isLinux then "export LOCALE_ARCHIVE=${args.pkgs.glibcLocales}/lib/locale/locale-archive;" else ""} + + ${toString hasktags}/bin/hasktags --ignore-close-implementation --ctags . + mv tags \$TAG_FILE }"; } ]; diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix index fb51985afd1e..c3d846c566ce 100644 --- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix +++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix @@ -2,12 +2,12 @@ cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }: stdenv.mkDerivation rec { - version = "1.4.1"; + version = "1.4.5"; name = "oxygen-gtk2-${version}"; src = fetchurl { url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2"; - sha256 = "13vrdlzg8h5gxn04f488f65yfy9m0amqpqdbs9l304yxgm7mkawd"; + sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v"; }; buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { homepage = https://projects.kde.org/projects/playground/artwork/oxygen-gtk; license = licenses.lgpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/misc/themes/qtcurve/default.nix index 017a47349a9c..ec5feb27c85b 100644 --- a/pkgs/misc/themes/qtcurve/default.nix +++ b/pkgs/misc/themes/qtcurve/default.nix @@ -28,10 +28,11 @@ stdenv.mkDerivation { -DQTC_QT4_ENABLE_KWIN=ON ''; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/QtCurve/qtcurve; description = "Widget styles for Qt4/KDE4 and gtk2"; - platforms = stdenv.lib.platforms.linux; - license = "LGPLv2.1+"; + platforms = platforms.linux; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 40a0d7af4968..f410f25e8cb7 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -109,10 +109,13 @@ in rec }; YouCompleteMe = stdenv.mkDerivation { - # REGION AUTO UPDATE: { name="youcompleteme"; type="git"; url="git://github.com/Valloric/YouCompleteMe"; } - src = (fetchurl { url = "http://mawercer.de/~nix/repos/youcompleteme-git-97306.tar.bz2"; sha256 = "b9b892f5a723370c2034491dc72a4ca722c6cf1e5de4d60501141bba151bc719"; }); - name = "youcompleteme-git-97306"; - # END + src = fetchgit { + url = "https://github.com/Valloric/YouCompleteMe.git"; + rev = "ee12530df0574e18289d6daf25ff72bd3c6e94f5"; + sha256 = "1z93l2v0s078h632jrlhxzs9pg8phnx60qlrrhb3l2nbfk047rgx"; + }; + + name = "youcompleteme-git-ee12530df0"; buildInputs = [ python cmake ]; configurePhase = ":"; diff --git a/pkgs/os-specific/darwin/otool/default.nix b/pkgs/os-specific/darwin/otool/default.nix index 671e51542d06..e0793664a9c8 100644 --- a/pkgs/os-specific/darwin/otool/default.nix +++ b/pkgs/os-specific/darwin/otool/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Object file displaying tool"; homepage = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html; - license = with licenses; [ apsl20 gpl2Plus ]; + # TODO license = with licenses; [ apsl20 gpl2Plus ]; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.darwin; diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix index 2a774949530d..a3400ee0823f 100644 --- a/pkgs/os-specific/linux/acpi/default.nix +++ b/pkgs/os-specific/linux/acpi/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "01ahldvf0gc29dmbd5zi4rrnrw2i1ajnf30sx2vyaski3jv099fp"; }; - meta = { + meta = with stdenv.lib; { description = "Show battery status and other ACPI information"; longDescription = '' Linux ACPI client is a small command-line @@ -19,5 +19,7 @@ stdenv.mkDerivation rec { ''; homepage = http://sourceforge.net/projects/acpiclient/; license = "GPLv2+"; + platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix index c1f92476b879..c9d45835cfd0 100644 --- a/pkgs/os-specific/linux/acpid/default.nix +++ b/pkgs/os-specific/linux/acpid/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "acpid-2.0.20"; + name = "acpid-2.0.22"; src = fetchurl { url = "mirror://sourceforge/acpid2/${name}.tar.xz"; - sha256 = "0l7pzjcpf1935bn44kzgc16h00clbx73cjm2dlyhzvvb5ksvl7ka"; + sha256 = "0cdbcy5xjdcyp2x6hzgpv6a9vg9bbxmypmfvv1qzgj43897la49x"; }; preBuild = '' diff --git a/pkgs/os-specific/linux/alienfx/default.nix b/pkgs/os-specific/linux/alienfx/default.nix index 9924779d92ab..93d77819e57a 100644 --- a/pkgs/os-specific/linux/alienfx/default.nix +++ b/pkgs/os-specific/linux/alienfx/default.nix @@ -14,11 +14,12 @@ stdenv.mkDerivation { sha256 = "47501a3b4e08d39edee4cd829ae24259a7e740b9798db76b846fa872989f8fb1"; }; - patchPhase = '' + prePatch = '' substituteInPlace Makefile --replace /usr/ $out/ substituteInPlace Makefile --replace "install -o root -g root" "install" ''; + patches = [./unistd.patch]; buildInputs = [ libusb1 ]; makeFlags = "build"; preInstall = '' diff --git a/pkgs/os-specific/linux/alienfx/unistd.patch b/pkgs/os-specific/linux/alienfx/unistd.patch new file mode 100644 index 000000000000..546a27892f0d --- /dev/null +++ b/pkgs/os-specific/linux/alienfx/unistd.patch @@ -0,0 +1,12 @@ +diff --git a/alienfx.cpp b/alienfx.cpp +index 5981039..aea8992 100644 +--- a/alienfx.cpp ++++ b/alienfx.cpp +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + using namespace std; + diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index 484ecd06bb0b..6167696f336c 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}: stdenv.mkDerivation rec { - name = "alsa-utils-1.0.27"; + name = "alsa-utils-1.0.27.2"; src = fetchurl { # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"; url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2"; - sha256 = "1vssljbdzf0psqhhd7w9m9mzb0sl2kgx9fagkja25sqw6ivwsxkg"; + sha256 = "1sjjngnq50jv5ilwsb4zys6smifni3bd6fn28gbnhfrg14wsrgq2"; }; buildInputs = [ alsaLib ncurses libsamplerate ]; @@ -16,12 +16,6 @@ stdenv.mkDerivation rec { installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy"; - preConfigure = - '' - # Ensure that ‘90-alsa-restore.rules.in’ gets rebuilt. - rm alsactl/90-alsa-restore.rules - ''; - meta = { homepage = http://www.alsa-project.org/; description = "ALSA, the Advanced Linux Sound Architecture utils"; diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index 2a20aa29fcc9..d1ca1b354522 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -8,7 +8,7 @@ die(){ echo $@; exit 1; } # custom unpack: unzip $src -run_file=$(echo amd-driver-installer-*) +run_file=$(echo amd-catalyst-*) sh $run_file --extract . eval "$patchPhase" @@ -181,6 +181,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" # make xorg use the ati version ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so} + # libstdc++ and gcc are needed by some libs + patchelf --set-rpath $gcc/$lib_arch $out/lib/libatiadlxx.so } { # build samples @@ -190,6 +192,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" cd samples tar xfz ../common/usr/src/ati/fglrx_sample_source.tgz + eval "$patchPhaseSamples" ( # build and install fgl_glxgears cd fgl_glxgears; diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 8f5ecb712059..0aa67dba2378 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -13,30 +13,35 @@ # See http://thread.gmane.org/gmane.linux.distributions.nixos/4145 for a # workaround (TODO) -# The gentoo ebuild contains much more magic.. +# The gentoo ebuild contains much more magic and is usually a great resource to +# find patches :) # http://wiki.cchtml.com/index.php/Main_Page # There is one issue left: # /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so +# You eventually have to blacklist radeon module (?) + assert stdenv.system == "x86_64-linux"; - stdenv.mkDerivation { - name = "ati-drivers-13.4-${kernel.version}"; + name = "ati-drivers-13.12-${kernel.version}"; builder = ./builder.sh; inherit libXxf86vm xf86vidmodeproto; + gcc = stdenv.gcc.gcc; src = fetchurl { - url = http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-13-4-linux-x86.x86_64.zip; - sha256 = "1914ikdich0kg047bqh89ai5z4dyryj5mlw5i46n90fsfiaxa532"; + url = http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip; + sha256 = "1c3fn328340by4qn99dgfj8c2q34fxdb2alcak0vnyc6bw7l5sms"; curlOpts = "--referer http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64"; }; - patchPhase = "patch -p0 < ${./gentoo-patches.patch}"; + # most patches are taken from gentoo + patchPhase = "patch -p1 < ${./gentoo-patches.patch}"; + patchPhaseSamples = "patch -p2 < ${./patch-samples.patch}"; buildInputs = [ xlibs.libXext xlibs.libX11 xlibs.libXinerama @@ -61,18 +66,17 @@ stdenv.mkDerivation { # without this some applications like blender don't start, but they start # with nvidia. This causes them to be symlinked to $out/lib so that they # appear in /run/opengl-driver/lib which get's added to LD_LIBRARY_PATH - extraDRIlibs = [ xorg.libXext ]; + extraDRIlibs = [ xorg.libXext ]; inherit mesa; # only required to build examples - meta = { + meta = with stdenv.lib; { description = "ATI drivers"; homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx; - license = "unfree"; - maintainers = [stdenv.lib.maintainers.marcweber]; + license = licenses.unfree; + maintainers = with maintainers; [marcweber offline]; platforms = [ "x86_64-linux" ]; hydraPlatforms = []; - broken = true; }; # moved assertions here because the name is evaluated when the NixOS manual is generated diff --git a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch index ce4871c0658b..392c2a8c29e3 100644 --- a/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch +++ b/pkgs/os-specific/linux/ati-drivers/gentoo-patches.patch @@ -1,293 +1,51 @@ -diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h ---- common/lib/modules/fglrx/build_mod/drmP.h 2013-05-15 09:26:23.555752577 +0300 -+++ common-r1/lib/modules/fglrx/build_mod/drmP.h 2013-05-16 10:39:17.496212055 +0300 -@@ -901,10 +901,6 @@ - int DRM(stub_unregister)(int minor); +diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c +index d3ad3ce..9362b58 100755 +--- a/common/lib/modules/fglrx/build_mod/firegl_public.c ++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c +@@ -34,6 +34,11 @@ + #include + #endif - /* Proc support (drm_proc.h) */ --extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, -- int minor, -- struct proc_dir_entry *root, -- struct proc_dir_entry **dev_root); - extern int DRM(proc_cleanup)(int minor, - struct proc_dir_entry *root, - struct proc_dir_entry *dev_root); -diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h ---- common/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-15 09:26:23.555752577 +0300 -+++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-19 02:16:16.584406160 +0300 -@@ -75,61 +75,6 @@ - #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0])) - - /** -- * Initialize the DRI proc filesystem for a device. -- * -- * \param dev DRM device. -- * \param minor device minor number. -- * \param root DRI proc dir entry. -- * \param dev_root resulting DRI device proc dir entry. -- * \return root entry pointer on success, or NULL on failure. -- * -- * Create the DRI proc root entry "/proc/ati", the device proc root entry -- * "/proc/ati/%minor%/", and each entry in proc_list as -- * "/proc/ati/%minor%/%name%". -- */ --struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor, -- struct proc_dir_entry *root, -- struct proc_dir_entry **dev_root) --{ -- struct proc_dir_entry *ent; -- int i, j; -- char name[64]; -- -- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL); -- if (!root) { -- DRM_ERROR("Cannot create /proc/ati\n"); -- return NULL; -- } -- -- sprintf(name, "%d", minor); -- *dev_root = create_proc_entry(name, S_IFDIR, root); -- if (!*dev_root) { -- DRM_ERROR("Cannot create /proc/ati/%s\n", name); -- return NULL; -- } -- -- for (i = 0; i < DRM_PROC_ENTRIES; i++) { -- ent = create_proc_entry(DRM(proc_list)[i].name, -- S_IFREG|S_IRUGO, *dev_root); -- if (!ent) { -- DRM_ERROR("Cannot create /proc/ati/%s/%s\n", -- name, DRM(proc_list)[i].name); -- for (j = 0; j < i; j++) -- remove_proc_entry(DRM(proc_list)[i].name, -- *dev_root); -- remove_proc_entry(name, root); -- if (!minor) remove_proc_entry("dri", NULL); -- return NULL; -- } -- ent->read_proc = DRM(proc_list)[i].f; -- ent->data = dev; -- } -- -- return root; --} -- -- --/** - * Cleanup the proc filesystem resources. - * - * \param minor device minor number. -diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c ---- common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-15 09:26:23.545752925 +0300 -+++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-19 03:07:10.236552522 +0300 -@@ -583,6 +583,202 @@ - { "NULL", NULL, NULL} // Terminate List!!! - }; - -+ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) -+typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data); -+typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data); -+#else -+#define PDE_DATA(inode) (PDE((inode))->data) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) ++#include +#endif + -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) -+typedef struct { -+ read_proc_t *read_func; -+ write_proc_t *write_func; -+ void *data; -+} gentoo_proc_wrapper_t; + -+#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305 -+ -+static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) { -+ int is_eof=0, retval; -+ char *start, *usebuffer=NULL; -+ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); -+ if (PAGE_SIZE<*offset) { -+ printk(KERN_ERR "Trying to read beyond 4k on proc\n"); -+ return -EIO; -+ } -+ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func); -+ -+ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL); -+ if (!usebuffer) -+ return -ENOMEM; -+ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC; -+ -+ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data); -+ -+ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]); -+ -+ if (0 > retval) -+ { -+ printk(KERN_ERR "Proc read failed with %d", retval); -+ goto out; -+ } -+ -+ if (copy_to_user(buffer, start, retval)) { -+ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n"); -+ retval=-EFAULT; -+ goto out; -+ } -+ *offset+=retval; -+ -+out: -+ if (usebuffer) -+ kfree(usebuffer); -+ return retval; -+} -+static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) { -+ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); -+ int retval=0; -+ void *usebuffer=NULL; -+ -+ BUG_ON(*offset); -+ if (!wrapper_data->write_func) -+ return -EPERM; -+ -+ usebuffer=kmalloc(count, GFP_KERNEL); -+ if (!usebuffer) -+ return -ENOMEM; -+ if (copy_from_user(usebuffer, buffer, count)) { -+ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n"); -+ retval=-EFAULT; -+ goto out; -+ } -+ -+ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data); -+ *offset+=retval; -+out: -+ if (usebuffer) -+ kfree(usebuffer); -+ return retval; -+} -+static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) { -+ myfile->private_data=PDE_DATA(myinode); -+ return generic_file_open(myinode, myfile); -+} -+struct file_operations gentoo_proc_fops = { -+ .read=gentoo_proc_wrapper_read, -+ .write=gentoo_proc_wrapper_write, -+ .open=gentoo_proc_wrapper_open, -+}; -+ -+static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) { -+ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL); -+ if (!retval) -+ return retval; -+ retval->read_func=reader; -+ retval->write_func=writer; -+ retval->data=mydata; -+ return retval; -+} -+ -+static struct proc_dir_entry *firegl_proc_init( device_t *dev, -+ int minor, -+ struct proc_dir_entry *root, -+ struct proc_dir_entry **dev_root, -+ kcl_proc_list_t *proc_list ) // proc_list must be terminated! -+{ -+ struct proc_dir_entry *ent; -+ char name[64]; -+ kcl_proc_list_t *list = proc_list; -+ void *tempdata; -+ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list); -+ if (!minor) -+ { -+ root = proc_mkdir("ati", NULL); -+ } -+ -+ if (!root) -+ { -+ KCL_DEBUG_ERROR("Cannot create /proc/ati\n"); -+ return NULL; -+ } -+ -+ if (minor == 0) -+ { -+ // Global major debice number entry -+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL); -+ if (!tempdata) -+ return NULL; -+ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); -+ if (!ent) -+ { -+ remove_proc_entry("ati", NULL); -+ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n"); -+ return NULL; -+ } -+ } -+ -+ sprintf(name, "%d", minor); -+ *dev_root = proc_mkdir(name, root); -+ if (!*dev_root) { -+ remove_proc_entry("major", root); -+ remove_proc_entry("ati", NULL); -+ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name); -+ return NULL; -+ } -+ -+ while (list->f || list->fops) -+ { -+ struct file_operations *my_fops = &gentoo_proc_fops; -+ if (list->fops) -+ { -+ my_fops = (struct file_operations*)list->fops; -+ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev); -+ } -+ else { -+ BUG_ON(!list->f); -+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) ); -+ if (!tempdata) -+ return NULL; -+ } -+ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata); -+ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata); -+ -+ if (!ent) -+ { -+ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name); -+ while (proc_list != list) -+ { -+ remove_proc_entry(proc_list->name, *dev_root); -+ proc_list++; -+ } -+ remove_proc_entry(name, root); -+ if (!minor) -+ { -+ remove_proc_entry("major", root); -+ remove_proc_entry("ati", NULL); -+ } -+ return NULL; -+ } -+ -+ list++; -+ } -+ -+ if (minor == 0) -+ { -+ // Global debug entry, only create it once -+ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev); -+ if (!tempdata) -+ return NULL; -+ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); -+ if (!ent) -+ return NULL; -+ } -+ -+ return root; -+} -+#else - static struct proc_dir_entry *firegl_proc_init( device_t *dev, - int minor, - struct proc_dir_entry *root, -@@ -677,6 +873,7 @@ - - return root; + #if !defined(CONFIG_X86) + #if !defined(CONFIG_X86_PC) + #if !defined(CONFIG_X86_XEN) +@@ -1543,9 +1548,17 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void) + KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void) + { + #ifdef current_euid ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) ++ return __kuid_val(current_euid()); ++# else + return current_euid(); ++# endif + #else ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0) ++ return __kuid_val(current->euid); ++# else + return current->euid; ++# endif + #endif } -+#endif - static int firegl_proc_cleanup( int minor, - struct proc_dir_entry *root, + +diff -urN a/common/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c +--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:32:34.734832283 +0100 ++++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:33:31.849831765 +0100 +@@ -1002,7 +1002,11 @@ + #endif + { + return KCL_ACPI_ERROR; +- } ++ } ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1) ++ ((acpi_tbl_table_handler)handler)(hdr); ++#else + ((acpi_table_handler)handler)(hdr); ++#endif + return KCL_ACPI_OK; + } diff --git a/pkgs/os-specific/linux/ati-drivers/patch-samples.patch b/pkgs/os-specific/linux/ati-drivers/patch-samples.patch new file mode 100644 index 000000000000..8bd24b1d022b --- /dev/null +++ b/pkgs/os-specific/linux/ati-drivers/patch-samples.patch @@ -0,0 +1,26 @@ +diff --git a/samples/fgl_glxgears/fgl_glxgears.c b/samples/fgl_glxgears/fgl_glxgears.c +index 6c8e313..2b8d035 100644 +--- a/samples/fgl_glxgears/fgl_glxgears.c ++++ b/samples/fgl_glxgears/fgl_glxgears.c +@@ -1096,8 +1096,6 @@ static void event_loop(void) + view_rotx -= 5.0; + } + else { +- r = XLookupString(&event.xkey, buffer, sizeof(buffer), +- NULL, NULL); + if (buffer[0] == 27) { + /* escape */ + return; + + +diff -Nur a/samples/fgl_glxgears/fgl_glxgears.c b/samples/fgl_glxgears/fgl_glxgears.c +--- a/samples/fgl_glxgears/fgl_glxgears.c 2012-08-29 09:59:03.000000000 +0300 ++++ b/samples/fgl_glxgears/fgl_glxgears.c 2013-09-07 09:26:11.034723135 +0300 +@@ -78,7 +78,6 @@ + #endif // _WIN32 + + #define INT_PTR ptrdiff_t +-#include + + #ifdef _WIN32 + #include diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix index 373f814f6e02..e12c80e08864 100644 --- a/pkgs/os-specific/linux/bbswitch/default.nix +++ b/pkgs/os-specific/linux/bbswitch/default.nix @@ -2,7 +2,7 @@ let baseName = "bbswitch"; - version = "0.7"; + version = "0.8"; name = "${baseName}-${version}-${kernel.version}"; in @@ -12,7 +12,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://github.com/Bumblebee-Project/${baseName}/archive/v${version}.tar.gz"; - sha256 = "0na6gfnvmp5fjbm430ms342hmrsbr6cf78n6hldqb8js2ry3f8dw"; + sha256 = "0xql1nv8dafnrcg54f3jsi3ny3cd2ca9iv73pxpgxd2gfczvvjkn"; }; preBuild = '' diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index 4938f7f44706..f9f5c185bbd0 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, +{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python, pythonPackages, pythonDBus, readline, libsndfile, udev, libical, systemd }: assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "bluez-5.12"; + name = "bluez-5.16"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.xz"; - sha256 = "0zk183gjsxissq9gma962cyvyqxydai8n6jgslxx0mpk2m7mgvvm"; + sha256 = "0qxivd64az3qziw82axj2ksilllxq4fnb6fdrnlxr6d74550kmf8"; }; pythonPath = with pythonPackages; [ pythonDBus pygobject pygobject3 recursivePthLoader ]; buildInputs = - [ pkgconfig dbus.libs glib libusb alsaLib python pythonPackages.wrapPython + [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython readline libsndfile udev libical # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. @@ -71,6 +71,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://www.bluez.org/; + repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git; description = "Bluetooth support for Linux"; platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index fd1e83100ed5..7226acf0e579 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -37,11 +37,11 @@ let in stdenv.mkDerivation rec { - name = "busybox-1.21.1"; + name = "busybox-1.22.1"; src = fetchurl { url = "http://busybox.net/downloads/${name}.tar.bz2"; - sha256 = "00qk938q90jv14mxmadm8pgs3jymkknc6xicw4512mn85s8y0nyd"; + sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"; }; configurePhase = '' diff --git a/pkgs/os-specific/linux/can-utils/default.nix b/pkgs/os-specific/linux/can-utils/default.nix new file mode 100644 index 000000000000..6a3fbd33d689 --- /dev/null +++ b/pkgs/os-specific/linux/can-utils/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation rec { + name = "can-utils-${version}"; + # There are no releases (source archives or git tags), so use the date of the + # latest commit in git master as version number. + version = "20140227"; + + src = fetchgit { + url = "https://git.gitorious.org/linux-can/can-utils.git"; + rev = "67a2bdcd336e6becfa5784742e18c88dbeddc973"; + sha256 = "0pnnjl141wf3kbf256m6qz9mxz0144z36qqb43skialzcnlhga38"; + }; + + preConfigure = ''makeFlagsArray+=(PREFIX="$out")''; + + meta = with stdenv.lib; { + description = "CAN userspace utilities and tools (for use with Linux SocketCAN)"; + homepage = "https://gitorious.org/linux-can/can-utils"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch b/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch new file mode 100644 index 000000000000..2caf52f3c0a3 --- /dev/null +++ b/pkgs/os-specific/linux/checksec/0001-attempt-to-modprobe-config-before-checking-kernel.patch @@ -0,0 +1,27 @@ +From 6503848d9e0eb009e5f462116a963beacb208930 Mon Sep 17 00:00:00 2001 +From: Austin Seipp +Date: Thu, 20 Feb 2014 00:11:44 -0600 +Subject: [PATCH] attempt to 'modprobe config' before checking kernel + +Signed-off-by: Austin Seipp +--- + checksec.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/checksec.sh b/checksec.sh +index dd1f72e..63acc29 100644 +--- a/checksec.sh ++++ b/checksec.sh +@@ -337,7 +337,8 @@ kernelcheck() { + printf " userspace processes, this option lists the status of kernel configuration\n" + printf " options that harden the kernel itself against attack.\n\n" + printf " Kernel config: " +- ++ ++ modprobe configs 2> /dev/null + if [ -f /proc/config.gz ] ; then + kconfig="zcat /proc/config.gz" + printf "\033[32m/proc/config.gz\033[m\n\n" +-- +1.8.3.2 + diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix new file mode 100644 index 000000000000..4701d774dfdc --- /dev/null +++ b/pkgs/os-specific/linux/checksec/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, file, findutils, elfutils, glibc }: + +stdenv.mkDerivation rec { + name = "checksec-${version}"; + version = "1.5"; + src = fetchurl { + url = "http://www.trapkit.de/tools/checksec.sh"; + sha256 = "0iq9v568mk7g7ksa1939g5f5sx7ffq8s8n2ncvphvlckjgysgf3p"; + }; + + patches = [ ./0001-attempt-to-modprobe-config-before-checking-kernel.patch ]; + + unpackPhase = '' + mkdir ${name}-${version} + cp $src ${name}-${version}/checksec.sh + cd ${name}-${version} + ''; + + installPhase = '' + mkdir -p $out/bin + cp checksec.sh $out/bin/checksec + chmod +x $out/bin/checksec + substituteInPlace $out/bin/checksec --replace /bin/bash ${stdenv.shell} + substituteInPlace $out/bin/checksec --replace /lib/libc.so.6 ${glibc}/lib/libc.so.6 + substituteInPlace $out/bin/checksec --replace find ${findutils}/bin/find + substituteInPlace $out/bin/checksec --replace "file $" "${file}/bin/file $" + substituteInPlace $out/bin/checksec --replace "xargs file" "xargs ${file}/bin/file" + substituteInPlace $out/bin/checksec --replace " readelf -" " ${elfutils}/bin/readelf -" + substituteInPlace $out/bin/checksec --replace "(readelf -" "(${elfutils}/bin/readelf -" + substituteInPlace $out/bin/checksec --replace "command_exists readelf" "command_exists ${elfutils}/bin/readelf" + ''; + + phases = "unpackPhase patchPhase installPhase"; + + meta = { + description = "A tool for checking security bits on executables"; + homepage = "http://www.trapkit.de/tools/checksec.html"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix index bef8de495ad3..ce609c5be476 100644 --- a/pkgs/os-specific/linux/cifs-utils/default.nix +++ b/pkgs/os-specific/linux/cifs-utils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "cifs-utils-6.2"; + name = "cifs-utils-6.3"; src = fetchurl { url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2"; - sha256 = "0cydya7l7xwxk2j1g1659kbvb4jzql11ivb6cldwwfg19qvnwrrl"; + sha256 = "0nrpd3ibzfhdxgq1pw0jhzx163z5jvq4qcjxl35qlqj74lm3pxzz"; }; makeFlags = "root_sbindir=$(out)/sbin"; diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 086b792b4cd4..3e95daba29e3 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,5 +1,33 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl -, ncurses }: +{ stdenv, fetchurl, pkgconfig + +# dependencies +, glib, ncurses + +# optional features without extra dependencies +, mpdSupport ? true + +# optional features with extra dependencies +, x11Support ? false, x11 ? null +, xdamage ? false, libXdamage ? null +, wireless ? false, wirelesstools ? null +, luaSupport ? false, lua5 ? null + +, rss ? false +, weatherMetar ? false +, weatherXoap ? false +, curl ? null, libxml2 ? null +}: + +assert luaSupport -> lua5 != null; +assert wireless -> wirelesstools != null; +assert x11Support -> x11 != null; +assert xdamage -> x11Support && libXdamage != null; + +assert rss -> curl != null && libxml2 != null; +assert weatherMetar -> curl != null; +assert weatherXoap -> curl != null && libxml2 != null; + +with stdenv.lib; stdenv.mkDerivation rec { name = "conky-1.9.0"; @@ -9,17 +37,35 @@ stdenv.mkDerivation rec { sha256 = "0vxvjmi3cdvnp994sv5zcdyncfn0mlxa71p2wm9zpyrmy58bbwds"; }; - patches = [ ./stdbool.patch ]; + buildInputs = [ pkgconfig glib ncurses ] + ++ optional luaSupport lua5 + ++ optional wireless wirelesstools + ++ optional x11Support x11 + ++ optional xdamage libXdamage + + ++ optionals rss [ curl libxml2 ] + ++ optional weatherMetar curl + ++ optionals weatherXoap [ curl libxml2 ] + ; - buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ncurses ]; configureFlags = - (map (x: "--disable-${x}") [ "x11" "xdamage" "own-window" "xft" "lua" ]) - ++ (map (x: "--enable-${x}") [ "mpd" "double-buffer" "wlan" "rss" - "weather-metar" "weather-xoap" ]); + let flag = state: flags: if state then map (x: "--enable-${x}") flags + else map (x: "--disable-${x}") flags; + in flag mpdSupport [ "mpd" ] + + ++ flag luaSupport [ "lua" ] + ++ flag wireless [ "wlan" ] + ++ flag x11Support [ "x11" "xft" "argb" "double-buffer" "own-window" ] # conky won't compile without --enable-own-window + ++ flag xdamage [ "xdamage" ] + + ++ flag rss [ "rss" ] + ++ flag weatherMetar [ "weather-metar" ] + ++ flag weatherXoap [ "weather-xoap" ] + ; meta = { homepage = http://conky.sourceforge.net/; - description = "Conky is an advanced, highly configurable system monitor complied without X based on torsmo"; + description = "Conky is an advanced, highly configurable system monitor based on torsmo"; maintainers = [ stdenv.lib.maintainers.guibert ]; license = stdenv.lib.licenses.gpl3Plus; }; diff --git a/pkgs/os-specific/linux/conky/stdbool.patch b/pkgs/os-specific/linux/conky/stdbool.patch deleted file mode 100644 index 3f0b714a1f0c..000000000000 --- a/pkgs/os-specific/linux/conky/stdbool.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/conky.c b/src/conky.c -index 5848b61..69a3d45 100644 ---- a/src/conky.c -+++ b/src/conky.c -@@ -34,6 +34,7 @@ - #include "common.h" - #include "timed_thread.h" - #include -+#include - #include - #include - #include diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix index c94e22adb381..d056e60f2da3 100644 --- a/pkgs/os-specific/linux/cpufrequtils/default.nix +++ b/pkgs/os-specific/linux/cpufrequtils/default.nix @@ -10,6 +10,11 @@ stdenv.mkDerivation rec { sha256 = "127i38d4w1hv2dzdy756gmbhq25q3k34nqb2s0xlhsfhhdqs0lq0"; }; + patches = [ + # I am not 100% sure that this is ok, but it breaks repeatable builds. + ./remove-pot-creation-date.patch + ]; + patchPhase = '' sed -e "s@= /usr/bin/@= @g" \ -e "s@/usr/@$out/@" \ diff --git a/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch new file mode 100644 index 000000000000..0116ed9eab0c --- /dev/null +++ b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch @@ -0,0 +1,24 @@ +diff -u cpufrequtils-008/Makefile cpufrequtils-008.new/Makefile +--- cpufrequtils-008/Makefile 2012-05-06 01:17:18.000000000 +0200 ++++ cpufrequtils-008.new/Makefile 2013-08-16 20:52:29.961086536 +0200 +@@ -205,7 +205,8 @@ + @xgettext --default-domain=$(PACKAGE) --add-comments \ + --keyword=_ --keyword=N_ $(UTIL_SRC) && \ + test -f $(PACKAGE).po && \ +- mv -f $(PACKAGE).po po/$(PACKAGE).pot ++ mv -f $(PACKAGE).po po/$(PACKAGE).pot && \ ++ sed -i -e'/POT-Creation/d' po/*.pot + + update-gmo: po/$(PACKAGE).pot + @for HLANG in $(LANGUAGES); do \ +@@ -217,6 +218,7 @@ + echo "msgmerge for $$HLANG failed!"; \ + rm -f po/$$HLANG.new.po; \ + fi; \ ++ sed -i -e'/POT-Creation/d' po/*.po; \ + msgfmt --statistics -o po/$$HLANG.gmo po/$$HLANG.po; \ + done; + +Common subdirectories: cpufrequtils-008/man and cpufrequtils-008.new/man +Common subdirectories: cpufrequtils-008/po and cpufrequtils-008.new/po +Common subdirectories: cpufrequtils-008/utils and cpufrequtils-008.new/utils diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix new file mode 100644 index 000000000000..bf6e8c36f3df --- /dev/null +++ b/pkgs/os-specific/linux/cpupower/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, kernel, coreutils, pciutils, gettext }: + +stdenv.mkDerivation { + name = "cpupower-${kernel.version}"; + + src = kernel.src; + + buildInputs = [ coreutils pciutils gettext ]; + + configurePhase = '' + cd tools/power/cpupower + sed -i 's,/bin/true,${coreutils}/bin/true,' Makefile + sed -i 's,/bin/pwd,${coreutils}/bin/pwd,' Makefile + sed -i 's,/usr/bin/install,${coreutils}/bin/install,' Makefile + ''; + + buildPhase = '' + make + ''; + + installPhase = '' + make \ + bindir="$out/bin" \ + sbindir="$out/sbin" \ + mandir="$out/share/man" \ + includedir="$out/include" \ + libdir="$out/lib" \ + localedir="$out/share/locale" \ + docdir="$out/share/doc/cpupower" \ + confdir="$out/etc" \ + install install-man + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Tool to examine and tune power saving features."; + homepage = https://www.kernel.org.org/; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix new file mode 100644 index 000000000000..349d690e4d19 --- /dev/null +++ b/pkgs/os-specific/linux/criu/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, protobuf, protobufc, asciidoc, xmlto, utillinux }: + +assert stdenv.system == "x86_64-linux"; +stdenv.mkDerivation rec { + name = "criu-${version}"; + version = "1.2"; + + src = fetchurl { + url = "http://download.openvz.org/criu/${name}.tar.bz2"; + sha256 = "04xlnqvgbjd5wfmi97m5rr76a3agkz8g96hdyzhc6x8gd52bbg9y"; + }; + + enableParallelBuilding = true; + buildInputs = [ protobuf protobufc asciidoc xmlto ]; + + patchPhase = '' + chmod +w ./scripts/gen-offsets.sh + substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump + ''; + + buildPhase = '' + make config PREFIX=$out + make PREFIX=$out + ''; + + installPhase = '' + mkdir -p $out/etc/logrotate.d + make install PREFIX=$out LIBDIR=$out/lib ASCIIDOC=${asciidoc}/bin/asciidoc XMLTO=${xmlto}/bin/xmlto + ''; + + meta = { + description = "userspace checkpoint/restore for Linux"; + homepage = "http://criu.org"; + license = stdenv.lib.licenses.gpl2; + platforms = [ "x86_64-linux" ]; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index 834f98960dfb..e024a608a0b6 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { description = "FireWire audio drivers"; license = licenses.gpl3; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix index b6465c0d7943..5019491d3fdb 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix @@ -16,7 +16,6 @@ stdenv.mkDerivation rec { description = "Firmware extractor for cards supported by the b43 kernel module"; homepage = http://wireless.kernel.org/en/users/Drivers/b43; license = "free-non-copyleft"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix index f941d9275c01..436f40712fc2 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation { description = "Firmware for cards supported by the b43 kernel module"; homepage = http://wireless.kernel.org/en/users/Drivers/b43; license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index f5efc565753c..5afa2cbe4ebf 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -6,26 +6,27 @@ { stdenv, fetchurl, dpkg }: let - version = "0.40"; + version = "0.41"; packages = [ - { name = "adi"; sha256 = "0wwks9ff4n772435s57z1fjrffi4xl9nxnfn3v7xfcwdjb395d88"; } - { name = "atheros"; sha256 = "1gj7hfnyclzgyq06scynaclnfajhs6lw5i51j1w1hikv4yh20djz"; } - { name = "bnx2"; sha256 = "15qjj0sfjin5cbkpby29r5czn11xyiyyc4fmhwlqvgfgrnbp0aqk"; } - { name = "bnx2x"; sha256 = "08nvbln94ff47b2q0avxj1aa2wx4qih8sq8knbq54lp46kjf3k0h"; } - { name = "brcm80211"; sha256 = "1ndsw3s6xkr1n39nf9ig1xhnaglx5qvvvm8rh6ah41v644lzha79"; } - { name = "intelwimax"; sha256 = "1qwxmykh90v92asn4ivq0fak761hs7hd2zmz1dpkjidwsycrfyqn"; } - { name = "ipw2x00"; sha256 = "0a2nb17b5n3k1b6y4dbi5i8k1fm19ba2abq2jh2hjjmyyl3y388m"; } - { name = "ivtv"; sha256 = "1239gsjq16f4kd1yn77iq3ar8ndx3pzd16kpqafr1h2y0zwh452r"; } - { name = "iwlwifi"; sha256 = "03kmh5szd02pkbm1nlyz99fr2njhg88wiv73f1fz485m9rvgga43"; } - { name = "libertas"; sha256 = "0qjziwmwqbp83hxrjw7x3ralxg4ib9y23bcbn1g8yb5b6m84ca6b"; } - { name = "linux"; sha256 = "0ypidsrrfx4kvbfisdpgx2fzbil7g2jixgqhnv960iy5l348amrl"; } - { name = "linux-nonfree"; sha256 = "0p9ql3cdxljflh48r6z40kpyisbzp3s3g1qjb9f64n6cppllwjfr"; } - { name = "myricom"; sha256 = "12spfaq7z2bb93cy15zldlic1wx2v6h9sn7ny09nkzy4m26zds4q"; } - { name = "netxen"; sha256 = "03gmda16bdqw8a4x8x11ph41ksjh48hxydv0f0z3gi3czgbh7sn3"; } - { name = "qlogic"; sha256 = "1ah8rrwzi44p1l4q8qkql18djmn5kihsiinpy204xklm1csf3vs1"; } - { name = "ralink"; sha256 = "005549jk0wnyfnb247awv2wncsx5is05m1hdwcd33iq0dlbmm39b"; } - { name = "realtek"; sha256 = "1ai1klzrql8qxmb7945xiqlkfkyz8admrpb10b3r4ixvclkrvfi2"; } + { name = "adi"; sha256 = "19dm96djp34g6l84g9shwbmqbmfd15c24frcy1zh5nz8x12phgm4"; } + { name = "atheros"; sha256 = "0vrdyxiq7nx89h6ykdrs8s3l9frn3hmcfb9vsz68i12975y8ib5n"; } + { name = "bnx2"; sha256 = "12l3l54q69n1ky8lp7bmzscfqysabjrgmswwj57ryc6l82s7081y"; } + { name = "bnx2x"; sha256 = "10m9p479dq2ylpj5mw6d5vyfh9hybmh5xgs5sxma065v7r3c3v31"; } + { name = "brcm80211"; sha256 = "0l2lg5pshb1kb829hfq9w791scwa8biikrfzsx9wvlvkyxfdh187"; } + { name = "intelwimax"; sha256 = "13jqm8ik0mm8vnsskbbp63idpjqazzp2x4gaq7786jg5yj3zh1cf"; } + { name = "ipw2x00"; sha256 = "1hvxrzqbc75phxdbmqfh7ky36m0qna2pncwxpfdircy9i6fx7ipy"; } + { name = "ivtv"; sha256 = "0ckw1ynzfqnkwlmwpzfbdfx4s6bsl4nwp097g8khaavqxk94n88v"; } + { name = "iwlwifi"; sha256 = "1djazi2qsi5z6q0izirprxgfpg8vh55skab2nijyfl66drlcha72"; } + { name = "libertas"; sha256 = "1yj9dd9pwd98gknx5mvblfcbr6k347xzi8l6bk0pr4570j8ss8y3"; } + { name = "linux"; sha256 = "0vc4cbrq73y5hibx5k3gbfqaqxvaa3g8rv9kzwks2zl3hdxm6xaq"; } + { name = "linux-nonfree"; sha256 = "05vv8yq7kix5cw9s4agz4vgya6i3ff88jp3rxln1ssznhvzrjzx9"; } + { name = "myricom"; sha256 = "1idfvdfw7z4jbbjyq40hd2bpllvw7jz0ah7k3iwljxp8l2lf2nmf"; } + { name = "netxen"; sha256 = "0fdgllv8i7j9qbk5hi14zvw6fcn4nd1isr1486d8fv7nf2bf1mxx"; } + { name = "qlogic"; sha256 = "12w1qnqhs24am2psdfmv0ligczzxh9crllmp7r4y3vqghyvwax7i"; } + { name = "ralink"; sha256 = "1ryplg9shi7nam79zd86z7a0qzp0f9m7q89nq989z57qiysbrra4"; } + { name = "realtek"; sha256 = "1l867724qrw7nwksdv4k0hkz7nrjjs9vq2s3937wyaa0r2r66mg6"; } + { name = "ti-connectivity"; sha256 = "00cl9gyxa7795a57zwcvl26kxfl4qzppi4z8ksg5friv3db8sm1p"; } ]; fetchPackage = diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 183d2d86d4c6..d6513f7ebb53 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -16,8 +16,10 @@ stdenv.mkDerivation rec { inherit utillinux; - meta = { + meta = with stdenv.lib; { homepage = http://fuse.sourceforge.net/; description = "Kernel module and library that allows filesystems to be implemented in user space"; + platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/os-specific/linux/google-authenticator/default.nix b/pkgs/os-specific/linux/google-authenticator/default.nix index d7acc6778b4d..a9278f0c7ce0 100644 --- a/pkgs/os-specific/linux/google-authenticator/default.nix +++ b/pkgs/os-specific/linux/google-authenticator/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pam }: +{ stdenv, fetchurl, pam, qrencode }: stdenv.mkDerivation rec { name = "google-authenticator-1.0"; @@ -10,6 +10,10 @@ stdenv.mkDerivation rec { buildInputs = [ pam ]; + preConfigure = '' + sed -i 's|libqrencode.so.3|${qrencode}/lib/libqrencode.so.3|' google-authenticator.c + ''; + installPhase = '' ensureDir $out/bin $out/lib/security cp pam_google_authenticator.so $out/lib/security diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix new file mode 100644 index 000000000000..62a3cfa631e7 --- /dev/null +++ b/pkgs/os-specific/linux/gradm/default.nix @@ -0,0 +1,52 @@ +{ fetchurl, stdenv, bison, flex, pam, + gcc, coreutils, findutils, binutils, bash }: + +stdenv.mkDerivation rec { + name = "gradm-${version}"; + version = "3.0-201401291757"; + + src = fetchurl { + url = "http://grsecurity.net/stable/${name}.tar.gz"; + sha256 = "19p7kaqbvf41scc63n69b5v5xzpw3mbf5zy691rply8hdm7736cw"; + }; + + buildInputs = [ gcc coreutils findutils binutils pam flex bison bash ]; + preBuild = '' + substituteInPlace ./Makefile --replace "/usr/include/security/pam_" "${pam}/include/security/pam_" + substituteInPlace ./gradm_defs.h --replace "/sbin/grlearn" "$out/sbin/grlearn" + substituteInPlace ./gradm_defs.h --replace "/sbin/gradm" "$out/sbin/gradm" + ''; + + postInstall = '' + mkdir -p $out/lib/udev/rules.d + cat > $out/lib/udev/rules.d/80-grsec.rules <> $out/etc/grsec/learn_config + ''; + + makeFlags = + [ "DESTDIR=$(out)" + "CC=${gcc}/bin/gcc" + "FLEX=${flex}/bin/flex" + "BISON=${bison}/bin/bison" + "FIND=${findutils}/bin/find" + "STRIP=${binutils}/bin/strip" + "INSTALL=${coreutils}/bin/install" + "MANDIR=/share/man" + "MKNOD=true" + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "grsecurity RBAC administration and policy analysis utility"; + homepage = "https://grsecurity.net"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice wizeman ]; + }; +} diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix new file mode 100644 index 000000000000..6e4a2caba18d --- /dev/null +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchgit, intltool, autoreconfHook, gettext, pkgconfig +, gtk3, portaudio, libpng, SDL, ffmpeg, udev, libusb1, libv4l, alsaLib }: + +stdenv.mkDerivation rec { + version = "1.7.2"; + rev = "ab84b0b1ed358f0504e1218a0ef792a02b307af8"; + name = "guvcview-${version}_${rev}"; + + src = fetchgit { + inherit rev; + url = "git://git.code.sf.net/p/guvcview/git-master"; + sha256 = "08cpbxq3dh2mlsgzk5dj3vfrgap4q281n9h6xzpbsvyifcj1a9n1"; + }; + + buildInputs = + [ SDL + alsaLib + autoreconfHook + ffmpeg + gtk3 + intltool + libusb1 + libv4l + pkgconfig + portaudio + udev + ]; + + preConfigure = '' + ./bootstrap.sh + ''; + + meta = { + description = "A simple interface for devices supported by the linux UVC driver"; + homepage = http://guvcview.sourceforge.net; + maintainers = [ stdenv.lib.maintainers.coconnor ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix index 410fa6a7ad64..a8988f0a4529 100644 --- a/pkgs/os-specific/linux/hostapd/default.nix +++ b/pkgs/os-specific/linux/hostapd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hostapd-${version}"; - version = "2.0"; + version = "2.1"; src = fetchurl { url = "http://hostap.epitest.fi/releases/${name}.tar.gz"; - sha256 = "262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35"; + sha256 = "121gpcs1ws7m2v8jk091jhmz3pm2xmhwkv96gqkyb4k0bgsi0waw"; }; buildInputs = [ libnl openssl pkgconfig ]; @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://hostap.epitest.fi; + repositories.git = git://w1.fi/hostap.git; description = "A user space daemon for access point and authentication servers"; license = licenses.gpl2; maintainers = [ maintainers.phreedom ]; diff --git a/pkgs/os-specific/linux/iotop/default.nix b/pkgs/os-specific/linux/iotop/default.nix index 8e181d3d5cf5..7481edeee7b0 100644 --- a/pkgs/os-specific/linux/iotop/default.nix +++ b/pkgs/os-specific/linux/iotop/default.nix @@ -11,12 +11,6 @@ buildPythonPackage rec { pythonPath = [ pythonPackages.curses ]; - postInstall = - '' - # Put the man page in the right place. - mv $out/lib/python*/site-packages/iotop-*/share $out - ''; - doCheck = false; meta = { diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 9e8faa6a02e3..2cfbc2a1df1f 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, flex, bison, db4, iptables, pkgconfig }: +{ fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }: stdenv.mkDerivation rec { name = "iproute2-3.12.0"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}" + " MANDIR=$(out)/share/man"; - buildInputs = [ db4 iptables ]; + buildInputs = [ db iptables ]; nativeBuildInputs = [ bison flex pkgconfig ]; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix index b28320c06252..6a42784d1f08 100644 --- a/pkgs/os-specific/linux/ipsec-tools/default.nix +++ b/pkgs/os-specific/linux/ipsec-tools/default.nix @@ -7,17 +7,20 @@ # the time being. stdenv.mkDerivation rec { - name = "ipsec-tools-0.8.1"; + name = "ipsec-tools-0.8.2"; src = fetchurl { url = "mirror://sourceforge/ipsec-tools/${name}.tar.bz2"; - sha256 = "1m1x2planqqxi0587g7d8xhy0gkyfaxs3ry4hhdh0bw46sxrajps"; + sha256 = "0b9gfbz78k2nj0k7jdlm5kajig628ja9qm0z5yksiwz22s3v7dlf"; }; buildInputs = [ readline openssl flex krb5 pam ]; patches = [ ./dont-create-localstatedir-during-install.patch ]; + # fix build with newer gcc versions + preConfigure = ''substituteInPlace configure --replace "-Werror" "" ''; + configureFlags = '' --sysconfdir=/etc --localstatedir=/var --with-kernel-headers=${linuxHeaders}/include diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix index 2609e1880b42..ab01231f3349 100644 --- a/pkgs/os-specific/linux/iw/default.nix +++ b/pkgs/os-specific/linux/iw/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libnl, pkgconfig}: stdenv.mkDerivation rec { - name = "iw-3.11"; + name = "iw-3.14"; src = fetchurl { url = "https://www.kernel.org/pub/software/network/iw/${name}.tar.xz"; - sha256 = "1zrh0pjcy0kg6n8wlr34cg3bmi3nj28rhqn5pad23a1170r2f0z9"; + sha256 = "16fr13cl02702d9yjqlgvnxvpv0w0mqn0acba39iwn2lln5b4747"; }; buildInputs = [ libnl pkgconfig ]; diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix b/pkgs/os-specific/linux/kernel-headers/3.14.nix similarity index 59% rename from pkgs/os-specific/linux/kernel-headers/2.6.28.nix rename to pkgs/os-specific/linux/kernel-headers/3.14.nix index 1ba03010f8ab..d9d0ce7e3b3d 100644 --- a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix +++ b/pkgs/os-specific/linux/kernel-headers/3.14.nix @@ -1,46 +1,50 @@ -{stdenv, fetchurl, perl, cross ? null}: +{ stdenv, fetchurl, perl, cross ? null }: assert cross == null -> stdenv.isLinux; -let version = "2.6.28.5"; in +let + + version = "3.14.1"; + + kernelHeadersBaseConfig = + if cross == null + then stdenv.platform.kernelHeadersBaseConfig + else cross.platform.kernelHeadersBaseConfig; + +in stdenv.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { - url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "0hifjh75sinifr5138v22zwbpqln6lhn65k8b57a1dyzlqca7cl9"; + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1njm8gvlj7cq0m1051yxszl4f63383a7sv1na13hkqkv36kipgqx"; }; targetConfig = if cross != null then cross.config else null; platform = - if cross != null then cross.arch else + if cross != null then cross.platform.kernelArch else if stdenv.system == "i686-linux" then "i386" else if stdenv.system == "x86_64-linux" then "x86_64" else if stdenv.system == "powerpc-linux" then "powerpc" else if stdenv.isArm then "arm" else - if stdenv.system == "mips64el-linux" then "mips" else + if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else abort "don't know what the kernel include directory is called for this platform"; buildInputs = [perl]; extraIncludeDirs = if cross != null then - (if cross.arch == "powerpc" then ["ppc"] else []) + (if cross.arch == "powerpc" then ["ppc"] else []) else if stdenv.system == "powerpc-linux" then ["ppc"] else []; - patchPhase = '' - patch --verbose -p1 < "${./unifdef-getline.patch}" - sed -i '/scsi/d' include/Kbuild - sed -i 's|/ %/: prepare scripts FORCE|%/: prepare scripts FORCE|' Makefile - ''; - buildPhase = '' if test -n "$targetConfig"; then export ARCH=$platform fi - make mrproper headers_check + make ${kernelHeadersBaseConfig} SHELL=bash + make mrproper headers_check SHELL=bash ''; installPhase = '' @@ -58,4 +62,10 @@ stdenv.mkDerivation { ln -s asm $out/include/asm-x86 fi ''; + + meta = with stdenv.lib; { + description = "Header files and scripts for Linux kernel"; + license = licenses.gpl2; + platforms = platforms.linux; + }; } diff --git a/pkgs/os-specific/linux/kernel-headers/3.7.nix b/pkgs/os-specific/linux/kernel-headers/3.7.nix index 4371bf7df9c5..e6fbf9bb9bc1 100644 --- a/pkgs/os-specific/linux/kernel-headers/3.7.nix +++ b/pkgs/os-specific/linux/kernel-headers/3.7.nix @@ -62,4 +62,10 @@ stdenv.mkDerivation { ln -s asm $out/include/asm-x86 fi ''; + + meta = with stdenv.lib; { + description = "Header files and scripts for Linux kernel"; + license = licenses.gpl2; + platforms = platforms.linux; + }; } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 8b96a321634d..db654fc0505c 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -114,6 +114,7 @@ with stdenv.lib; VGA_SWITCHEROO y # Sound. + SND_DYNAMIC_MINORS y SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode SND_HDA_INPUT_BEEP y # Support digital beep via input layer SND_USB_CAIAQ_INPUT y @@ -167,7 +168,11 @@ with stdenv.lib; STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default DEVKMEM n # Disable /dev/kmem - CC_STACKPROTECTOR y # Detect buffer overflows on the stack + ${if versionOlder version "3.14" then '' + CC_STACKPROTECTOR y # Detect buffer overflows on the stack + '' else '' + CC_STACKPROTECTOR_REGULAR y + ''} ${optionalString (versionAtLeast version "3.12") '' USER_NS y # Support for user namespaces ''} @@ -307,6 +312,11 @@ with stdenv.lib; 9P_FSCACHE y 9P_FS_POSIX_ACL y + # Enable transparent support for huge pages. + TRANSPARENT_HUGEPAGE? y + TRANSPARENT_HUGEPAGE_ALWAYS? n + TRANSPARENT_HUGEPAGE_MADVISE? y + ${kernelPlatform.kernelExtraConfig or ""} ${extraConfig} '' diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 42ec3de93691..ff0ca0050fbc 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, perl, linuxManualConfig +{ stdenv, perl, buildLinux , # The kernel source tarball. src @@ -97,7 +97,7 @@ let installPhase = "mv .config $out"; }; - kernel = linuxManualConfig { + kernel = buildLinux { inherit version modDirVersion src kernelPatches; configfile = configfile.nativeDrv or configfile; @@ -120,6 +120,8 @@ let features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches; meta = kernel.meta // extraMeta; + + passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]); }; nativeDrv = lib.addPassthru kernel.nativeDrv passthru; diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch index be242779548f..6f59cf8d80bd 100644 --- a/pkgs/os-specific/linux/kernel/grsec-path.patch +++ b/pkgs/os-specific/linux/kernel/grsec-path.patch @@ -1,15 +1,17 @@ diff --git a/kernel/kmod.c b/kernel/kmod.c -index 3227c2c..f32c944 100644 +index 67f7981..03f127d 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c -@@ -246,8 +246,8 @@ static int ____call_usermodehelper(void *data) +@@ -246,9 +246,9 @@ static int ____call_usermodehelper(void *data) out the path to be used prior to this point and are now operating on that copy */ - if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) && -- strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7)) || strstr(sub_info->path, "..")) { +- strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) && +- strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) { + if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) && -+ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) { ++ strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || ++ strstr(sub_info->path, "..")) { printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path); retval = -EPERM; goto fail; diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 4cb600b5238e..138dad2eda5d 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.25"; + version = "3.10.37"; + extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1kf75br35i35p231i3z3blf90zv1xns26bcd0gwhlkxgvs46vi56"; + sha256 = "0dh52s9jdvgs75dai5zqlx52xahdrscp048yd96x699hcl3g99d7"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index fbf0df2ee2fd..e997e1951efb 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.7"; + version = "3.12.17"; + extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1pmz1g919kbhf8mq23d25187gwzr8l85xj7bf9dvn3vpai7spafb"; + sha256 = "1knjmzk5gyab0b1prmna2bb8zz19sjmmjm24h6agmpq6q4bbnc5q"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index 967de85b7b3f..e63756a8c68e 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13"; - - modDirVersion = "3.13.0"; + version = "3.13.10"; + extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "4d5e5eee5f276424c32e9591f1b6c971baedc7b49f28ce03d1f48b1e5d6226a2"; + sha256 = "00j7123r4zxypas5bs5c8girii6jrz5dwg4zzicgj3gj3frirah3"; }; features.iwlwifi = true; @@ -15,4 +14,4 @@ import ./generic.nix (args // rec { features.needsCifsUtils = true; features.canDisableNetfilterConntrackHelpers = true; features.netfilterRPFilter = true; -}) +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix similarity index 69% rename from pkgs/os-specific/linux/kernel/linux-3.11.nix rename to pkgs/os-specific/linux/kernel/linux-3.14.nix index 2ef1eb98365b..e81619becdfc 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.11.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.11.10"; + version = "3.14.1"; + extraMeta.branch = "3.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "00g4rbkjsmyzzm9zmdll8qqs1mffa0pybwjpn9jnli2kgh9inzyb"; + sha256 = "1njm8gvlj7cq0m1051yxszl4f63383a7sv1na13hkqkv36kipgqx"; }; features.iwlwifi = true; @@ -13,4 +14,4 @@ import ./generic.nix (args // rec { features.needsCifsUtils = true; features.canDisableNetfilterConntrackHelpers = true; features.netfilterRPFilter = true; -}) +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index d7598b53b1bf..a73ded41edfc 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,12 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.2.54"; + version = "3.2.57"; + extraMeta.branch = "3.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "15mr1mrsldvs3jx9nc25pfmmdbz2ykiaxnqc26chn6k425l4kn67"; + sha256 = "0njiqa5fi82a4dls9z1cp33lza00bg15x93c19bsyalp53xqbnab"; }; features.iwlwifi = true; -}) +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 37d652a44e32..07712b4d01c7 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.76"; + version = "3.4.87"; + extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0rwa5n4z359351dnpfknmwi3f5is8haflpx9zq6rgb9dprv8af3j"; + sha256 = "1b7isypwjnhvdqsjnq2gsylfasjk560fq0klx18gj3kvyx6ijmqd"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index b387efd5c410..30e2a37cb91b 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -38,7 +38,7 @@ in { let inherit (stdenv.lib) - hasAttr getAttr optional optionalString maintainers platforms; + hasAttr getAttr optional optionalString optionalAttrs maintainers platforms; installkernel = writeTextFile { name = "installkernel"; executable=true; text = '' #!${stdenv.shell} -e @@ -73,9 +73,7 @@ let installsFirmware = (config.isEnabled "FW_LOADER") && (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")); - in { - outputs = if isModular then [ "out" "dev" ] else null; - + in (optionalAttrs isModular { outputs = [ "out" "dev" ]; }) // { passthru = { inherit version modDirVersion config kernelPatches; }; @@ -102,9 +100,14 @@ let ln -sv ${configfile} $buildRoot/.config make $makeFlags "''${makeFlagsArray[@]}" oldconfig runHook postConfigure + + buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=Thu Jan 1 00:00:01 UTC 1970") ''; - buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" platform.kernelTarget ] ++ optional isModular "modules"; + buildFlags = [ + "KBUILD_BUILD_VERSION=1-NixOS" + platform.kernelTarget + ] ++ optional isModular "modules"; installFlags = [ "INSTALLKERNEL=${installkernel}" @@ -197,8 +200,10 @@ let + ")"); license = "GPLv2"; homepage = http://www.kernel.org/; + repositories.git = https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git; maintainers = [ maintainers.shlevy + maintainers.thoughtpolice ]; platforms = platforms.linux; }; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index efa23f67846b..f42bf440c3b9 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -18,6 +18,18 @@ let }; }; + grsecPatch = { grversion ? "3.0", kversion, revision, branch, sha256 }: + { name = "grsecurity-${grversion}-${kversion}"; + inherit grversion kversion revision; + patch = fetchurl { + url = "http://grsecurity.net/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch"; + inherit sha256; + }; + features.grsecurity = true; + # The grsec kernel patchset includes AppArmor patches + features.apparmor = true; + }; + makeAppArmorPatch = {apparmor, version}: stdenv.mkDerivation { name = "apparmor-${version}.patch"; @@ -26,6 +38,7 @@ let cat ${apparmor}/kernel-patches/${version}/* > $out ''; }; + in rec { @@ -44,12 +57,6 @@ rec { features.apparmor = true; }; - sec_perm_2_6_24 = - { name = "sec_perm-2.6.24"; - patch = ./sec_perm-2.6.24.patch; - features.secPermPatch = true; - }; - no_xsave = { name = "no-xsave"; patch = ./no-xsave.patch; @@ -77,31 +84,29 @@ rec { sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j"; }; - - grsecurity_3_0_3_2_53 = - { name = "grsecurity-3.0-3.2.53"; - patch = fetchurl { - url = https://grsecurity.net/stable/grsecurity-3.0-3.2.53-201312021727.patch; - sha256 = "1ifndcbpz552d0n2dgb38di8lhqd4x2msshdbdx33jlfdl7mk6x4"; - }; - features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.53 - features.apparmor = true; + grsecurity_stable = grsecPatch + { kversion = "3.2.57"; + revision = "201404131252"; + branch = "stable"; + sha256 = "1yic257h2vy3175c34i54873lc93y0m57rw1d059wz1wxy9waiwl"; }; - grsecurity_3_0_3_12_2 = - { name = "grsecurity-3.0-3.12.2"; - patch = fetchurl { - url = https://grsecurity.net/test/grsecurity-3.0-3.12.2-201312021733.patch; - sha256 = "0xcsq6778rk9afg3078d772iflz7p4ahvr6wdq5c4s3jyssam783"; - }; - features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.12.2 - features.apparmor = true; + grsecurity_vserver = grsecPatch + { kversion = "3.2.57"; + revision = "vs2.3.2.16-201404131253"; + branch = "vserver"; + sha256 = "0grhd9hbk952dwr91syi5pda1iccmcd8s0l3ki13689z8ns35f7k"; }; - grsec_path = - { name = "grsec-path"; + grsecurity_unstable = grsecPatch + { kversion = "3.13.10"; + revision = "201404141717"; + branch = "test"; + sha256 = "1vraf9g7za0syx5c1x1ks7kgaxc9mjspy6pvgrs0vi326v12sqnx"; + }; + + grsec_fix_path = + { name = "grsec-fix-path"; patch = ./grsec-path.patch; }; } diff --git a/pkgs/os-specific/linux/kernel/perf.diff b/pkgs/os-specific/linux/kernel/perf.diff new file mode 100644 index 000000000000..88d0381784fd --- /dev/null +++ b/pkgs/os-specific/linux/kernel/perf.diff @@ -0,0 +1,18 @@ +--- perf/config/utilities.mak.orig 2014-01-25 14:55:32.573320370 +0000 ++++ perf/config/utilities.mak 2014-01-25 15:13:34.174337760 +0000 +@@ -186,9 +186,14 @@ + endif + TRY_CC_MSG=echo " CHK $(3)" 1>&2; + ++define newline ++ ++ ++endef ++ + try-cc = $(shell sh -c \ + 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \ + $(TRY_CC_MSG) \ +- echo "$(1)" | \ ++ echo -e "$(subst $(newline),\\n,$(1))" | tee _test.c | \ + $(CC) -x c - $(2) -o "$$TMP" $(TRY_CC_OUTPUT) && echo y; \ + rm -f "$$TMP"') diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 3fb18a234729..a7337760b79e 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -4,6 +4,9 @@ assert withGtk -> gtk != null; +let optionalString = stdenv.lib.optionalString; + versionOlder = stdenv.lib.versionOlder; +in stdenv.mkDerivation { name = "perf-linux-${kernel.version}"; @@ -12,6 +15,7 @@ stdenv.mkDerivation { preConfigure = '' cd tools/perf sed -i s,/usr/include/elfutils,$elfutils/include/elfutils, Makefile + ${optionalString (versionOlder kernel.version "3.13") "patch -p1 < ${./perf.diff}"} [ -f bash_completion ] && sed -i 's,^have perf,_have perf,' bash_completion export makeFlags="DESTDIR=$out $makeFlags" ''; diff --git a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch b/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch deleted file mode 100644 index de9b29949c3d..000000000000 --- a/pkgs/os-specific/linux/kernel/sec_perm-2.6.24.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: linux-2.6.24-rc3/security/security.c -=================================================================== -RCS file: /ext1/sysadm/transparent/repository/linux-2.6.24-rc3/security/security.c,v -retrieving revision 1.1 -retrieving revision 1.2 -diff -u -p -r1.1 -r1.2 ---- linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:03:11 -0000 1.1 -+++ linux-2.6.24-rc3/security/security.c 21 Nov 2007 13:07:55 -0000 1.2 -@@ -409,6 +409,7 @@ int security_inode_permission(struct ino - return 0; - return security_ops->inode_permission(inode, mask, nd); - } -+EXPORT_SYMBOL(security_inode_permission); - - int security_inode_setattr(struct dentry *dentry, struct iattr *attr) - { diff --git a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix new file mode 100644 index 000000000000..682c36401de8 --- /dev/null +++ b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, gnugrep, findutils }: +let + version = "3ubuntu1"; # Saucy +in +stdenv.mkDerivation { + name = "kmod-blacklist-${version}"; + + src = fetchurl { + url = "http://archive.ubuntu.com/ubuntu/pool/main/k/kmod/kmod_9-${version}.debian.tar.gz"; + sha256 = "0h6h0zw2490iqj9xa2sz4309jyfmcc50jdvkhxa1nw90npxglp67"; + }; + + installPhase = '' + mkdir "$out" + for f in modprobe.d/*.conf; do + echo "''\n''\n## file: "`basename "$f"`"''\n''\n" >> "$out"/modprobe.conf + cat "$f" >> "$out"/modprobe.conf + done + + substituteInPlace "$out"/modprobe.conf \ + --replace /sbin/lsmod /run/booted-system/sw/bin/lsmod \ + --replace /sbin/rmmod /run/booted-system/sw/sbin/rmmod \ + --replace /sbin/modprobe /run/booted-system/sw/sbin/modprobe \ + --replace " grep " " ${gnugrep}/bin/grep " \ + --replace " xargs " " ${findutils}/bin/xargs " + ''; + + meta = { + homepage = http://packages.ubuntu.com/source/saucy/kmod; + description = "Linux kernel module blacklists from Ubuntu"; + }; +} diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index acea2e4435cc..380b4a35f1c2 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }: stdenv.mkDerivation rec { - name = "kmod-15"; + name = "kmod-17"; src = fetchurl { url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz"; - sha256 = "17nasn7kpbmbcgyfn9lh50k00bg6qmccxrhzd2m4d6wjw6khxvz8"; + sha256 = "1yid3a9b64a60ybj66fk2ysrq5klnl0ijl4g624cl16y8404g9rv"; }; # Disable xz/zlib support to prevent needing them in the initrd. diff --git a/pkgs/os-specific/linux/kmod/module-dir.patch b/pkgs/os-specific/linux/kmod/module-dir.patch index 95d08da45804..0c4ab4bd4c44 100644 --- a/pkgs/os-specific/linux/kmod/module-dir.patch +++ b/pkgs/os-specific/linux/kmod/module-dir.patch @@ -1,7 +1,7 @@ -diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c ---- kmod-7-orig/libkmod/libkmod.c 2012-03-15 08:19:16.750010226 -0400 -+++ kmod-7/libkmod/libkmod.c 2012-04-04 15:21:29.532074313 -0400 -@@ -200,7 +200,7 @@ +diff -ru -x '*~' kmod-17-orig/libkmod/libkmod.c kmod-17/libkmod/libkmod.c +--- kmod-17-orig/libkmod/libkmod.c 2014-04-01 12:40:37.161940089 +0200 ++++ kmod-17/libkmod/libkmod.c 2014-04-17 13:47:15.871441987 +0200 +@@ -201,7 +201,7 @@ static char *get_kernel_release(const char *dirname) { struct utsname u; @@ -10,7 +10,7 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c if (dirname != NULL) return path_make_absolute_cwd(dirname); -@@ -208,7 +208,10 @@ +@@ -209,7 +209,10 @@ if (uname(&u) < 0) return NULL; @@ -22,3 +22,39 @@ diff -Naur kmod-7-orig/libkmod/libkmod.c kmod-7/libkmod/libkmod.c return NULL; return p; +diff -ru -x '*~' kmod-17-orig/tools/static-nodes.c kmod-17/tools/static-nodes.c +--- kmod-17-orig/tools/static-nodes.c 2013-12-17 22:05:42.159047316 +0100 ++++ kmod-17/tools/static-nodes.c 2014-04-17 13:51:17.945974320 +0200 +@@ -159,6 +159,7 @@ + FILE *in = NULL, *out = NULL; + const struct static_nodes_format *format = &static_nodes_format_human; + int r, ret = EXIT_SUCCESS; ++ char *dirname_prefix; + + for (;;) { + int c, idx = 0, valid; +@@ -211,16 +212,19 @@ + goto finish; + } + +- snprintf(modules, sizeof(modules), "/lib/modules/%s/modules.devname", kernel.release); ++ if ((dirname_prefix = getenv("MODULE_DIR")) == NULL) ++ dirname_prefix = "/lib/modules"; ++ ++ snprintf(modules, sizeof(modules), "%s/%s/modules.devname", dirname_prefix, kernel.release); + in = fopen(modules, "re"); + if (in == NULL) { + if (errno == ENOENT) { +- fprintf(stderr, "Warning: /lib/modules/%s/modules.devname not found - ignoring\n", +- kernel.release); ++ fprintf(stderr, "Warning: %s/%s/modules.devname not found - ignoring\n", ++ dirname_prefix, kernel.release); + ret = EXIT_SUCCESS; + } else { +- fprintf(stderr, "Error: could not open /lib/modules/%s/modules.devname - %m\n", +- kernel.release); ++ fprintf(stderr, "Error: could not open %s/%s/modules.devname - %m\n", ++ dirname_prefix, kernel.release); + ret = EXIT_FAILURE; + } + goto finish; diff --git a/pkgs/os-specific/linux/ktap/default.nix b/pkgs/os-specific/linux/ktap/default.nix new file mode 100644 index 000000000000..a82804cb8379 --- /dev/null +++ b/pkgs/os-specific/linux/ktap/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchgit, kernel, useFFI ? false }: + +let + ffiArgs = stdenv.lib.optionalString useFFI "FFI=1"; +in +stdenv.mkDerivation rec { + name = "ktap-${version}"; + version = "0.5-e7a38ef0"; + src = fetchgit { + url = "https://github.com/ktap/ktap.git"; + rev = "e7a38ef06bec9a651c9e8bdb3ad66a104210d475"; + sha256 = "07acf20e1926d3afd89b13855154b8cc792c57261e7d3cae2da70cb08844f9c8"; + }; + + buildPhase = '' + make ${ffiArgs} KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build + ''; + + installPhase = '' + mkdir -p $out/sbin + cp ktap $out/sbin + make modules_install KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build INSTALL_MOD_PATH=$out + ''; + + meta = { + description = "A lightweight script-based dynamic tracing tool for Linux."; + homepage = "http://www.ktap.org"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix index df98b5260c6b..202831309f0e 100644 --- a/pkgs/os-specific/linux/ldm/default.nix +++ b/pkgs/os-specific/linux/ldm/default.nix @@ -3,17 +3,18 @@ assert mountPath != ""; let - name = "ldm-0.4.2"; + version = "v0.4.2"; + git = https://github.com/LemonBoy/ldm.git; in -stdenv.mkDerivation { - inherit name; +stdenv.mkDerivation rec { + name = "ldm-${version}"; # There is a stable release, but we'll use the lvm branch, which # contains important fixes for LVM setups. src = fetchgit { - url = "https://github.com/LemonBoy/ldm.git"; - rev = "26633ce07b"; - sha256 = "bb733d3b9b3bd5843b9cf1507a04a063c5aa45b398480411709fc727ae10b8b1"; + url = meta.repositories.git; + rev = "refs/tags/${version}"; + sha256 = "1fdm3l00csjyvz40py6wlsh8s441rbp4az3sc2i14ag7srh2yim8"; }; buildInputs = [ udev utillinux ]; @@ -34,5 +35,6 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.the-kenny ]; + repositories.git = git; }; } diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix index 2dd5bdfb24ce..e125ac3fe8e9 100644 --- a/pkgs/os-specific/linux/libselinux/default.nix +++ b/pkgs/os-specific/linux/libselinux/default.nix @@ -8,12 +8,12 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "libselinux-${version}"; - version = "2.2.1"; + version = "2.2.2"; inherit (libsepol) se_release se_url; src = fetchurl { url = "${se_url}/${se_release}/libselinux-${version}.tar.gz"; - sha256 = "17navgvljgq35bljzcdwjdj3khajc27s15binr51xkp0h29qgbcd"; + sha256 = "0gjs5cqwhqzmf0avnn0343ip69153k9z35vbp03sjvc02qs3darh"; }; buildInputs = [ pkgconfig libsepol pcre ] diff --git a/pkgs/os-specific/linux/lm-sensors/default.nix b/pkgs/os-specific/linux/lm-sensors/default.nix index 354027dbd714..388ec857b4ab 100644 --- a/pkgs/os-specific/linux/lm-sensors/default.nix +++ b/pkgs/os-specific/linux/lm-sensors/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, bison, flex, which, perl }: -let version = "3.3.4"; in +let version = "3.3.5"; in stdenv.mkDerivation rec { name = "lm-sensors-${version}"; src = fetchurl { url = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2"; - sha256 = "0vd7dgpcri7cbvgl5fwvja53lqz829vkbbp17x7b5r2xrc88cq5l"; + sha256 = "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx"; }; buildInputs = [ bison flex which perl ]; diff --git a/pkgs/os-specific/linux/lockdep/default.nix b/pkgs/os-specific/linux/lockdep/default.nix new file mode 100644 index 000000000000..77cb43a7b53c --- /dev/null +++ b/pkgs/os-specific/linux/lockdep/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "lockdep-${version}"; + version = "3.14"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa"; + }; + + preConfigure = "cd tools/lib/lockdep"; + installPhase = '' + mkdir -p $out/bin $out/lib $out/include + + cp -R include/liblockdep $out/include + make install DESTDIR=$out prefix="" + + substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so" + ''; + + meta = { + description = "userspace locking validation tool built on the Linux kernel"; + homepage = "https://kernel.org/"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index b9cc34345dff..8e20bf1e3d3f 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, kernel }: stdenv.mkDerivation rec { - pname = "lttng-modules-2.3.0"; + pname = "lttng-modules-2.4.1"; name = "${pname}-${kernel.version}"; src = fetchurl { url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2"; - sha256 = "0l9fbmpsjvm5pbrc6axy8chdp21j4b8fm0hmjhpk658ll0iixmpb"; + sha256 = "1qn1qm8lwqw9ri9wfkf6k3d58gl9rwffmpbpkwx21v1fw95zi92k"; }; patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ]; @@ -23,9 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Linux kernel modules for LTTng tracing"; homepage = http://lttng.org/; - # TODO: Add "mit" to the license list once the license attr set vs string - # decision has been made. (Having "mit" there breaks hydra evaluation.) - license = with licenses; [ lgpl21 gpl2 ]; + # TODO license = with licenses; [ lgpl21 gpl2 mit ]; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index bd748dadf616..9e2b0c900794 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: let - v = "2.02.104"; + v = "2.02.106"; in stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${v}.tgz"; - sha256 = "1xa7hvp8bsx96nncgksxrqxaqcgipfmmpr8aysayb8aisyjvas0d"; + sha256 = "0nr833bl0q4zq52drjxmmpf7bs6kqxwa5kahwwxm9411khkxz0vc"; }; configureFlags = @@ -29,6 +29,8 @@ stdenv.mkDerivation { sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in ''; + enableParallelBuilding = true; + #patches = [ ./purity.patch ]; # To prevent make install from failing. diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index 01fd04e2ad6e..12305687c299 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -3,21 +3,25 @@ }: stdenv.mkDerivation rec { - name = "lxc-1.0.0.beta1"; + name = "lxc-1.0.3"; src = fetchurl { url = "http://github.com/lxc/lxc/archive/${name}.tar.gz"; - sha256 = "1ee177c4d2ba5f9cb33c1b36f3c2160ca0b00c9fa527fc53a9c5868345306f03"; + sha256 = "04k45jgj2i501yhm467s1a1yk7h7q0fjhspys158w1a2m1hari4z"; }; buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ]; patches = [ ./install-localstatedir-in-store.patch ./support-db2x.patch ]; - preConfigure = "export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; + preConfigure = '' + export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml + substituteInPlace doc/rootfs/Makefile.am --replace '@LXCROOTFSMOUNT@' '$out/lib/lxc/rootfs' + ''; configureFlags = [ "--localstatedir=/var" + "--with-rootfs-path=/var/lib/lxc/rootfs" "--enable-doc" "--enable-tests" "--enable-apparmor" diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index d96a49436251..8de75fbc734e 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, microcode2ucode }: -let version = "20130906"; in +let version = "20140122"; in stdenv.mkDerivation { name = "microcode-intel-${version}"; src = fetchurl { - url = "http://downloadmirror.intel.com/23166/eng/microcode-${version}.tgz"; - sha256 = "11k327icvijadq2zkgkc3sqwzraip9cviqm25566g09523ds0svv"; + url = "http://downloadmirror.intel.com/23574/eng/microcode-${version}.tgz"; + sha256 = "0r5ldb1jvrf0b6b112v3wdr7ikf2zky2jgby2lnqi1xwd34x42k8"; }; buildInputs = [ microcode2ucode ]; diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix new file mode 100644 index 000000000000..014591f0b55f --- /dev/null +++ b/pkgs/os-specific/linux/musl/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "musl-${version}"; + version = "1.0.0"; + + src = fetchurl { + url = "http://www.musl-libc.org/releases/${name}.tar.gz"; + sha256 = "0chs9h8k4d0iwv8w7n1w02nll3ypwqa2gag6r4czznkj55fz9mqs"; + }; + + enableParallelBuilding = true; + configurePhase = '' + ./configure --enable-shared --enable-static --prefix=$out --syslibdir=$out/lib + ''; + + meta = { + description = "An efficient, small, quality libc implementation"; + homepage = "http://www.musl-libc.org"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index c89e5550f3ec..2eb5c7e480a2 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -8,9 +8,11 @@ with stdenv.lib; +assert (!libsOnly) -> kernel != null; + let - versionNumber = "331.20"; + versionNumber = "331.67"; in @@ -19,16 +21,18 @@ stdenv.mkDerivation { builder = ./builder.sh; + patches = optional (kernel ? version && versionAtLeast kernel.version "3.14") ./kernel-3.14.patch; + src = if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "0icpmfsppnsvk7vj0fshi3ry4s1wix435s2c8wwak47765fv1mks"; + sha256 = "1imc66yxnm01i58xwqrwqc612h0rhdz8x170hqr2pjyk99bllsv9"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "02503dis3ngraqv7174a4pay2x08hp697n9q74rpjjclf5k74ax1"; + sha256 = "0qxd4jd25ymcr6w97f71kfn549x6wgg4g3vixd3sqlczknn85f47"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; @@ -49,11 +53,11 @@ stdenv.mkDerivation { buildInputs = [ perl ]; - meta = { + meta = with stdenv.lib.meta; { homepage = http://www.nvidia.com/object/unix.html; description = "X.org driver and kernel module for NVIDIA graphics cards"; - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = stdenv.lib.platforms.linux; - hydraPlatforms = []; + license = licenses.unfreeRedistributable; + platforms = platforms.linux; + maintainers = [ maintainers.vcunat ]; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch b/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch new file mode 100644 index 000000000000..07fb7652d32d --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch @@ -0,0 +1,12 @@ +--- a/kernel/nv-linux.h 2014-01-09 04:49:25.000000000 +0200 ++++ b/kernel/nv-linux.h 2014-02-05 16:46:55.552408568 +0200 +@@ -273,8 +273,7 @@ + #endif + + #if !defined(NV_VMWARE) && defined(CONFIG_ACPI) +-#include +-#include ++#include + #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID) + #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1 + #endif diff --git a/pkgs/os-specific/linux/nvidiabl/default.nix b/pkgs/os-specific/linux/nvidiabl/default.nix new file mode 100644 index 000000000000..6260134bf111 --- /dev/null +++ b/pkgs/os-specific/linux/nvidiabl/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, kernel }: + +stdenv.mkDerivation { + name = "nvidiabl-0.85-${kernel.version}"; + + src = fetchurl { + url = "https://github.com/guillaumezin/nvidiabl/archive/v0.85.tar.gz"; + sha256 = "1c7ar39wc8jpqh67sw03lwnyp0m9l6dad469ybqrgcywdiwxspwj"; + }; + + preConfigure = '' + sed -i 's|/sbin/depmod|#/sbin/depmod|' Makefile + ''; + + makeFlags = [ + "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + "DESTDIR=$(out)" + ]; + + meta = { + description = "Linux driver for setting the backlight brightness on laptops using NVIDIA GPU"; + homepage = https://github.com/guillaumezin/nvidiabl; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index 43300425c004..afc125556fe2 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, flex, cracklib }: stdenv.mkDerivation rec { - name = "linux-pam-1.1.6"; + name = "linux-pam-1.1.8"; src = fetchurl { - url = https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.6.tar.bz2; - sha256 = "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s"; + url = http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.bz2; + sha256 = "0m8ygb40l1c13nsd4hkj1yh4p1ldawhhg8pyjqj9w5kd4cxg5cf4"; }; nativeBuildInputs = [ flex ]; diff --git a/pkgs/os-specific/linux/pam_krb5/default.nix b/pkgs/os-specific/linux/pam_krb5/default.nix index 5f95811e0f6a..ad60e63c263b 100644 --- a/pkgs/os-specific/linux/pam_krb5/default.nix +++ b/pkgs/os-specific/linux/pam_krb5/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation { pam_krb5 can optionally convert Kerberos 5 credentials to Kerberos IV credentials and/or use them to set up AFS tokens for a user's session. ''; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix new file mode 100644 index 000000000000..83f0dc1e82d2 --- /dev/null +++ b/pkgs/os-specific/linux/pax-utils/default.nix @@ -0,0 +1,24 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "pax-utils-${version}"; + version = "0.8.1"; + + src = fetchurl { + url = "http://dev.gentoo.org/~vapier/dist/${name}.tar.xz"; + sha256 = "1fgm70s52x48dxjihs0rcwmpfsi2dxbjzcilxy9fzg0i39dz4kw4"; + }; + + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=$(out)" + ]; + + meta = with stdenv.lib; { + description = "A suite of tools for PaX/grsecurity"; + homepage = "http://dev.gentoo.org/~vapier/dist/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice wizeman ]; + }; +} diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix new file mode 100644 index 000000000000..69656f510423 --- /dev/null +++ b/pkgs/os-specific/linux/paxctl/default.nix @@ -0,0 +1,28 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "paxctl-${version}"; + version = "0.7"; + + src = fetchurl { + url = "http://pax.grsecurity.net/${name}.tar.bz2"; + sha256 = "1j6dg6wd1v7na5i4xj8zmbff0mdqdnw6cvqy0rsbz5anra27f1zp"; + }; + + preBuild = '' + sed "s|--owner 0 --group 0||g" -i Makefile + ''; + + makeFlags = [ + "DESTDIR=$(out)" + "MANDIR=share/man/man1" + ]; + + meta = with stdenv.lib; { + description = "A tool for controlling PaX flags on a per binary basis"; + homepage = "https://pax.grsecurity.net"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice wizeman ]; + }; +} diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index bf3da1954676..4c51c4fea6cb 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -52,5 +52,6 @@ stdenv.mkDerivation rec { description = "A graphical boot animation"; license = licenses.gpl2; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/pommed/default.nix b/pkgs/os-specific/linux/pommed/default.nix index d6c06eca12fb..89e9ff663423 100644 --- a/pkgs/os-specific/linux/pommed/default.nix +++ b/pkgs/os-specific/linux/pommed/default.nix @@ -75,6 +75,5 @@ stdenv.mkDerivation rec { description = "A tool to handle hotkeys on Apple laptop keyboards"; homepage = http://www.technologeek.org/projects/pommed/index.html; license = "gplv2"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix index 0b3389f903a8..cd8a8eaec133 100644 --- a/pkgs/os-specific/linux/procps-ng/default.nix +++ b/pkgs/os-specific/linux/procps-ng/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation { - name = "procps-ng-3.3.9"; + name = "procps-3.3.9"; src = fetchurl { url = mirror://sourceforge/procps-ng/procps-ng-3.3.9.tar.xz; diff --git a/pkgs/os-specific/linux/procps/watch.nix b/pkgs/os-specific/linux/procps/watch.nix new file mode 100644 index 000000000000..2547e26def4b --- /dev/null +++ b/pkgs/os-specific/linux/procps/watch.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation { + name = "watch-0.2.0"; + + src = fetchurl { + url = http://procps.sourceforge.net/procps-3.2.8.tar.gz; + sha256 = "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"; + }; + + buildInputs = [ ncurses ]; + + makeFlags = "watch usrbin_execdir=$(out)/bin" + + (if stdenv.isDarwin then " PKG_LDFLAGS=" else ""); + + enableParallelBuilding = true; + + crossAttrs = { + CC = stdenv.cross.config + "-gcc"; + }; + + installPhase = "mkdir $out; mkdir -p $out/bin; cp -p watch $out/bin"; + + meta = { + homepage = http://sourceforge.net/projects/procps/; + description = "Utility for watch the output of a given command at intervals"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix index 0e423f85d66f..1215c5261f4f 100644 --- a/pkgs/os-specific/linux/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/psmisc/${name}.tar.gz"; - sha256 = "1p13s2323mi2868y4fzy3q2kkmv4fn1ggabqnjf202x4030vjj1q"; + sha256 = "0nhlm1vrrwn4a845p6y4nnnb4liq70n74zbdd5dq844jc6nkqclp"; }; buildInputs = [ncurses]; diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix index 573f1a578c72..e5e579081f67 100644 --- a/pkgs/os-specific/linux/reptyr/default.nix +++ b/pkgs/os-specific/linux/reptyr/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchgit}: +{ stdenv, fetchurl }: + stdenv.mkDerivation rec { - version = "0.4"; + version = "0.5"; name = "reptyr-${version}"; - src = fetchgit { - url = "https://github.com/nelhage/reptyr.git"; - rev = "refs/tags/${name}"; - sha256 = "2d2814c210e4bde6f9bcf3aa20477287d7e4a5aa7ee09110b37d2eaaf7e5ecae"; + src = fetchurl { + url = "https://github.com/nelhage/reptyr/archive/reptyr-${version}.tar.gz"; + sha256 = "077cvjjf534nxh7qqisw27a0wa61mdgyik43k50f8v090rggz2xm"; }; makeFlags = ["PREFIX=$(out)"]; meta = { diff --git a/pkgs/os-specific/linux/rfkill/default.nix b/pkgs/os-specific/linux/rfkill/default.nix index 0e0f5a3ff0c6..48be4fbc3438 100644 --- a/pkgs/os-specific/linux/rfkill/default.nix +++ b/pkgs/os-specific/linux/rfkill/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "rfkill-0.4"; - + name = "rfkill-0.5"; + src = fetchurl { - url = "http://wireless.kernel.org/download/rfkill/${name}.tar.bz2"; - sha256 = "1hb884vgyldci648azbx17w83gzynn0svrmfjgh3c2jzga1f846a"; + url = "mirror://kernel/software/network/rfkill/${name}.tar.bz2"; + sha256 = "01zs7p9kd92pxgcgwl5w46h3iyx4acfg6m1j5fgnflsaa350q5iy"; }; makeFlags = "PREFIX=$(out)"; diff --git a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh index d07c72981831..bf6e679660c9 100755 --- a/pkgs/os-specific/linux/rfkill/rfkill-hook.sh +++ b/pkgs/os-specific/linux/rfkill/rfkill-hook.sh @@ -10,10 +10,10 @@ if [ -z "$RFKILL_STATE" ]; then exit 1 fi -if [ -x /var/run/current-system/etc/rfkill.hook ]; then - exec /var/run/current-system/etc/rfkill.hook +if [ -x /run/current-system/etc/rfkill.hook ]; then + exec /run/current-system/etc/rfkill.hook elif [ ! -z "$RFKILL_HOOK" ]; then exec $RFKILL_HOOK else echo "rfkill-hook: $RFKILL_STATE" -fi \ No newline at end of file +fi diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 1055fccd8aa3..9d024ae3109c 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { patches = [ ./keep-path.patch dots_in_usernames ]; + outputs = [ "out" "su" ]; + # Assume System V `setpgrp (void)', which is the default on GNU variants # (`AC_FUNC_SETPGRP' is not cross-compilation capable.) preConfigure = "export ac_cv_func_setpgrp_void=yes"; @@ -35,10 +37,14 @@ stdenv.mkDerivation rec { substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd ''; - # Don't install ‘groups’, since coreutils already provides it. postInstall = '' + # Don't install ‘groups’, since coreutils already provides it. rm $out/bin/groups $out/share/man/man1/groups.* + + # Move the su binary into the su package + mkdir -p $su/bin + mv $out/bin/su $su/bin ''; meta = { diff --git a/pkgs/os-specific/linux/spl/3_12-compat.patch b/pkgs/os-specific/linux/spl/3_12-compat.patch new file mode 100644 index 000000000000..b196098b7df2 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_12-compat.patch @@ -0,0 +1,429 @@ +commit c3d9c0df3ee8d43db22815ebbfbe8b803fa46e46 +Author: Richard Yao +Date: Tue Nov 5 11:35:54 2013 -0500 + + Linux 3.12 compat: New shrinker API + + torvalds/linux@24f7c6 introduced a new shrinker API while + torvalds/linux@a0b021 dropped support for the old shrinker API. + This patch adds support for the new shrinker API by wrapping + the old one with the new one. + + This change also reorganizes the autotools checks on the shrinker + API such that the configure script will fail early if an unknown + API is encountered in the future. + + Support for the set_shrinker() API which was used by Linux 2.6.22 + and older has been dropped. As a general rule compatibility is + only maintained back to Linux 2.6.26. + + Signed-off-by: Richard Yao + Signed-off-by: Brian Behlendorf + Closes zfsonlinux/zfs#1732 + Closes zfsonlinux/zfs#1822 + Closes #293 + Closes #307 + +diff --git a/config/spl-build.m4 b/config/spl-build.m4 +index b0e3348..7d744db 100644 +--- a/config/spl-build.m4 ++++ b/config/spl-build.m4 +@@ -27,8 +27,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [ + SPL_AC_TYPE_ATOMIC64_XCHG + SPL_AC_TYPE_UINTPTR_T + SPL_AC_2ARGS_REGISTER_SYSCTL +- SPL_AC_SET_SHRINKER +- SPL_AC_3ARGS_SHRINKER_CALLBACK ++ SPL_AC_SHRINKER_CALLBACK + SPL_AC_PATH_IN_NAMEIDATA + SPL_AC_TASK_CURR + SPL_AC_CTL_UNNUMBERED +@@ -885,37 +884,18 @@ AC_DEFUN([SPL_AC_2ARGS_REGISTER_SYSCTL], + ]) + ]) + +-dnl # +-dnl # 2.6.23 API change +-dnl # Old set_shrinker API replaced with register_shrinker +-dnl # +-AC_DEFUN([SPL_AC_SET_SHRINKER], [ +- AC_MSG_CHECKING([whether set_shrinker() available]) +- SPL_LINUX_TRY_COMPILE([ +- #include +- ],[ +- return set_shrinker(DEFAULT_SEEKS, NULL); +- ],[ +- AC_MSG_RESULT([yes]) +- AC_DEFINE(HAVE_SET_SHRINKER, 1, +- [set_shrinker() available]) +- ],[ +- AC_MSG_RESULT([no]) +- ]) +-]) +- +-dnl # +-dnl # 2.6.35 API change, +-dnl # Add context to shrinker callback +-dnl # +-AC_DEFUN([SPL_AC_3ARGS_SHRINKER_CALLBACK], +- [AC_MSG_CHECKING([whether shrinker callback wants 3 args]) ++AC_DEFUN([SPL_AC_SHRINKER_CALLBACK],[ + tmp_flags="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="-Werror" ++ dnl # ++ dnl # 2.6.23 to 2.6.34 API change ++ dnl # ->shrink(int nr_to_scan, gfp_t gfp_mask) ++ dnl # ++ AC_MSG_CHECKING([whether old 2-argument shrinker exists]) + SPL_LINUX_TRY_COMPILE([ + #include + +- int shrinker_cb(struct shrinker *, int, unsigned int); ++ int shrinker_cb(int nr_to_scan, gfp_t gfp_mask); + ],[ + struct shrinker cache_shrinker = { + .shrink = shrinker_cb, +@@ -924,10 +904,86 @@ AC_DEFUN([SPL_AC_3ARGS_SHRINKER_CALLBACK], + register_shrinker(&cache_shrinker); + ],[ + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_3ARGS_SHRINKER_CALLBACK, 1, +- [shrinker callback wants 3 args]) ++ AC_DEFINE(HAVE_2ARGS_OLD_SHRINKER_CALLBACK, 1, ++ [old shrinker callback wants 2 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # 2.6.35 - 2.6.39 API change ++ dnl # ->shrink(struct shrinker *, ++ dnl # int nr_to_scan, gfp_t gfp_mask) ++ dnl # ++ AC_MSG_CHECKING([whether old 3-argument shrinker exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ int shrinker_cb(struct shrinker *, int nr_to_scan, ++ gfp_t gfp_mask); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .shrink = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_3ARGS_SHRINKER_CALLBACK, 1, ++ [old shrinker callback wants 3 args]) ++ ],[ ++ AC_MSG_RESULT(no) ++ dnl # ++ dnl # 3.0 - 3.11 API change ++ dnl # ->shrink(struct shrinker *, ++ dnl # struct shrink_control *sc) ++ dnl # ++ AC_MSG_CHECKING( ++ [whether new 2-argument shrinker exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ int shrinker_cb(struct shrinker *, ++ struct shrink_control *sc); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .shrink = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_2ARGS_NEW_SHRINKER_CALLBACK, 1, ++ [new shrinker callback wants 2 args]) ++ ],[ ++ AC_MSG_RESULT(no) ++ dnl # ++ dnl # 3.12 API change, ++ dnl # ->shrink() is logically split in to ++ dnl # ->count_objects() and ->scan_objects() ++ dnl # ++ AC_MSG_CHECKING( ++ [whether ->count_objects callback exists]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ++ unsigned long shrinker_cb( ++ struct shrinker *, ++ struct shrink_control *sc); ++ ],[ ++ struct shrinker cache_shrinker = { ++ .count_objects = shrinker_cb, ++ .scan_objects = shrinker_cb, ++ .seeks = DEFAULT_SEEKS, ++ }; ++ register_shrinker(&cache_shrinker); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_SPLIT_SHRINKER_CALLBACK, ++ 1, [->count_objects exists]) ++ ],[ ++ AC_MSG_ERROR(error) ++ ]) ++ ]) ++ ]) + ]) + EXTRA_KCFLAGS="$tmp_flags" + ]) +diff --git a/include/linux/mm_compat.h b/include/linux/mm_compat.h +index cb1bef9..37c9b08 100644 +--- a/include/linux/mm_compat.h ++++ b/include/linux/mm_compat.h +@@ -148,107 +148,167 @@ extern shrink_icache_memory_t shrink_icache_memory_fn; + #endif /* HAVE_SHRINK_ICACHE_MEMORY */ + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Due to frequent changes in the shrinker API the following ++ * compatibility wrappers should be used. They are as follows: ++ * ++ * SPL_SHRINKER_DECLARE is used to declare the shrinker which is ++ * passed to spl_register_shrinker()/spl_unregister_shrinker(). Use ++ * shrinker_name to set the shrinker variable name, shrinker_callback ++ * to set the callback function, and seek_cost to define the cost of ++ * reclaiming an object. ++ * ++ * SPL_SHRINKER_DECLARE(shrinker_name, shrinker_callback, seek_cost); ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE is used when a forward declaration ++ * of the shrinker callback function is required. Only the callback ++ * function needs to be passed. ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE(shrinker_callback); ++ * ++ * SPL_SHRINKER_CALLBACK_WRAPPER is used to declare the callback function ++ * which is registered with the shrinker. This function will call your ++ * custom shrinker which must use the following prototype. Notice the ++ * leading __'s, these must be appended to the callback_function name. ++ * ++ * int __shrinker_callback(struct shrinker *, struct shrink_control *) ++ * SPL_SHRINKER_CALLBACK_WRAPPER(shrinker_callback);a ++ * ++ * ++ * Example: ++ * ++ * SPL_SHRINKER_CALLBACK_FWD_DECLARE(my_shrinker_fn); ++ * SPL_SHRINKER_DECLARE(my_shrinker, my_shrinker_fn, 1); ++ * ++ * static int ++ * __my_shrinker_fn(struct shrinker *shrink, struct shrink_control *sc) ++ * { ++ * if (sc->nr_to_scan) { ++ * ...scan objects in the cache and reclaim them... ++ * } ++ * ++ * ...calculate number of objects in the cache... ++ * ++ * return (number of objects in the cache); ++ * } ++ * SPL_SHRINKER_CALLBACK_WRAPPER(my_shrinker_fn); + */ +-#ifdef HAVE_SET_SHRINKER +-typedef struct spl_shrinker { +- struct shrinker *shrinker; +- shrinker_t fn; +- int seeks; +-} spl_shrinker_t; +- +-static inline void +-spl_register_shrinker(spl_shrinker_t *ss) +-{ +- ss->shrinker = set_shrinker(ss->seeks, ss->fn); +-} + +-static inline void +-spl_unregister_shrinker(spl_shrinker_t *ss) +-{ +- remove_shrinker(ss->shrinker); +-} ++#define spl_register_shrinker(x) register_shrinker(x) ++#define spl_unregister_shrinker(x) unregister_shrinker(x) + +-# define SPL_SHRINKER_DECLARE(s, x, y) \ +- static spl_shrinker_t s = { \ +- .shrinker = NULL, \ +- .fn = x, \ +- .seeks = y \ +- } +- +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(NULL, &sc); \ ++/* ++ * Linux 2.6.23 - 2.6.34 Shrinker API Compatibility. ++ */ ++#if defined(HAVE_2ARGS_OLD_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ + } + +-#else ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(int nr_to_scan, unsigned int gfp_mask) + +-# define spl_register_shrinker(x) register_shrinker(x) +-# define spl_unregister_shrinker(x) unregister_shrinker(x) +-# define SPL_SHRINKER_DECLARE(s, x, y) \ +- static struct shrinker s = { \ +- .shrink = x, \ +- .seeks = y \ +- } ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(int nr_to_scan, unsigned int gfp_mask) \ ++{ \ ++ struct shrink_control sc; \ ++ \ ++ sc.nr_to_scan = nr_to_scan; \ ++ sc.gfp_mask = gfp_mask; \ ++ \ ++ return (__ ## fn(NULL, &sc)); \ ++} + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 2.6.35 to 2.6.39 Shrinker API Compatibility. + */ +-# if defined(HAVE_SHRINK_CONTROL_STRUCT) +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(struct shrinker *, struct shrink_control *) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(struct shrinker *shrink, struct shrink_control *sc) { \ +- return __ ## fn(shrink, sc); \ ++#elif defined(HAVE_3ARGS_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ ++} ++ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(struct shrinker *, int, unsigned int) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(struct shrinker *shrink, int nr_to_scan, unsigned int gfp_mask) \ ++{ \ ++ struct shrink_control sc; \ ++ \ ++ sc.nr_to_scan = nr_to_scan; \ ++ sc.gfp_mask = gfp_mask; \ ++ \ ++ return (__ ## fn(shrink, &sc)); \ + } + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 3.0 to 3.11 Shrinker API Compatibility. + */ +-# elif defined(HAVE_3ARGS_SHRINKER_CALLBACK) +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(struct shrinker *, int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(struct shrinker *shrink, int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(shrink, &sc); \ ++#elif defined(HAVE_2ARGS_NEW_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .shrink = x, \ ++ .seeks = y \ ++} ++ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static int fn(struct shrinker *, struct shrink_control *) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static int \ ++fn(struct shrinker *shrink, struct shrink_control *sc) \ ++{ \ ++ return (__ ## fn(shrink, sc)); \ + } + + /* +- * Linux 2.6. - 2.6. Shrinker API Compatibility. ++ * Linux 3.12 and later Shrinker API Compatibility. + */ +-# else +-# define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ +- static int fn(int, unsigned int) +-# define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ +-static int \ +-fn(int nr_to_scan, unsigned int gfp_mask) \ +-{ \ +- struct shrink_control sc; \ +- \ +- sc.nr_to_scan = nr_to_scan; \ +- sc.gfp_mask = gfp_mask; \ +- \ +- return __ ## fn(NULL, &sc); \ ++#elif defined(HAVE_SPLIT_SHRINKER_CALLBACK) ++#define SPL_SHRINKER_DECLARE(s, x, y) \ ++static struct shrinker s = { \ ++ .count_objects = x ## _count_objects, \ ++ .scan_objects = x ## _scan_objects, \ ++ .seeks = y \ + } + +-# endif +-#endif /* HAVE_SET_SHRINKER */ ++#define SPL_SHRINKER_CALLBACK_FWD_DECLARE(fn) \ ++static unsigned long fn ## _count_objects(struct shrinker *, \ ++ struct shrink_control *); \ ++static unsigned long fn ## _scan_objects(struct shrinker *, \ ++ struct shrink_control *) ++ ++#define SPL_SHRINKER_CALLBACK_WRAPPER(fn) \ ++static unsigned long \ ++fn ## _count_objects(struct shrinker *shrink, struct shrink_control *sc)\ ++{ \ ++ int __ret__; \ ++ \ ++ sc->nr_to_scan = 0; \ ++ __ret__ = __ ## fn(NULL, sc); \ ++ \ ++ /* Errors may not be returned and must be converted to zeros */ \ ++ return ((__ret__ < 0) ? 0 : __ret__); \ ++} \ ++ \ ++static unsigned long \ ++fn ## _scan_objects(struct shrinker *shrink, struct shrink_control *sc) \ ++{ \ ++ int __ret__; \ ++ \ ++ __ret__ = __ ## fn(NULL, sc); \ ++ return ((__ret__ < 0) ? SHRINK_STOP : __ret__); \ ++} ++#else ++/* ++ * Linux 2.x to 2.6.22, or a newer shrinker API has been introduced. ++ */ ++#error "Unknown shrinker callback" ++#endif + + #endif /* SPL_MM_COMPAT_H */ diff --git a/pkgs/os-specific/linux/spl/3_13-compat-1.patch b/pkgs/os-specific/linux/spl/3_13-compat-1.patch new file mode 100644 index 000000000000..40946931c802 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_13-compat-1.patch @@ -0,0 +1,61 @@ +From 3e96de17d723d6f6c9e2fd04b059b50d4e0bbef0 Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Thu, 8 Aug 2013 04:30:55 -0400 +Subject: [PATCH] Linux 3.13 compat: Remove unused flags variable from + __cv_init() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC 4.8.1 complained about an unused flags variable when building +against Linux 2.6.26.8: + +/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c: +In function ‘__cv_init’: +/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c:39:6: +error: variable ‘flags’ set but not used +[-Werror=unused-but-set-variable] + int flags = KM_SLEEP; + ^ + cc1: all warnings being treated as errors + +Additionally, the superfluous code uses a preempt_count variable that is +no longer available on Linux 3.13. Deleting the unnecessary code fixes a +Linux 3.13 compatibility issue. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #312 +--- + module/spl/spl-condvar.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/module/spl/spl-condvar.c b/module/spl/spl-condvar.c +index 283648a..8236412 100644 +--- a/module/spl/spl-condvar.c ++++ b/module/spl/spl-condvar.c +@@ -36,8 +36,6 @@ + void + __cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void *arg) + { +- int flags = KM_SLEEP; +- + SENTRY; + ASSERT(cvp); + ASSERT(name == NULL); +@@ -51,12 +49,6 @@ + atomic_set(&cvp->cv_refs, 1); + cvp->cv_mutex = NULL; + +- /* We may be called when there is a non-zero preempt_count or +- * interrupts are disabled is which case we must not sleep. +- */ +- if (current_thread_info()->preempt_count || irqs_disabled()) +- flags = KM_NOSLEEP; +- + SEXIT; + } + EXPORT_SYMBOL(__cv_init); +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/spl/3_13-compat-2.patch b/pkgs/os-specific/linux/spl/3_13-compat-2.patch new file mode 100644 index 000000000000..1f487f042f81 --- /dev/null +++ b/pkgs/os-specific/linux/spl/3_13-compat-2.patch @@ -0,0 +1,168 @@ +From 50a0749eba31e821a7edf286f1e3b149f7d13c59 Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Mon, 25 Nov 2013 11:22:33 -0500 +Subject: [PATCH] Linux 3.13 compat: Pass NULL for new delegated inode argument + +This check was originally added for SLES10, a093c6a, to check for +a 'struct vfsmount *' argument which they added. However, since +SLES10 is based on a 2.6.16 kernel which is no longer supported +this functionality was dropped. The checks were refactored to +support Linux 3.13 without concern for historical versions. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #312 +--- + config/spl-build.m4 | 52 ++++++++++++++++++++++++++++++++++++++++---------- + module/spl/spl-vnode.c | 22 ++++++++++++--------- + 2 files changed, 55 insertions(+), 19 deletions(-) + +diff --git a/config/spl-build.m4 b/config/spl-build.m4 +index 7d744db..8426780 100644 +--- a/config/spl-build.m4 ++++ b/config/spl-build.m4 +@@ -1842,41 +1842,73 @@ AC_DEFUN([SPL_AC_SET_FS_PWD_WITH_CONST], + EXTRA_KCFLAGS="$tmp_flags" + ]) + +-dnl # +-dnl # SLES API change, never adopted in mainline, +-dnl # Third 'struct vfsmount *' argument removed. +-dnl # + AC_DEFUN([SPL_AC_2ARGS_VFS_UNLINK], + [AC_MSG_CHECKING([whether vfs_unlink() wants 2 args]) + SPL_LINUX_TRY_COMPILE([ + #include + ],[ +- vfs_unlink(NULL, NULL); ++ vfs_unlink((struct inode *) NULL, (struct dentry *) NULL); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_2ARGS_VFS_UNLINK, 1, + [vfs_unlink() wants 2 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # Linux 3.13 API change ++ dnl # Added delegated inode ++ dnl # ++ AC_MSG_CHECKING([whether vfs_unlink() wants 3 args]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ vfs_unlink((struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode **) NULL); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_3ARGS_VFS_UNLINK, 1, ++ [vfs_unlink() wants 3 args]) ++ ],[ ++ AC_MSG_ERROR(no) ++ ]) ++ + ]) + ]) + +-dnl # +-dnl # SLES API change, never adopted in mainline, +-dnl # Third and sixth 'struct vfsmount *' argument removed. +-dnl # + AC_DEFUN([SPL_AC_4ARGS_VFS_RENAME], + [AC_MSG_CHECKING([whether vfs_rename() wants 4 args]) + SPL_LINUX_TRY_COMPILE([ + #include + ],[ +- vfs_rename(NULL, NULL, NULL, NULL); ++ vfs_rename((struct inode *) NULL, (struct dentry *) NULL, ++ (struct inode *) NULL, (struct dentry *) NULL); + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_4ARGS_VFS_RENAME, 1, + [vfs_rename() wants 4 args]) + ],[ + AC_MSG_RESULT(no) ++ dnl # ++ dnl # Linux 3.13 API change ++ dnl # Added delegated inode ++ dnl # ++ AC_MSG_CHECKING([whether vfs_rename() wants 5 args]) ++ SPL_LINUX_TRY_COMPILE([ ++ #include ++ ],[ ++ vfs_rename((struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode *) NULL, ++ (struct dentry *) NULL, ++ (struct inode **) NULL); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_5ARGS_VFS_RENAME, 1, ++ [vfs_rename() wants 5 args]) ++ ],[ ++ AC_MSG_ERROR(no) ++ ]) + ]) + ]) + +diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c +index 0784ff2..5496067 100644 +--- a/module/spl/spl-vnode.c ++++ b/module/spl/spl-vnode.c +@@ -334,7 +334,11 @@ + if (inode) + ihold(inode); + ++#ifdef HAVE_2ARGS_VFS_UNLINK + rc = vfs_unlink(parent.dentry->d_inode, dentry); ++#else ++ rc = vfs_unlink(parent.dentry->d_inode, dentry, NULL); ++#endif /* HAVE_2ARGS_VFS_UNLINK */ + exit1: + dput(dentry); + } else { +@@ -412,10 +416,10 @@ + + #ifdef HAVE_4ARGS_VFS_RENAME + rc = vfs_rename(old_dir->d_inode, old_dentry, +- new_dir->d_inode, new_dentry); ++ new_dir->d_inode, new_dentry); + #else +- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, +- new_dir->d_inode, new_dentry, newnd.nd_mnt); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry, NULL); + #endif /* HAVE_4ARGS_VFS_RENAME */ + exit4: + unlock_rename(new_dir, old_dir); +@@ -478,9 +482,9 @@ + if (inode) + atomic_inc(&inode->i_count); + #ifdef HAVE_2ARGS_VFS_UNLINK +- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); ++ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); + #else +- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, nd.nd_mnt); ++ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, NULL); + #endif /* HAVE_2ARGS_VFS_UNLINK */ + exit2: + dput(dentry); +@@ -571,11 +575,11 @@ + SGOTO(exit5, rc); + + #ifdef HAVE_4ARGS_VFS_RENAME +- rc = vfs_rename(old_dir->d_inode, old_dentry, +- new_dir->d_inode, new_dentry); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry); + #else +- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, +- new_dir->d_inode, new_dentry, newnd.nd_mnt); ++ rc = vfs_rename(old_dir->d_inode, old_dentry, ++ new_dir->d_inode, new_dentry, NULL); + #endif /* HAVE_4ARGS_VFS_RENAME */ + exit5: + dput(new_dentry); +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index ee264f67127a..1d70a76a001c 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { sha256 = "196scl8q0bkkak6m0p1l1fz254cgsizqm73bf9wk3iynamq7qmrw"; }; - patches = [ ./install_prefix.patch ]; + patches = [ ./install_prefix.patch ./3_12-compat.patch ./3_13-compat-1.patch ./3_13-compat-2.patch ]; buildInputs = [ perl autoconf automake libtool ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation { ./autogen.sh substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid - substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod + substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" @@ -40,6 +40,6 @@ stdenv.mkDerivation { homepage = http://zfsonlinux.org/; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [ jcumming ]; + maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; }; } diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix new file mode 100644 index 000000000000..6f5bb3869bb2 --- /dev/null +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -0,0 +1,41 @@ +{stdenv, fetchurl, cmake, luajit, kernel}: +let + s = # Generated upstream information + rec { + baseName="sysdig"; + version="0.1.79"; + name="${baseName}-${version}"; + hash="04ng4q859xxlpsnavx6rcgmq7frzgbzxm0p5zmdsmhz8m6hfvz7l"; + url="https://github.com/draios/sysdig/archive/0.1.79.tar.gz"; + sha256="04ng4q859xxlpsnavx6rcgmq7frzgbzxm0p5zmdsmhz8m6hfvz7l"; + }; + buildInputs = [ + cmake luajit kernel + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + + cmakeFlags = [ + "-DUSE_BUNDLED_LUAJIT=OFF" + ]; + makeFlags = [ + "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + postInstall = '' + mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc/sysdig + cp driver/*.ko $out/lib/modules/${kernel.modDirVersion}/misc/sysdig + ''; + + meta = { + inherit (s) version; + description = ''A tracepoint-based system tracing tool for Linux''; + license = stdenv.lib.licenses.gpl2 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/sysdig/default.upstream b/pkgs/os-specific/linux/sysdig/default.upstream new file mode 100644 index 000000000000..7071d9825007 --- /dev/null +++ b/pkgs/os-specific/linux/sysdig/default.upstream @@ -0,0 +1,3 @@ +url https://github.com/draios/sysdig/releases +ensure_choice +version '.*/([0-9.]+)[.]tar[.].*' '\1' diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 2c2ed582083f..262fde749843 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,31 +1,34 @@ { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod , xz, pam, acl, cryptsetup, libuuid, m4, utillinux , glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl -, kexectools +, kexectools, libmicrohttpd, linuxHeaders +, python ? null, pythonSupport ? false }: assert stdenv.isLinux; +assert pythonSupport -> python != null; + stdenv.mkDerivation rec { - version = "203"; + version = "212"; name = "systemd-${version}"; src = fetchurl { url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz"; - sha256 = "07gvn3rpski8sh1nz16npjf2bvj0spsjdwc5px9685g2pi6kxcb1"; + sha256 = "1hpjcc42svrs06q3isjm3m5aphgkpfdylmvpnif71zh46ys0cab5"; }; patches = [ # These are all changes between upstream and - # https://github.com/edolstra/systemd/tree/nixos-v203. + # https://github.com/edolstra/systemd/tree/nixos-v212. ./fixes.patch - ] - ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch; + ]; buildInputs = - [ pkgconfig intltool gperf libcap dbus.libs kmod xz pam acl + [ pkgconfig intltool gperf libcap kmod xz pam acl /* cryptsetup */ libuuid m4 glib libxslt libgcrypt docbook_xsl - ]; + libmicrohttpd linuxHeaders + ] ++ stdenv.lib.optional pythonSupport python; configureFlags = [ "--localstatedir=/var" @@ -40,15 +43,18 @@ stdenv.mkDerivation rec { "--with-dbussessionservicedir=$(out)/share/dbus-1/services" "--with-firmware-path=/root/test-firmware:/run/current-system/firmware" "--with-tty-gid=3" # tty in NixOS has gid 3 + "--disable-networkd" # enable/use eventually + "--enable-compat-libs" # get rid of this eventually ]; preConfigure = '' # FIXME: patch this in systemd properly (and send upstream). # FIXME: use sulogin from util-linux once updated. - for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c; do + for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in src/journal/cat.c src/core/shutdown.c src/nspawn/nspawn.c; do test -e $i substituteInPlace $i \ + --replace /usr/bin/getent ${stdenv.glibc}/bin/getent \ --replace /bin/mount ${utillinux}/bin/mount \ --replace /bin/umount ${utillinux}/bin/umount \ --replace /sbin/swapon ${utillinux}/sbin/swapon \ @@ -64,6 +70,10 @@ stdenv.mkDerivation rec { --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ ''; + # This is needed because systemd uses the gold linker, which doesn't + # yet have the wrapper script to add rpath flags automatically. + NIX_LDFLAGS = "-rpath ${pam}/lib -rpath ${libcap}/lib -rpath ${acl}/lib -rpath ${stdenv.gcc.gcc}/lib"; + PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python NIX_CFLAGS_COMPILE = @@ -72,10 +82,6 @@ stdenv.mkDerivation rec { "-UPOLKIT_AGENT_BINARY_PATH" "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\"" "-fno-stack-protector" - # Work around our kernel headers being too old. FIXME: remove - # this after the next stdenv update. - "-DFS_NOCOW_FL=0x00800000" - # Set the release_agent on /sys/fs/cgroup/systemd to the # currently running systemd (/run/current-system/systemd) so # that we don't use an obsolete/garbage-collected release agent. @@ -89,7 +95,12 @@ stdenv.mkDerivation rec { # /var is mounted. makeFlags = "hwdb_bin=/var/lib/udev/hwdb.bin"; - installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc sysvinitdir=$(TMPDIR)/etc/init.d"; + installFlags = + [ "localstatedir=$(TMPDIR)/var" + "sysconfdir=$(out)/etc" + "sysvinitdir=$(TMPDIR)/etc/init.d" + "pamconfdir=$(out)/etc/pam.d" + ]; # Get rid of configuration-specific data. postInstall = @@ -98,6 +109,8 @@ stdenv.mkDerivation rec { mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example mv $out/lib/systemd/{system,user} $out/example/systemd + rm -rf $out/etc/systemd/system + # Install SysV compatibility commands. mkdir -p $out/sbin ln -s $out/lib/systemd/systemd $out/sbin/telinit @@ -123,19 +136,6 @@ stdenv.mkDerivation rec { # runtime; otherwise we can't and we need to reboot. passthru.interfaceVersion = 2; - passthru.headers = stdenv.mkDerivation { - name = "systemd-headers-${version}"; - inherit src; - - phases = [ "unpackPhase" "installPhase" ]; - - # some are needed by dbus.libs, which is needed for systemd :-) - installPhase = '' - mkdir -p "$out/include/systemd" - mv src/systemd/*.h "$out/include/systemd" - ''; - }; - meta = { homepage = "http://www.freedesktop.org/wiki/Software/systemd"; description = "A system and service manager for Linux"; diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 0ad420cd35cc..c33d05da55a6 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -1,144 +1,23 @@ -diff --git a/man/systemd.special.xml b/man/systemd.special.xml -index 7164b1e..29401eb 100644 ---- a/man/systemd.special.xml -+++ b/man/systemd.special.xml -@@ -381,7 +381,7 @@ - this unit during - installation. This is best - configured via -- WantedBy=multi-uer.target -+ WantedBy=multi-user.target - in the unit's - [Install] - section. -diff --git a/rules/80-net-name-slot.rules b/rules/80-net-name-slot.rules -index 15b5bc4..c5f1b38 100644 ---- a/rules/80-net-name-slot.rules -+++ b/rules/80-net-name-slot.rules -@@ -1,6 +1,6 @@ - # do not edit this file, it will be overwritten on update - --ACTION=="remove", GOTO="net_name_slot_end" -+ACTION!="add", GOTO="net_name_slot_end" - SUBSYSTEM!="net", GOTO="net_name_slot_end" - NAME!="", GOTO="net_name_slot_end" - diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in -index d17bdd9..040b10e 100644 +index db72373..2fc12ca 100644 --- a/rules/99-systemd.rules.in +++ b/rules/99-systemd.rules.in @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd" - SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd" - SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" + SUBSYSTEM=="block", KERNEL!="ram*", TAG+="systemd" + SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" -# Ignore encrypted devices with no identified superblock on it, since -# we are probably still calling mke2fs or mkswap on it. --SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0" +-SUBSYSTEM=="block", KERNEL!="ram*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0" - # Ignore raid devices that are not yet assembled and started SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" -diff --git a/src/core/cgroup-semantics.c b/src/core/cgroup-semantics.c -index 82b02bb..7df9d01 100644 ---- a/src/core/cgroup-semantics.c -+++ b/src/core/cgroup-semantics.c -@@ -255,7 +255,7 @@ static int map_blkio(const CGroupSemantics *s, const char *value, char **ret) { - } - - static const CGroupSemantics semantics[] = { -- { "cpu", "cpu.shares", "CPUShare", false, parse_cpu_shares, NULL, NULL }, -+ { "cpu", "cpu.shares", "CPUShares", false, parse_cpu_shares, NULL, NULL }, - { "memory", "memory.soft_limit_in_bytes", "MemorySoftLimit", false, parse_memory_limit, NULL, NULL }, - { "memory", "memory.limit_in_bytes", "MemoryLimit", false, parse_memory_limit, NULL, NULL }, - { "devices", "devices.allow", "DeviceAllow", true, parse_device, map_device, NULL }, -diff --git a/src/core/dbus-execute.h b/src/core/dbus-execute.h -index 91d70e5..698102f 100644 ---- a/src/core/dbus-execute.h -+++ b/src/core/dbus-execute.h -@@ -63,7 +63,7 @@ - " \n" \ - " \n" \ - " \n" \ -- " \n" \ -+ " \n" \ - " \n" \ - " \n" \ - " \n" \ -diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c -index 56b02a1..2b6d799 100644 ---- a/src/core/dbus-manager.c -+++ b/src/core/dbus-manager.c -@@ -1550,7 +1550,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - _cleanup_strv_free_ char **l = NULL; - char **e = NULL; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - r = bus_parse_strv(message, &l); - if (r == -ENOMEM) -@@ -1577,7 +1577,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - _cleanup_strv_free_ char **l = NULL; - char **e = NULL; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - r = bus_parse_strv(message, &l); - if (r == -ENOMEM) -@@ -1605,7 +1605,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, - char **f = NULL; - DBusMessageIter iter; - -- SELINUX_ACCESS_CHECK(connection, message, "reboot"); -+ SELINUX_ACCESS_CHECK(connection, message, "reload"); - - if (!dbus_message_iter_init(message, &iter)) - goto oom; -diff --git a/src/core/dbus-swap.c b/src/core/dbus-swap.c -index 2e99fba..e72749a 100644 ---- a/src/core/dbus-swap.c -+++ b/src/core/dbus-swap.c -@@ -93,6 +93,7 @@ static DEFINE_BUS_PROPERTY_APPEND_ENUM(bus_swap_append_swap_result, swap_result, - static const BusProperty bus_swap_properties[] = { - { "What", bus_property_append_string, "s", offsetof(Swap, what), true }, - { "Priority", bus_swap_append_priority, "i", 0 }, -+ { "TimeoutUSec",bus_property_append_usec, "t", offsetof(Swap, timeout_usec)}, - BUS_EXEC_COMMAND_PROPERTY("ExecActivate", offsetof(Swap, exec_command[SWAP_EXEC_ACTIVATE]), false), - BUS_EXEC_COMMAND_PROPERTY("ExecDeactivate", offsetof(Swap, exec_command[SWAP_EXEC_DEACTIVATE]), false), - { "ControlPID", bus_property_append_pid, "u", offsetof(Swap, control_pid) }, diff --git a/src/core/main.c b/src/core/main.c -index 7fc06be..101ce79 100644 +index 41605ee..8517369 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1590,14 +1590,14 @@ int main(int argc, char *argv[]) { - log_error("Failed to adjust timer slack: %m"); - - if (arg_capability_bounding_set_drop) { -- r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true); -+ r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop); - if (r < 0) { -- log_error("Failed to drop capability bounding set: %s", strerror(-r)); -+ log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r)); - goto finish; - } -- r = capability_bounding_set_drop_usermode(arg_capability_bounding_set_drop); -+ r = capability_bounding_set_drop(arg_capability_bounding_set_drop, true); - if (r < 0) { -- log_error("Failed to drop capability bounding set of usermode helpers: %s", strerror(-r)); -+ log_error("Failed to drop capability bounding set: %s", strerror(-r)); - goto finish; - } - } -@@ -1650,6 +1650,7 @@ int main(int argc, char *argv[]) { - /* This will close all file descriptors that were opened, but - * not claimed by any unit. */ - fdset_free(fds); -+ fds = NULL; - - if (serialization) { - fclose(serialization); -@@ -1857,7 +1858,7 @@ finish: +@@ -1883,7 +1883,7 @@ finish: char_array_0(sfd); i = 0; @@ -147,69 +26,50 @@ index 7fc06be..101ce79 100644 if (switch_root_dir) args[i++] = "--switched-root"; args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user"; -diff --git a/src/core/manager.c b/src/core/manager.c -index c7f8f20..0508628 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) { +diff --git a/src/core/socket.c b/src/core/socket.c +index 7c18a2b..eba67d5 100644 +--- a/src/core/socket.c ++++ b/src/core/socket.c +@@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) { + int k; - case SIGINT: - if (m->running_as == SYSTEMD_SYSTEM) { -- manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE); -+ manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY); - break; - } + k = getpeercred(fd, &ucred); +- if (k < 0) ++ if (k == -ENODATA) { ++ /* This handles the case where somebody is ++ * connecting from another pid/uid namespace ++ * (e.g. from outside of our container). */ ++ if (asprintf(&r, ++ "%u-unknown", ++ nr) < 0) ++ return -ENOMEM; ++ } ++ else if (k < 0) + return k; +- +- if (asprintf(&r, +- "%u-%lu-%lu", +- nr, +- (unsigned long) ucred.pid, +- (unsigned long) ucred.uid) < 0) +- return -ENOMEM; +- ++ else { ++ if (asprintf(&r, ++ "%u-%lu-%lu", ++ nr, ++ (unsigned long) ucred.pid, ++ (unsigned long) ucred.uid) < 0) ++ return -ENOMEM; ++ } + break; + } -diff --git a/src/core/service.c b/src/core/service.c -index 3617c24..4d0e2ad 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2642,6 +2642,9 @@ static int service_serialize(Unit *u, FILE *f, FDSet *fds) { - if (s->exec_context.var_tmp_dir) - unit_serialize_item(u, f, "var-tmp-dir", s->exec_context.var_tmp_dir); - -+ if (s->forbid_restart) -+ unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart)); -+ - return 0; - } - -@@ -2776,6 +2779,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - return log_oom(); - - s->exec_context.var_tmp_dir = t; -+ } else if (streq(key, "forbid-restart")) { -+ int b; -+ -+ b = parse_boolean(value); -+ if (b < 0) -+ log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value); -+ else -+ s->forbid_restart = b; - } else - log_debug_unit(u->id, "Unknown serialization key '%s'", key); - -diff --git a/src/core/snapshot.c b/src/core/snapshot.c -index a63eccd..a6807eb 100644 ---- a/src/core/snapshot.c -+++ b/src/core/snapshot.c -@@ -217,8 +217,10 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Sn - if (asprintf(&n, "snapshot-%u.snapshot", ++ m->n_snapshots) < 0) - return -ENOMEM; - -- if (!manager_get_unit(m, n)) -+ if (!manager_get_unit(m, n)) { -+ name = n; - break; -+ } - - free(n); - } diff --git a/src/core/umount.c b/src/core/umount.c -index 1e95ad7..9f0e471 100644 +index d1258f0..0311812 100644 --- a/src/core/umount.c +++ b/src/core/umount.c -@@ -435,6 +435,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e +@@ -404,6 +404,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e * anyway, since we are running from it. They have * already been remounted ro. */ if (path_equal(m->path, "/") @@ -218,285 +78,31 @@ index 1e95ad7..9f0e471 100644 #ifndef HAVE_SPLIT_USR || path_equal(m->path, "/usr") #endif -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index 81b7708..edd0b40 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c -@@ -111,6 +111,7 @@ static int create_disk( - "Conflicts=umount.target\n" - "DefaultDependencies=no\n" - "BindsTo=dev-mapper-%i.device\n" -+ "IgnoreOnIsolate=true\n" - "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", - f); - -diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c -index c17299f..6b3e67e 100644 ---- a/src/fstab-generator/fstab-generator.c -+++ b/src/fstab-generator/fstab-generator.c -@@ -351,7 +351,7 @@ static int add_mount( - - if (automount && !path_equal(where, "/")) { - automount_name = unit_name_from_path(where, ".automount"); -- if (!name) -+ if (!automount_name) - return log_oom(); - - automount_unit = strjoin(arg_dest, "/", automount_name, NULL); -@@ -596,9 +596,9 @@ static int parse_proc_cmdline(void) { - } else if (startswith(word, "rd.fstab=")) { - - if (in_initrd()) { -- r = parse_boolean(word + 6); -+ r = parse_boolean(word + 9); - if (r < 0) -- log_warning("Failed to parse fstab switch %s. Ignoring.", word + 6); -+ log_warning("Failed to parse fstab switch %s. Ignoring.", word + 9); - else - arg_enabled = r; +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index 9a9ed9d..9e46e18 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) { + goto finish; } -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 38499a6..bb80905 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -907,6 +907,8 @@ static int journal_file_append_field( + } else { ++#if 0 + const char *p; - osize = offsetof(Object, field.payload) + size; - r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); -+ if (r < 0) -+ return r; + p = strappenda(arg_directory, +@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) { + goto finish; - o->field.hash = htole64(hash); - memcpy(o->field.payload, field, size); -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 88163c0..e09ba4c 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -333,8 +333,10 @@ void server_rotate(Server *s) { - if (r < 0) - if (f) - log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -- else -+ else { - log_error("Failed to create user journal: %s", strerror(-r)); -+ hashmap_remove(s->user_journals, k); -+ } - else { - hashmap_replace(s->user_journals, k, f); - server_fix_perms(s, f, PTR_TO_UINT32(k)); -@@ -975,7 +977,8 @@ int process_event(Server *s, struct epoll_event *ev) { - ssize_t n; - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "signal fd", ev->events); - return -EIO; + } ++#endif } - -@@ -1024,8 +1027,12 @@ int process_event(Server *s, struct epoll_event *ev) { - } else if (ev->data.fd == s->dev_kmsg_fd) { - int r; - -- if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ if (ev->events & EPOLLERR) -+ log_warning("/dev/kmsg buffer overrun, some messages lost."); -+ -+ if (!(ev->events & EPOLLIN)) { -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "/dev/kmsg", ev->events); - return -EIO; - } - -@@ -1039,7 +1046,9 @@ int process_event(Server *s, struct epoll_event *ev) { - ev->data.fd == s->syslog_fd) { - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ ev->data.fd == s->native_fd ? "native fd" : "syslog fd", -+ ev->events); - return -EIO; - } - -@@ -1140,12 +1149,7 @@ int process_event(Server *s, struct epoll_event *ev) { - char *e; - - if (n > 0 && n_fds == 0) { -- e = memchr(s->buffer, '\n', n); -- if (e) -- *e = 0; -- else -- s->buffer[n] = 0; -- -+ s->buffer[n] = 0; - server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len); - } else if (n_fds > 0) - log_warning("Got file descriptors via syslog socket. Ignoring."); -@@ -1167,7 +1171,8 @@ int process_event(Server *s, struct epoll_event *ev) { - } else if (ev->data.fd == s->stdout_fd) { - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "stdout fd", ev->events); - return -EIO; - } - -@@ -1178,6 +1183,8 @@ int process_event(Server *s, struct epoll_event *ev) { - StdoutStream *stream; - - if ((ev->events|EPOLLIN|EPOLLHUP) != (EPOLLIN|EPOLLHUP)) { -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "stdout stream", ev->events); - log_error("Got invalid event from epoll."); - return -EIO; - } -diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c -index 54bf114..bd197d0 100644 ---- a/src/journal/mmap-cache.c -+++ b/src/journal/mmap-cache.c -@@ -308,9 +308,13 @@ static void mmap_cache_free(MMapCache *m) { - while ((c = hashmap_first(m->contexts))) - context_free(c); - -+ hashmap_free(m->contexts); -+ - while ((f = hashmap_first(m->fds))) - fd_free(f); - -+ hashmap_free(m->fds); -+ - while (m->unused) - window_free(m->unused); - -diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c -index 0e66f3d..cac948e 100644 ---- a/src/libsystemd-bus/bus-internal.c -+++ b/src/libsystemd-bus/bus-internal.c -@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) { - - bool interface_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot; -+ bool dot, found_dot = false; - - if (isempty(p)) - return false; -@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) { - - bool service_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot, unique; -+ bool dot, found_dot = false, unique; - - if (isempty(p)) - return false; -diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c -index 7d6d848..b0eb2f1 100644 ---- a/src/libsystemd-bus/sd-bus.c -+++ b/src/libsystemd-bus/sd-bus.c -@@ -1088,11 +1088,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) { - if (r == 0) - return ret; - -- r = 1; -+ ret = 1; - } while (!z); - - *m = z; -- return 1; -+ return ret; - } - - int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { -diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c -index 5ccaabd..100c1fb 100644 ---- a/src/libudev/libudev-enumerate.c -+++ b/src/libudev/libudev-enumerate.c -@@ -299,7 +299,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume - /* skip to be delayed devices, and move the to - * the point where the prefix changes. We can - * only move one item at a time. */ -- if (!move_later) { -+ if (move_later == -1) { - move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); - - if (move_later_prefix > 0) { -@@ -718,6 +718,8 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s - { - struct udev_list_entry *list_entry; - -+ subsystem = subsystem ? : ""; -+ - udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) { - if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0) - return false; -@@ -826,23 +828,27 @@ nomatch: - static int parent_add_child(struct udev_enumerate *enumerate, const char *path) - { - struct udev_device *dev; -+ int r = 0; - - dev = udev_device_new_from_syspath(enumerate->udev, path); - if (dev == NULL) - return -ENODEV; - - if (!match_subsystem(enumerate, udev_device_get_subsystem(dev))) -- return 0; -+ goto nomatch; - if (!match_sysname(enumerate, udev_device_get_sysname(dev))) -- return 0; -+ goto nomatch; - if (!match_property(enumerate, dev)) -- return 0; -+ goto nomatch; - if (!match_sysattr(enumerate, dev)) -- return 0; -+ goto nomatch; - - syspath_add(enumerate, udev_device_get_syspath(dev)); -+ r = 1; -+ -+nomatch: - udev_device_unref(dev); -- return 1; -+ return r; - } - - static int parent_crawl_children(struct udev_enumerate *enumerate, const char *path, int maxdepth) -diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym -index 8e09430..1e6f885 100644 ---- a/src/libudev/libudev.sym -+++ b/src/libudev/libudev.sym -@@ -109,5 +109,6 @@ global: - } LIBUDEV_189; - - LIBUDEV_199 { -+global: - udev_device_set_sysattr_value; - } LIBUDEV_196; -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 7b19ee0..49ee420 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) { - - STRV_FOREACH(i, arg_proc_cmdline_modules) { - k = load_module(ctx, *i); -- if (k < 0) -- r = EXIT_FAILURE; -+ if (k < 0 && r == 0) -+ r = k; - } - - r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); + } else { + char template[] = "/tmp/nspawn-root-XXXXXX"; diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c -index b1ef912..4f2ab5c 100644 +index d61ecdf..228a3a4 100644 --- a/src/nss-myhostname/netlink.c +++ b/src/nss-myhostname/netlink.c -@@ -113,6 +113,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) { +@@ -112,6 +112,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) { ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE) continue; @@ -507,174 +113,45 @@ index b1ef912..4f2ab5c 100644 if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED) continue; -diff --git a/src/shared/efivars.c b/src/shared/efivars.c -index 8d004ba..99340c9 100644 ---- a/src/shared/efivars.c -+++ b/src/shared/efivars.c -@@ -383,7 +383,8 @@ int efi_get_boot_options(uint16_t **options) { - list[count ++] = id; - } - -- qsort(list, count, sizeof(uint16_t), cmp_uint16); -+ if (list) -+ qsort(list, count, sizeof(uint16_t), cmp_uint16); - - *options = list; - return count; -diff --git a/src/shared/env-util.c b/src/shared/env-util.c -index 6a52fb9..598222c 100644 ---- a/src/shared/env-util.c -+++ b/src/shared/env-util.c -@@ -406,7 +406,9 @@ char **strv_env_clean_log(char **e, const char *message) { - e[k++] = *p; - } - -- e[k] = NULL; -+ if (e) -+ e[k] = NULL; -+ - return e; - } - -diff --git a/src/shared/log.c b/src/shared/log.c -index 27317f7..8f4995a 100644 ---- a/src/shared/log.c -+++ b/src/shared/log.c -@@ -115,16 +115,20 @@ void log_close_syslog(void) { - - static int create_log_socket(int type) { - int fd; -+ struct timeval tv; - -- /* All output to the syslog/journal fds we do asynchronously, -- * and if the buffers are full we just drop the messages */ -- -- fd = socket(AF_UNIX, type|SOCK_CLOEXEC|SOCK_NONBLOCK, 0); -+ fd = socket(AF_UNIX, type|SOCK_CLOEXEC, 0); - if (fd < 0) - return -errno; - - fd_inc_sndbuf(fd, SNDBUF_SIZE); - -+ /* We need a blocking fd here since we'd otherwise lose -+ messages way too early. However, let's not hang forever in the -+ unlikely case of a deadlock. */ -+ timeval_store(&tv, 1*USEC_PER_MINUTE); -+ setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); -+ - return fd; - } - -diff --git a/src/shared/polkit.c b/src/shared/polkit.c -index cea7074..1c5e9e3 100644 ---- a/src/shared/polkit.c -+++ b/src/shared/polkit.c -@@ -38,12 +38,8 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - DBusMessage *m = NULL, *reply = NULL; -- const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = ""; -+ const char *system_bus_name = "system-bus-name", *name = "name", *cancel_id = ""; - uint32_t flags = interactive ? 1 : 0; -- pid_t pid_raw; -- uint32_t pid_u32; -- unsigned long long starttime_raw; -- uint64_t starttime_u64; - DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant; - int r; - dbus_bool_t authorized = FALSE, challenge = FALSE; -@@ -68,14 +64,6 @@ int verify_polkit( - - #ifdef ENABLE_POLKIT - -- pid_raw = bus_get_unix_process_id(c, sender, error); -- if (pid_raw == 0) -- return -EINVAL; -- -- r = get_starttime_of_pid(pid_raw, &starttime_raw); -- if (r < 0) -- return r; -- - m = dbus_message_new_method_call( - "org.freedesktop.PolicyKit1", - "/org/freedesktop/PolicyKit1/Authority", -@@ -86,22 +74,13 @@ int verify_polkit( - - dbus_message_iter_init_append(m, &iter_msg); - -- pid_u32 = (uint32_t) pid_raw; -- starttime_u64 = (uint64_t) starttime_raw; -- - if (!dbus_message_iter_open_container(&iter_msg, DBUS_TYPE_STRUCT, NULL, &iter_struct) || -- !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &unix_process) || -+ !dbus_message_iter_append_basic(&iter_struct, DBUS_TYPE_STRING, &system_bus_name) || - !dbus_message_iter_open_container(&iter_struct, DBUS_TYPE_ARRAY, "{sv}", &iter_array) || - !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &pid) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "u", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT32, &pid_u32) || -- !dbus_message_iter_close_container(&iter_dict, &iter_variant) || -- !dbus_message_iter_close_container(&iter_array, &iter_dict) || -- !dbus_message_iter_open_container(&iter_array, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict) || -- !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &starttime) || -- !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "t", &iter_variant) || -- !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_UINT64, &starttime_u64) || -+ !dbus_message_iter_append_basic(&iter_dict, DBUS_TYPE_STRING, &name) || -+ !dbus_message_iter_open_container(&iter_dict, DBUS_TYPE_VARIANT, "s", &iter_variant) || -+ !dbus_message_iter_append_basic(&iter_variant, DBUS_TYPE_STRING, &sender) || - !dbus_message_iter_close_container(&iter_dict, &iter_variant) || - !dbus_message_iter_close_container(&iter_array, &iter_dict) || - !dbus_message_iter_close_container(&iter_struct, &iter_array) || diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 3cca861..f6052dd 100644 +index 0887bc3..6b502ce 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c -@@ -1482,7 +1482,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - - } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) { - uint32_t id; -- const char *path, *result, *unit; -+ const char *path, *result, *unit, *r; - - if (dbus_message_get_args(message, &error, - DBUS_TYPE_UINT32, &id, -@@ -1491,7 +1491,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - DBUS_TYPE_STRING, &result, - DBUS_TYPE_INVALID)) { - -- free(set_remove(d->set, (char*) path)); -+ r = set_remove(d->set, (char*) path); -+ if (!r) -+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -+ -+ free(r); - - if (!isempty(result)) - d->result = strdup(result); -@@ -1511,7 +1515,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - /* Compatibility with older systemd versions < - * 183 during upgrades. This should be dropped - * one day. */ -- free(set_remove(d->set, (char*) path)); -+ r = set_remove(d->set, (char*) path); -+ if (!r) -+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -+ -+ free(r); - - if (*result) - d->result = strdup(result); -@@ -1867,7 +1875,7 @@ static int start_unit_one( - return log_oom(); +@@ -2561,7 +2561,7 @@ static int start_unit_one( + log_debug("Adding %s to the set", p); r = set_consume(s, p); -- if (r < 0) { -+ if (r < 0 && r != -EEXIST) { - log_error("Failed to add path to set."); - return r; - } +- if (r < 0) ++ if (r < 0 && r != -EEXIST) + return log_oom(); + } + +diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in +index 8ac51a4..cae9fb5 100644 +--- a/units/console-getty.service.m4.in ++++ b/units/console-getty.service.m4.in +@@ -15,7 +15,6 @@ After=rc-local.service + Before=getty.target + + [Service] +-ExecStart=-/sbin/agetty --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 +diff --git a/units/container-getty@.service.m4.in b/units/container-getty@.service.m4.in +index 4f7794b..bad2a9a 100644 +--- a/units/container-getty@.service.m4.in ++++ b/units/container-getty@.service.m4.in +@@ -16,7 +16,6 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-ExecStart=-/sbin/agetty --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 diff --git a/units/emergency.service.in b/units/emergency.service.in -index 442f0e0..6b7eafd 100644 +index 94c090f..0d20640 100644 --- a/units/emergency.service.in +++ b/units/emergency.service.in @@ -15,7 +15,6 @@ Before=shutdown.target @@ -685,30 +162,61 @@ index 442f0e0..6b7eafd 100644 ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' ExecStart=-/sbin/sulogin ExecStopPost=@SYSTEMCTL@ --fail --no-block default +diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 +index aa853b8..8bcc647 100644 +--- a/units/getty@.service.m4 ++++ b/units/getty@.service.m4 +@@ -23,11 +23,12 @@ IgnoreOnIsolate=yes + # On systems without virtual consoles, don't start any getty. Note + # that serial gettys are covered by serial-getty@.service, not this + # unit. +-ConditionPathExists=/dev/tty0 ++ConditionPathExists=|/dev/tty0 ++ConditionVirtualization=|lxc ++ConditionVirtualization=|lxc-libvirt + + [Service] + # the VT is cleared by TTYVTDisallocate +-ExecStart=-/sbin/agetty --noclear %I $TERM + Type=idle + Restart=always + RestartSec=0 +diff --git a/units/kmod-static-nodes.service.in b/units/kmod-static-nodes.service.in +index 368f980..d0c1bd2 100644 +--- a/units/kmod-static-nodes.service.in ++++ b/units/kmod-static-nodes.service.in +@@ -10,7 +10,6 @@ Description=Create list of required static device nodes for the current kernel + DefaultDependencies=no + Before=sysinit.target systemd-tmpfiles-setup-dev.service + ConditionCapability=CAP_MKNOD +-ConditionPathExists=/lib/modules/%v/modules.devname + + [Service] + Type=oneshot diff --git a/units/local-fs.target b/units/local-fs.target -index 18c3d74..a09054c 100644 +index ae3cedc..0e36840 100644 --- a/units/local-fs.target +++ b/units/local-fs.target -@@ -11,3 +11,5 @@ Documentation=man:systemd.special(7) - After=local-fs-pre.target +@@ -13,3 +13,5 @@ DefaultDependencies=no + Conflicts=shutdown.target OnFailure=emergency.target - OnFailureIsolate=no + OnFailureJobMode=replace-irreversibly + +X-StopOnReconfiguration=yes diff --git a/units/remote-fs.target b/units/remote-fs.target -index 09213e8..47b4cf5 100644 +index 43ffa5c..156a681 100644 --- a/units/remote-fs.target +++ b/units/remote-fs.target -@@ -10,5 +10,7 @@ Description=Remote File Systems - Documentation=man:systemd.special(7) - After=remote-fs-pre.target +@@ -12,5 +12,7 @@ After=remote-fs-pre.target + DefaultDependencies=no + Conflicts=shutdown.target +X-StopOnReconfiguration=yes + [Install] WantedBy=multi-user.target diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in -index 269797a..2c640f4 100644 +index 552ef89..af3915f 100644 --- a/units/rescue.service.m4.in +++ b/units/rescue.service.m4.in @@ -16,7 +16,6 @@ Before=shutdown.target @@ -719,6 +227,18 @@ index 269797a..2c640f4 100644 ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' ExecStart=-/sbin/sulogin ExecStopPost=-@SYSTEMCTL@ --fail --no-block default +diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 +index 4ac51e7..86a3b59 100644 +--- a/units/serial-getty@.service.m4 ++++ b/units/serial-getty@.service.m4 +@@ -22,7 +22,6 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM + Type=idle + Restart=always + RestartSec=0 diff --git a/units/sysinit.target b/units/sysinit.target index 8f4fb8f..e0f0147 100644 --- a/units/sysinit.target @@ -731,11 +251,20 @@ index 8f4fb8f..e0f0147 100644 -After=local-fs.target swap.target emergency.service emergency.target +After=emergency.service emergency.target RefuseManualStart=yes +diff --git a/units/systemd-backlight@.service.in b/units/systemd-backlight@.service.in +index e945d87..77728f2 100644 +--- a/units/systemd-backlight@.service.in ++++ b/units/systemd-backlight@.service.in +@@ -19,3 +19,4 @@ Type=oneshot + RemainAfterExit=yes + ExecStart=@rootlibexecdir@/systemd-backlight load %i + ExecStop=@rootlibexecdir@/systemd-backlight save %i ++X-RestartIfChanged=false diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in -index ab2e50c..9563a7d 100644 +index de93879..c9a49f3 100644 --- a/units/systemd-journald.service.in +++ b/units/systemd-journald.service.in -@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C +@@ -25,3 +25,8 @@ WatchdogSec=1min # Increase the default a bit in order to allow many simultaneous # services being run since we keep one fd open per service. LimitNOFILE=16384 @@ -744,6 +273,33 @@ index ab2e50c..9563a7d 100644 +# journald to stop logging (see +# https://bugs.freedesktop.org/show_bug.cgi?id=56043). +X-RestartIfChanged=no +diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in +index 1879b2f..9b895b9 100644 +--- a/units/systemd-random-seed.service.in ++++ b/units/systemd-random-seed.service.in +@@ -19,3 +19,4 @@ Type=oneshot + RemainAfterExit=yes + ExecStart=@rootlibexecdir@/systemd-random-seed load + ExecStop=@rootlibexecdir@/systemd-random-seed save ++X-RestartIfChanged=false +diff --git a/units/systemd-rfkill@.service.in b/units/systemd-rfkill@.service.in +index 9d264a2..c505535 100644 +--- a/units/systemd-rfkill@.service.in ++++ b/units/systemd-rfkill@.service.in +@@ -19,3 +19,4 @@ Type=oneshot + RemainAfterExit=yes + ExecStart=@rootlibexecdir@/systemd-rfkill load %I + ExecStop=@rootlibexecdir@/systemd-rfkill save %I ++X-RestartIfChanged=false +diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in +index da7dda7..4cc550d 100644 +--- a/units/systemd-update-utmp.service.in ++++ b/units/systemd-update-utmp.service.in +@@ -19,3 +19,4 @@ Type=oneshot + RemainAfterExit=yes + ExecStart=@rootlibexecdir@/systemd-update-utmp reboot + ExecStop=@rootlibexecdir@/systemd-update-utmp shutdown ++X-RestartIfChanged=false diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in index 0869e73..b6ed958 100644 --- a/units/systemd-user-sessions.service.in diff --git a/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch b/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch deleted file mode 100644 index 7cde2260189a..000000000000 --- a/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch +++ /dev/null @@ -1,81 +0,0 @@ -Based on a patch for udev in -nixpkgs(upstart)/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch - -It was taken from: -https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch - -Basically, ARM implemented accept4() only in 2.6.36. Nixpkgs now uses -linux headers from 2.6.35. And the particular nixpkgs glibc version had a bug, -not checking about 2.6.36 for accept4 on arm. - -diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c -index 7b88f74..a9f7b62 100644 ---- a/src/journal/journald-stream.c -+++ b/src/journal/journald-stream.c -@@ -347,10 +347,12 @@ int stdout_stream_new(Server *s) { - int fd, r; - socklen_t len; - struct epoll_event ev; -+ int flgs; - - assert(s); - -- fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC); -+ //fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC); -+ fd = accept(s->stdout_fd, NULL, NULL); - if (fd < 0) { - if (errno == EAGAIN) - return 0; -@@ -359,6 +361,11 @@ int stdout_stream_new(Server *s) { - return -errno; - } - -+ // Since we don't have accept4 -+ flgs = fcntl(fd, F_GETFL, NULL); -+ if(flgs >= 0) fcntl(fd, F_SETFL, flgs | O_NONBLOCK); -+ fcntl(fd, F_SETFD, FD_CLOEXEC); -+ - if (s->n_stdout_streams >= STDOUT_STREAMS_MAX) { - log_warning("Too many stdout streams, refusing connection."); - close_nointr_nofail(fd); -diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c -index a235912..c05e4b4 100644 ---- a/src/udev/udev-ctrl.c -+++ b/src/udev/udev-ctrl.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -181,6 +182,7 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) - struct ucred ucred; - socklen_t slen; - const int on = 1; -+ int flgs; - - conn = calloc(1, sizeof(struct udev_ctrl_connection)); - if (conn == NULL) -@@ -188,13 +190,19 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) - conn->refcount = 1; - conn->uctrl = uctrl; - -- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); -+ //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); -+ conn->sock = accept(uctrl->sock, NULL, NULL); - if (conn->sock < 0) { - if (errno != EINTR) - log_error("unable to receive ctrl connection: %m\n"); - goto err; - } - -+ // Since we don't have accept4 -+ flgs = fcntl(conn->sock, F_GETFL, NULL); -+ if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK); -+ fcntl(conn->sock, F_SETFD, FD_CLOEXEC); -+ - /* check peer credential of connection */ - slen = sizeof(ucred); - if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) { diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index b53af52755fa..09731d54ab75 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5"; }; - patches = [ ./purity.patch ./no-pci-db.patch ]; + patches = [ ./purity.patch ./no-pci-db.patch ./cve-2014-0004.patch ]; postPatch = '' diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 537b17550da1..6c9b743fe177 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "udisks-2.1.1"; + name = "udisks-2.1.3"; src = fetchurl { url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2"; - sha256 = "1yw6h3l13y796adwgj6m4j3hijv58lgpf98mq24nn9da73zhjfq1"; + sha256 = "0bb3403pa23j317b7z9ikdigr6ll5cl93l4hiy4afjgfa7b2zjaw"; }; patches = [ ./force-path.patch ]; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-udevdir=$(out)/lib/udev" ]; diff --git a/pkgs/os-specific/linux/udisks/cve-2014-0004.patch b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch new file mode 100644 index 000000000000..ce907507538f --- /dev/null +++ b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch @@ -0,0 +1,82 @@ +commit ebf61ed8471a45cf8bce7231de00cb1bbc140708 +Author: Martin Pitt +Date: Wed Mar 5 14:07:44 2014 +0100 + + Fix buffer overflow in mount path parsing + + In the mount monitor we parse mount points from /proc/self/mountinfo. Ensure + that we don't overflow the buffers on platforms where mount paths could be + longer than PATH_MAX (unknown if that can actually happen), as at least the + mount paths for hotpluggable devices are somewhat user-controlled. + + Thanks to Florian Weimer for discovering this bug, and to David Zeuthen + for his initial patch! + + CVE-2014-0004 + +Index: udisks-1.0.4/src/mount-monitor.c +=================================================================== +--- udisks-1.0.4.orig/src/mount-monitor.c 2011-08-25 20:27:33.000000000 +0200 ++++ udisks-1.0.4/src/mount-monitor.c 2014-03-10 13:38:18.309406561 +0100 +@@ -39,6 +39,11 @@ + #include "mount.h" + #include "private.h" + ++/* build a %Ns format string macro with N == PATH_MAX */ ++#define xstr(s) str(s) ++#define str(s) #s ++#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s" ++ + /*--------------------------------------------------------------------------------------------------------------*/ + + enum +@@ -320,8 +325,8 @@ mount_monitor_ensure (MountMonitor *moni + guint mount_id; + guint parent_id; + guint major, minor; +- gchar encoded_root[PATH_MAX]; +- gchar encoded_mount_point[PATH_MAX]; ++ gchar encoded_root[PATH_MAX + 1]; ++ gchar encoded_mount_point[PATH_MAX + 1]; + gchar *mount_point; + dev_t dev; + +@@ -329,7 +334,7 @@ mount_monitor_ensure (MountMonitor *moni + continue; + + if (sscanf (lines[n], +- "%d %d %d:%d %s %s", ++ "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT, + &mount_id, + &parent_id, + &major, +@@ -340,6 +345,8 @@ mount_monitor_ensure (MountMonitor *moni + g_warning ("Error parsing line '%s'", lines[n]); + continue; + } ++ encoded_root[sizeof encoded_root - 1] = '\0'; ++ encoded_mount_point[sizeof encoded_mount_point - 1] = '\0'; + + /* ignore mounts where only a subtree of a filesystem is mounted */ + if (g_strcmp0 (encoded_root, "/") != 0) +@@ -358,15 +365,17 @@ mount_monitor_ensure (MountMonitor *moni + sep = strstr (lines[n], " - "); + if (sep != NULL) + { +- gchar fstype[PATH_MAX]; +- gchar mount_source[PATH_MAX]; ++ gchar fstype[PATH_MAX + 1]; ++ gchar mount_source[PATH_MAX + 1]; + struct stat statbuf; + +- if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2) ++ if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, mount_source) != 2) + { + g_warning ("Error parsing things past - for '%s'", lines[n]); + continue; + } ++ fstype[sizeof fstype - 1] = '\0'; ++ mount_source[sizeof mount_source - 1] = '\0'; + + if (g_strcmp0 (fstype, "btrfs") != 0) + continue; diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix index cba4a510ff06..e9fa2b4adb1a 100644 --- a/pkgs/os-specific/linux/upower/default.nix +++ b/pkgs/os-specific/linux/upower/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils -, useSystemd ? true, systemd +, useSystemd ? true, systemd, gobjectIntrospection }: assert stdenv.isLinux; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ] + [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ] ++ stdenv.lib.optional useSystemd systemd; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 3f676d37dd87..cdc384f3ee8c 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,13 +1,11 @@ { stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }: -let - ver = "2.24"; -in + stdenv.mkDerivation rec { - name = "util-linux-${ver}"; + name = "util-linux-2.24.1"; src = fetchurl { - url = "http://www.kernel.org/pub/linux/utils/util-linux/v${ver}/${name}.tar.bz2"; - sha256 = "1nfnymj03rdcxjb677a9qq1zirppr8csh32cb85qm23x5xndi6v3"; + url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.24/${name}.tar.xz"; + sha256 = "0444xhfm9525v3aagyfbp38mp7xsw2fn9zg4ya713c7s5hivcpl3"; }; crossAttrs = { @@ -19,8 +17,6 @@ stdenv.mkDerivation rec { # (/sbin/mount.*) through an environment variable, but that's # somewhat risky because we have to consider that mount can setuid # root... - # --enable-libmount-mount fixes the behaviour being /etc/mtab a symlink to /proc/monunts - # http://pl.digipedia.org/usenet/thread/19513/1924/ configureFlags = '' --enable-write --enable-last @@ -36,6 +32,10 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (ncurses != null) ncurses ++ stdenv.lib.optional (perl != null) perl; + postInstall = '' + rm $out/bin/su # su should be supplied by the su package (shadow) + ''; + enableParallelBuilding = true; meta = { diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix new file mode 100644 index 000000000000..5b88d4c75560 --- /dev/null +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, kernel, kmod }: + +stdenv.mkDerivation rec { + name = "v4l2loopback-${version}-${kernel.version}"; + version = "0.8.0"; + + src = fetchurl { + url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz"; + sha256 = "1rhsgc4prrj8s6njixic7fs5m3gs94v9hhf3am6lnfh5yv6yab9h"; + }; + + preBuild = '' + substituteInPlace Makefile --replace "modules_install" "INSTALL_MOD_PATH=$out modules_install" + sed -i '/depmod/d' Makefile + export PATH=${kmod}/sbin:$PATH + ''; + + buildInputs = [ kmod ]; + + makeFlags = [ + "KERNELRELEASE=${kernel.modDirVersion}" + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + meta = with stdenv.lib; { + description = "A kernel module to create V4L2 loopback devices"; + homepage = https://github.com/umlaeute/v4l2loopback; + license = licenses.gpl2; + maintainers = [ maintainers.iElectric ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index ec2c704cfb5c..5ee25ea976ac 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -5,13 +5,13 @@ assert readlineSupport -> readline != null; stdenv.mkDerivation rec { - version = "2.0"; + version = "2.1"; name = "wpa_supplicant-${version}"; src = fetchurl { url = "http://hostap.epitest.fi/releases/${name}.tar.gz"; - sha256 = "02cy6wrs4nzm7wbq9mc1vby8lnj58k4sb10h718ks8mmzc4mc49c"; + sha256 = "0xxjw7lslvql1ykfbwmbhdrnjsjljf59fbwf837418s97dz2wqwi"; }; extraConfig = @@ -38,18 +38,24 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - patches = [ ./libnl.patch ]; + patches = [ ./libnl.patch + # remove this patch after wpa_supplicant 2.1 + (fetchurl { + url ="http://projects.archlinux.org/svntogit/packages.git/plain/trunk/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch?h=packages/wpa_supplicant"; + sha256 = "0x1wl2nbl7v9kv80qvysfjhhg5a7lmgygv1y723flps6y8ngm19w"; + }) + ]; postInstall = '' mkdir -p $out/share/man/man5 $out/share/man/man8 - cp -v doc/docbook/*.5 $out/share/man/man5/ - cp -v doc/docbook/*.8 $out/share/man/man8/ + cp -v "doc/docbook/"*.5 $out/share/man/man5/ + cp -v "doc/docbook/"*.8 $out/share/man/man8/ mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system - cp -v dbus/*service $out/share/dbus-1/system-services - sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/* + cp -v "dbus/"*service $out/share/dbus-1/system-services + sed -e "s@/sbin/wpa_supplicant@$out&@" -i "$out/share/dbus-1/system-services/"* cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d - cp -v systemd/*.service $out/etc/systemd/system - ''; # */ + cp -v "systemd/"*.service $out/etc/systemd/system + ''; meta = { homepage = http://hostap.epitest.fi/wpa_supplicant/; diff --git a/pkgs/os-specific/linux/wvdial/default.nix b/pkgs/os-specific/linux/wvdial/default.nix index eb9d09d2a119..7decd42b376b 100644 --- a/pkgs/os-specific/linux/wvdial/default.nix +++ b/pkgs/os-specific/linux/wvdial/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { export makeFlags="prefix=$out" # not sure about this line sed -i 's@/etc/ppp/peers@$out/etc/ppp/peers@' Makefile.in + + sed -e '1i#include ' -i $(find . -name '*.cc') ''; meta = { diff --git a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix index 4f74ce57ea84..f84088a93028 100644 --- a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix +++ b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix @@ -45,8 +45,6 @@ stdenv.mkDerivation { description = "An Xorg driver for multitouch trackpads"; license = "gplv2"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix index c5cc5f3b68f0..ae24e32a1577 100644 --- a/pkgs/os-specific/linux/xf86-input-multitouch/default.nix +++ b/pkgs/os-specific/linux/xf86-input-multitouch/default.nix @@ -46,8 +46,6 @@ stdenv.mkDerivation { description = "Brings multitouch gestures to the Linux desktop"; license = "gplv2"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index 4350694c13a6..e59fd695f780 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -3,11 +3,11 @@ , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }: stdenv.mkDerivation rec { - name = "xf86-input-wacom-0.20.0"; + name = "xf86-input-wacom-0.23.0"; src = fetchurl { url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2"; - sha256 = "1408zjqsakcyx6v81qwh4q7m49cc6vcaad54jaw8ycw4i832jvjq"; + sha256 = "13capyywk4k3z0va8dawvvdbyschwid0075ji67kyabz1y431h6v"; }; buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender diff --git a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix deleted file mode 100644 index 8ac5cdb69696..000000000000 --- a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ stdenv -, fetchurl -, autoconf -, automake -, libtool -, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto, pixman -, utilmacros -, libdrm -, pkgconfig }: - -stdenv.mkDerivation rec { - name = "xf86-video-nouveau-1.0.7"; - - src = fetchurl { - url = "mirror://xorg/individual/driver/${name}.tar.bz2"; - sha256 = "0cg1q9dz9ksfp593x707gr10s8p7z00zdws1r4lshg42w5ccd1yi"; - }; - - - buildInputs = [ - xorgserver xproto fontsproto xf86driproto renderproto videoproto pixman - utilmacros - libdrm - pkgconfig - ]; - - - meta = { - homepage = http://nouveau.freedesktop.org/wiki/; - - description = "The xorg driver for nouveau-driven video cards"; - - license = "gplv2"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; - }; -} diff --git a/pkgs/os-specific/linux/zfs/3.13-compat.patch b/pkgs/os-specific/linux/zfs/3.13-compat.patch new file mode 100644 index 000000000000..f89d38f72acc --- /dev/null +++ b/pkgs/os-specific/linux/zfs/3.13-compat.patch @@ -0,0 +1,43 @@ +From 729210564a5325e190fc4fba22bf17bacf957ace Mon Sep 17 00:00:00 2001 +From: Richard Yao +Date: Mon, 25 Nov 2013 12:21:21 -0500 +Subject: [PATCH] Properly ignore bdi_setup_and_register return value + +This broke compilation against Linux 3.13 and GCC 4.7.3. + +Signed-off-by: Richard Yao +Signed-off-by: Brian Behlendorf +Closes #1906 +--- + config/kernel-bdi-setup-and-register.m4 | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/config/kernel-bdi-setup-and-register.m4 b/config/kernel-bdi-setup-and-register.m4 +index 4196091..cb8ed67 100644 +--- a/config/kernel-bdi-setup-and-register.m4 ++++ b/config/kernel-bdi-setup-and-register.m4 +@@ -1,12 +1,14 @@ + dnl # + dnl # 2.6.34 API change +-dnl # The bdi_setup_and_register() helper function is avilable and ++dnl # The bdi_setup_and_register() helper function is available and + dnl # exported by the kernel. This is a trivial helper function but + dnl # using it significantly simplifies the code surrounding setting + dnl # up and tearing down the bdi structure. + dnl # + AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], + [AC_MSG_CHECKING([whether bdi_setup_and_register() is available]) ++ tmp_flags="$EXTRA_KCFLAGS" ++ EXTRA_KCFLAGS="-Wno-unused-result" + ZFS_LINUX_TRY_COMPILE_SYMBOL([ + #include + ], [ +@@ -18,4 +20,5 @@ AC_DEFUN([ZFS_AC_KERNEL_BDI_SETUP_AND_REGISTER], + ], [ + AC_MSG_RESULT(no) + ]) ++ EXTRA_KCFLAGS="$tmp_flags" + ]) +-- +1.8.5.5 + diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 67ed1312826a..f8f3c9ed3165 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "18b5f18k8mwb17r5ippsilmp1a2sqjw9fwn0z82159dkhsadg33b"; }; - patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; + patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ./libblkid-1db7b9b.patch ./gcc-4.8.patch ./3.13-compat.patch ]; buildInputs = [ spl perl autoconf automake libtool zlib libuuid coreutils ]; @@ -45,6 +45,6 @@ stdenv.mkDerivation { homepage = http://zfsonlinux.org/; license = stdenv.lib.licenses.cddl; platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ jcumming ]; + maintainers = with stdenv.lib.maintainers; [ jcumming wizeman ]; }; } diff --git a/pkgs/os-specific/linux/zfs/gcc-4.8.patch b/pkgs/os-specific/linux/zfs/gcc-4.8.patch new file mode 100644 index 000000000000..341360163761 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/gcc-4.8.patch @@ -0,0 +1,114 @@ +commit 0f62f3f9abc4bfa0bcafee9bfa3d55e91dcb371d +Author: Brian Behlendorf +Date: Tue Jan 14 09:39:13 2014 -0800 + + Disable GCCs aggressive loop optimization + + GCC >+ 4.8's aggressive loop optimization breaks some of the iterators + over the dn_blkptr[] pseudo-array in dnode_phys. Since dn_blkptr[] is + defined as a single-element array, GCC believes an iterator can only + access index 0 and will unroll the loop into a single iteration. + + One way to resolve the issue would be to cast the array to a pointer + and fix all the iterators that might break. The only loop where it + is known to cause a problem is this loop in dmu_objset_write_ready(): + + for (i = 0; i < dnp->dn_nblkptr; i++) + bp->blk_fill += dnp->dn_blkptr[i].blk_fill; + + In the common case where dn_nblkptr is 3, the loop is only executed a + single time and "i" is equal to 1 following the loop. + + The specific breakage caused by this problem is that the blk_fill of + root block pointers wouldn't be set properly when more than one blkptr + is in use (when no indrect blocks are needed). + + The simple reproducing sequence is: + + zpool create tank /tank.img + zdb -ddddd tank 0 + + Notice that "fill=31", however, there are two L0 indirect blocks with + "F=31" and "F=5". The fill count should be 36 rather than 31. This + problem causes an assert to be hit in a simple "zdb tank" when built + with --enable-debug. + + However, this approach was not taken because we need to be absolutely + sure we catch all instances of this unwanted optimization. Therefore, + the build system has been updated to detect if GCC supports the + aggressive loop optimization. If it does the optimization will be + explicitly disabled using the -fno-aggressive-loop-optimization option. + + Original-fix-by: Tim Chase + Signed-off-by: Tim Chase + Signed-off-by: Brian Behlendorf + Closes #2010 + Closes #2051 + +diff --git a/config/Rules.am b/config/Rules.am +index e3fa5b5..24f9426 100644 +--- a/config/Rules.am ++++ b/config/Rules.am +@@ -1,8 +1,10 @@ + DEFAULT_INCLUDES = -include ${top_builddir}/zfs_config.h + + AM_LIBTOOLFLAGS = --silent +-AM_CFLAGS = -Wall -Wstrict-prototypes +-AM_CFLAGS += -fno-strict-aliasing ${NO_UNUSED_BUT_SET_VARIABLE} ${DEBUG_CFLAGS} ++AM_CFLAGS = ${DEBUG_CFLAGS} -Wall -Wstrict-prototypes ++AM_CFLAGS += ${NO_UNUSED_BUT_SET_VARIABLE} ++AM_CFLAGS += ${NO_AGGRESSIVE_LOOP_OPTIMIZATIONS} ++AM_CFLAGS += -fno-strict-aliasing + AM_CPPFLAGS = -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT + AM_CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 + AM_CPPFLAGS += -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" +diff --git a/config/always-no-aggressive-loop-optimizations.m4 b/config/always-no-aggressive-loop-optimizations.m4 +new file mode 100644 +index 0000000..8f2115a +--- /dev/null ++++ b/config/always-no-aggressive-loop-optimizations.m4 +@@ -0,0 +1,20 @@ ++dnl # ++dnl # Check if gcc supports -fno-aggressive-loop-optimizations ++dnl # ++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_NO_AGGRESSIVE_LOOP_OPTIMIZATIONS], [ ++ AC_MSG_CHECKING([for -fno-aggressive-loop-optimizations support]) ++ ++ saved_flags="$CFLAGS" ++ CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ++ ++ AC_RUN_IFELSE([AC_LANG_PROGRAM([], [])], [ ++ NO_AGGRESSIVE_LOOP_OPTIMIZATIONS=-fno-aggressive-loop-optimizations ++ AC_MSG_RESULT([yes]) ++ ], [ ++ NO_AGGRESSIVE_LOOP_OPTIMIZATIONS= ++ AC_MSG_RESULT([no]) ++ ]) ++ ++ CFLAGS="$saved_flags" ++ AC_SUBST([NO_AGGRESSIVE_LOOP_OPTIMIZATIONS]) ++]) +diff --git a/config/kernel.m4 b/config/kernel.m4 +index cbf0ca3..62a9b42 100644 +--- a/config/kernel.m4 ++++ b/config/kernel.m4 +@@ -104,6 +104,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ + dnl # -Wall -fno-strict-aliasing -Wstrict-prototypes and other + dnl # compiler options are added by the kernel build system. + KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_UNUSED_BUT_SET_VARIABLE" ++ KERNELCPPFLAGS="$KERNELCPPFLAGS $NO_AGGRESSIVE_LOOP_OPTIMIZATIONS" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL" + KERNELCPPFLAGS="$KERNELCPPFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\"" + +diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 +index 005185b..477b916 100644 +--- a/config/zfs-build.m4 ++++ b/config/zfs-build.m4 +@@ -62,6 +62,7 @@ AC_DEFUN([ZFS_AC_DEBUG_DMU_TX], [ + + AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [ + ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE ++ ZFS_AC_CONFIG_ALWAYS_NO_AGGRESSIVE_LOOP_OPTIMIZATIONS + ]) + + AC_DEFUN([ZFS_AC_CONFIG], [ diff --git a/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch b/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch new file mode 100644 index 000000000000..894bf395ce85 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/libblkid-1db7b9b.patch @@ -0,0 +1,118 @@ +commit 1db7b9be75a225cedb3b7a60028ca5695e5b8346 +Author: Richard Yao +Date: Wed Aug 28 16:17:47 2013 -0400 + + Fix libblkid support + + libblkid support is dormant because the autotools check is broken and + liblkid identifies ZFS vdevs as "zfs_member", not "zfs". We fix that + with a few changes: + + First, we fix the libblkid autotools check to do a few things: + + 1. Make a 64MB file, which is the minimum size ZFS permits. + 2. Make 4 fake uberblock entries to make libblkid's check succeed. + 3. Return 0 upon success to make autotools use the success case. + 4. Include stdlib.h to avoid implicit declration of free(). + 5. Check for "zfs_member", not "zfs" + 6. Make --with-blkid disable autotools check (avoids Gentoo sandbox violation) + 7. Pass '-lblkid' correctly using LIBS not LDFLAGS. + + Second, we change the libblkid support to scan for "zfs_member", not + "zfs". + + This makes --with-blkid work on Gentoo. + + Signed-off-by: Richard Yao + Signed-off-by: Brian Behlendorf + Issue #1751 + +diff --git a/config/user-libblkid.m4 b/config/user-libblkid.m4 +index 276587f..2dd2623 100644 +--- a/config/user-libblkid.m4 ++++ b/config/user-libblkid.m4 +@@ -22,26 +22,45 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + [with_blkid=check]) + + LIBBLKID= +- AS_IF([test "x$with_blkid" != xno], ++ AS_IF([test "x$with_blkid" = xyes], ++ [ ++ AC_SUBST([LIBBLKID], ["-lblkid"]) ++ AC_DEFINE([HAVE_LIBBLKID], 1, ++ [Define if you have libblkid]) ++ ]) ++ ++ AS_IF([test "x$with_blkid" = xcheck], + [ + AC_CHECK_LIB([blkid], [blkid_get_cache], + [ + AC_MSG_CHECKING([for blkid zfs support]) + + ZFS_DEV=`mktemp` +- dd if=/dev/zero of=$ZFS_DEV bs=1024k count=8 \ ++ truncate -s 64M $ZFS_DEV ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=128 conv=notrunc &>/dev/null \ + >/dev/null 2>/dev/null + echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ + dd of=$ZFS_DEV bs=1k count=8 \ + seek=132 conv=notrunc &>/dev/null \ + >/dev/null 2>/dev/null ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=136 conv=notrunc &>/dev/null \ ++ >/dev/null 2>/dev/null ++ echo -en "\x0c\xb1\xba\0\0\0\0\0" | \ ++ dd of=$ZFS_DEV bs=1k count=8 \ ++ seek=140 conv=notrunc &>/dev/null \ ++ >/dev/null 2>/dev/null + +- saved_LDFLAGS="$LDFLAGS" +- LDFLAGS="-lblkid" ++ saved_LIBS="$LIBS" ++ LIBS="-lblkid" + + AC_RUN_IFELSE([AC_LANG_PROGRAM( + [ + #include ++ #include + #include + ], + [ +@@ -58,10 +77,10 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + return 2; + } + +- if (strcmp(value, "zfs")) { ++ if (strcmp(value, "zfs_member")) { + free(value); + blkid_put_cache(cache); +- return 3; ++ return 0; + } + + free(value); +@@ -82,7 +101,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER_LIBBLKID], [ + [--with-blkid given but unavailable])]) + ]) + +- LDFLAGS="$saved_LDFLAGS" ++ LIBS="$saved_LIBS" + ], + [ + AS_IF([test "x$with_blkid" != xcheck], +diff --git a/lib/libzfs/libzfs_import.c b/lib/libzfs/libzfs_import.c +index 53609f2..d1fa98e 100644 +--- a/lib/libzfs/libzfs_import.c ++++ b/lib/libzfs/libzfs_import.c +@@ -965,7 +965,7 @@ zpool_find_import_blkid(libzfs_handle_t *hdl, pool_list_t *pools) + goto err_blkid2; + } + +- err = blkid_dev_set_search(iter, "TYPE", "zfs"); ++ err = blkid_dev_set_search(iter, "TYPE", "zfs_member"); + if (err != 0) { + (void) zfs_error_fmt(hdl, EZFS_BADCACHE, + dgettext(TEXT_DOMAIN, "blkid_dev_set_search() %d"), err); diff --git a/pkgs/os-specific/windows/cygwin-setup/default.nix b/pkgs/os-specific/windows/cygwin-setup/default.nix new file mode 100644 index 000000000000..d0995ffc662a --- /dev/null +++ b/pkgs/os-specific/windows/cygwin-setup/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchcvs, autoconf, automake, libtool, flex, bison, pkgconfig +, zlib, bzip2, lzma, libgcrypt_1_6 +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "cygwin-setup-${version}"; + version = "20131101"; + + src = fetchcvs { + cvsRoot = ":pserver:anoncvs@cygwin.com:/cvs/cygwin-apps"; + module = "setup"; + date = version; + sha256 = "024wxaaxkf7p1i78bh5xrsqmfz7ss2amigbfl2r5w9h87zqn9aq3"; + }; + + nativeBuildInputs = [ autoconf automake libtool flex bison pkgconfig ]; + + buildInputs = let + mkStatic = flip overrideDerivation (o: { + dontDisableStatic = true; + configureFlags = toList (o.configureFlags or []) ++ [ "--enable-static" ]; + buildInputs = map mkStatic (o.buildInputs or []); + propagatedBuildInputs = map mkStatic (o.propagatedBuildInputs or []); + }); + in map mkStatic [ zlib bzip2 lzma libgcrypt_1_6 ]; + + configureFlags = "--disable-shared"; + + dontDisableStatic = true; + + preConfigure = '' + autoreconf -vfi + ''; + + installPhase = '' + install -vD setup.exe "$out/bin/setup.exe" + ''; + + meta = { + homepage = https://sourceware.org/cygwin-apps/setup.html; + description = "A tool for installing Cygwin"; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix index 9fc3520002c9..69c0a3dff41c 100644 --- a/pkgs/servers/amqp/qpid-cpp/default.nix +++ b/pkgs/servers/amqp/qpid-cpp/default.nix @@ -1,22 +1,17 @@ -{ stdenv, fetchurl, cmake, python, boost, libuuid }: +{ stdenv, fetchurl, cmake, python, boost, libuuid, ruby }: stdenv.mkDerivation rec { name = "${project}-cpp-${version}"; project = "qpid"; - version = "0.24"; + version = "0.26"; src = fetchurl { url = "mirror://apache/${project}/${version}/${name}.tar.gz"; - sha256 = "08nfks5jjipy5i4b6mz62ijrz5ryq32c478ix7l3fzmaim3cy8b8"; + sha256 = "1c03yi19d5h5h78h37add9csmy0mzvvmvn7zkcalwszabdhsb5yk"; }; - buildInputs = [ cmake python boost libuuid ]; - - # workaround this - #/nix/store/n38ns73bm4iv62fihd9ih5b39w54yyaf-boost-1.54.0/include/boost/ptr_container/detail/map_iterator.hpp:52:48: - #error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers] - cmakeFlags = "-DENABLE_WARNINGS=OFF"; + buildInputs = [ cmake python boost libuuid ruby ]; # the subdir managementgen wants to install python stuff in ${python} and # the installation tries to create some folders in /var diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 59788be15d11..45a6c2189db6 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "rabbitmq-server-${version}"; - version = "3.0.3"; + version = "3.2.4"; src = fetchurl { url = "http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.gz"; - sha256 = "07mp57xvszdrlgw8rgn9r9dpa6vdqdjk7f1dyh6a9sdg8s9fby38"; + sha256 = "17rvqhzcb7rscp228vmgixk0rsqi42m820jzxj9g5wid6qmzjc59"; }; buildInputs = @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { patchShebangs . ''; - installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man"; + installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man DOC_INSTALL_DIR=$(out)/share/doc"; preInstall = '' diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix index 4ccb1b069c93..ad8685d3d422 100644 --- a/pkgs/servers/apcupsd/default.nix +++ b/pkgs/servers/apcupsd/default.nix @@ -2,13 +2,15 @@ , enableCgiScripts ? true, gd }: +assert enableCgiScripts -> gd != null; + stdenv.mkDerivation rec { pname = "apcupsd"; - name = "${pname}-3.14.10"; + name = "${pname}-3.14.12"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0ci0xyg1hzj8lnmm3vxfsvgpb3wdgh1ii3gb8jgdxyqnk7nba1q7"; + sha256 = "0h54ahj65nqrgmdcg81h1gp0zlxg9hwwhg8pmx6z9zcwn4y70kqv"; }; buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd; diff --git a/pkgs/servers/dict/buildfix.diff b/pkgs/servers/dict/buildfix.diff new file mode 100644 index 000000000000..e30fcb2b0380 --- /dev/null +++ b/pkgs/servers/dict/buildfix.diff @@ -0,0 +1,11 @@ +--- Makefile.in~ 2011-03-06 18:52:54.000000000 +0100 ++++ Makefile.in 2014-01-29 19:04:51.384844897 +0100 +@@ -123,7 +123,7 @@ + + %: %.o + $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ -static \ +- $^ $(OBJS) $(LDFLAGS) -lz ${LIBS} ++ $(^:.o=.lo) $(OBJS) $(LDFLAGS) -lz ${LIBS} + + include $(srcdir)/deps + diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix index 0b78bb9ae948..1fb7c24418f0 100644 --- a/pkgs/servers/dict/default.nix +++ b/pkgs/servers/dict/default.nix @@ -1,18 +1,22 @@ -{ stdenv, fetchurl, which, bison, flex }: +{ stdenv, fetchurl, which, bison, flex, libmaa, zlib, libtool }: -stdenv.mkDerivation { - name = "dictd-1.9.15"; +stdenv.mkDerivation rec { + version = "1.12.1"; + name = "dictd-${version}"; src = fetchurl { - url = mirror://sourceforge/dict/dictd-1.9.15.tar.gz; - sha256 = "0p41yf72l0igmshz6vxy3hm51z25600vrnb9j2jpgws4c03fqnac"; + url = "mirror://sourceforge/dict/dictd-${version}.tar.gz"; + sha256 = "0min6v60b6z5mrymyjfwzx8nv6rdm8pd8phlwl6v2jl5vkngcdx2"; }; - buildInputs = [ flex bison which ]; - + buildInputs = [ flex bison which libmaa zlib libtool ]; + + patchPhase = "patch -p0 < ${./buildfix.diff}"; configureFlags = "--datadir=/var/run/current-system/share/dictd"; - meta = { + meta = with stdenv.lib; { description = "Dict protocol server and client"; + maintainers = maintainers.mornfall; + platforms = platforms.linux; }; } diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix index 48aaf187605e..9e9c05d2f915 100644 --- a/pkgs/servers/dict/dictd-wiktionary.nix +++ b/pkgs/servers/dict/dictd-wiktionary.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, python, dict, glibcLocales, writeScript}: stdenv.mkDerivation rec { - version = "20121021"; + version = "20140118"; name = "dict-db-wiktionary-${version}"; data = fetchurl { url = "http://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2"; - sha256 = "1i4xwdpc2bx58495iy62iz0kn50c3qmnh4qribi82f2rd4qkfjd2"; + sha256 = "892c9fc16b248a31e2d3e42590267161c1b899b31fe923eb1ede1deb6d24cfa8"; }; convert = ./wiktionary2dict.py; diff --git a/pkgs/servers/dict/libmaa.nix b/pkgs/servers/dict/libmaa.nix new file mode 100644 index 000000000000..c63306e1ff4f --- /dev/null +++ b/pkgs/servers/dict/libmaa.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, libtool }: + +stdenv.mkDerivation rec { + version = "1.3.2"; + name = "libmaa-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/dict/libmaa-${version}.tar.gz"; + sha256 = "1idi4c30pi79g5qfl7rr9s17krbjbg93bi8f2qrbsdlh78ga19ar"; + }; + + buildInputs = [ libtool ]; + # configureFlags = "--datadir=/var/run/current-system/share/dictd"; + + meta = with stdenv.lib; { + description = "Dict protocol server and client"; + maintainers = maintainers.mornfall; + platforms = platforms.linux; + }; +} diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index b609c6686a25..db8db908d1ec 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, openssl, libtool, perl, libxml2 }: -let version = "9.9.4-P2"; in +let version = "9.9.5-W1"; in stdenv.mkDerivation rec { @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz"; - sha256 = "128aqizcjbakrqrijjpy54qffqz1jafa94lhnqig7lr63r1wdwsh"; + sha256 = "1b3ycb376b1j2fc0k6w16k8j9vgsfrzy3nlw1vxzzi41fgyqmcd3"; }; patchPhase = '' diff --git a/pkgs/servers/evolution-data-server/default.nix b/pkgs/servers/evolution-data-server/default.nix deleted file mode 100644 index 3a905a82db8b..000000000000 --- a/pkgs/servers/evolution-data-server/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -x@{builderDefsPackage - , pkgconfig, flex, bison, libtool, intltool, perl - , db4, krb5, openldap, glib, libxml2, GConf - , nss, gtk, libgnome, libsoup, gnome_keyring - , gtkdoc, sqlite, libgweather, libical, icu - , dbus_glib, gperf, nspr, gmp, nettle, libgdata_0_6 - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - url = "mirror://gnome/sources/evolution-data-server/2.32/evolution-data-server-2.32.3.tar.bz2"; - hash = "744026a745b711b3e393b61fed21c4926d1b10a3aa7da64f4b33a3e3bf5b085c"; - version = "2.32.3"; - name = "evolution-data-server-${version}"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - - configureFlags = [ - "--with-nspr-includes=${nspr}/include/nspr" - "--with-nss-includes=${nss}/include/nss" - ]; - - meta = { - description = "Evolution Data Server"; - maintainers = with a.lib.maintainers; - [ - /* I am only interested in it for libebook... */ - raskin - ]; - platforms = with a.lib.platforms; - linux; - broken = true; - }; - passthru = { - updateInfo = { - downloadPage = "http://projects.gnome.org/evolution/download.shtml"; - }; - }; -}) x - diff --git a/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch new file mode 100644 index 000000000000..3a38340f43a3 --- /dev/null +++ b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch @@ -0,0 +1,25 @@ +From d7e56abcae8bcb85dc935e94418a2f0e9956941b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= +Date: Mon, 17 Feb 2014 20:52:50 +0000 +Subject: [PATCH 1/2] Import LD_LIBRARY_PATH to allow running 'scons check' + without 'chrpath' + +--- + SConstruct | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SConstruct b/SConstruct +index 14e2f59..86b94bc 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -215,6 +215,7 @@ import_env = ( + 'PKG_CONFIG_LIBDIR', # Pass more environment variables to pkg-config (required for crossbuilds) + 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. + 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. ++ 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' + ) + envs = {} + for var in import_env: +-- +1.9.0 + diff --git a/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch new file mode 100644 index 000000000000..f12d7a52ba0c --- /dev/null +++ b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch @@ -0,0 +1,28 @@ +From aed93b6ada5b9b76b85d11d9bad732ca005295af Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= +Date: Sat, 15 Mar 2014 15:08:01 +0100 +Subject: [PATCH 2/2] Import XML_CATALOG_FILES to be able to validate the + manual + +In nixos/nixpkgs, 'xmlto' depends on $XML_CATALOG_FILES to be able to +validate XML documents. Because without it, it'll try to go online to +download DTD's and builders don't have network access... +--- + SConstruct | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SConstruct b/SConstruct +index 86b94bc..a0b3d25 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -216,6 +216,7 @@ import_env = ( + 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. + 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. + 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' ++ 'XML_CATALOG_FILES', # Enables validating the manual with 'xmlto' using nix build system + ) + envs = {} + for var in import_env: +-- +1.9.0 + diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index 25051167ca51..62fbd3337f7a 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -1,54 +1,87 @@ -{ fetchurl, stdenv, pythonPackages, pkgconfig, dbus, dbus_glib +{ fetchurl, stdenv, scons, pythonFull, pkgconfig, dbus, dbus_glib , ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper , libusb1, docbook_xml_dtd_412, docbook_xsl, bc -, libxslt, xmlto, gpsdUser ? "gpsd" }: +, libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout" +}: + +# TODO: the 'xgps' program doesn't work: "ImportError: No module named gobject" +# TODO: put the X11 deps behind a guiSupport parameter for headless support stdenv.mkDerivation rec { - name = "gpsd-2.95"; + name = "gpsd-3.10"; src = fetchurl { - url = "http://download.berlios.de/gpsd/${name}.tar.gz"; - sha256 = "1bjhyjg561kwp6zc2wg58njdvpnsj5yaa2slz8g3ga1176jl68w3"; + url = "http://download-mirror.savannah.gnu.org/releases/gpsd/${name}.tar.gz"; + sha256 = "0823hl5zgwnbgm0fq3i4z34lv76cpj0k6m0zjiygiyrxrz0w4vvh"; }; - nativeBuildInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl - xmlto bc pythonPackages.wrapPython ]; + nativeBuildInputs = [ + scons makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc + pythonFull + ]; - pythonPath = [ pythonPackages.curses ]; + buildInputs = [ + pythonFull dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext + libxslt libusb1 + ]; - buildInputs = [ pythonPackages.python dbus dbus_glib ncurses libX11 libXt - libXpm libXaw libXext libxslt libusb1 ]; + patches = [ + ./0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch + ./0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch + ]; - configureFlags = "--enable-static --enable-dbus --enable-gpsd-user=${gpsdUser}"; + # - leapfetch=no disables going online at build time to fetch leap-seconds + # info. See /build.txt for more info. + # - chrpath=no stops the build from using 'chrpath' (which we don't have). + # 'chrpath' is used to be able to run the tests from the source tree, but + # we use $LD_LIBRARY_PATH instead. + buildPhase = '' + patchShebangs . + mkdir -p "$out" + sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.python.libPrefix}/site-packages\"|" -i SConstruct + scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \ + systemd=yes udevdir="$out/lib/udev" chrpath=no + ''; - doCheck = true; + doCheck = false; + + checkPhase = '' + export LD_LIBRARY_PATH="$PWD" + scons check + ''; + + # TODO: the udev rules file and the hotplug script need fixes to work on NixOS + installPhase = '' + scons install + mkdir -p "$out/lib/udev/rules.d" + scons udev-install + ''; postInstall = "wrapPythonPrograms"; - meta = { - description = "`gpsd', a GPS service daemon"; - + meta = with stdenv.lib; { + description = "GPS service daemon"; longDescription = '' - gpsd is a service daemon that monitors one or more GPSes - attached to a host computer through serial or USB ports, making - all data on the location/course/velocity of the sensors - available to be queried on TCP port 2947 of the host computer. - With gpsd, multiple GPS client applications (such as - navigational and wardriving software) can share access to GPSes - without contention or loss of data. Also, gpsd responds to - queries with a format that is substantially easier to parse than - the NMEA 0183 emitted by most GPSes. The gpsd distribution - includes a linkable C service library, a C++ wrapper class, and - a Python module that developers of gpsd-aware applications can - use to encapsulate all communication with gpsd. + gpsd is a service daemon that monitors one or more GPSes or AIS + receivers attached to a host computer through serial or USB ports, + making all data on the location/course/velocity of the sensors + available to be queried on TCP port 2947 of the host computer. With + gpsd, multiple location-aware client applications (such as navigational + and wardriving software) can share access to receivers without + contention or loss of data. Also, gpsd responds to queries with a + format that is substantially easier to parse than the NMEA 0183 emitted + by most GPSes. The gpsd distribution includes a linkable C service + library, a C++ wrapper class, and a Python module that developers of + gpsd-aware applications can use to encapsulate all communication with + gpsd. Third-party client bindings for Java and Perl also exist. Besides gpsd itself, the project provides auxiliary tools for - diagnostic monitoring and profiling of GPSes and feeding - GPS-aware applications GPS logs for diagnostic purposes. + diagnostic monitoring and profiling of receivers and feeding + location-aware applications GPS/AIS logs for diagnostic purposes. ''; - - homepage = http://gpsd.berlios.de/; - + homepage = http://catb.org/gpsd/; license = "BSD-style"; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index f6b31177157c..64dd15be3df7 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { meta = { description = "Apache HTTPD, the world's most popular web server"; + branch = "2.2"; homepage = http://httpd.apache.org/; license = stdenv.lib.licenses.asl20; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index 2bbe9798de46..7deab6584f83 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null; assert ldapSupport -> aprutil.ldapSupport && openldap != null; stdenv.mkDerivation rec { - version = "2.4.7"; + version = "2.4.9"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha256 = "06z7ij0avr8f3rvp6ifk3dn8j73i17cn4avz4fp1as43061qsdk4"; + sha256 = "00vnhki0rdwlhl4cjgvkq5vpf8szx2sdd3yi7bcg7jj7z86wk37p"; }; buildInputs = [perl] ++ diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix new file mode 100644 index 000000000000..06f12820a10d --- /dev/null +++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pkgconfig, apacheHttpd_2_2, apr, avahi }: + +stdenv.mkDerivation rec { + name = "mod_dnssd-0.6"; + + src = fetchurl { + url = "http://0pointer.de/lennart/projects/mod_dnssd/${name}.tar.gz"; + sha256 = "2cd171d76eba398f03c1d5bcc468a1756f4801cd8ed5bd065086e4374997c5aa"; + }; + + configureFlags = [ "--disable-lynx" ]; + + buildInputs = [ pkgconfig apacheHttpd_2_2 avahi apr ]; + + installPhase = '' + mkdir -p $out/modules + cp src/.libs/mod_dnssd.so $out/modules + ''; + + meta = with stdenv.lib; { + homepage = http://0pointer.de/lennart/projects/mod_dnssd; + description = "Provide Zeroconf support via DNS-SD using Avahi"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ lethalman ]; + }; +} + diff --git a/pkgs/servers/http/couchdb/default.nix b/pkgs/servers/http/couchdb/default.nix index 08bc45443a34..808a86946b04 100644 --- a/pkgs/servers/http/couchdb/default.nix +++ b/pkgs/servers/http/couchdb/default.nix @@ -1,21 +1,39 @@ -args @ {stdenv, fetchurl, erlang, spidermonkey, - icu, getopt, curl, ...}: - -let s = import ./src-for-default.nix; in +{ stdenv, fetchurl, erlang, icu, openssl, spidermonkey, curl, help2man, python +, sphinx, which, file, pkgconfig, getopt }: stdenv.mkDerivation rec { - inherit (s) name; + name = "couchdb-${version}"; + version = "1.5.0"; + src = fetchurl { - inherit (s) url; - sha256 = s.hash; + url = "mirror://apache/couchdb/source/${version}/apache-couchdb-${version}.tar.gz"; + sha256 = "1vwgcckp3svgifmagyjmgazm6387i9m6z182p6ja891i8fkb5gdb"; }; - buildInputs = [erlang spidermonkey icu curl]; + buildInputs = [ + erlang icu openssl spidermonkey curl help2man sphinx which file pkgconfig + ]; postInstall = '' sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb ''; - configureFlags = "--with-erlang=${erlang}/lib/erlang/usr/include --with-js-include=${spidermonkey}/include --with-js-lib=${spidermonkey}/lib"; + /* + Versions of SpiderMonkey after the js185-1.0.0 release remove the optional + enforcement of preventing anonymous functions in a statement context. This + will most likely break your existing JavaScript code as well as render all + example code invalid. + If you wish to ignore this error pass --enable-js-trunk to ./configure. + */ + configureFlags = '' + --enable-js-trunk + ''; + + meta = { + description = "Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API"; + homepage = "http://couchdb.apache.org"; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ viric garbas ]; + }; } diff --git a/pkgs/servers/http/couchdb/src-for-default.nix b/pkgs/servers/http/couchdb/src-for-default.nix deleted file mode 100644 index 6e07077d3332..000000000000 --- a/pkgs/servers/http/couchdb/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="1.2.0"; - name="couchdb-1.2.0"; - hash="0dswinmg32zn217049dkbx3pab3qwihzmlbc7i6vq7a7lbg4s98g"; - url="mirror://apache/couchdb/releases/1.2.0/apache-couchdb-${version}.tar.gz"; - advertisedUrl="http://www.apache.org/dist/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz"; - - -} diff --git a/pkgs/servers/http/couchdb/src-info-for-default.nix b/pkgs/servers/http/couchdb/src-info-for-default.nix deleted file mode 100644 index 5904bdcb232f..000000000000 --- a/pkgs/servers/http/couchdb/src-info-for-default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - downloadPage = "http://couchdb.apache.org/downloads.html"; - baseName = "couchdb"; - choiceCommand = ''head -1 | sed -re "$skipRedirectApache" ''; - mirrorSedScript = ''$apacheMirror''; -} - diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix index 4a50acd3379f..899914b6446d 100644 --- a/pkgs/servers/http/lighttpd/default.nix +++ b/pkgs/servers/http/lighttpd/default.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, attr, bzip2, which, file , openssl, enableMagnet ? false, lua5 ? null +, enableMysql ? false, mysql ? null }: assert enableMagnet -> lua5 != null; +assert enableMysql -> mysql != null; stdenv.mkDerivation rec { - name = "lighttpd-1.4.34"; + name = "lighttpd-1.4.35"; src = fetchurl { url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz"; - sha256 = "1dzgz3gkfyn97s4dm896yjanlhqzzsz38dhjdgla06xgynca1hdl"; + sha256 = "18rh7xyx69xbwl20znnjma1dq5fay0ygjjvpn3gaa7dxrir9nghi"; }; buildInputs = [ pkgconfig pcre libxml2 zlib attr bzip2 which file openssl ] - ++ stdenv.lib.optional enableMagnet lua5; + ++ stdenv.lib.optional enableMagnet lua5 + ++ stdenv.lib.optional enableMysql mysql; configureFlags = [ "--with-openssl" ] - ++ stdenv.lib.optional enableMagnet "--with-lua"; + ++ stdenv.lib.optional enableMagnet "--with-lua" + ++ stdenv.lib.optional enableMysql "--with-mysql"; preConfigure = '' sed -i "s:/usr/bin/file:${file}/bin/file:g" configure diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index b16911cfb5d9..757d4cb9566d 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -5,10 +5,10 @@ , moreheaders ? false}: let - version = "1.4.4"; + version = "1.4.7"; mainSrc = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "1f82845mpgmhvm151fhn2cnqjggw9w7cvsqbva9rb320wmc9m63w"; + sha256 = "09mnw4f1yk64f21xq4k65x4r76pmrszyzc4iixkr0w41fr5gzf13"; }; rtmp-ext = fetchgit { @@ -71,7 +71,8 @@ stdenv.mkDerivation rec { meta = { description = "A reverse proxy and lightweight webserver"; - maintainers = [ stdenv.lib.maintainers.raskin]; + homepage = http://nginx.org; + maintainers = [ stdenv.lib.maintainers.raskin ]; platforms = stdenv.lib.platforms.all; inherit version; }; diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix index d8304ba4dbee..ee0049ce08f6 100644 --- a/pkgs/servers/http/tomcat/6.0.nix +++ b/pkgs/servers/http/tomcat/6.0.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: -let version = "6.0.37"; in +let version = "6.0.39"; in stdenv.mkDerivation rec { name = "apache-tomcat-${version}"; src = fetchurl { url = "mirror://apache/tomcat/tomcat-6/v${version}/bin/${name}.tar.gz"; - sha256 = "000v63amhbyp8nkw3a4pff1vm4nxri5n9j7rknhnqaxzab3sp49y"; + sha256 = "19qix6affhc252n03smjf482drg3nxd27shni1gvhphgj3zfmgfy"; }; installPhase = diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix index 0208420d1328..f263c8c2e7e9 100644 --- a/pkgs/servers/http/tomcat/axis2/default.nix +++ b/pkgs/servers/http/tomcat/axis2/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, apacheAnt, jdk, unzip}: stdenv.mkDerivation { - name = "axis2-1.6.1"; + name = "axis2-1.6.2"; src = fetchurl { - url = http://apache.mirror.versatel.nl//axis/axis2/java/core/1.6.1/axis2-1.6.1-bin.zip; - sha256 = "1a0p85qh9924dv3y7zivf62hy1jzdaxnndqh93g6lndmacfhkk64"; + url = http://apache.proserve.nl//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; + sha256 = "02i6fv11ksd5ql81i501bcb11ib5gyhq3zxwrz5jm4ic80r097fp"; }; buildInputs = [ unzip apacheAnt jdk ]; diff --git a/pkgs/servers/http/winstone/default.nix b/pkgs/servers/http/winstone/default.nix new file mode 100644 index 000000000000..8991a220a76d --- /dev/null +++ b/pkgs/servers/http/winstone/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "winstone-${version}"; + version = "0.9.10"; + + src = fetchurl { + url = "mirror://sourceforge/winstone/${name}.jar"; + sha256 = "17xvq3yk95335c6ag1bmbmxlvh7gqq35ifi64r2l6rnvrf6pqyan"; + }; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib + cp $src $out/lib/winstone.jar + ''; + + meta = { + homepage = "http://winstone.sourceforge.net/"; + description = "A simple Java Servlet container."; + license = stdenv.lib.licenses.cddl; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; +} diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix new file mode 100644 index 000000000000..738881e2aafe --- /dev/null +++ b/pkgs/servers/irc/ngircd/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, zlib, openssl, pam, libiconvOrNull }: + +stdenv.mkDerivation rec { + name = "ngircd-21"; + + src = fetchurl { + url = "http://ngircd.barton.de/pub/ngircd/${name}.tar.xz"; + sha256 = "19llx54zy6hc8k7kcs1f234qc20mqpnlnb30c663c42jxq5x6xii"; + }; + + configureFlags = [ + "--with-syslog" + "--with-zlib" + "--with-pam" + "--with-openssl" + "--enable-ipv6" + "--with-iconv" + ]; + + buildInputs = [ zlib pam openssl libiconvOrNull ]; + + meta = { + description = "Next Generation IRC Daemon"; + homepage = http://ngircd.barton.de; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch index cce63fe250c6..3ba11d41b1bd 100644 --- a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch +++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch @@ -1,6 +1,6 @@ -diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c ---- dovecot-2.2.2-orig/src/auth/main.c 2013-03-13 15:26:46.000000000 +0100 -+++ dovecot-2.2.2/src/auth/main.c 2013-05-20 20:23:58.126024535 +0200 +diff -ur dovecot-2.2.12-orig/src/auth/main.c dovecot-2.2.12/src/auth/main.c +--- dovecot-2.2.12-orig/src/auth/main.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/auth/main.c 2014-03-14 09:28:17.642334838 +0100 @@ -193,7 +193,7 @@ mod_set.debug = global_auth_settings->debug; mod_set.filter_callback = auth_module_filter; @@ -19,10 +19,10 @@ diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c &mod_set); module_dir_init(modules); } -diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/all-settings.c ---- dovecot-2.2.2-orig/src/config/all-settings.c 2013-05-15 12:20:55.000000000 +0200 -+++ dovecot-2.2.2/src/config/all-settings.c 2013-05-21 00:31:46.624073562 +0200 -@@ -766,7 +766,7 @@ +diff -ur dovecot-2.2.12-orig/src/config/all-settings.c dovecot-2.2.12/src/config/all-settings.c +--- dovecot-2.2.12-orig/src/config/all-settings.c 2014-02-11 23:31:37.000000000 +0100 ++++ dovecot-2.2.12/src/config/all-settings.c 2014-03-14 09:32:08.907608311 +0100 +@@ -773,7 +773,7 @@ .last_valid_gid = 0, .mail_plugins = "", @@ -31,18 +31,19 @@ diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/a .mail_log_prefix = "%s(%u): ", -@@ -3274,7 +3274,7 @@ +@@ -3304,7 +3304,7 @@ .base_dir = PKG_RUNDIR, .libexec_dir = PKG_LIBEXECDIR, .mail_plugins = "", - .mail_plugin_dir = MODULEDIR, + .mail_plugin_dir = "/var/lib/dovecot/modules", + .auth_socket_path = "auth-userdb", .doveadm_socket_path = "doveadm-server", .doveadm_worker_count = 0, - .doveadm_port = 0, -diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/config-parser.c ---- dovecot-2.2.2-orig/src/config/config-parser.c 2013-02-04 22:05:42.000000000 +0100 -+++ dovecot-2.2.2/src/config/config-parser.c 2013-05-20 20:23:58.106024534 +0200 +Only in dovecot-2.2.12/src/config: all-settings.c.orig +diff -ur dovecot-2.2.12-orig/src/config/config-parser.c dovecot-2.2.12/src/config/config-parser.c +--- dovecot-2.2.12-orig/src/config/config-parser.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/config/config-parser.c 2014-03-14 09:28:17.645334840 +0100 @@ -990,7 +990,7 @@ memset(&mod_set, 0, sizeof(mod_set)); @@ -52,9 +53,9 @@ diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/ module_dir_init(modules); i_array_init(&new_roots, 64); -diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c ---- dovecot-2.2.2-orig/src/dict/main.c 2013-02-04 22:05:42.000000000 +0100 -+++ dovecot-2.2.2/src/dict/main.c 2013-05-20 20:23:58.101024534 +0200 +diff -ur dovecot-2.2.12-orig/src/dict/main.c dovecot-2.2.12/src/dict/main.c +--- dovecot-2.2.12-orig/src/dict/main.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/dict/main.c 2014-03-14 09:28:17.645334840 +0100 @@ -61,7 +61,7 @@ mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.require_init_funcs = TRUE; @@ -64,22 +65,23 @@ diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c module_dir_init(modules); /* Register only after loading modules. They may contain SQL drivers, -diff -ur dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c dovecot-2.2.2/src/doveadm/doveadm-settings.c ---- dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c 2013-04-07 19:13:06.000000000 +0200 -+++ dovecot-2.2.2/src/doveadm/doveadm-settings.c 2013-05-20 20:23:58.399024539 +0200 -@@ -76,7 +76,7 @@ +diff -ur dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c dovecot-2.2.12/src/doveadm/doveadm-settings.c +--- dovecot-2.2.12-orig/src/doveadm/doveadm-settings.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/doveadm/doveadm-settings.c 2014-03-14 09:32:56.540087069 +0100 +@@ -77,7 +77,7 @@ .base_dir = PKG_RUNDIR, .libexec_dir = PKG_LIBEXECDIR, .mail_plugins = "", - .mail_plugin_dir = MODULEDIR, + .mail_plugin_dir = "/var/lib/dovecot/modules", + .auth_socket_path = "auth-userdb", .doveadm_socket_path = "doveadm-server", .doveadm_worker_count = 0, - .doveadm_port = 0, -diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.c ---- dovecot-2.2.2-orig/src/lib-fs/fs-api.c 2013-04-18 16:07:26.000000000 +0200 -+++ dovecot-2.2.2/src/lib-fs/fs-api.c 2013-05-20 20:23:58.099024534 +0200 -@@ -82,7 +82,7 @@ +Only in dovecot-2.2.12/src/doveadm: doveadm-settings.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-fs/fs-api.c dovecot-2.2.12/src/lib-fs/fs-api.c +--- dovecot-2.2.12-orig/src/lib-fs/fs-api.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-fs/fs-api.c 2014-03-14 09:28:17.646334843 +0100 +@@ -89,7 +89,7 @@ mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.ignore_missing = TRUE; @@ -88,10 +90,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api. module_name, &mod_set); module_dir_init(fs_modules); -diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c ---- dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c 2013-04-09 22:45:19.000000000 +0200 -+++ dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c 2013-05-20 20:23:58.089024534 +0200 -@@ -28,7 +28,7 @@ +Only in dovecot-2.2.12/src/lib-fs: fs-api.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c +--- dovecot-2.2.12-orig/src/lib-ssl-iostream/iostream-ssl.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-ssl-iostream/iostream-ssl.c 2014-03-14 09:28:17.646334843 +0100 +@@ -30,7 +30,7 @@ memset(&mod_set, 0, sizeof(mod_set)); mod_set.abi_version = DOVECOT_ABI_VERSION; mod_set.setting_name = ""; @@ -100,10 +103,11 @@ diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/sr ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs"); if (ssl_vfuncs == NULL) { -diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.2/src/lib-storage/mail-storage-settings.c ---- dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c 2013-05-15 12:20:00.000000000 +0200 -+++ dovecot-2.2.2/src/lib-storage/mail-storage-settings.c 2013-05-20 20:23:57.858024531 +0200 -@@ -260,7 +260,7 @@ +Only in dovecot-2.2.12/src/lib-ssl-iostream: iostream-ssl.c.orig +diff -ur dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.12/src/lib-storage/mail-storage-settings.c +--- dovecot-2.2.12-orig/src/lib-storage/mail-storage-settings.c 2014-02-11 23:23:37.000000000 +0100 ++++ dovecot-2.2.12/src/lib-storage/mail-storage-settings.c 2014-03-14 09:28:17.646334843 +0100 +@@ -262,7 +262,7 @@ .last_valid_gid = 0, .mail_plugins = "", @@ -112,3 +116,4 @@ diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2. .mail_log_prefix = "%s(%u): ", +Only in dovecot-2.2.12/src/lib-storage: mail-storage-settings.c.orig diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix index 06635e33954f..2b1aca3e9269 100644 --- a/pkgs/servers/mail/dovecot/2.2.x.nix +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -2,13 +2,13 @@ , inotifyTools }: stdenv.mkDerivation rec { - name = "dovecot-2.2.6"; + name = "dovecot-2.2.12"; buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools]; src = fetchurl { url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; - sha256 = "1rfnsg0a57cv02pl68h3jhbd5v3071a75bvf9gs95fd41g72n9v2"; + sha256 = "0mlcwgrxfwy1fqfk3wwbh1h9f0jddg4rnj612ckj1zv5asp1rppk"; }; preConfigure = '' diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix index fc518e4f889d..522d0b60f00c 100644 --- a/pkgs/servers/mail/opensmtpd/default.nix +++ b/pkgs/servers/mail/opensmtpd/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, libevent, zlib, openssl, db4, bison, pam }: +{ stdenv, fetchurl, libevent, zlib, openssl, db, bison, pam }: stdenv.mkDerivation rec { name = "opensmtpd-${version}"; - version = "201307151923p1"; + version = "5.4.2p1"; - buildInputs = [ libevent zlib openssl db4 bison pam ]; + buildInputs = [ libevent zlib openssl db bison pam ]; src = fetchurl { url = "http://www.opensmtpd.org/archives/${name}.tar.gz"; - sha256 = "0cggq60zzz5mgj093pmgwjp4bm6znnhyv6ibp1vhkba7cxjavr4g"; + sha256 = "18nrzfjhv9znb5dbhc5k3fi31a3vr1r8j36q3fzghkh47n6z9yjg"; }; configureFlags = [ @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { "--with-sock-dir=/run" "--with-privsep-user=smtpd" "--with-queue-user=smtpq" + "--with-ca-file=/etc/ssl/certs/ca-bundle.crt" ]; meta = { diff --git a/pkgs/servers/mail/popa3d/default.nix b/pkgs/servers/mail/popa3d/default.nix index 25ac0d5f9e3d..3dcfa3a22db2 100644 --- a/pkgs/servers/mail/popa3d/default.nix +++ b/pkgs/servers/mail/popa3d/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "popa3d-1.0.2"; + name = "popa3d-1.0.3"; src = fetchurl { url = "http://www.openwall.com/popa3d/${name}.tar.gz"; - sha256 = "0zvspgnlrx4jhhkb5b1p280nsf9d558jijgpvwfyvdp4q4v460z7"; + sha256 = "1g48cd74sqhl496wmljhq44iyfpghaz363a1ip8nyhpjz7d57f03"; }; buildInputs = [ openssl ]; @@ -22,8 +22,6 @@ stdenv.mkDerivation rec { meta = { homepage = "http://www.openwall.com/popa3d/"; - description = "tiny POP3 daemon with security as the primary goal"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; + description = "Tiny POP3 daemon with security as the primary goal"; }; } diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index a435eea86639..0bfc31580e14 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, db4, glibc, openssl, cyrus_sasl +{ stdenv, fetchurl, db, glibc, openssl, cyrus_sasl , coreutils, findutils, gnused, gnugrep, bison, perl }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "11z07mjy53l1fnl7k4101yk4ilibgqr1164628mqcbmmr8bh2szl"; }; - buildInputs = [db4 openssl cyrus_sasl bison perl]; + buildInputs = [db openssl cyrus_sasl bison perl]; patches = [ ./postfix-2.2.9-db.patch ./postfix-2.2.9-lib.patch ./db-linux3.patch ]; diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix index dc316267e6cc..03e579bda209 100644 --- a/pkgs/servers/mail/spamassassin/default.nix +++ b/pkgs/servers/mail/spamassassin/default.nix @@ -13,11 +13,11 @@ # buildPerlPackage rec { - name = "SpamAssassin-3.3.2"; + name = "SpamAssassin-3.4.0"; src = fetchurl { url = "http://apache.imsam.info/spamassassin/source/Mail-${name}.tar.bz2"; - sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7"; + sha256 = "0527rv6m5qd41l756fqh9q7sm9m2xfhhy2jchlhbmd39x6x3jfsm"; }; buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index ef77c3191cab..b45bef0cce8c 100644 --- a/pkgs/servers/memcached/default.nix +++ b/pkgs/servers/memcached/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, cyrus_sasl, libevent}: -stdenv.mkDerivation { - name = "memcached-1.4.15"; +stdenv.mkDerivation rec { + name = "memcached-1.4.17"; src = fetchurl { - url = http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz; - sha256 = "1d7205cp49s379fdy2qz1gz2a5v4nnv18swzmvbascbmgamj35qn"; + url = "http://memcached.org/files/${name}.tar.gz"; + sha1 = "2b4fc706d39579cf355e3358cfd27b44d40bd79c"; }; buildInputs = [cyrus_sasl libevent]; diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index a0c0423042e8..8d1b03ddf344 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -1,15 +1,14 @@ -{ stdenv, fetchgit, makeWrapper, which, coreutils, rrdtool, perl, perlPackages +{ stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages , python, ruby, openjdk, nettools }: stdenv.mkDerivation rec { - version = "2.0.19"; + version = "2.0.20"; name = "munin-${version}"; - src = fetchgit { - url = "git://github.com/munin-monitoring/munin.git"; - rev = "refs/tags/${version}"; - sha256 = "0027rrdrmcql68b475jlxnfgkijbfngynkjpdii6fgaszswqz3ay"; + src = fetchurl { + url = "https://github.com/munin-monitoring/munin/archive/${version}.tar.gz"; + sha256 = "17b24fsr8abipq09hipnh6cd4h2aiwyzyjhg0wpplngwals54qmc"; }; buildInputs = [ diff --git a/pkgs/servers/monitoring/nagios/plugins/official/default.nix b/pkgs/servers/monitoring/nagios/plugins/official/default.nix index 29b1a1db5af0..c466813b23b0 100644 --- a/pkgs/servers/monitoring/nagios/plugins/official/default.nix +++ b/pkgs/servers/monitoring/nagios/plugins/official/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "nagios-plugins-1.4.10"; src = fetchurl { - url = https://www.nagios-plugins.org/download/nagios-plugins-1.4.10.tar.gz; + url = https://www.monitoring-plugins.org/download/nagios-plugins-1.4.10.tar.gz; sha256 = "0vm7sjiygxbfc5vbsi1g0dakpvynfzi86fhqx4yxd61brn0g8ghr"; }; @@ -25,8 +25,8 @@ stdenv.mkDerivation { buildInputs = [openssh]; # !!! make openssh a runtime dependency only meta = { - description = "Official plugins for Nagios"; - homepage = http://www.nagios.org/; + description = "Plugins for Nagios"; + homepage = http://www.monitoring-plugins.org; license = "GPL"; }; } diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index a9d1578495ab..30317d25cff7 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, file, openssl, perl }: +{ stdenv, fetchurl, autoreconfHook, file, openssl, perl, unzip }: stdenv.mkDerivation rec { - name = "net-snmp-5.7.2"; + name = "net-snmp-5.7.2.1"; src = fetchurl { - url = "mirror://sourceforge/net-snmp/${name}.tar.gz"; - sha256 = "05mqrv22c65405d6v91cqf4hvczkkvvyy5lsxw8h8g0zrjs33v89"; + url = "mirror://sourceforge/net-snmp/${name}.zip"; + sha256 = "1nj3b2x4fhsh82nra99128vqp2lfw5wx91ka8nqwzxvik59hb4dc"; }; preConfigure = @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { "--with-persistent-directory=/var/lib/net-snmp" ]; - buildInputs = [ file openssl perl ]; + buildInputs = [ autoreconfHook file openssl perl unzip ]; enableParallelBuilding = true; diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix new file mode 100644 index 000000000000..541c377c4049 --- /dev/null +++ b/pkgs/servers/monitoring/seyren/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, makeWrapper, jre }: + +stdenv.mkDerivation rec { + name = "seyren-${version}"; + version = "1.0.0"; + + src = fetchurl { + url = "https://github.com/scobal/seyren/releases/download/${version}/seyren-${version}.jar"; + sha256 = "14p97yzfyacvavfms8qs3q5515vpfkjlfvislbwrf7qa89xzz8x0"; + }; + + phases = ["installPhase"]; + + buildInputs = [ makeWrapper jre src ]; + + installPhase = '' + ensureDir "$out"/bin + makeWrapper "${jre}/bin/java" "$out"/bin/seyren --add-flags "-jar $src" + ''; + + meta = with stdenv.lib; { + description = "An alerting dashboard for Graphite"; + homepage = https://github.com/scobal/seyren; + license = licenses.asl20; + maintainers = [ maintainers.offline ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix index cc05730cee5f..399fb54875a4 100644 --- a/pkgs/servers/monitoring/zabbix/2.0.nix +++ b/pkgs/servers/monitoring/zabbix/2.0.nix @@ -5,12 +5,12 @@ assert enableJabber -> minmay != null; let - version = "2.0.10"; + version = "2.0.11"; branch = "2.0"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "0p86m634j08w0gbr2rwqr3h5p6md7k0c688w5yxc1ii3l9fmnhbi"; + sha256 = "1vqxlqwhnz02wrca08vrqbq8k19qp84hbdplmqk7d9699njim46i"; }; preConfigure = diff --git a/pkgs/servers/monitoring/zabbix/2.2.nix b/pkgs/servers/monitoring/zabbix/2.2.nix index 71d4a963d7ad..424001ea377b 100644 --- a/pkgs/servers/monitoring/zabbix/2.2.nix +++ b/pkgs/servers/monitoring/zabbix/2.2.nix @@ -5,12 +5,12 @@ assert enableJabber -> minmay != null; let - version = "2.2.1"; + version = "2.2.2"; branch = "2.2"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "1yy7jbbnpr7qkvzqcspybdkmaz50v2hsa9kvg4lzjysjzg7f9j99"; + sha256 = "1gmjbjmajdllzd7akihb5kg4l2gf0ii9c16fq8mlla37sshzj3p0"; }; preConfigure = diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix index bf0366f20b10..1e46ffdbc85b 100644 --- a/pkgs/servers/monitoring/zabbix/default.nix +++ b/pkgs/servers/monitoring/zabbix/default.nix @@ -2,11 +2,11 @@ let - version = "1.8.19"; + version = "1.8.20"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "0xgki1lrqyhfvx2691v8mk7a868zz35cnvrhiyqgksq2kshm11ph"; + sha256 = "0psdvzg5c3yhdqqmy5m1b0j3nrvcshjywhl56igy0j8vj16zxi86"; }; preConfigure = diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix index 612ec0456f2a..cd65234855f3 100644 --- a/pkgs/servers/mpd/clientlib.nix +++ b/pkgs/servers/mpd/clientlib.nix @@ -5,15 +5,15 @@ stdenv.mkDerivation rec { name = "libmpdclient-${version}"; src = fetchurl { - url = "http://www.musicpd.org/download/libmpdclient/2/${name}.tar.bz2"; - sha256 = "1qwjkb56rsbk0hwhg7fl15d6sf580a19gh778zcdg374j4yym3hh"; + url = "http://www.musicpd.org/download/libmpdclient/2/${name}.tar.xz"; + sha256 = "1jlrfqxqq3gscwrppr2h0xqxd5abl1ypwpwpwnpxs6p9c2jppjbw"; }; buildInputs = [ doxygen ]; passthru = { majorVersion = "2"; - minorVersion = "8"; + minorVersion = "9"; }; meta = { diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index 3b0069b8118a..7a2f3538fb8c 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -27,10 +27,10 @@ let mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}"; in stdenv.mkDerivation rec { - name = "mpd-0.18.5"; + name = "mpd-0.18.9"; src = fetchurl { url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz"; - sha256 = "1jhkpbwjmzicnkjl8nsfjdgsvqvkcdjm497rl081sy8mq1jzr80c"; + sha256 = "0mgfyrhjlalwngx9j3xxfpfwygh9a31k1ni1isi898bb2x8zsl08"; }; buildInputs = [ pkgconfig glib ] diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix new file mode 100644 index 000000000000..9da83fe891fe --- /dev/null +++ b/pkgs/servers/news/leafnode/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pcre }: + +stdenv.mkDerivation rec { + name = "leafnode-2.0.0.alpha20121101a.12"; + + src = fetchurl { + url = "http://home.pages.de/~mandree/leafnode/beta/leafnode-2.0.0.alpha20121101a.tar.bz2"; + sha256 = "096w4gxj08m3vwmyv4sxpmbl8dn6mzqfmrhc32jgyca6qzlrdin8"; + }; + + configureFlags = "--enable-runas-user=nobody"; + + postConfigure = '' + # The is_validfqdn is far too restrictive, and only allows + # Internet-facing servers to run. In order to run leafnode via + # localhost only, we need to disable this check. + sed -i validatefqdn.c -e 's/int is_validfqdn(const char \*f) {/int is_validfqdn(const char *f) { return 1;/;' + ''; + + buildInputs = [ pcre]; + + meta = { + homepage = "http://leafnode.sourceforge.net/"; + description = "Leafnode implements a store & forward NNTP proxy"; + license = "X11"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix index ba0b80fc61e8..47c8c12edef6 100644 --- a/pkgs/servers/openafs-client/default.nix +++ b/pkgs/servers/openafs-client/default.nix @@ -4,11 +4,11 @@ assert stdenv.isLinux; stdenv.mkDerivation { - name = "openafs-1.6.1-${kernel.version}"; + name = "openafs-1.6.6-${kernel.version}"; src = fetchurl { - url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2; - sha256 = "1c7mid0dwl2x0sikr70bi5cs881y6pa4dfwkdmr3jscvx3wgfpnh"; + url = http://www.openafs.org/dl/openafs/1.6.6/openafs-1.6.6-src.tar.bz2; + sha256 = "0xfa64hvz0avp89zgz8ksmp24s6ns0z3103m4mspshhhdlikypk3"; }; buildInputs = [ autoconf automake flex yacc ncurses perl which ]; @@ -41,6 +41,5 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.ipl10; platforms = stdenv.lib.platforms.linux; maintainers = stdenv.lib.maintainers.z77z; - broken = true; }; } diff --git a/pkgs/servers/prayer/default.nix b/pkgs/servers/prayer/default.nix index 8a23e480e1f7..a398a3ccdf98 100644 --- a/pkgs/servers/prayer/default.nix +++ b/pkgs/servers/prayer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, openssl, db4, zlib, uwimap, htmlTidy, pam}: +{ stdenv, fetchurl, perl, openssl, db, zlib, uwimap, htmlTidy, pam}: let ssl = stdenv.lib.optionals uwimap.withSSL @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "135fjbxjn385b6cjys6qhbwfw61mdcl2akkll4jfpdzfvhbxlyda"; }; - buildInputs = [ openssl db4 zlib uwimap htmlTidy pam ]; + buildInputs = [ openssl db zlib uwimap htmlTidy pam ]; nativeBuildInputs = [ perl ]; NIX_LDFLAGS = "-lpam"; diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix new file mode 100644 index 000000000000..66a0743b367f --- /dev/null +++ b/pkgs/servers/rippled/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost155, zlib}: + +stdenv.mkDerivation rec { + name = "rippled-${version}"; + version = "0.23.0"; + + src = fetchurl { + url = "https://github.com/ripple/rippled/archive/${version}.tar.gz"; + sha256 = "0js734sk11jn19fyp403mk6p62azlc6s9kyhr5jfg466fiak537p"; + }; + + patches = [ ./scons-env.patch ]; + + buildInputs = [ scons pkgconfig openssl protobuf boost155 zlib ]; + + RIPPLED_BOOST_HOME = boost155.out; + RIPPLED_ZLIB_HOME = zlib.out; + buildPhase = "scons build/rippled"; + + installPhase = '' + mkdir -p $out/bin + cp build/rippled $out/bin/ + ''; + + meta = { + description = "Ripple P2P payment network reference server"; + homepage = "https://ripple.com"; + maintainers = stdenv.lib.maintainers.emery; + license = stdenv.lib.licenses.isc; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/servers/rippled/scons-env.patch b/pkgs/servers/rippled/scons-env.patch new file mode 100644 index 000000000000..5b80e77bb2e0 --- /dev/null +++ b/pkgs/servers/rippled/scons-env.patch @@ -0,0 +1,46 @@ +diff --git a/SConstruct b/SConstruct +index 8ba8bbd..95eab3b 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -24,6 +24,8 @@ USING_CLANG = OSX or os.environ.get('CC', None) == 'clang' + # + BOOST_HOME = os.environ.get("RIPPLED_BOOST_HOME", None) + ++ZLIB_HOME = os.environ.get("RIPPLED_ZLIB_HOME", None) ++ + + if OSX or Ubuntu or Debian or Archlinux: + CTAGS = 'ctags' +@@ -36,7 +38,7 @@ else: + # scons tools + # + +-HONOR_ENVS = ['CC', 'CXX', 'PATH'] ++HONOR_ENVS = ['CC', 'CXX', 'PATH', 'PKG_CONFIG_PATH'] + + env = Environment( + tools = ['default', 'protoc'], +@@ -156,8 +158,8 @@ INCLUDE_PATHS = [ + 'build/proto' + ] + +-# if BOOST_HOME: +-# INCLUDE_PATHS.append(BOOST_HOME) ++if BOOST_HOME: ++ INCLUDE_PATHS.append("%s/include" % BOOST_HOME) + + #------------------------------------------------------------------------------- + # +@@ -261,7 +263,11 @@ env.Append( + # such, as installed into `/usr/lib/` + if BOOST_HOME is not None: + env.Prepend( +- LIBPATH = ["%s/stage/lib" % BOOST_HOME]) ++ LIBPATH = ["%s/lib" % BOOST_HOME]) ++ ++if ZLIB_HOME is not None: ++ env.Prepend( ++ LIBPATH = ["%s/lib" % ZLIB_HOME]) + + if not OSX: + env.Append(LINKFLAGS = [ diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix index f99ecded098b..c6939ce5f7a4 100644 --- a/pkgs/servers/search/elasticsearch/default.nix +++ b/pkgs/servers/search/elasticsearch/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, makeWrapper, jre, utillinux }: stdenv.mkDerivation rec { - name = "elasticsearch-0.90.3"; + name = "elasticsearch-1.0.1"; src = fetchurl { url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz"; - sha256 = "1l6rnp4yvlz4z6z4v3af08yd4sl91c4zz20a8yyif2p234lh3n2s"; + sha256 = "0nwv7llw7gk94alfcpxxy0lybhnw7fggv30v7ylsxn20id9g7kba"; }; patches = [ ./es-home.patch ]; diff --git a/pkgs/servers/search/elasticsearch/es-home.patch b/pkgs/servers/search/elasticsearch/es-home.patch index d75a5a8c052f..9b96149e5ad8 100644 --- a/pkgs/servers/search/elasticsearch/es-home.patch +++ b/pkgs/servers/search/elasticsearch/es-home.patch @@ -1,59 +1,38 @@ -diff -rc elasticsearch-0.90.3/bin/elasticsearch elasticsearch-0.90.3-new/bin/elasticsearch -*** elasticsearch-0.90.3/bin/elasticsearch 2013-08-06 15:19:22.000000000 +0200 ---- elasticsearch-0.90.3-new/bin/elasticsearch 2013-08-27 16:42:00.935880011 +0200 -*************** -*** 62,68 **** - done - - # determine elasticsearch home -! ES_HOME=`dirname "$SCRIPT"`/.. - - # make ELASTICSEARCH_HOME absolute - ES_HOME=`cd "$ES_HOME"; pwd` ---- 62,71 ---- - done - - # determine elasticsearch home -! if [ -z "$ES_HOME" ]; then -! echo "You must set the ES_HOME var" >&2 -! exit 1 -! fi - - # make ELASTICSEARCH_HOME absolute - ES_HOME=`cd "$ES_HOME"; pwd` -diff -rc elasticsearch-0.90.3/bin/plugin elasticsearch-0.90.3-new/bin/plugin -*** elasticsearch-0.90.3/bin/plugin 2013-08-06 15:19:22.000000000 +0200 ---- elasticsearch-0.90.3-new/bin/plugin 2013-08-27 16:49:01.024160295 +0200 -*************** -*** 16,22 **** - done - - # determine elasticsearch home -! ES_HOME=`dirname "$SCRIPT"`/.. - - # make ELASTICSEARCH_HOME absolute - ES_HOME=`cd "$ES_HOME"; pwd` ---- 16,25 ---- - done - - # determine elasticsearch home -! if [ -z "$ES_HOME" ]; then -! echo "You must set the ES_HOME var" >&2 -! exit 1 -! fi - - # make ELASTICSEARCH_HOME absolute - ES_HOME=`cd "$ES_HOME"; pwd` -*************** -*** 46,50 **** - shift - done - -! exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args - ---- 49,53 ---- - shift - done - -! exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args - +diff --git a/bin/elasticsearch b/bin/elasticsearch +index c7c9263..0fcecf6 100755 +--- a/bin/elasticsearch ++++ b/bin/elasticsearch +@@ -76,7 +76,10 @@ while [ -h "$SCRIPT" ] ; do + done + + # determine elasticsearch home +-ES_HOME=`dirname "$SCRIPT"`/.. ++if [ -z "$ES_HOME" ]; then ++ echo "You must set the ES_HOME var" >&2 ++ exit 1 ++fi + + # make ELASTICSEARCH_HOME absolute + ES_HOME=`cd "$ES_HOME"; pwd` +diff --git a/bin/plugin b/bin/plugin +index a8c796a..daf7b99 100755 +--- a/bin/plugin ++++ b/bin/plugin +@@ -16,7 +16,10 @@ while [ -h "$SCRIPT" ] ; do + done + + # determine elasticsearch home +-ES_HOME=`dirname "$SCRIPT"`/.. ++if [ -z "$ES_HOME" ]; then ++ echo "You must set the ES_HOME var" >&2 ++ exit 1 ++fi + + # make ELASTICSEARCH_HOME absolute + ES_HOME=`cd "$ES_HOME"; pwd` +@@ -45,4 +48,4 @@ while [ $# -gt 0 ]; do + shift + done + +-exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_HOME/lib/*" org.elasticsearch.plugins.PluginManager $args ++exec $JAVA $JAVA_OPTS -Xmx64m -Xms16m -Delasticsearch -Des.path.home="$ES_HOME" $properties -cp "$ES_CLASSPATH/lib/*" org.elasticsearch.plugins.PluginManager $args diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix new file mode 100644 index 000000000000..443e7af71ad7 --- /dev/null +++ b/pkgs/servers/search/solr/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "solr-${version}"; + version = "4.7.0"; + + src = fetchurl { + url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz"; + sha256 = "0qm3pnhpfqjxdl0xiwffrcchp79q3ja5w5d278bkkxglc2y1y4xc"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/lib + cp dist/${name}.war $out/lib/solr.war + cp -r example/lib/ext $out/lib/ext + ''; + + meta = { + homepage = "https://lucene.apache.org/solr/"; + description = '' + Open source enterprise search platform from the Apache Lucene project + ''; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + +} diff --git a/pkgs/servers/serfdom/default.nix b/pkgs/servers/serfdom/default.nix new file mode 100644 index 000000000000..274fc89f94d0 --- /dev/null +++ b/pkgs/servers/serfdom/default.nix @@ -0,0 +1,126 @@ +{ stdenv, fetchurl, fetchgit, fetchhg, go, lib }: + +let + goDeps = [ + { + dir = "github.com/hashicorp"; + name = "serf"; + rev = "c5b41a9d1d261135117a8d501d3293efade3cc74"; + sha256 = "a314d3c13fb370842a8f7c6650abfa907b51172a09c64f9184a240fab05b43df"; + fetcher = git; + } + { + dir = "github.com/armon"; + name = "go-metrics"; + rev = "e12c3591b520e819e8234bd585d592774f2b2ad5"; + sha256 = "79476efefb68876fcad7e71e76d95f4a7eece2cfcdc5a9c10f998af3178230ba"; + fetcher = git; + } + { + dir = "github.com/hashicorp"; + name = "logutils"; + rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8"; + sha256 = "184lnn7x1v3xvj6zz1rg9s0252wkkd59kij2iyrrm7y80bym2jys"; + fetcher = git; + } + { + dir = "github.com/hashicorp"; + name = "memberlist"; + rev = "d5be01d1f4d75b086eba4ae808f2767c08cbbf73"; + sha256 = "4ab2b610d439e96c169d9caf9ac0e009d71d3ef9a2fd2c812870b71eb6b27dfc"; + fetcher = git; + } + { + dir = "github.com/ugorji"; + name = "go"; + rev = "71c2886f5a673a35f909803f38ece5810165097b"; + sha256 = "128853bcc5f114c300772cbce316b55e84206fa56705c5b9cc94c1693b11ee94"; + fetcher = git; + } + { + dir = "github.com/mitchellh"; + name = "cli"; + rev = "69f0b65ce53b27f729b1b807b88dc88007f41dd3"; + sha256 = "0hnnqd8vg5ca2hglkrj141ba2akdh7crl2lsrgz8d6ipw6asszx3"; + fetcher = git; + } + { + dir = "github.com/armon"; + name = "mdns"; + rev = "8be7e3ac4e941555169a99d01abcabd3c982d87a"; + sha256 = "87cd3a0ada3b094ee8fc4c4742158e0d051cde893da1ea320158a47d6254f69d"; + fetcher = git; + } + { + dir = "github.com/miekg"; + name = "dns"; + rev = "7ebb4c59b39d5984952a355086606dd91f6cfe86"; + sha256 = "8418ad2d27e607cef1dc0003471416294443e467f2de9df135e3a2ab411e2512"; + fetcher = git; + } + { + dir = "github.com/mitchellh"; + name = "mapstructure"; + rev = "57bb2fa7a7e00b26c80e4c4b0d4f15a210d94039"; + sha256 = "13lvd5vw8y6h5zl3samkrb7237kk778cky7k7ys1cm46mfd957zy"; + fetcher = git; + } + { + dir = "github.com/ryanuber"; + name = "columnize"; + rev = "d066e113d6e13232f45bda646a915dffeee7f1a4"; + sha256 = "2aaec396a223fc4b45117a595e74c0a874bd5cd9604c742b8c4747436b4721e9"; + fetcher = git; + } + { + dir = "code.google.com/p"; + name = "go.net"; + rev = "89dbba2db2d4"; + sha256 = "0168inai10nkdrz4g0rjlj8b5v34mv135v8bhyvh501vnqql50jn"; + fetcher = hg; + } + ]; + git = desc: fetchgit { url = "https://${desc.dir}/${desc.name}"; + inherit (desc) rev sha256; }; + hg = desc: fetchhg { url = "https://${desc.dir}/${desc.name}"; + tag = desc.rev; + inherit (desc) sha256; }; + createGoPathCmds = + lib.concatStrings + (map (desc: + let fetched = desc.fetcher desc; in '' + mkdir -p $GOPATH/src/${desc.dir} + ln -s ${fetched} $GOPATH/src/${desc.dir}/${desc.name} + '') goDeps); +in + stdenv.mkDerivation rec { + version = "0.5.0"; + name = "serfdom-${version}"; + + src = fetchurl { + url = "https://github.com/hashicorp/serf/archive/v${version}.tar.gz"; + sha256 = "1p2cpkdx0gck1ypxc98im7gsv3275avpkizhsif3nxvl1xd8g1qp"; + }; + + buildInputs = [ go ]; + + buildPhase = '' + mkdir $TMPDIR/go + export GOPATH=$TMPDIR/go + ${createGoPathCmds} + go build -v -o bin/serf + ''; + + installPhase = '' + ensureDir $out/bin + cp bin/serf $out/bin + ''; + + meta = with stdenv.lib; { + description = "Serf is a service discovery and orchestration tool that is decentralized, highly available, and fault tolerant"; + homepage = http://www.serfdom.io/; + license = licenses.mpl20; + maintainers = [ maintainers.msackman ]; + platforms = platforms.linux; + }; + } diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index 49d7810a3c20..acff3a84a31e 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pam, openssl, openssh }: +{ stdenv, fetchurl, pam, openssl, openssh, shadow }: stdenv.mkDerivation { name = "shellinabox-2.14"; @@ -7,12 +7,17 @@ stdenv.mkDerivation { url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz"; sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781"; }; + buildInputs = [pam openssl openssh]; + patches = [ ./shellinabox-minus.patch ]; + # Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place. preConfigure = '' substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" "" substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin" + substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login" + substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login" ''; meta = { homepage = https://code.google.com/p/shellinabox; diff --git a/pkgs/servers/shellinabox/shellinabox-minus.patch b/pkgs/servers/shellinabox/shellinabox-minus.patch new file mode 100644 index 000000000000..2e30bd9c8aa1 --- /dev/null +++ b/pkgs/servers/shellinabox/shellinabox-minus.patch @@ -0,0 +1,28 @@ +diff -ru shellinabox-2.14/shellinabox/vt100.js shellinabox-2.14.new/shellinabox/vt100.js +--- shellinabox-2.14/shellinabox/vt100.js 2012-04-21 21:30:44.000000000 +0400 ++++ shellinabox-2.14.new/shellinabox/vt100.js 2014-03-27 16:33:31.012344164 +0400 +@@ -2676,6 +2676,7 @@ + switch (key) { + case 33: /* Page Up */ this.scrollBack(); return; + case 34: /* Page Down */ this.scrollFore(); return; ++ case 173: /* _ */ ch = this.applyModifiers(95, event); break; + default: break; + } + } +@@ -2738,6 +2739,7 @@ + case 123: /* F12 */ ch = '\u001B[24~'; break; + case 144: /* Num Lock */ return; + case 145: /* Scroll Lock */ return; ++ case 173: /* - */ ch = this.applyModifiers(45, event); break; + case 186: /* ; */ ch = this.applyModifiers(59, event); break; + case 187: /* = */ ch = this.applyModifiers(61, event); break; + case 188: /* , */ ch = this.applyModifiers(44, event); break; +@@ -2882,6 +2884,7 @@ + case 109: /* - -> _ */ u = 45; s = 95; break; + case 111: /* / -> ? */ u = 47; s = 63; break; + ++ case 173: /* - -> _ */ u = 45; s = 95; break; + case 186: /* ; -> : */ u = 59; s = 58; break; + case 187: /* = -> + */ u = 61; s = 43; break; + case 188: /* , -> < */ u = 44; s = 60; break; + diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix index a5d31ca354d0..2e0a4e84f6c7 100644 --- a/pkgs/servers/shishi/default.nix +++ b/pkgs/servers/shishi/default.nix @@ -1,15 +1,13 @@ { fetchurl, stdenv, libtasn1, libgcrypt, gnutls }: stdenv.mkDerivation rec { - name = "shishi-1.0.1"; + name = "shishi-1.0.2"; src = fetchurl { url = "mirror://gnu/shishi/${name}.tar.gz"; - sha256 = "13c6w9rpaqb3am65nrn86byvmll5r78pld2vb0i68491vww4fzlx"; + sha256 = "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d"; }; - patches = [ ./no-gets.patch ]; - buildInputs = [ libtasn1 libgcrypt gnutls ] ; NIX_CFLAGS_COMPILE diff --git a/pkgs/servers/shishi/no-gets.patch b/pkgs/servers/shishi/no-gets.patch deleted file mode 100644 index 12137204f455..000000000000 --- a/pkgs/servers/shishi/no-gets.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/gl/stdio.in.h b/gl/stdio.in.h -index 06d9780..fa04a10 100644 ---- a/gl/stdio.in.h -+++ b/gl/stdio.in.h -@@ -713,10 +713,13 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s)); - # endif - _GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides C11 -+ removed it. */ -+#ifdef gets -+#undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix new file mode 100644 index 000000000000..a6105c128906 --- /dev/null +++ b/pkgs/servers/sql/mariadb/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }: + +stdenv.mkDerivation rec { + name = "mariadb-10.0.10"; + + src = fetchurl { + url = "https://fossies.org/linux/misc/${name}.tar.gz"; + md5 = "14ce22b8197d4eae88d237776d47220f"; + }; + + buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ]; + + cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DWITHOUT_TOKUDB=1" "-DINSTALL_SCRIPTDIR=bin" ]; + + enableParallelBuilding = true; + + passthru.mysqlVersion = "5.5"; + + meta = { + description = "An enhanced, drop-in replacement for MySQL"; + homepage = https://mariadb.org/; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/servers/sql/mysql/5.1.x.nix b/pkgs/servers/sql/mysql/5.1.x.nix index c210c9965327..c309158a6705 100644 --- a/pkgs/servers/sql/mysql/5.1.x.nix +++ b/pkgs/servers/sql/mysql/5.1.x.nix @@ -27,6 +27,8 @@ stdenv.mkDerivation rec { rm -rf $out/mysql-test $out/sql-bench $out/share/info ''; + passthru.mysqlVersion = "5.1"; + meta = { homepage = http://www.mysql.com/; description = "The world's most popular open source database"; diff --git a/pkgs/servers/sql/mysql/5.5.x.nix b/pkgs/servers/sql/mysql/5.5.x.nix index bd30b7db75ff..782019f8ee06 100644 --- a/pkgs/servers/sql/mysql/5.5.x.nix +++ b/pkgs/servers/sql/mysql/5.5.x.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "mysql-${version}"; - version = "5.5.34"; + version = "5.5.37"; src = fetchurl { url = "http://cdn.mysql.com/Downloads/MySQL-5.5/${name}.tar.gz"; - md5 = "930970a42d51e48599deb7fe01778a4a"; + md5 = "bf1d80c66d4822ec6036300399a33c03"; }; buildInputs = [ cmake bison ncurses openssl readline zlib ] @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { rm -rf $out/mysql-test $out/sql-bench ''; + passthru.mysqlVersion = "5.5"; + meta = { homepage = http://www.mysql.com/; description = "The world's most popular open source database"; diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix index b027d0093e88..58d7159034ad 100644 --- a/pkgs/servers/sql/postgresql/8.4.x.nix +++ b/pkgs/servers/sql/postgresql/8.4.x.nix @@ -1,24 +1,28 @@ { stdenv, fetchurl, zlib, ncurses, readline }: -let version = "8.4.19"; in +let version = "8.4.20"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "f744d04a5d9feeea516fa57fea92be5568527bab03a84cf660a06ce90f90dcea"; + sha256 = "e84e46083a6accd2bf37f0bd7253415649afcafc49f2564bc8481c10ed90d7c1"; }; buildInputs = [ zlib ncurses readline ]; LC_ALL = "C"; + patches = [ ./less-is-more.patch ]; + passthru = { inherit readline; }; meta = { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; license = "bsd"; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix index 40878fc6e783..033328cbcfe1 100644 --- a/pkgs/servers/sql/postgresql/9.0.x.nix +++ b/pkgs/servers/sql/postgresql/9.0.x.nix @@ -1,19 +1,21 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.0.15"; in +let version = "9.0.16"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "a45acd27d546e425911ecd371247066be5dafd96304e50e0708c84b918c28f9d"; + sha256 = "900f6ab00fc36c94b17430e7cb22499708025da1e34d7a70aefaf9a875f0fabf"; }; buildInputs = [ zlib readline ]; LC_ALL = "C"; + patches = [ ./less-is-more.patch ]; + passthru = { inherit readline; psqlSchema = "9.0"; @@ -23,5 +25,7 @@ stdenv.mkDerivation rec { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; license = "bsd"; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix index 9eefe708798f..7e876322808b 100644 --- a/pkgs/servers/sql/postgresql/9.1.x.nix +++ b/pkgs/servers/sql/postgresql/9.1.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.1.11"; in +let version = "9.1.12"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "ccbc35aae1490ee5878b97a6aea48dad7465cdad296b380542e4303b68cc6f74"; + sha256 = "0b267ebab5feb39ad6ef945b9588787886e7f7e5284467921d18cc7b76bcb383"; }; buildInputs = [ zlib readline ]; @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { LC_ALL = "C"; + patches = [ ./less-is-more.patch ]; + postInstall = '' mkdir -p $out/share/man @@ -31,5 +33,7 @@ stdenv.mkDerivation rec { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; license = "bsd"; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix index 8f78dffb4ba3..da0516a96181 100644 --- a/pkgs/servers/sql/postgresql/9.2.x.nix +++ b/pkgs/servers/sql/postgresql/9.2.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.2.6"; in +let version = "9.2.7"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "4ba98053a66e5678af93dbc2956e8b04623f759e174f48940c41f4251cf0f886"; + sha256 = "83c042c3f61c69b176d3e4344e59104f844bc8b8628dad2bb9022a64cf5afe86"; }; buildInputs = [ zlib readline ]; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { makeFlags = [ "world" ]; - patches = [ ./disable-resolve_symlinks.patch ]; + patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ]; installTargets = [ "install-world" ]; @@ -31,5 +31,7 @@ stdenv.mkDerivation rec { homepage = http://www.postgresql.org/; description = "A powerful, open source object-relational database system"; license = "bsd"; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix new file mode 100644 index 000000000000..672eeb8da6e1 --- /dev/null +++ b/pkgs/servers/sql/postgresql/9.3.x.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, zlib, readline, libossp_uuid }: + +with stdenv.lib; + +let version = "9.3.3"; in + +stdenv.mkDerivation rec { + name = "postgresql-${version}"; + + src = fetchurl { + url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; + sha256 = "e925d8abe7157bd8bece6b7c0dd0c343d87a2b4336f85f4681ce596af99c3879"; + }; + + buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ]; + + enableParallelBuilding = true; + + makeFlags = [ "world" ]; + + configureFlags = optional (!stdenv.isDarwin) + '' + --with-ossp-uuid + ''; + + patches = [ ./disable-resolve_symlinks.patch ./less-is-more.patch ]; + + installTargets = [ "install-world" ]; + + LC_ALL = "C"; + + passthru = { + inherit readline; + psqlSchema = "9.3"; + }; + + meta = { + homepage = http://www.postgresql.org/; + description = "A powerful, open source object-relational database system"; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.ocharles ]; + hydraPlatforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/servers/sql/postgresql/less-is-more.patch b/pkgs/servers/sql/postgresql/less-is-more.patch new file mode 100644 index 000000000000..d640d24bdaad --- /dev/null +++ b/pkgs/servers/sql/postgresql/less-is-more.patch @@ -0,0 +1,12 @@ +diff -Naur postgresql-9.2.7-orig/src/bin/psql/print.h postgresql-9.2.7/src/bin/psql/print.h +--- postgresql-9.2.7-orig/src/bin/psql/print.h 2014-02-17 14:38:15.000000000 -0500 ++++ postgresql-9.2.7/src/bin/psql/print.h 2014-03-04 14:42:28.874014415 -0500 +@@ -178,7 +178,7 @@ + extern const printTextFormat *get_line_style(const printTableOpt *opt); + + #ifndef __CYGWIN__ +-#define DEFAULT_PAGER "more" ++#define DEFAULT_PAGER "less" + #else + #define DEFAULT_PAGER "less" + #endif diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix index a41343c0cf90..18778aa80db6 100644 --- a/pkgs/servers/squid/squids.nix +++ b/pkgs/servers/squid/squids.nix @@ -35,7 +35,7 @@ rec { url = "http://www.squid-cache.org/Versions/v3/3.2/${name}.tar.bz2"; sha256 = "0dafqv00dr3nyrm9k47d6r7gv2r3f9hjd1ykl3kkvjca11r4n54j"; }; - buildInputs = [openldap pam db4 cyrus_sasl libcap expat libxml2 + buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2 libtool openssl]; }; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 13c17cebde3c..c341cd691501 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -20,11 +20,11 @@ let })) // {inherit ;}; bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) { - name = "bdftopcf-1.0.3"; + name = "bdftopcf-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2; - sha256 = "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w"; + url = mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2; + sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"; }; buildInputs = [pkgconfig libXfont ]; })) // {inherit libXfont ;}; @@ -79,6 +79,16 @@ let buildInputs = [pkgconfig ]; })) // {inherit ;}; + dri3proto = (stdenv.mkDerivation ((if overrides ? dri3proto then overrides.dri3proto else x: x) { + name = "dri3proto-1.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2; + sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1"; + }; + buildInputs = [pkgconfig ]; + })) // {inherit ;}; + encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) { name = "encodings-1.0.4"; builder = ./builder.sh; @@ -479,32 +489,42 @@ let buildInputs = [pkgconfig ]; })) // {inherit ;}; - glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) { - name = "glproto-1.4.16"; + glamoregl = (stdenv.mkDerivation ((if overrides ? glamoregl then overrides.glamoregl else x: x) { + name = "glamor-egl-0.6.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2; - sha256 = "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal"; + url = mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2; + sha256 = "1jg5clihklb9drh1jd7nhhdsszla6nv7xmbvm8yvakh5wrb1nlv6"; + }; + buildInputs = [pkgconfig dri2proto xorgserver ]; + })) // {inherit dri2proto xorgserver ;}; + + glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) { + name = "glproto-1.4.17"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2; + sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) { - name = "iceauth-1.0.5"; + name = "iceauth-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2; - sha256 = "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl"; + url = mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2; + sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"; }; buildInputs = [pkgconfig libICE xproto ]; })) // {inherit libICE xproto ;}; imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) { - name = "imake-1.0.5"; + name = "imake-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/imake-1.0.5.tar.bz2; - sha256 = "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr"; + url = mirror://xorg/individual/util/imake-1.0.6.tar.bz2; + sha256 = "1786k6jsazpr37v2b6qlsznjjp5lgyb869hx5m4ahax7n3yq72gs"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; @@ -540,11 +560,11 @@ let })) // {inherit applewmproto libX11 libXext xextproto ;}; libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) { - name = "libFS-1.0.5"; + name = "libFS-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libFS-1.0.5.tar.bz2; - sha256 = "01v1z6hy702pcxz89kqb84w9gjjrvnjqsxc2zzvswlw0vl2k1sr2"; + url = mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2; + sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh"; }; buildInputs = [pkgconfig fontsproto xproto xtrans ]; })) // {inherit fontsproto xproto xtrans ;}; @@ -560,11 +580,11 @@ let })) // {inherit xproto xtrans ;}; libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) { - name = "libSM-1.2.1"; + name = "libSM-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2; - sha256 = "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck"; + url = mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2; + sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b"; }; buildInputs = [pkgconfig libICE libuuid xproto xtrans ]; })) // {inherit libICE libuuid xproto xtrans ;}; @@ -580,11 +600,11 @@ let })) // {inherit windowswmproto libX11 libXext xextproto ;}; libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { - name = "libX11-1.6.1"; + name = "libX11-1.6.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2; - sha256 = "14hqf180dxax3xf65bq95psd4bx8az1q1l6lxsjzbd2qdg0lz98h"; + url = mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2; + sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a"; }; buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; @@ -600,31 +620,31 @@ let })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { - name = "libXau-1.0.7"; + name = "libXau-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2; - sha256 = "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi"; + url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2; + sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) { - name = "libXaw-1.0.11"; + name = "libXaw-1.0.12"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2; - sha256 = "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47"; + url = mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2; + sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n"; }; buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { - name = "libXcomposite-0.4.3"; + name = "libXcomposite-0.4.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2; - sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j"; + url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2; + sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd"; }; buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; })) // {inherit compositeproto libX11 libXfixes xproto ;}; @@ -640,11 +660,11 @@ let })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { - name = "libXdamage-1.1.3"; + name = "libXdamage-1.1.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2; - sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw"; + url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2; + sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw"; }; buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; @@ -720,11 +740,11 @@ let })) // {inherit libX11 libXext xextproto xineramaproto ;}; libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) { - name = "libXmu-1.1.1"; + name = "libXmu-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2; - sha256 = "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h"; + url = mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2; + sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; @@ -740,21 +760,21 @@ let })) // {inherit printproto libX11 libXau libXext xextproto ;}; libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) { - name = "libXpm-3.5.10"; + name = "libXpm-3.5.11"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2; - sha256 = "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6"; + url = mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2; + sha256 = "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { - name = "libXrandr-1.4.1"; + name = "libXrandr-1.4.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libXrandr-1.4.1.tar.bz2; - sha256 = "01dr1wvyxq2y4yq4hilgglkjlvn551dmnl4l65nfm8nh1x4s056r"; + url = mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2; + sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya"; }; buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; @@ -800,11 +820,11 @@ let })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) { - name = "libXv-1.0.8"; + name = "libXv-1.0.10"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2; - sha256 = "1mvkmypf9rsr3lr161hf9sjadlirb116jfp5lk70j29r8x9yn02g"; + url = mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2; + sha256 = "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm"; }; buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ]; })) // {inherit videoproto libX11 libXext xextproto xproto ;}; @@ -860,11 +880,11 @@ let })) // {inherit dmxproto libX11 libXext xextproto ;}; libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) { - name = "libfontenc-1.1.1"; + name = "libfontenc-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2; - sha256 = "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny"; + url = mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2; + sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959"; }; buildInputs = [pkgconfig xproto zlib ]; })) // {inherit xproto zlib ;}; @@ -890,11 +910,11 @@ let })) // {inherit ;}; libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { - name = "libxcb-1.9.1"; + name = "libxcb-1.10"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2; - sha256 = "0brn7vw66widc5mw7gynwy8dln3gmzym2fqqyzk6k58bxgs5yjnl"; + url = http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2; + sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq"; }; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; @@ -909,6 +929,16 @@ let buildInputs = [pkgconfig kbproto libX11 ]; })) // {inherit kbproto libX11 ;}; + libxshmfence = (stdenv.mkDerivation ((if overrides ? libxshmfence then overrides.libxshmfence else x: x) { + name = "libxshmfence-1.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2; + sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"; + }; + buildInputs = [pkgconfig xproto ]; + })) // {inherit xproto ;}; + lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) { name = "lndir-1.0.3"; builder = ./builder.sh; @@ -930,11 +960,11 @@ let })) // {inherit libfontenc ;}; makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) { - name = "makedepend-1.0.4"; + name = "makedepend-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2; - sha256 = "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb"; + url = mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2; + sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; @@ -950,15 +980,25 @@ let })) // {inherit ;}; mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) { - name = "mkfontscale-1.1.0"; + name = "mkfontscale-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2; - sha256 = "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff"; + url = mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2; + sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"; }; buildInputs = [pkgconfig libfontenc freetype xproto zlib ]; })) // {inherit libfontenc freetype xproto zlib ;}; + presentproto = (stdenv.mkDerivation ((if overrides ? presentproto then overrides.presentproto else x: x) { + name = "presentproto-1.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/proto/presentproto-1.0.tar.bz2; + sha256 = "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41"; + }; + buildInputs = [pkgconfig ]; + })) // {inherit ;}; + printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) { name = "printproto-1.0.5"; builder = ./builder.sh; @@ -1020,11 +1060,11 @@ let })) // {inherit ;}; sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) { - name = "sessreg-1.0.7"; + name = "sessreg-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2; - sha256 = "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47"; + url = mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2; + sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; @@ -1050,31 +1090,31 @@ let })) // {inherit libICE libSM libXmu libXt ;}; twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) { - name = "twm-1.0.7"; + name = "twm-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/twm-1.0.7.tar.bz2; - sha256 = "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g"; + url = mirror://xorg/individual/app/twm-1.0.8.tar.bz2; + sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n"; }; buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ]; })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) { - name = "util-macros-1.17"; + name = "util-macros-1.19.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2; - sha256 = "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"; + url = mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2; + sha256 = "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) { - name = "videoproto-2.3.1"; + name = "videoproto-2.3.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2; - sha256 = "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry"; + url = mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2; + sha256 = "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1100,21 +1140,21 @@ let })) // {inherit libX11 libXext libXft libXmu libXrender ;}; xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) { - name = "xauth-1.0.7"; + name = "xauth-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2; - sha256 = "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4"; + url = mirror://xorg/individual/app/xauth-1.0.8.tar.bz2; + sha256 = "1xylgy7qrf8w76gg1sa6x8ckv14q1nv0h554ndgrss8clpknlsd8"; }; - buildInputs = [pkgconfig libX11 libXau libXext libXmu ]; - })) // {inherit libX11 libXau libXext libXmu ;}; + buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ]; + })) // {inherit libX11 libXau libXext libXmu xproto ;}; xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) { - name = "xbacklight-1.2.0"; + name = "xbacklight-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2; - sha256 = "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji"; + url = mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2; + sha256 = "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp"; }; buildInputs = [pkgconfig libxcb xcbutil ]; })) // {inherit libxcb xcbutil ;}; @@ -1130,11 +1170,11 @@ let })) // {inherit ;}; xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) { - name = "xcb-proto-1.8"; + name = "xcb-proto-1.10"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-proto-1.8.tar.bz2; - sha256 = "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93"; + url = http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2; + sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y"; }; buildInputs = [pkgconfig python ]; })) // {inherit python ;}; @@ -1180,24 +1220,24 @@ let })) // {inherit gperf m4 libxcb xproto ;}; xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) { - name = "xcb-util-wm-0.3.9"; + name = "xcb-util-wm-0.4.1"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.3.9.tar.bz2; - sha256 = "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3"; + url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2; + sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; })) // {inherit gperf m4 libxcb xproto ;}; xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) { - name = "xclock-1.0.6"; + name = "xclock-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xclock-1.0.6.tar.bz2; - sha256 = "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1"; + url = mirror://xorg/individual/app/xclock-1.0.7.tar.bz2; + sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3"; }; - buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu libXrender libXt ]; - })) // {inherit libX11 libXaw libXft libxkbfile libXmu libXrender libXt ;}; + buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ]; + })) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;}; xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) { name = "xcmiscproto-1.2.2"; @@ -1230,11 +1270,11 @@ let })) // {inherit libpng libX11 libXcursor ;}; xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) { - name = "xcursor-themes-1.0.3"; + name = "xcursor-themes-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2; - sha256 = "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr"; + url = mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2; + sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3"; }; buildInputs = [pkgconfig libXcursor ]; })) // {inherit libXcursor ;}; @@ -1250,14 +1290,14 @@ let })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) { - name = "xdpyinfo-1.3.0"; + name = "xdpyinfo-1.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2; - sha256 = "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3"; + url = mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2; + sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf"; }; - buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; - })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; + buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; + })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) { name = "xdriinfo-1.0.4"; @@ -1270,21 +1310,21 @@ let })) // {inherit glproto libX11 ;}; xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) { - name = "xev-1.2.0"; + name = "xev-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2; - sha256 = "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip"; + url = mirror://xorg/individual/app/xev-1.2.1.tar.bz2; + sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i"; }; buildInputs = [pkgconfig libX11 xproto libXrandr ]; })) // {inherit libX11 xproto libXrandr ;}; xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) { - name = "xextproto-7.2.1"; + name = "xextproto-7.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2; - sha256 = "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw"; + url = mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2; + sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1330,11 +1370,11 @@ let })) // {inherit ;}; xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) { - name = "xf86-input-evdev-2.7.3"; + name = "xf86-input-evdev-2.8.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2; - sha256 = "01557w1kmsaqdsc42pxyypig10l5r5vh9axz9g22hg9cc09r8f7b"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.2.tar.bz2; + sha256 = "1cvyg425px92hr5ql1s7v0c7n9jyvg0aaajrf5vyxgc3k9s6213m"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; })) // {inherit inputproto udev xorgserver xproto ;}; @@ -1350,31 +1390,31 @@ let })) // {inherit inputproto kbproto xorgserver xproto ;}; xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) { - name = "xf86-input-keyboard-1.6.1"; + name = "xf86-input-keyboard-1.8.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2; - sha256 = "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma"; + url = mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2; + sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; })) // {inherit inputproto xorgserver xproto ;}; xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) { - name = "xf86-input-mouse-1.7.2"; + name = "xf86-input-mouse-1.9.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2; - sha256 = "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark"; + url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2; + sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; })) // {inherit inputproto xorgserver xproto ;}; xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { - name = "xf86-input-synaptics-1.7.1"; + name = "xf86-input-synaptics-1.7.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2; - sha256 = "13mmpcwp1d69w6c458a4fdqgwl24bpvrnq3zd6833chz1rk2an6v"; + url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.4.tar.bz2; + sha256 = "1xssjj0qxarzsc4m69ay5ydkwgq27qajzih2c7sjk7nkgggx58jn"; }; buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; @@ -1430,14 +1470,14 @@ let })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) { - name = "xf86-video-ati-7.2.0"; + name = "xf86-video-ati-7.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-ati-7.2.0.tar.bz2; - sha256 = "1i5fknbbhynl5hv2dzznzcf0yadpm28jzvx7xl38vlfpr3ymw3zk"; + url = mirror://xorg/individual/driver/xf86-video-ati-7.3.0.tar.bz2; + sha256 = "1zj6401km2zgc32vhw7jfkaklsllsm9xpbs79zh9da8r94n0fz0h"; }; - buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; + })) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) { name = "xf86-video-cirrus-1.5.2"; @@ -1470,21 +1510,21 @@ let })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) { - name = "xf86-video-geode-2.11.14"; + name = "xf86-video-geode-2.11.15"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2; - sha256 = "1k6gl1kq2fr0gj6sqrg2rypp59f8b8pr46c902m4z4rjr530nxac"; + url = mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2; + sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) { - name = "xf86-video-glide-1.2.1"; + name = "xf86-video-glide-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2; - sha256 = "0vp9izdy7lgx09jfwr4ra9zvrx1hg15a5v2nhx00v31ffkh2aiyp"; + url = mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2; + sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y"; }; buildInputs = [pkgconfig xextproto xorgserver xproto ]; })) // {inherit xextproto xorgserver xproto ;}; @@ -1516,8 +1556,8 @@ let url = mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2; sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx"; }; - buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ]; - })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; + buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ]; + })) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) { name = "xf86-video-mach64-6.9.4"; @@ -1530,15 +1570,25 @@ let })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) { - name = "xf86-video-mga-1.6.2"; + name = "xf86-video-mga-1.6.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2; - sha256 = "0v6agqc9lxg8jgrksc1yksmhnv70j1vnhm09i7gg14za1qjwx29z"; + url = mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2; + sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; + xf86videomodesetting = (stdenv.mkDerivation ((if overrides ? xf86videomodesetting then overrides.xf86videomodesetting else x: x) { + name = "xf86-video-modesetting-0.8.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-modesetting-0.8.1.tar.bz2; + sha256 = "1jhjhgji6169sj7489qahcnmi8cf7y22wvj8qsmrg537rgbxia1v"; + }; + buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ]; + })) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; + xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { name = "xf86-video-neomagic-1.2.8"; builder = ./builder.sh; @@ -1559,6 +1609,16 @@ let buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ]; })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; + xf86videonouveau = (stdenv.mkDerivation ((if overrides ? xf86videonouveau then overrides.xf86videonouveau else x: x) { + name = "xf86-video-nouveau-1.0.10"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2; + sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1"; + }; + buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; + })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) { name = "xf86-video-nv-2.1.20"; builder = ./builder.sh; @@ -1580,21 +1640,21 @@ let })) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) { - name = "xf86-video-r128-6.9.1"; + name = "xf86-video-r128-6.9.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-r128-6.9.1.tar.bz2; - sha256 = "0k746kk75h3hg3wmihqlmp14s52fg0svylqay02km7misflbmqwb"; + url = mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2; + sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) { - name = "xf86-video-savage-2.3.6"; + name = "xf86-video-savage-2.3.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-savage-2.3.6.tar.bz2; - sha256 = "1mk3mpwl97clxhwzl990hj31z8qfh7fd4vs6qbl5i250ykc3x0a8"; + url = mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2; + sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; @@ -1690,11 +1750,11 @@ let })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) { - name = "xf86-video-vmware-13.0.1"; + name = "xf86-video-vmware-13.0.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2; - sha256 = "0ggyz3yl1ly0p9c9lva5z3892vm033z49py3svd2wh92bi0xlbc0"; + url = mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2; + sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; @@ -1750,14 +1810,14 @@ let })) // {inherit libX11 libXxf86vm ;}; xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) { - name = "xhost-1.0.5"; + name = "xhost-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2; - sha256 = "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18"; + url = mirror://xorg/individual/app/xhost-1.0.6.tar.bz2; + sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6"; }; - buildInputs = [pkgconfig libX11 libXau libXmu ]; - })) // {inherit libX11 libXau libXmu ;}; + buildInputs = [pkgconfig libX11 libXau libXmu xproto ]; + })) // {inherit libX11 libXau libXmu xproto ;}; xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) { name = "xineramaproto-1.2.1"; @@ -1770,21 +1830,21 @@ let })) // {inherit ;}; xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) { - name = "xinit-1.3.2"; + name = "xinit-1.3.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xinit-1.3.2.tar.bz2; - sha256 = "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1"; + url = mirror://xorg/individual/app/xinit-1.3.3.tar.bz2; + sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) { - name = "xinput-1.6.0"; + name = "xinput-1.6.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2; - sha256 = "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a"; + url = mirror://xorg/individual/app/xinput-1.6.1.tar.bz2; + sha256 = "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp"; }; buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ]; })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; @@ -1810,34 +1870,34 @@ let })) // {inherit libX11 libxkbfile ;}; xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) { - name = "xkbutils-1.0.3"; + name = "xkbutils-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2; - sha256 = "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4"; + url = mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2; + sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"; }; buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ]; })) // {inherit inputproto libX11 libXaw xproto libXt ;}; xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) { - name = "xkeyboard-config-2.8"; + name = "xkeyboard-config-2.11"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.8.tar.bz2; - sha256 = "1bkq415qw4r3dl139mqgal9v585x7kh3km6z1lraz2j8im3ga72f"; + url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2; + sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7"; }; buildInputs = [pkgconfig libX11 xproto ]; })) // {inherit libX11 xproto ;}; xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) { - name = "xkill-1.0.3"; + name = "xkill-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2; - sha256 = "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx"; + url = mirror://xorg/individual/app/xkill-1.0.4.tar.bz2; + sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8"; }; - buildInputs = [pkgconfig libX11 libXmu ]; - })) // {inherit libX11 libXmu ;}; + buildInputs = [pkgconfig libX11 libXmu xproto ]; + })) // {inherit libX11 libXmu xproto ;}; xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) { name = "xlsatoms-1.1.1"; @@ -1850,11 +1910,11 @@ let })) // {inherit libxcb ;}; xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) { - name = "xlsclients-1.1.2"; + name = "xlsclients-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2; - sha256 = "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w"; + url = mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2; + sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx"; }; buildInputs = [pkgconfig libxcb ]; })) // {inherit libxcb ;}; @@ -1870,21 +1930,21 @@ let })) // {inherit libXaw libXt ;}; xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) { - name = "xmodmap-1.0.7"; + name = "xmodmap-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2; - sha256 = "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg"; + url = mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2; + sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg"; }; buildInputs = [pkgconfig libX11 xproto ]; })) // {inherit libX11 xproto ;}; xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) { - name = "xorg-cf-files-1.0.4"; + name = "xorg-cf-files-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2; - sha256 = "0s86h66b3w4623m88fg2csp41cnr08qc8i3gkj85k3wpwj1wxs9n"; + url = mirror://xorg/individual/util/xorg-cf-files-1.0.5.tar.bz2; + sha256 = "1m3ypq0xcy46ghxc0svl1rbhpy3zvgmy0aa2mn7w7v7d8d8bh8zd"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1900,11 +1960,11 @@ let })) // {inherit ;}; xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) { - name = "xorg-server-1.14.5"; + name = "xorg-server-1.14.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2; - sha256 = "1lb1fkscy7nwnabfj0d2shvxga16i047g11if18plj0n2jzhc3wd"; + url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2; + sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8"; }; buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; @@ -1930,61 +1990,61 @@ let })) // {inherit libX11 libXmu xproto ;}; xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) { - name = "xprop-1.2.1"; + name = "xprop-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2; - sha256 = "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407"; + url = mirror://xorg/individual/app/xprop-1.2.2.tar.bz2; + sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv"; }; buildInputs = [pkgconfig libX11 xproto ]; })) // {inherit libX11 xproto ;}; xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) { - name = "xproto-7.0.23"; + name = "xproto-7.0.25"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2; - sha256 = "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d"; + url = mirror://xorg/individual/proto/xproto-7.0.25.tar.bz2; + sha256 = "1zh977hrfxxdyhlxr9qjfa2xl8qrb4v43a2b708kdz2gvj2p894j"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) { - name = "xrandr-1.3.5"; + name = "xrandr-1.4.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2; - sha256 = "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h"; + url = mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2; + sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj"; }; buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ]; })) // {inherit libX11 xproto libXrandr libXrender ;}; xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) { - name = "xrdb-1.0.9"; + name = "xrdb-1.1.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2; - sha256 = "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934"; + url = mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2; + sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk"; }; - buildInputs = [pkgconfig libX11 libXmu ]; - })) // {inherit libX11 libXmu ;}; + buildInputs = [pkgconfig libX11 libXmu xproto ]; + })) // {inherit libX11 libXmu xproto ;}; xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) { - name = "xrefresh-1.0.4"; + name = "xrefresh-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2; - sha256 = "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586"; + url = mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2; + sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) { - name = "xset-1.2.2"; + name = "xset-1.2.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2; - sha256 = "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1"; + url = mirror://xorg/individual/app/xset-1.2.3.tar.bz2; + sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3"; }; buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ]; })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; @@ -2000,41 +2060,41 @@ let })) // {inherit libX11 xbitmaps libXcursor libXmu ;}; xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) { - name = "xtrans-1.2.7"; + name = "xtrans-1.3.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2; - sha256 = "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz"; + url = mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2; + sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) { - name = "xvinfo-1.1.1"; + name = "xvinfo-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2; - sha256 = "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0"; + url = mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2; + sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf"; }; - buildInputs = [pkgconfig libX11 libXv ]; - })) // {inherit libX11 libXv ;}; + buildInputs = [pkgconfig libX11 xproto libXv ]; + })) // {inherit libX11 xproto libXv ;}; xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) { - name = "xwd-1.0.5"; + name = "xwd-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2; - sha256 = "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82"; + url = mirror://xorg/individual/app/xwd-1.0.6.tar.bz2; + sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv"; }; buildInputs = [pkgconfig libX11 xproto ]; })) // {inherit libX11 xproto ;}; xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) { - name = "xwininfo-1.1.2"; + name = "xwininfo-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2; - sha256 = "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg"; + url = mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2; + sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1"; }; buildInputs = [pkgconfig libX11 libxcb xproto ]; })) // {inherit libX11 libxcb xproto ;}; diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list index 2372df2701e8..3abfed675f83 100644 --- a/pkgs/servers/x11/xorg/extra.list +++ b/pkgs/servers/x11/xorg/extra.list @@ -1,9 +1,8 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.3.tar.bz2 -http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2 -http://xcb.freedesktop.org/dist/xcb-proto-1.8.tar.bz2 +http://xcb.freedesktop.org/dist/libxcb-1.10.tar.bz2 +http://xcb.freedesktop.org/dist/xcb-proto-1.10.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-0.3.9.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-image-0.3.9.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.3.9.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.8.tar.bz2 -http://xcb.freedesktop.org/dist/xcb-util-wm-0.3.9.tar.bz2 -http://xorg.freedesktop.org/releases/individual/util/util-macros-1.17.tar.bz2 +http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list index 68c88594932b..7019273dd11a 100644 --- a/pkgs/servers/x11/xorg/old.list +++ b/pkgs/servers/x11/xorg/old.list @@ -1,15 +1,15 @@ -mirror://xorg/individual/app/twm-1.0.7.tar.bz2 -mirror://xorg/individual/app/xclock-1.0.6.tar.bz2 +mirror://xorg/individual/app/twm-1.0.8.tar.bz2 +mirror://xorg/individual/app/xclock-1.0.7.tar.bz2 mirror://xorg/individual/app/xdm-1.1.11.tar.bz2 mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2 mirror://xorg/individual/app/xfs-1.1.3.tar.bz2 -mirror://xorg/individual/app/xinit-1.3.2.tar.bz2 +mirror://xorg/individual/app/xinit-1.3.3.tar.bz2 mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2 mirror://xorg/individual/lib/libXp-1.0.2.tar.bz2 mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2 mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2 mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2 -mirror://xorg/individual/util/imake-1.0.5.tar.bz2 +mirror://xorg/individual/util/imake-1.0.6.tar.bz2 mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 -mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2 +mirror://xorg/individual/util/xorg-cf-files-1.0.5.tar.bz2 diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 08dc5a92b7d0..3f591cb7c0e3 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -37,6 +37,10 @@ in ''; }; + glamoregl = attrs: attrs // { + installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d"; + }; + imake = attrs: attrs // { inherit (xorg) xorgcffiles; x11BuildHook = ./imake.sh; @@ -86,6 +90,12 @@ in propagatedBuildInputs = [ xorg.libSM ]; }; + # See https://bugs.freedesktop.org/show_bug.cgi?id=47792 + # Once the bug is fixed upstream, this can be removed. + luit = attrs: attrs // { + configureFlags = "--disable-selective-werror"; + }; + compositeproto = attrs: attrs // { propagatedBuildInputs = [ xorg.fixesproto ]; }; @@ -125,7 +135,7 @@ in postInstall = '' mkdir -p $out/share - ln -sfn ${args.xkeyboard_config}/etc/X11 $out/share/X11 + ln -sfn ${xorg.xkeyboardconfig}/etc/X11 $out/share/X11 ''; }; @@ -142,13 +152,17 @@ in installFlags = "sdkdir=\${out}/include/xorg"; }; + xf86inputmouse = attrs: attrs // { + installFlags = "sdkdir=\${out}/include/xorg"; + }; + xf86inputjoystick = attrs: attrs // { installFlags = "sdkdir=\${out}/include/xorg"; }; xf86inputsynaptics = attrs: attrs // { buildInputs = attrs.buildInputs ++ [args.mtdev]; - installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg"; + installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d"; }; xf86inputvmmouse = attrs: attrs // { @@ -159,6 +173,10 @@ in ]; }; + xf86videoati = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.glamoregl}/include/xorg"; + }; + xf86videonv = attrs: attrs // { patches = [( args.fetchurl { url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da; @@ -183,7 +201,18 @@ in }; xkeyboardconfig = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [args.intltool]; + + #TODO: resurrect patches for US_intl? + patches = [ ./xkeyboard-config-eo.patch ]; + + # 1: compatibility for X11/xkb location + # 2: I think pkgconfig/ is supposed to be in /lib/ + postInstall = '' + ln -s share "$out/etc" + mkdir "$out/lib" && ln -s ../share/pkgconfig "$out/lib/" + ''; }; xorgserver = with xorg; attrs: attrs // { @@ -247,6 +276,6 @@ in }; xwd = attrs: attrs // { - buildInputs = attrs.buildInputs ++ [xorg.libXt]; + buildInputs = with xorg; attrs.buildInputs ++ [libXt libxkbfile]; }; } diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 175c98946943..74aa31ea9356 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -1,10 +1,12 @@ mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2 -mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2 +mirror://xorg/individual/app/bdftopcf-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2 mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2 +mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2 +mirror://xorg/individual/proto/presentproto-1.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2 @@ -44,24 +46,25 @@ mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2 -mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2 -mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2 +mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2 +mirror://xorg/individual/app/iceauth-1.0.6.tar.bz2 mirror://xorg/individual/proto/inputproto-2.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2 mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2 -mirror://xorg/individual/lib/libFS-1.0.5.tar.bz2 +mirror://xorg/individual/lib/libxshmfence-1.1.tar.bz2 +mirror://xorg/individual/lib/libfontenc-1.1.2.tar.bz2 +mirror://xorg/individual/lib/libFS-1.0.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2 mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2 +mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2 -mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2 +mirror://xorg/individual/lib/libX11-1.6.2.tar.bz2 +mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2 +mirror://xorg/individual/lib/libXaw-1.0.12.tar.bz2 +mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2 mirror://xorg/individual/lib/libXcursor-1.1.14.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2 +mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2 mirror://xorg/individual/lib/libXext-1.3.2.tar.bz2 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2 @@ -70,74 +73,77 @@ mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2 mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2 -mirror://xorg/individual/lib/libXrandr-1.4.1.tar.bz2 +mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2 +mirror://xorg/individual/lib/libXpm-3.5.11.tar.bz2 +mirror://xorg/individual/lib/libXrandr-1.4.2.tar.bz2 mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2 mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2 mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2 mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2 mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2 -mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2 +mirror://xorg/individual/lib/libXv-1.0.10.tar.bz2 mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2 mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2 mirror://xorg/individual/lib/libXxf86vm-1.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2 +mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2 -mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2 +mirror://xorg/individual/app/mkfontscale-1.1.1.tar.bz2 mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2 -mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2 +mirror://xorg/individual/app/sessreg-1.0.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2 -mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2 -mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2 +mirror://xorg/individual/util/util-macros-1.19.0.tar.bz2 +mirror://xorg/individual/proto/videoproto-2.3.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2 -mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2 +mirror://xorg/individual/app/xauth-1.0.8.tar.bz2 +mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2 +mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2 +mirror://xorg/individual/app/xdpyinfo-1.3.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2 +mirror://xorg/individual/app/xev-1.2.1.tar.bz2 +mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 -mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.8.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2 -mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2 +mirror://xorg/individual/driver/xf86-input-keyboard-1.8.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-mouse-1.9.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-synaptics-1.7.4.tar.bz2 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2 mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2 -mirror://xorg/individual/driver/xf86-video-ati-7.2.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ati-7.3.0.tar.bz2 +mirror://xorg/individual/driver/glamor-egl-0.6.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-nouveau-1.0.10.tar.bz2 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2 mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2 -mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2 -mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2 +mirror://xorg/individual/driver/xf86-video-geode-2.11.15.tar.bz2 +mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2 mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2 -mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2 +mirror://xorg/individual/driver/xf86-video-intel-2.21.15.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 -mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-mga-1.6.3.tar.bz2 +mirror://xorg/individual/driver/xf86-video-modesetting-0.8.1.tar.bz2 mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2 -mirror://xorg/individual/driver/xf86-video-r128-6.9.1.tar.bz2 -mirror://xorg/individual/driver/xf86-video-savage-2.3.6.tar.bz2 +mirror://xorg/individual/driver/xf86-video-r128-6.9.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-savage-2.3.7.tar.bz2 mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.7.tar.bz2 mirror://xorg/individual/driver/xf86-video-sis-0.10.7.tar.bz2 mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2 @@ -147,35 +153,35 @@ mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2 -mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vmware-13.0.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2 +mirror://xorg/individual/app/xhost-1.0.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2 +mirror://xorg/individual/app/xinput-1.6.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2 -mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.8.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2 +mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2 +mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.11.tar.bz2 +mirror://xorg/individual/app/xkill-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2 +mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2 +mirror://xorg/individual/app/xmodmap-1.0.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2 +mirror://xorg/individual/app/xprop-1.2.2.tar.bz2 +mirror://xorg/individual/proto/xproto-7.0.25.tar.bz2 +mirror://xorg/individual/app/xrandr-1.4.2.tar.bz2 +mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2 +mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2 +mirror://xorg/individual/app/xset-1.2.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2 -mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2 +mirror://xorg/individual/lib/xtrans-1.3.4.tar.bz2 +mirror://xorg/individual/app/xvinfo-1.1.2.tar.bz2 +mirror://xorg/individual/app/xwd-1.0.6.tar.bz2 +mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2 diff --git a/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix new file mode 100644 index 000000000000..5877643fb1b1 --- /dev/null +++ b/pkgs/servers/x11/xorg/xf86-video-intel-testing.nix @@ -0,0 +1,14 @@ +{ stdenv, fetchurl, pkgconfig, libdrm, udev, xorg }: + +with xorg; + +(stdenv.mkDerivation ({ + name = "xf86-video-intel-2.99.911"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-intel-2.99.911.tar.bz2; + sha256 = "1mkhfa10304xvs763dz1kj93zkmdidlfxhsy5j8ljkfc3d4nhyjf"; + }; + buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ]; +})) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes libXinerama xorgserver xproto libXrandr libXrender libXtst libXvMC ;} + diff --git a/pkgs/data/misc/xkeyboard-config/eo.patch b/pkgs/servers/x11/xorg/xkeyboard-config-eo.patch similarity index 100% rename from pkgs/data/misc/xkeyboard-config/eo.patch rename to pkgs/servers/x11/xorg/xkeyboard-config-eo.patch diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix index 52392f4b32c6..ac6e9e97f180 100644 --- a/pkgs/shells/bash/bash-4.2-patches.nix +++ b/pkgs/shells/bash/bash-4.2-patches.nix @@ -43,4 +43,7 @@ patch: [ (patch "040" "0v5a98ybibwsd4iyh18gy0kc51mx8qn9w2wfpjaiycn7yg5gjrdj") (patch "041" "1szmm8xv41hvbzgxfwrj6dg85wa7zy3781nnil428rlzpm8ikk05") (patch "042" "017kpdqy6v9sgi2a931wyzpix86n9mkalpm6n9cb45v58lgmraps") +(patch "043" "0mswgjk3z80qm1mb93jmbql27nbczxk86cw5byf0m29y1y2869nw") +(patch "044" "1rk6jywzfvg1crvhib1zk37rsps73minhr7l4vcb3vfdkin2vlqh") +(patch "045" "0vcqn9rb26bahhrarbwhpa0ny0nrf4vyrzh97d44lfcxypqfzdyx") ] diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 27f2b032476e..7b70e98d2cd4 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -1,34 +1,35 @@ -{ stdenv, fetchurl, autoconf, ncurses, which, groff, gettext }: +{ stdenv, fetchurl, ncurses, python27, which, groff, gettext, man_db, bc }: stdenv.mkDerivation rec { - name = "fish-2.1.0"; + name = "fish-${version}"; + version = "2.1.0"; src = fetchurl { - url = http://fishshell.com/files/2.1.0/fish-2.1.0.tar.gz; - sha1 = "b1764cba540055cb8e2a96a7ea4c844b04a32522"; + url = "http://fishshell.com/files/${version}/${name}.tar.gz"; + sha256 = "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg"; }; - nativeBuildInputs = [ autoconf ]; + buildInputs = [ ncurses ]; - buildInputs = [ ncurses which ]; - - preConfigure = '' - autoconf - ''; + # Required binaries during execution + # Python27: Autocompletion generated from manpages and config editing + propagatedBuildInputs = [ python27 which groff gettext man_db bc ]; postInstall = '' - sed -i "s|which |command -v |" "$out/share/fish/functions/type.fish" + sed -i "s|bc|${bc}/bin/bc|" "$out/share/fish/functions/seq.fish" + sed -i "s|which |${which}/bin/which |" "$out/share/fish/functions/type.fish" sed -i "s|nroff |${groff}/bin/nroff |" "$out/share/fish/functions/__fish_print_help.fish" sed -e "s|gettext |${gettext}/bin/gettext |" \ - -e "s|which |command -v |" \ + -e "s|which |${which}/bin/which |" \ -i "$out/share/fish/functions/_.fish" + sed -i "s|Popen(\['manpath'|Popen(\['${man_db}/bin/manpath'|" "$out/share/fish/tools/create_manpage_completions.py" ''; meta = with stdenv.lib; { description = "Smart and user-friendly command line shell"; - homepage = http://fishshell.com/; + homepage = "http://fishshell.com/"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = [ stdenv.lib.maintainers.ocharles ]; + maintainers = with maintainers; [ ocharles ]; }; } diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix index b9b9129cb486..cb0cc95c4ced 100644 --- a/pkgs/shells/ipython/default.nix +++ b/pkgs/shells/ipython/default.nix @@ -13,12 +13,12 @@ assert qtconsoleSupport == true -> pyqt4 != null; assert pylabQtSupport == true -> pyqt4 != null && sip != null; buildPythonPackage rec { - name = "ipython-1.1.0"; + name = "ipython-2.0.0"; namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz"; - sha256 = "1glivwy7k2dciy0y5i39syngip84nrqhpggn4glmpd2s49jllkkc"; + sha256 = "0fl9sznx83y2ck8wh5zr8avzjm5hz6r0xz38ij2fil3gin7w10sf"; }; propagatedBuildInputs = [ diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index 50a33700b3b2..37ffb09288e0 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -2,13 +2,13 @@ let - version = "5.0.2"; + version = "5.0.5"; documentation = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.bz2"; - sha256 = "99ee08cfc91935af8714bd98db652f016d6c7a8a71ba7c6d6223910cd0b7fbf1"; + sha256 = "1wljqii2lkz5kc4y3xs65isnahvnlj678b9zv31bn444mapjpwp4"; }; - + in stdenv.mkDerivation { @@ -16,9 +16,9 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}.tar.bz2"; - sha256 = "eb220ae5a8076191ec6b4c6a5a2f18122d074a19f25b45f0320b44b8166c5a03"; + sha256 = "1bwfz9n850pclzmzrb437icfhzv1s5pgh2dhs92f194gdkxx4936"; }; - + buildInputs = [ ncurses coreutils ]; preConfigure = '' diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 662f3307b463..0e45ad05531c 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -2,27 +2,20 @@ a new stdenv with different behaviour, e.g. using a different C compiler. */ -{dietlibc, fetchurl, runCommand}: - +pkgs: rec { # Override the compiler in stdenv for specific packages. - overrideGCC = stdenv: gcc: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // { NIX_GCC = gcc; }); - inherit gcc; - }; + overrideGCC = stdenv: gcc: stdenv.override { inherit gcc; }; # Add some arbitrary packages to buildInputs for specific packages. # Used to override packages in stdenv like Make. Should not be used # for other dependencies. - overrideInStdenv = stdenv: pkgs: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // - { buildInputs = args.buildInputs or [] ++ pkgs; } - ); - }; + overrideInStdenv = stdenv: pkgs: + stdenv.override (prev: { extraBuildInputs = prev.extraBuildInputs or [] ++ pkgs; }); # Override the setup script of stdenv. Useful for testing new @@ -33,7 +26,7 @@ rec { # randomPkg = import ../bla { ... # stdenv = overrideSetup stdenv ../stdenv/generic/setup-latest.sh; # }; - overrideSetup = stdenv: setup: stdenv.regenerate setup; + overrideSetup = stdenv: setupScript: stdenv.override { inherit setupScript; }; # Return a modified stdenv that uses dietlibc to create small @@ -57,13 +50,13 @@ rec { NIX_GCC = import ../build-support/gcc-wrapper { inherit stdenv; - libc = dietlibc; + libc = pkgs.dietlibc; inherit (stdenv.gcc) gcc binutils nativeTools nativePrefix; nativeLibc = false; }; }); isDietLibC = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that uses klibc to create small @@ -80,7 +73,7 @@ rec { configureFlags = args.configureFlags or "" + " --disable-shared"; # brrr... - NIX_GCC = runCommand "klibc-wrapper" {} '' + NIX_GCC = pkgs.runCommand "klibc-wrapper" {} '' mkdir -p $out/bin ln -s ${klibc}/bin/klcc $out/bin/gcc ln -s ${klibc}/bin/klcc $out/bin/cc @@ -90,7 +83,7 @@ rec { }); isKlibc = true; isStatic = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that tries to build statically linked @@ -103,7 +96,7 @@ rec { + " --disable-shared"; # brrr... }); isStatic = true; - } // {inherit fetchurl;}; + }; # Return a modified stdenv that builds static libraries instead of @@ -115,7 +108,7 @@ rec { toString args.configureFlags or "" + " --enable-static --disable-shared"; }); - } // {inherit fetchurl;}; + }; # Return a modified stdenv that adds a cross compiler to the @@ -194,76 +187,13 @@ rec { { mkDerivation = args: stdenv.mkDerivation (args // extraAttrs); }; - /* Return a modified stdenv that performs the build under $out/.build - instead of in $TMPDIR. Thus, the sources are kept available. - This is useful for things like debugging or generation of - dynamic analysis reports. */ - keepBuildTree = stdenv: - addAttrsToDerivation - { prePhases = "moveBuildDir"; - - moveBuildDir = - '' - mkdir -p $out/.build - cd $out/.build - ''; - } stdenv; - - - cleanupBuildTree = stdenv: - addAttrsToDerivation - { postPhases = "cleanupBuildDir"; - - # Get rid of everything that isn't a gcno file or a C source - # file. This also includes the gcda files; we're not - # interested in coverage resulting from the package's own test - # suite. Also strip the `.tmp_' prefix from gcno files. (The - # Linux kernel creates these.) - cleanupBuildDir = - '' - find $out/.build/ -type f -a ! \ - \( -name "*.c" -o -name "*.h" -o -name "*.gcno" \) \ - | xargs rm -f -- - - for i in $(find $out/.build/ -name ".tmp_*.gcno"); do - mv "$i" "$(echo $i | sed s/.tmp_//)" - done - ''; - } stdenv; - - /* Return a modified stdenv that builds packages with GCC's coverage instrumentation. The coverage note files (*.gcno) are stored in $out/.build, along with the source code of the package, to enable programs like lcov to produce pretty-printed reports. */ addCoverageInstrumentation = stdenv: - addAttrsToDerivation - { - postUnpack = - '' - # This is an uberhack to prevent libtool from removing gcno - # files. This has been fixed in libtool, but there are - # packages out there with old ltmain.sh scripts. - # See http://www.mail-archive.com/libtool@gnu.org/msg10725.html - for i in $(find -name ltmain.sh); do - substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)' - done - - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" - ''; - } - - # Object files instrumented with coverage analysis write - # runtime coverage data to /.gcda, where - # is the location where gcc originally created the object - # file. That would be /tmp/nix-build-, which will - # be long gone by the time we run the program. Furthermore, - # the .gcno files created at compile time are also - # written there. And to make nice coverage reports with lcov, - # we need the source code. So we have to use the - # `keepBuildTree' adapter as well. - (cleanupBuildTree (keepBuildTree stdenv)); + overrideInStdenv stdenv [ pkgs.enableGCOVInstrumentation pkgs.keepBuildTree ]; /* Replace the meta.maintainers field of a derivation. This is useful @@ -277,7 +207,7 @@ rec { */ replaceMaintainersField = stdenv: pkgs: maintainers: stdenv // { mkDerivation = args: - pkgs.lib.recursiveUpdate + stdenv.lib.recursiveUpdate (stdenv.mkDerivation args) { meta.maintainers = maintainers; }; }; @@ -354,4 +284,17 @@ rec { }); }; + + /* Modify a stdenv so that it used the Gold linker. */ + useGoldLinker = stdenv: + let + binutils = stdenv.gcc.binutils; + binutils' = pkgs.runCommand "${binutils.name}-gold" { } + '' + mkdir -p $out/bin + ln -s ${binutils}/bin/* $out/bin/ + ln -sfn ${binutils}/bin/ld.gold $out/bin/ld + ''; # */ + in overrideGCC stdenv (stdenv.gcc.override { binutils = binutils'; }); + } diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index ca90b46192e3..a2723f5575c0 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -62,5 +62,6 @@ rec { if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else if stdenvType == "i686-mingw" then stdenvMinGW else if stdenvType == "x86_64-darwin" then stdenvNix else + if stdenvType == "x86_64-solaris" then stdenvNix else stdenvNative; } diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index a139d47a8ccd..b0031178bbd4 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -1,180 +1,175 @@ +let lib = import ../../../lib; in lib.makeOverridable ( + { system, name ? "stdenv", preHook ? "", initialPath, gcc, shell , extraAttrs ? {}, overrides ? (pkgs: {}), config , # The `fetchurl' to use for downloading curl and its dependencies # (see all-packages.nix). fetchurlBoot + +, setupScript ? ./setup.sh + +, extraBuildInputs ? [] }: -if ! builtins ? langVersion then - - abort "This version of Nixpkgs requires Nix >= 1.2, please upgrade!" - -else - let - lib = import ../../../lib; + allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; - allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; - - allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; + allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null); - stdenvGenerator = setupScript: rec { + # The stdenv that we are producing. + result = - # The stdenv that we are producing. - result = + derivation { + inherit system name; - derivation { - inherit system name; + builder = shell; - builder = shell; + args = ["-e" ./builder.sh]; - args = ["-e" ./builder.sh]; + setup = setupScript; - setup = setupScript; + inherit preHook initialPath gcc shell; - inherit preHook initialPath gcc shell; + propagatedUserEnvPkgs = [gcc] ++ + lib.filter lib.isDerivation initialPath; - propagatedUserEnvPkgs = [gcc] ++ - lib.filter lib.isDerivation initialPath; + __ignoreNulls = true; + } - __ignoreNulls = true; - } + // rec { - // rec { + meta = { + description = "The default build environment for Unix packages in Nixpkgs"; + }; - meta = { - description = "The default build environment for Unix packages in Nixpkgs"; - }; - - # Add a utility function to produce derivations that use this - # stdenv and its shell. - mkDerivation = attrs: - let - pos = - if attrs.meta.description or null != null then - unsafeGetAttrPos "description" attrs.meta - else - unsafeGetAttrPos "name" attrs; - pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»"; - in - if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then - throw "package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate" - else if !allowBroken && attrs.meta.broken or false then - throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken" - else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then - throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’" - else - lib.addPassthru (derivation ( - (removeAttrs attrs ["meta" "passthru" "crossAttrs"]) - // (let - buildInputs = attrs.buildInputs or []; - nativeBuildInputs = attrs.nativeBuildInputs or []; - propagatedBuildInputs = attrs.propagatedBuildInputs or []; - propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or []; - crossConfig = attrs.crossConfig or null; - in - { - builder = attrs.realBuilder or shell; - args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; - stdenv = result; - system = result.system; - userHook = config.stdenv.userHook or null; - - # Inputs built by the cross compiler. - buildInputs = lib.optionals (crossConfig != null) buildInputs; - propagatedBuildInputs = lib.optionals (crossConfig != null) - propagatedBuildInputs; - # Inputs built by the usual native compiler. - nativeBuildInputs = nativeBuildInputs ++ lib.optionals - (crossConfig == null) buildInputs; - propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ - lib.optionals (crossConfig == null) propagatedBuildInputs; - }))) ( + # Add a utility function to produce derivations that use this + # stdenv and its shell. + mkDerivation = attrs: + let + pos = + if attrs.meta.description or null != null then + unsafeGetAttrPos "description" attrs.meta + else + unsafeGetAttrPos "name" attrs; + pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»"; + in + if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then + throw '' + Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate. You can set + { nixpkgs.config.allowUnfree = true; } + in configuration.nix to override this. If you use Nix standalone, you can add + { config.allowUnfree = true; } + to ~/.nixpkgs/config.nix or pass + --arg config '{ allowUnfree = true; }' + on the command line.'' + else if !allowBroken && attrs.meta.broken or false then + throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken" + else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then + throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’" + else + lib.addPassthru (derivation ( + (removeAttrs attrs ["meta" "passthru" "crossAttrs"]) + // (let + buildInputs = attrs.buildInputs or []; + nativeBuildInputs = attrs.nativeBuildInputs or []; + propagatedBuildInputs = attrs.propagatedBuildInputs or []; + propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or []; + crossConfig = attrs.crossConfig or null; + in { - # The meta attribute is passed in the resulting attribute set, - # but it's not part of the actual derivation, i.e., it's not - # passed to the builder and is not a dependency. But since we - # include it in the result, it *is* available to nix-env for - # queries. We also a meta.position attribute here to - # identify the source location of the package. - meta = attrs.meta or {} // (if pos != null then { - position = pos.file + ":" + (toString pos.line); - } else {}); - passthru = attrs.passthru or {}; - } // - # Pass through extra attributes that are not inputs, but - # should be made available to Nix expressions using the - # derivation (e.g., in assertions). - (attrs.passthru or {})); + builder = attrs.realBuilder or shell; + args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; + stdenv = result; + system = result.system; + userHook = config.stdenv.userHook or null; - # Utility flags to test the type of platform. - isDarwin = result.system == "x86_64-darwin"; - isLinux = result.system == "i686-linux" - || result.system == "x86_64-linux" - || result.system == "powerpc-linux" - || result.system == "armv5tel-linux" - || result.system == "armv6l-linux" - || result.system == "armv7l-linux" - || result.system == "mips64el-linux"; - isGNU = result.system == "i686-gnu"; # GNU/Hurd - isGlibc = isGNU # useful for `stdenvNative' - || isLinux - || result.system == "x86_64-kfreebsd-gnu"; - isSunOS = result.system == "i686-solaris" - || result.system == "x86_64-solaris"; - isCygwin = result.system == "i686-cygwin"; - isFreeBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd"; - isOpenBSD = result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isBSD = result.system == "i686-freebsd" - || result.system == "x86_64-freebsd" - || result.system == "i686-openbsd" - || result.system == "x86_64-openbsd"; - isi686 = result.system == "i686-linux" - || result.system == "i686-gnu" - || result.system == "i686-freebsd" - || result.system == "i686-openbsd" - || result.system == "i386-sunos"; - isx86_64 = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd"; - is64bit = result.system == "x86_64-linux" - || result.system == "x86_64-darwin" - || result.system == "x86_64-freebsd" - || result.system == "x86_64-openbsd"; - isMips = result.system == "mips-linux" - || result.system == "mips64el-linux"; - isArm = result.system == "armv5tel-linux" - || result.system == "armv6l-linux" - || result.system == "armv7l-linux"; + # Inputs built by the cross compiler. + buildInputs = lib.optionals (crossConfig != null) (buildInputs ++ extraBuildInputs); + propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs; + # Inputs built by the usual native compiler. + nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) (buildInputs ++ extraBuildInputs); + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ + lib.optionals (crossConfig == null) propagatedBuildInputs; + }))) ( + { + # The meta attribute is passed in the resulting attribute set, + # but it's not part of the actual derivation, i.e., it's not + # passed to the builder and is not a dependency. But since we + # include it in the result, it *is* available to nix-env for + # queries. We also a meta.position attribute here to + # identify the source location of the package. + meta = attrs.meta or {} // (if pos != null then { + position = pos.file + ":" + (toString pos.line); + } else {}); + passthru = attrs.passthru or {}; + } // + # Pass through extra attributes that are not inputs, but + # should be made available to Nix expressions using the + # derivation (e.g., in assertions). + (attrs.passthru or {})); - # Utility function: allow stdenv to be easily regenerated with - # a different setup script. (See all-packages.nix for an - # example.) - regenerate = stdenvGenerator; + # Utility flags to test the type of platform. + isDarwin = system == "x86_64-darwin"; + isLinux = system == "i686-linux" + || system == "x86_64-linux" + || system == "powerpc-linux" + || system == "armv5tel-linux" + || system == "armv6l-linux" + || system == "armv7l-linux" + || system == "mips64el-linux"; + isGNU = system == "i686-gnu"; # GNU/Hurd + isGlibc = isGNU # useful for `stdenvNative' + || isLinux + || system == "x86_64-kfreebsd-gnu"; + isSunOS = system == "i686-solaris" + || system == "x86_64-solaris"; + isCygwin = system == "i686-cygwin"; + isFreeBSD = system == "i686-freebsd" + || system == "x86_64-freebsd"; + isOpenBSD = system == "i686-openbsd" + || system == "x86_64-openbsd"; + isBSD = system == "i686-freebsd" + || system == "x86_64-freebsd" + || system == "i686-openbsd" + || system == "x86_64-openbsd"; + isi686 = system == "i686-linux" + || system == "i686-gnu" + || system == "i686-freebsd" + || system == "i686-openbsd" + || system == "i386-sunos"; + isx86_64 = system == "x86_64-linux" + || system == "x86_64-darwin" + || system == "x86_64-freebsd" + || system == "x86_64-openbsd" + || system == "x86_64-solaris"; + is64bit = system == "x86_64-linux" + || system == "x86_64-darwin" + || system == "x86_64-freebsd" + || system == "x86_64-openbsd" + || system == "x86_64-solaris"; + isMips = system == "mips-linux" + || system == "mips64el-linux"; + isArm = system == "armv5tel-linux" + || system == "armv6l-linux" + || system == "armv7l-linux"; - # For convenience, bring in the library functions in lib/ so - # packages don't have to do that themselves. - inherit lib; + # For convenience, bring in the library functions in lib/ so + # packages don't have to do that themselves. + inherit lib; - inherit fetchurlBoot; + inherit fetchurlBoot; - inherit overrides; - } + inherit overrides; + } - # Propagate any extra attributes. For instance, we use this to - # "lift" packages like curl from the final stdenv for Linux to - # all-packages.nix for that platform (meaning that it has a line - # like curl = if stdenv ? curl then stdenv.curl else ...). - // extraAttrs; + # Propagate any extra attributes. For instance, we use this to + # "lift" packages like curl from the final stdenv for Linux to + # all-packages.nix for that platform (meaning that it has a line + # like curl = if stdenv ? curl then stdenv.curl else ...). + // extraAttrs; - }.result; - - -in stdenvGenerator ./setup.sh +in result) diff --git a/pkgs/stdenv/generic/setup-repeatable.sh b/pkgs/stdenv/generic/setup-repeatable.sh deleted file mode 100644 index 3b2e01519320..000000000000 --- a/pkgs/stdenv/generic/setup-repeatable.sh +++ /dev/null @@ -1,876 +0,0 @@ -# Run the named hook, either by calling the function with that name or -# by evaluating the variable with that name. This allows convenient -# setting of hooks both from Nix expressions (as attributes / -# environment variables) and from shell scripts (as functions). -runHook() { - local hookName="$1" - case "$(type -t $hookName)" in - (function|alias|builtin) $hookName;; - (file) source $hookName;; - (keyword) :;; - (*) eval "${!hookName}";; - esac -} - - -exitHandler() { - exitCode=$? - set +e - - closeNest - - if [ -n "$showBuildStats" ]; then - times > "$NIX_BUILD_TOP/.times" - local -a times=($(cat "$NIX_BUILD_TOP/.times")) - # Print the following statistics: - # - user time for the shell - # - system time for the shell - # - user time for all child processes - # - system time for all child processes - echo "build time elapsed: " ${times[*]} - fi - - if [ $exitCode != 0 ]; then - runHook failureHook - - # If the builder had a non-zero exit code and - # $succeedOnFailure is set, create the file - # `$out/nix-support/failed' to signal failure, and exit - # normally. Otherwise, return the original exit code. - if [ -n "$succeedOnFailure" ]; then - echo "build failed with exit code $exitCode (ignored)" - mkdir -p "$out/nix-support" - echo -n $exitCode > "$out/nix-support/failed" - exit 0 - fi - - else - runHook exitHook - fi - - exit $exitCode -} - -trap "exitHandler" EXIT - - -###################################################################### -# Helper functions that might be useful in setup hooks. - - -addToSearchPathWithCustomDelimiter() { - local delimiter=$1 - local varName=$2 - local dir=$3 - if [ -d "$dir" ]; then - eval export ${varName}=${!varName}${!varName:+$delimiter}${dir} - fi -} - -PATH_DELIMITER=':' - -addToSearchPath() { - addToSearchPathWithCustomDelimiter "${PATH_DELIMITER}" "$@" -} - - -###################################################################### -# Initialisation. - -set -e - -[ -z $NIX_GCC ] && NIX_GCC=@gcc@ - - -# Wildcard expansions that don't match should expand to an empty list. -# This ensures that, for instance, "for i in *; do ...; done" does the -# right thing. -shopt -s nullglob - - -# Set up the initial path. -PATH= -for i in $NIX_GCC @initialPath@; do - if [ "$i" = / ]; then i=; fi - addToSearchPath PATH $i/bin -done - -if [ "$NIX_DEBUG" = 1 ]; then - echo "initial path: $PATH" -fi - - -# Execute the pre-hook. -export SHELL=@shell@ -if [ -z "$shell" ]; then export shell=@shell@; fi -runHook preHook - - -# Check that the pre-hook initialised SHELL. -if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi - - -# Hack: run gcc's setup hook. -envHooks=() -crossEnvHooks=() -if [ -f $NIX_GCC/nix-support/setup-hook ]; then - source $NIX_GCC/nix-support/setup-hook -fi - - -# Ensure that the given directories exists. -ensureDir() { - local dir - for dir in "$@"; do - if ! [ -x "$dir" ]; then mkdir -p "$dir"; fi - done -} - -installBin() { - mkdir -p $out/bin - cp "$@" $out/bin -} - - -# Allow the caller to augment buildInputs (it's not always possible to -# do this before the call to setup.sh, since the PATH is empty at that -# point; here we have a basic Unix environment). -runHook addInputsHook - - -# Recursively find all build inputs. -findInputs() { - local pkg=$1 - local var=$2 - local propagatedBuildInputsFile=$3 - - case ${!var} in - *\ $pkg\ *) - return 0 - ;; - esac - - eval $var="'${!var} $pkg '" - - if [ -f $pkg/nix-support/setup-hook ]; then - source $pkg/nix-support/setup-hook - fi - - if [ -f $pkg/nix-support/$propagatedBuildInputsFile ]; then - for i in $(cat $pkg/nix-support/$propagatedBuildInputsFile); do - findInputs $i $var $propagatedBuildInputsFile - done - fi -} - -crossPkgs="" -for i in $buildInputs $propagatedBuildInputs; do - findInputs $i crossPkgs propagated-build-inputs -done - -nativePkgs="" -for i in $nativeBuildInputs $propagatedNativeBuildInputs; do - findInputs $i nativePkgs propagated-native-build-inputs -done - - -# Set the relevant environment variables to point to the build inputs -# found above. -addToNativeEnv() { - local pkg=$1 - - if [ -d $1/bin ]; then - addToSearchPath _PATH $1/bin - fi - - # Run the package-specific hooks set by the setup-hook scripts. - for i in "${envHooks[@]}"; do - $i $pkg - done -} - -for i in $nativePkgs; do - addToNativeEnv $i -done - -addToCrossEnv() { - local pkg=$1 - - # Some programs put important build scripts (freetype-config and similar) - # into their crossDrv bin path. Intentionally these should go after - # the nativePkgs in PATH. - if [ -d $1/bin ]; then - addToSearchPath _PATH $1/bin - fi - - # Run the package-specific hooks set by the setup-hook scripts. - for i in "${crossEnvHooks[@]}"; do - $i $pkg - done -} - -for i in $crossPkgs; do - addToCrossEnv $i -done - - -# Add the output as an rpath. -if [ "$NIX_NO_SELF_RPATH" != 1 ]; then - export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS" - if [ -n "$NIX_LIB64_IN_SELF_RPATH" ]; then - export NIX_LDFLAGS="-rpath $out/lib64 $NIX_LDFLAGS" - fi - if [ -n "$NIX_LIB32_IN_SELF_RPATH" ]; then - export NIX_LDFLAGS="-rpath $out/lib32 $NIX_LDFLAGS" - fi -fi - - -# Set the TZ (timezone) environment variable, otherwise commands like -# `date' will complain (e.g., `Tue Mar 9 10:01:47 Local time zone must -# be set--see zic manual page 2004'). -export TZ=UTC - - -# Set the prefix. This is generally $out, but it can be overriden, -# for instance if we just want to perform a test build/install to a -# temporary location and write a build report to $out. -if [ -z "$prefix" ]; then - prefix="$out"; -fi - -if [ "$useTempPrefix" = 1 ]; then - prefix="$NIX_BUILD_TOP/tmp_prefix"; -fi - - -PATH=$_PATH${_PATH:+:}$PATH -if [ "$NIX_DEBUG" = 1 ]; then - echo "final path: $PATH" -fi - - -# Make GNU Make produce nested output. -export NIX_INDENT_MAKE=1 - - -# Normalize the NIX_BUILD_CORES variable. The value might be 0, which -# means that we're supposed to try and auto-detect the number of -# available CPU cores at run-time. - -if [ -z "${NIX_BUILD_CORES:-}" ]; then - NIX_BUILD_CORES="1" -elif [ "$NIX_BUILD_CORES" -le 0 ]; then - NIX_BUILD_CORES=$(nproc 2>/dev/null || true) - if expr >/dev/null 2>&1 "$NIX_BUILD_CORES" : "^[0-9][0-9]*$"; then - : - else - NIX_BUILD_CORES="1" - fi -fi -export NIX_BUILD_CORES - - -###################################################################### -# Misc. helper functions. - - -stripDirs() { - local dirs="$1" - local stripFlags="$2" - local dirsNew= - - for d in ${dirs}; do - if [ -d "$prefix/$d" ]; then - dirsNew="${dirsNew} $prefix/$d " - fi - done - dirs=${dirsNew} - - if [ -n "${dirs}" ]; then - header "stripping (with flags $stripFlags) in $dirs" - find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true - stopNest - fi -} - - -###################################################################### -# Textual substitution functions. - - -substitute() { - local input="$1" - local output="$2" - - local -a params=("$@") - - local n p pattern replacement varName - - local content="$(cat $input)" - - for ((n = 2; n < ${#params[*]}; n += 1)); do - p=${params[$n]} - - if [ "$p" = --replace ]; then - pattern="${params[$((n + 1))]}" - replacement="${params[$((n + 2))]}" - n=$((n + 2)) - fi - - if [ "$p" = --subst-var ]; then - varName="${params[$((n + 1))]}" - pattern="@$varName@" - replacement="${!varName}" - n=$((n + 1)) - fi - - if [ "$p" = --subst-var-by ]; then - pattern="@${params[$((n + 1))]}@" - replacement="${params[$((n + 2))]}" - n=$((n + 2)) - fi - - content="${content//"$pattern"/$replacement}" - done - - # !!! This doesn't work properly if $content is "-n". - echo -n "$content" > "$output".tmp - if [ -x "$output" ]; then chmod +x "$output".tmp; fi - mv -f "$output".tmp "$output" -} - - -substituteInPlace() { - local fileName="$1" - shift - substitute "$fileName" "$fileName" "$@" -} - - -substituteAll() { - local input="$1" - local output="$2" - - # Select all environment variables that start with a lowercase character. - for envVar in $(env | sed "s/^[^a-z].*//" | sed "s/^\([^=]*\)=.*/\1/"); do - if [ "$NIX_DEBUG" = "1" ]; then - echo "$envVar -> ${!envVar}" - fi - args="$args --subst-var $envVar" - done - - substitute "$input" "$output" $args -} - - -substituteAllInPlace() { - local fileName="$1" - shift - substituteAll "$fileName" "$fileName" "$@" -} - - -###################################################################### -# What follows is the generic builder. - - -nestingLevel=0 - -startNest() { - nestingLevel=$(($nestingLevel + 1)) - echo -en "\033[$1p" -} - -stopNest() { - nestingLevel=$(($nestingLevel - 1)) - echo -en "\033[q" -} - -header() { - startNest "$2" - echo "$1" -} - -# Make sure that even when we exit abnormally, the original nesting -# level is properly restored. -closeNest() { - while [ $nestingLevel -gt 0 ]; do - stopNest - done -} - - -# This function is useful for debugging broken Nix builds. It dumps -# all environment variables to a file `env-vars' in the build -# directory. If the build fails and the `-K' option is used, you can -# then go to the build directory and source in `env-vars' to reproduce -# the environment used for building. -dumpVars() { - if [ "$noDumpEnvVars" != 1 ]; then - export > "$NIX_BUILD_TOP/env-vars" - fi -} - - -# Utility function: return the base name of the given path, with the -# prefix `HASH-' removed, if present. -stripHash() { - strippedName=$(basename $1); - if echo "$strippedName" | grep -q '^[a-z0-9]\{32\}-'; then - strippedName=$(echo "$strippedName" | cut -c34-) - fi -} - - -unpackFile() { - curSrc="$1" - local cmd - - header "unpacking source archive $curSrc" 3 - - case "$curSrc" in - *.tar.xz | *.tar.lzma) - # Don't rely on tar knowing about .xz. - xz -d < $curSrc | tar xf - - ;; - *.tar | *.tar.* | *.tgz | *.tbz2) - # GNU tar can automatically select the decompression method - # (info "(tar) gzip"). - tar xf $curSrc - ;; - *.zip) - unzip -qq $curSrc - ;; - *) - if [ -d "$curSrc" ]; then - stripHash $curSrc - cp -prd --no-preserve=timestamps $curSrc $strippedName - else - if [ -z "$unpackCmd" ]; then - echo "source archive $curSrc has unknown type" - exit 1 - fi - runHook unpackCmd - fi - ;; - esac - - stopNest -} - - -unpackPhase() { - runHook preUnpack - - if [ -z "$srcs" ]; then - if [ -z "$src" ]; then - echo 'variable $src or $srcs should point to the source' - exit 1 - fi - srcs="$src" - fi - - # To determine the source directory created by unpacking the - # source archives, we record the contents of the current - # directory, then look below which directory got added. Yeah, - # it's rather hacky. - local dirsBefore="" - for i in *; do - if [ -d "$i" ]; then - dirsBefore="$dirsBefore $i " - fi - done - - # Unpack all source archives. - for i in $srcs; do - unpackFile $i - done - - # Find the source directory. - if [ -n "$setSourceRoot" ]; then - runHook setSourceRoot - elif [ -z "$sourceRoot" ]; then - sourceRoot= - for i in *; do - if [ -d "$i" ]; then - case $dirsBefore in - *\ $i\ *) - ;; - *) - if [ -n "$sourceRoot" ]; then - echo "unpacker produced multiple directories" - exit 1 - fi - sourceRoot="$i" - ;; - esac - fi - done - fi - - if [ -z "$sourceRoot" ]; then - echo "unpacker appears to have produced no directories" - exit 1 - fi - - echo "source root is $sourceRoot" - - # By default, add write permission to the sources. This is often - # necessary when sources have been copied from other store - # locations. - if [ "$dontMakeSourcesWritable" != 1 ]; then - chmod -R u+w "$sourceRoot" - fi - - runHook postUnpack -} - - -patchPhase() { - runHook prePatch - - for i in $patches; do - header "applying patch $i" 3 - local uncompress=cat - case $i in - *.gz) - uncompress="gzip -d" - ;; - *.bz2) - uncompress="bzip2 -d" - ;; - *.lzma) - uncompress="lzma -d" - ;; - esac - $uncompress < $i | patch ${patchFlags:--p1} - stopNest - done - - runHook postPatch -} - - -fixLibtool() { - sed -i -e 's^eval sys_lib_.*search_path=.*^^' "$1" -} - - -configurePhase() { - runHook preConfigure - - if [ -z "$configureScript" ]; then - configureScript=./configure - if ! [ -x $configureScript ]; then - echo "no configure script, doing nothing" - return - fi - fi - - if [ -z "$dontFixLibtool" ]; then - for i in $(find . -name "ltmain.sh"); do - echo "fixing libtool script $i" - fixLibtool $i - done - fi - - if [ -z "$dontAddPrefix" ]; then - configureFlags="${prefixKey:---prefix=}$prefix $configureFlags" - fi - - # Add --disable-dependency-tracking to speed up some builds. - if [ -z "$dontAddDisableDepTrack" ]; then - if grep -q dependency-tracking $configureScript; then - configureFlags="--disable-dependency-tracking $configureFlags" - fi - fi - - # By default, disable static builds. - if [ -z "$dontDisableStatic" ]; then - if grep -q enable-static $configureScript; then - configureFlags="--disable-static $configureFlags" - fi - fi - - echo "configure flags: $configureFlags ${configureFlagsArray[@]}" - $configureScript $configureFlags "${configureFlagsArray[@]}" - - runHook postConfigure -} - - -buildPhase() { - runHook preBuild - - if [ -z "$makeFlags" ] && ! [ -n "$makefile" -o -e "Makefile" -o -e "makefile" -o -e "GNUmakefile" ]; then - echo "no Makefile, doing nothing" - return - fi - - echo "make flags: $makeFlags ${makeFlagsArray[@]} $buildFlags ${buildFlagsArray[@]}" - make ${makefile:+-f $makefile} \ - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ - $makeFlags "${makeFlagsArray[@]}" \ - $buildFlags "${buildFlagsArray[@]}" - - runHook postBuild -} - - -checkPhase() { - runHook preCheck - - echo "check flags: $makeFlags ${makeFlagsArray[@]} $checkFlags ${checkFlagsArray[@]}" - make ${makefile:+-f $makefile} \ - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ - $makeFlags "${makeFlagsArray[@]}" \ - ${checkFlags:-VERBOSE=y} "${checkFlagsArray[@]}" ${checkTarget:-check} - - runHook postCheck -} - - -patchELF() { - # Patch all ELF executables and shared libraries. - header "patching ELF executables and libraries" - if [ -e "$prefix" ]; then - find "$prefix" \( \ - \( -type f -a -name "*.so*" \) -o \ - \( -type f -a -perm +0100 \) \ - \) -print -exec patchelf --shrink-rpath {} \; - fi - stopNest -} - - -patchShebangs() { - # Rewrite all script interpreter file names (`#! /path') under the - # specified directory tree to paths found in $PATH. E.g., - # /bin/sh will be rewritten to /nix/store/-some-bash/bin/sh. - # Interpreters that are already in the store are left untouched. - header "patching script interpreter paths" - local dir="$1" - local f - for f in $(find "$dir" -type f -perm +0100); do - local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f") - if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then - local newPath=$(type -P $(basename $oldPath) || true) - if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then - echo "$f: interpreter changed from $oldPath to $newPath" - sed -i -e "1 s,$oldPath,$newPath," "$f" - fi - fi - done - stopNest -} - - -installPhase() { - runHook preInstall - - mkdir -p "$prefix" - - installTargets=${installTargets:-install} - echo "install flags: $installTargets $makeFlags ${makeFlagsArray[@]} $installFlags ${installFlagsArray[@]}" - make ${makefile:+-f $makefile} $installTargets \ - $makeFlags "${makeFlagsArray[@]}" \ - $installFlags "${installFlagsArray[@]}" - - runHook postInstall -} - - -# The fixup phase performs generic, package-independent, Nix-related -# stuff, like running patchelf and setting the -# propagated-build-inputs. It should rarely be overriden. -fixupPhase() { - runHook preFixup - - # Put man/doc/info under $out/share. - forceShare=${forceShare:=man doc info} - if [ -n "$forceShare" ]; then - for d in $forceShare; do - if [ -d "$prefix/$d" ]; then - if [ -d "$prefix/share/$d" ]; then - echo "both $d/ and share/$d/ exists!" - else - echo "fixing location of $d/ subdirectory" - mkdir -p $prefix/share - if [ -w $prefix/share ]; then - mv -v $prefix/$d $prefix/share - ln -sv share/$d $prefix - fi - fi - fi - done; - fi - - if [ -z "$dontGzipMan" ]; then - GLOBIGNORE=.:..:*.gz:*.bz2 - for f in $out/share/man/*/* $out/share/man/*/*/*; do - if [ -f $f ]; then - if gzip -c -n $f > $f.gz; then - rm $f - else - rm $f.gz - fi - fi - done - unset GLOBIGNORE - fi - - # TODO: strip _only_ ELF executables, and return || fail here... - if [ -z "$dontStrip" ]; then - stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin} - if [ -n "$stripDebugList" ]; then - stripDirs "$stripDebugList" "${stripDebugFlags:--S --enable-deterministic-archives}" - fi - - stripAllList=${stripAllList:-} - if [ -n "$stripAllList" ]; then - stripDirs "$stripAllList" "${stripAllFlags:--s --enable-deterministic-archives}" - fi - fi - - if [ "$havePatchELF" = 1 -a -z "$dontPatchELF" ]; then - patchELF "$prefix" - fi - - if [ -z "$dontPatchShebangs" ]; then - patchShebangs "$prefix" - fi - - if [ -n "$propagatedBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" - fi - - if [ -n "$propagatedNativeBuildInputs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" - fi - - if [ -n "$propagatedUserEnvPkgs" ]; then - mkdir -p "$out/nix-support" - echo "$propagatedUserEnvPkgs" > "$out/nix-support/propagated-user-env-packages" - fi - - if [ -n "$setupHook" ]; then - mkdir -p "$out/nix-support" - substituteAll "$setupHook" "$out/nix-support/setup-hook" - fi - - runHook postFixup -} - - -installCheckPhase() { - runHook preInstallCheck - - echo "installcheck flags: $makeFlags ${makeFlagsArray[@]} $installCheckFlags ${installCheckFlagsArray[@]}" - make ${makefile:+-f $makefile} \ - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ - $makeFlags "${makeFlagsArray[@]}" \ - $installCheckFlags "${installCheckFlagsArray[@]}" ${installCheckTarget:-installcheck} - - runHook postInstallCheck -} - - -distPhase() { - runHook preDist - - echo "dist flags: $distFlags ${distFlagsArray[@]}" - make ${makefile:+-f $makefile} $distFlags "${distFlagsArray[@]}" ${distTarget:-dist} - - if [ "$dontCopyDist" != 1 ]; then - mkdir -p "$out/tarballs" - - # Note: don't quote $tarballs, since we explicitly permit - # wildcards in there. - cp -pvd ${tarballs:-*.tar.gz} $out/tarballs - fi - - runHook postDist -} - - -showPhaseHeader() { - local phase="$1" - case $phase in - unpackPhase) header "unpacking sources";; - patchPhase) header "patching sources";; - configurePhase) header "configuring";; - buildPhase) header "building";; - checkPhase) header "running tests";; - installPhase) header "installing";; - fixupPhase) header "post-installation fixup";; - installCheckPhase) header "running install tests";; - *) header "$phase";; - esac -} - - -genericBuild() { - header "building $out" - - if [ -n "$buildCommand" ]; then - eval "$buildCommand" - return - fi - - if [ -z "$phases" ]; then - phases="$prePhases unpackPhase patchPhase $preConfigurePhases \ - configurePhase $preBuildPhases buildPhase checkPhase \ - $preInstallPhases installPhase fixupPhase installCheckPhase \ - $preDistPhases distPhase $postPhases"; - fi - - for curPhase in $phases; do - if [ "$curPhase" = buildPhase -a -n "$dontBuild" ]; then continue; fi - if [ "$curPhase" = checkPhase -a -z "$doCheck" ]; then continue; fi - if [ "$curPhase" = installPhase -a -n "$dontInstall" ]; then continue; fi - if [ "$curPhase" = fixupPhase -a -n "$dontFixup" ]; then continue; fi - if [ "$curPhase" = installCheckPhase -a -z "$doInstallCheck" ]; then continue; fi - if [ "$curPhase" = distPhase -a -z "$doDist" ]; then continue; fi - - if [ -n "$tracePhases" ]; then - echo - echo "@ phase-started $out $curPhase" - fi - - showPhaseHeader "$curPhase" - dumpVars - - # Evaluate the variable named $curPhase if it exists, otherwise the - # function named $curPhase. - eval "${!curPhase:-$curPhase}" - - if [ "$curPhase" = unpackPhase ]; then - cd "${sourceRoot:-.}" - fi - - if [ -n "$tracePhases" ]; then - echo - echo "@ phase-succeeded $out $curPhase" - fi - - stopNest - done - - stopNest -} - - -# Execute the post-hook. -runHook postHook - - -# Execute the global user hook (defined through the Nixpkgs -# configuration option ‘stdenv.userHook’). This can be used to set -# global compiler optimisation flags, for instance. -runHook userHook - - -dumpVars diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index a474b6a8eaf1..1d79a45678c2 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -109,7 +109,6 @@ runHook preHook # Check that the pre-hook initialised SHELL. if [ -z "$SHELL" ]; then echo "SHELL not set"; exit 1; fi - # Hack: run gcc's setup hook. envHooks=() crossEnvHooks=() @@ -289,7 +288,7 @@ stripDirs() { if [ -n "${dirs}" ]; then header "stripping (with flags $stripFlags) in $dirs" - find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $stripFlags || true + find $dirs -type f -print0 | xargs -0 ${xargsFlags:--r} strip $commonStripFlags $stripFlags || true stopNest fi } @@ -305,9 +304,11 @@ substitute() { local -a params=("$@") - local n p pattern replacement varName + local n p pattern replacement varName content - local content="$(cat $input)" + # a slightly hacky way to keep newline at the end + content="$(cat $input; echo -n X)" + content="${content%X}" for ((n = 2; n < ${#params[*]}; n += 1)); do p=${params[$n]} @@ -540,11 +541,15 @@ patchPhase() { *.bz2) uncompress="bzip2 -d" ;; + *.xz) + uncompress="xz -d" + ;; *.lzma) uncompress="lzma -d" ;; esac - $uncompress < $i | patch ${patchFlags:--p1} + # "2>&1" is a hack to make patch fail if the decompressor fails (nonexistent patch, etc.) + $uncompress < $i 2>&1 | patch ${patchFlags:--p1} stopNest done @@ -569,7 +574,7 @@ configurePhase() { fi if [ -z "$dontFixLibtool" ]; then - for i in $(find . -name "ltmain.sh"); do + find . -iname "ltmain.sh" | while read i; do echo "fixing libtool script $i" fixLibtool $i done @@ -608,6 +613,9 @@ buildPhase() { return fi + # See https://github.com/NixOS/nixpkgs/pull/1354#issuecomment-31260409 + makeFlags="SHELL=$SHELL $makeFlags" + echo "make flags: $makeFlags ${makeFlagsArray[@]} $buildFlags ${buildFlagsArray[@]}" make ${makefile:+-f $makefile} \ ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ @@ -638,7 +646,7 @@ patchELF() { find "$prefix" \( \ \( -type f -a -name "*.so*" \) -o \ \( -type f -a -perm +0100 \) \ - \) -print -exec patchelf --shrink-rpath {} \; + \) -print -exec patchelf --shrink-rpath '{}' \; fi stopNest } @@ -648,20 +656,59 @@ patchShebangs() { # Rewrite all script interpreter file names (`#! /path') under the # specified directory tree to paths found in $PATH. E.g., # /bin/sh will be rewritten to /nix/store/-some-bash/bin/sh. + # /usr/bin/env gets special treatment so that ".../bin/env python" is + # rewritten to /nix/store//bin/python. # Interpreters that are already in the store are left untouched. header "patching script interpreter paths" local dir="$1" local f - for f in $(find "$dir" -type f -perm +0100); do - local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f") + local oldPath + local newPath + local arg0 + local args + local oldInterpreterLine + local newInterpreterLine + + find "$dir" -type f -perm +0100 | while read f; do + if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then + # missing shebang => not a script + continue + fi + + oldInterpreterLine=$(head -1 "$f" | tail -c +3) + read -r oldPath arg0 args <<< "$oldInterpreterLine" + + if $(echo "$oldPath" | grep -q "/bin/env$"); then + # Check for unsupported 'env' functionality: + # - options: something starting with a '-' + # - environment variables: foo=bar + if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then + echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" + exit 1 + fi + newPath="$(command -v "$arg0" || true)" + else + if [ "$oldPath" = "" ]; then + # If no interpreter is specified linux will use /bin/sh. Set + # oldpath="/bin/sh" so that we get /nix/store/.../sh. + oldPath="/bin/sh" + fi + newPath="$(command -v "$(basename "$oldPath")" || true)" + args="$arg0 $args" + fi + + newInterpreterLine="$newPath $args" + if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then - local newPath=$(type -P $(basename $oldPath) || true) if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then - echo "$f: interpreter changed from $oldPath to $newPath" - sed -i -e "1 s,$oldPath,$newPath," "$f" + echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\"" + # escape the escape chars so that sed doesn't interpret them + escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g') + sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" fi fi done + stopNest } @@ -687,6 +734,9 @@ installPhase() { fixupPhase() { runHook preFixup + # Make sure everything is writable so "strip" et al. work. + if [ -e "$prefix" ]; then chmod -R u+w "$prefix"; fi + # Put man/doc/info under $out/share. forceShare=${forceShare:=man doc info} if [ -n "$forceShare" ]; then @@ -707,16 +757,22 @@ fixupPhase() { fi if [ -z "$dontGzipMan" ]; then + echo "gzipping man pages" GLOBIGNORE=.:..:*.gz:*.bz2 - for f in $out/share/man/*/* $out/share/man/*/*/*; do - if [ -f $f ]; then - if gzip -c $f > $f.gz; then - rm $f + for f in "$out"/share/man/*/* "$out"/share/man/*/*/*; do + if [ -f "$f" -a ! -L "$f" ]; then + if gzip -c -n "$f" > "$f".gz; then + rm "$f" else - rm $f.gz + rm "$f".gz fi fi done + for f in "$out"/share/man/*/* "$out"/share/man/*/*/*; do + if [ -L "$f" -a -f `readlink -f "$f"`.gz ]; then + ln -sf `readlink "$f"`.gz "$f".gz && rm "$f" + fi + done unset GLOBIGNORE fi @@ -823,7 +879,7 @@ genericBuild() { if [ -z "$phases" ]; then phases="$prePhases unpackPhase patchPhase $preConfigurePhases \ configurePhase $preBuildPhases buildPhase checkPhase \ - $preInstallPhases installPhase fixupPhase installCheckPhase \ + $preInstallPhases installPhase $preFixupPhases fixupPhase installCheckPhase \ $preDistPhases distPhase $postPhases"; fi @@ -863,7 +919,8 @@ genericBuild() { } -# Execute the post-hook. +# Execute the post-hooks. +for i in "${postHooks[@]}"; do $i; done runHook postHook diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel.nix b/pkgs/stdenv/linux/bootstrap/armv5tel.nix new file mode 100644 index 000000000000..6d18b3bd8cb1 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap/armv5tel.nix @@ -0,0 +1,44 @@ +let + + fetch = { file, sha256 }: import { + url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/${file}"; + inherit sha256; + executable = true; + }; + +in { + sh = fetch { + file = "sh"; + sha256 = "1kv3gc8h209rjc5i0rzzc4pjxq23kzq25iff89in05c9vl20mn4n"; + }; + + bzip2 = fetch { + file = "bzip2"; + sha256 = "090jrj099wl33q0iq092iljilam39pv8acli59m2af0fa9z0d9f0"; + }; + + mkdir = fetch { + file = "mkdir"; + sha256 = "01s8myfvi559dsxvbanxw71vxzjv49k4gi1qh0ak6l0qx0xq602b"; + }; + + cpio = fetch { + file = "cpio"; + sha256 = "07snc8l0mn84w2xrvdmc5yfpmlbrvl2bar8wipbpvm43nzz2qbzs"; + }; + + ln = fetch { + file = "ln"; + sha256 = "0m9fz02bashpfgwfkxmrp4wa8a5r3il52bclvf6z36vsam0vx56d"; + }; + + curl = fetch { + file = "curl.bz2"; + sha256 = "19yqdjqi31zlnqn8ss2ml60iq2a1vrwfw6dmvjqp6qbxmh7yb8n8"; + }; + + bootstrapTools = { + url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/bootstrap-tools.cpio.bz2"; + sha256 = "1rn4n5kilqmv62dfjfcscbsm0w329k3gyb2v9155fsi1sl2cfzcb"; + }; +} diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2 b/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2 deleted file mode 100755 index 5c9be292fe8b..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/bzip2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/cpio b/pkgs/stdenv/linux/bootstrap/armv5tel/cpio deleted file mode 100755 index 3d69f9e5bd86..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/cpio and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2 b/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2 deleted file mode 100755 index 1f2985bd347b..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/curl.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix b/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix deleted file mode 100644 index 1d4d53a38ee6..000000000000 --- a/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - sh = ./sh; - bzip2 = ./bzip2; - mkdir = ./mkdir; - cpio = ./cpio; - ln = ./ln; - curl = ./curl.bz2; - - bootstrapTools = { - url = "http://tarballs.nixos.org/stdenv-linux/armv5tel/r18744/bootstrap-tools.cpio.bz2"; - sha256 = "1rn4n5kilqmv62dfjfcscbsm0w329k3gyb2v9155fsi1sl2cfzcb"; - }; -} diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/ln b/pkgs/stdenv/linux/bootstrap/armv5tel/ln deleted file mode 100755 index f2c0db164010..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/ln and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir b/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir deleted file mode 100755 index c551673d32a5..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/mkdir and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel/sh b/pkgs/stdenv/linux/bootstrap/armv5tel/sh deleted file mode 100755 index 74d82aa94f20..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/armv5tel/sh and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix b/pkgs/stdenv/linux/bootstrap/armv6l.nix similarity index 62% rename from pkgs/stdenv/linux/bootstrap/armv6l/default.nix rename to pkgs/stdenv/linux/bootstrap/armv6l.nix index ecda6be8bd32..85b868359052 100644 --- a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix +++ b/pkgs/stdenv/linux/bootstrap/armv6l.nix @@ -1,11 +1,7 @@ -{ - sh = ../armv5tel/sh; - bzip2 = ../armv5tel/bzip2; - mkdir = ../armv5tel/mkdir; - cpio = ../armv5tel/cpio; - ln = ../armv5tel/ln; - curl = ../armv5tel/curl.bz2; +# Use the static tools for armv5tel-linux. +(import ./armv5tel.nix) // +{ bootstrapTools = { # Built from make-bootstrap-tools-crosspi.nix # nixpkgs rev eb0422e4c1263a65a9b2b954fe10a1e03d67db3e diff --git a/pkgs/stdenv/linux/bootstrap/armv7l/default.nix b/pkgs/stdenv/linux/bootstrap/armv7l/default.nix deleted file mode 100644 index 0fc2002068ef..000000000000 --- a/pkgs/stdenv/linux/bootstrap/armv7l/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -# rely on ARM backward compatibility to build armv7l binaries with the -# bootstrap tools of armv5tel. -import ../armv5tel \ No newline at end of file diff --git a/pkgs/stdenv/linux/bootstrap/i686.nix b/pkgs/stdenv/linux/bootstrap/i686.nix new file mode 100644 index 000000000000..7b6b3ee80344 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap/i686.nix @@ -0,0 +1,39 @@ +let + + fetch = { file, sha256 }: import { + url = "http://tarballs.nixos.org/stdenv-linux/i686/r24519/${file}"; + inherit sha256; + executable = true; + }; + +in { + sh = fetch { + file = "sh"; + sha256 = "1l6sdhyqjlh4m5gj3pfpi8aisp1m012lpwxfcc4v1x8g429mflmy"; + }; + + bzip2 = fetch { + file = "bzip2"; + sha256 = "1p5nkrdn52jm6rsx8x3wwjpsh83f2qsjl1qckkgnkplwhj23zjp7"; + }; + + mkdir = fetch { + file = "mkdir"; + sha256 = "02ff7i9ph9ahiapsg2v9c3pwr7sl73sk4n7ic112ljkrgwkail33"; + }; + + cpio = fetch { + file = "cpio"; + sha256 = "046if3aqqramyhrn2yxrjf4bfkl8x1bcqxhvi7ml9nrv9smx8irg"; + }; + + curl = fetch { + file = "curl.bz2"; + sha256 = "1v0yfb4gcdyqpl2fxlxjh337r28c23iqm7vwck4p4643xd55di7q"; + }; + + bootstrapTools = { + url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2; + sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij"; + }; +} diff --git a/pkgs/stdenv/linux/bootstrap/i686/bzip2 b/pkgs/stdenv/linux/bootstrap/i686/bzip2 deleted file mode 100755 index 6cd5273c3336..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/bzip2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/i686/cpio b/pkgs/stdenv/linux/bootstrap/i686/cpio deleted file mode 100755 index 387b67664f6c..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/cpio and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/i686/curl.bz2 b/pkgs/stdenv/linux/bootstrap/i686/curl.bz2 deleted file mode 100755 index a6dd7502b5a3..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/curl.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/i686/default.nix b/pkgs/stdenv/linux/bootstrap/i686/default.nix deleted file mode 100644 index dc4fee1beccb..000000000000 --- a/pkgs/stdenv/linux/bootstrap/i686/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - sh = ./sh; - bzip2 = ./bzip2; - mkdir = ./mkdir; - cpio = ./cpio; - ln = ./ln; - curl = ./curl.bz2; - - bootstrapTools = { - url = http://tarballs.nixos.org/stdenv-linux/i686/r24519/bootstrap-tools.cpio.bz2; - sha256 = "0imypaxy6piwbk8ff2y1nr7yk49pqmdgdbv6g8miq1zs5yfip6ij"; - }; -} diff --git a/pkgs/stdenv/linux/bootstrap/i686/ln b/pkgs/stdenv/linux/bootstrap/i686/ln deleted file mode 100755 index 57ddcf8dcf73..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/ln and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/i686/mkdir b/pkgs/stdenv/linux/bootstrap/i686/mkdir deleted file mode 100755 index 18c35db0aff1..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/mkdir and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/i686/sh b/pkgs/stdenv/linux/bootstrap/i686/sh deleted file mode 100755 index 13e681ed1a9e..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/sh and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f.nix b/pkgs/stdenv/linux/bootstrap/loongson2f.nix new file mode 100644 index 000000000000..8e22a274974a --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap/loongson2f.nix @@ -0,0 +1,44 @@ +let + + fetch = { file, sha256 }: import { + url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/${file}"; + inherit sha256; + executable = true; + }; + +in { + sh = fetch { + file = "sh"; + sha256 = "02jjl49wdq85pgh61aqf78yaknn9mi3rcspbpk7hs9c4mida2rhf"; + }; + + bzip2 = fetch { + file = "bzip2"; + sha256 = "1qn27y3amj9c6mnjk2kyb59y0d2w4yv16z9apaxx91hyq19gf29z"; + }; + + mkdir = fetch { + file = "mkdir"; + sha256 = "1vbp2bv9hkyb2fwl8hjrffpywn1wrl1kc4yrwi2lirawlnc6kymh"; + }; + + cpio = fetch { + file = "cpio"; + sha256 = "0mqxwdx0sl7skxx6049mk35l7d0fnibqsv174284kdp4p7iixwa0"; + }; + + ln = fetch { + file = "ln"; + sha256 = "05lwx8qvga3yv8xhs8bjgsfygsfrcxsfck0lxw6gsdckx25fgi7s"; + }; + + curl = fetch { + file = "curl.bz2"; + sha256 = "0iblnz4my54gryac04i64fn3ksi9g3dx96yjq93fj39z6kx6151c"; + }; + + bootstrapTools = { + url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2"; + sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j"; + }; +} diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 b/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 deleted file mode 100755 index f86964d119c2..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/cpio b/pkgs/stdenv/linux/bootstrap/loongson2f/cpio deleted file mode 100755 index bf6fd66be238..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/cpio and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2 b/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2 deleted file mode 100755 index f227a24bf718..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix deleted file mode 100644 index b9a294e13325..000000000000 --- a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - sh = ./sh; - bzip2 = ./bzip2; - mkdir = ./mkdir; - cpio = ./cpio; - ln = ./ln; - curl = ./curl.bz2; - - bootstrapTools = { - url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2"; - sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j"; - }; -} diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/ln b/pkgs/stdenv/linux/bootstrap/loongson2f/ln deleted file mode 100755 index d8afd276424f..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/ln and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir b/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir deleted file mode 100755 index 3a95ccf18d6e..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/mkdir and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/sh b/pkgs/stdenv/linux/bootstrap/loongson2f/sh deleted file mode 100755 index f8ef0a74d6bf..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/sh and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/bash b/pkgs/stdenv/linux/bootstrap/powerpc/bash deleted file mode 100755 index 7e3e0a5c79bb..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/powerpc/bash and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/bzip2 b/pkgs/stdenv/linux/bootstrap/powerpc/bzip2 deleted file mode 100755 index a9eb626e1ca2..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/powerpc/bzip2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/cp b/pkgs/stdenv/linux/bootstrap/powerpc/cp deleted file mode 100755 index 972a653851c1..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/powerpc/cp and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2 b/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2 deleted file mode 100755 index 4f0d64341e8a..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/powerpc/curl.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/default.nix b/pkgs/stdenv/linux/bootstrap/powerpc/default.nix deleted file mode 100644 index d3569362b6c5..000000000000 --- a/pkgs/stdenv/linux/bootstrap/powerpc/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - bash = ./bash; - bzip2 = ./bzip2; - cp = ./cp; - curl = ./curl.bz2; - tar = ./tar.bz2; - - staticToolsURL = { - url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/static-tools.tar.bz2; - sha1 = "e4d1680e3dfa752e49a996a31140db53b10061cb"; - }; - - binutilsURL = { - url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/binutils.tar.bz2; - sha1 = "2609f4d9277a60fcd178395d3d49911190e08f36"; - }; - - gccURL = { - url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/gcc.tar.bz2; - sha1 = "71d79d736bfef6252208fe6239e528a591becbed"; - }; - - glibcURL = { - url = http://tarballs.nixos.org/stdenv-linux/powerpc/r9828/glibc.tar.bz2; - sha1 = "bf0245e16235800c8aa9c6a5de6565583a66e46d"; - }; -} diff --git a/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2 b/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2 deleted file mode 100755 index c014e9cc044e..000000000000 Binary files a/pkgs/stdenv/linux/bootstrap/powerpc/tar.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/x86_64/default.nix b/pkgs/stdenv/linux/bootstrap/x86_64.nix similarity index 92% rename from pkgs/stdenv/linux/bootstrap/x86_64/default.nix rename to pkgs/stdenv/linux/bootstrap/x86_64.nix index eb8c1834a3af..71961e6961e6 100644 --- a/pkgs/stdenv/linux/bootstrap/x86_64/default.nix +++ b/pkgs/stdenv/linux/bootstrap/x86_64.nix @@ -1,6 +1,6 @@ # Use the static tools for i686-linux. They work on x86_64-linux # machines as well. -(import ../i686) // +(import ./i686.nix) // { bootstrapTools = { diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 84af23a263cd..1c6a93b222d2 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -7,18 +7,19 @@ # The function defaults are for easy testing. { system ? builtins.currentSystem , allPackages ? import ../../top-level/all-packages.nix -, platform ? null, config }: +, platform ? null, config ? {} }: rec { + lib = import ../../../lib; + bootstrapFiles = - if system == "i686-linux" then import ./bootstrap/i686 - else if system == "x86_64-linux" then import ./bootstrap/x86_64 - else if system == "powerpc-linux" then import ./bootstrap/powerpc - else if system == "armv5tel-linux" then import ./bootstrap/armv5tel - else if system == "armv6l-linux" then import ./bootstrap/armv6l - else if system == "armv7l-linux" then import ./bootstrap/armv5tel - else if system == "mips64el-linux" then import ./bootstrap/loongson2f + if system == "i686-linux" then import ./bootstrap/i686.nix + else if system == "x86_64-linux" then import ./bootstrap/x86_64.nix + else if system == "armv5tel-linux" then import ./bootstrap/armv5tel.nix + else if system == "armv6l-linux" then import ./bootstrap/armv6l.nix + else if system == "armv7l-linux" then import ./bootstrap/armv6l.nix + else if system == "mips64el-linux" then import ./bootstrap/loongson2f.nix else abort "unsupported platform for the pure Linux stdenv"; @@ -38,19 +39,6 @@ rec { # of coreutils, GCC, etc. - # This function downloads a file. - download = {url, sha256}: derivation { - name = baseNameOf (toString url); - builder = bootstrapFiles.sh; - inherit system url; - inherit (bootstrapFiles) bzip2 mkdir curl cpio ln; - args = [ ./scripts/download.sh ]; - outputHashAlgo = "sha256"; - outputHash = sha256; - impureEnvVars = [ "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ]; - }; - - # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...). bootstrapTools = derivation { name = "bootstrap-tools"; @@ -58,13 +46,15 @@ rec { builder = bootstrapFiles.sh; args = - if (system == "armv5tel-linux" || system == "armv6l-linux") + if system == "armv5tel-linux" || system == "armv6l-linux" + || system == "armv7l-linux" then [ ./scripts/unpack-bootstrap-tools-arm.sh ] else [ ./scripts/unpack-bootstrap-tools.sh ]; + # FIXME: get rid of curl. inherit (bootstrapFiles) bzip2 mkdir curl cpio; - tarball = download { + tarball = import { inherit (bootstrapFiles.bootstrapTools) url sha256; }; @@ -133,9 +123,9 @@ rec { # A helper function to call gcc-wrapper. wrapGCC = - {gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper"}: + { gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper" }: - import ../../build-support/gcc-wrapper { + lib.makeOverridable (import ../../build-support/gcc-wrapper) { nativeTools = false; nativeLibc = false; inherit gcc binutils coreutils libc shell name; @@ -165,12 +155,14 @@ rec { bootStdenv = stdenvLinuxBoot1; }; + binutils1 = stdenvLinuxBoot1Pkgs.binutils.override { gold = false; }; - # 3) 2nd stdenv that we will use to build only the glibc. + + # 3) 2nd stdenv that we will use to build only Glibc. stdenvLinuxBoot2 = stdenvBootFun { gcc = wrapGCC { libc = bootstrapGlibc; - binutils = stdenvLinuxBoot1Pkgs.binutils; + binutils = binutils1; coreutils = bootstrapTools; }; overrides = pkgs: { @@ -181,7 +173,7 @@ rec { # 4) These are the packages that we can build with the 2nd - # stdenv. We only need Glibc (in step 5). + # stdenv. stdenvLinuxBoot2Pkgs = allPackages { inherit system platform; bootStdenv = stdenvLinuxBoot2; @@ -193,12 +185,12 @@ rec { stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc; - # 6) Construct a third stdenv identical to the 2nd, except that - # this one uses the Glibc built in step 3. It still uses - # the recent binutils and rest of the bootstrap tools, including GCC. + # 6) Construct a third stdenv identical to the 2nd, except that this + # one uses the Glibc built in step 5. It still uses the recent + # binutils and rest of the bootstrap tools, including GCC. stdenvLinuxBoot3 = stdenvBootFun { gcc = wrapGCC { - binutils = stdenvLinuxBoot1Pkgs.binutils; + binutils = binutils1; coreutils = bootstrapTools; libc = stdenvLinuxGlibc; }; @@ -215,6 +207,9 @@ rec { cloog = pkgs.cloog.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; ppl = pkgs.ppl.override { stdenv = pkgs.makeStaticLibraries pkgs.stdenv; }; }; + extraAttrs = { + glibc = stdenvLinuxGlibc; # Required by gcc47 build + }; inherit fetchurl; }; @@ -227,12 +222,11 @@ rec { # 8) Construct a fourth stdenv identical to the second, except that - # this one uses the dynamically linked GCC and Binutils from step - # 5. The other tools (e.g. coreutils) are still from the - # bootstrap tools. + # this one uses the new GCC from step 7. The other tools + # (e.g. coreutils) are still from the bootstrap tools. stdenvLinuxBoot4 = stdenvBootFun { gcc = wrapGCC rec { - inherit (stdenvLinuxBoot3Pkgs) binutils; + binutils = binutils1; coreutils = bootstrapTools; libc = stdenvLinuxGlibc; gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; @@ -254,9 +248,9 @@ rec { }; - # 10) Construct the final stdenv. It uses the Glibc, GCC and - # Binutils built above, and adds in dynamically linked versions - # of all other tools. + # 10) Construct the final stdenv. It uses the Glibc and GCC, and + # adds in a new binutils that doesn't depend on bootstrap-tools, + # as well as dynamically linked versions of all other tools. # # When updating stdenvLinux, make sure that the result has no # dependency (`nix-store -qR') on bootstrapTools or the @@ -264,15 +258,20 @@ rec { stdenvLinux = import ../generic rec { inherit system config; - preHook = commonPreHook; + preHook = + '' + # Make "strip" produce deterministic output, by setting + # timestamps etc. to a fixed value. + commonStripFlags="--enable-deterministic-archives" + ${commonPreHook} + ''; initialPath = ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) ++ [stdenvLinuxBoot4Pkgs.patchelf]; gcc = wrapGCC rec { - inherit (stdenvLinuxBoot3Pkgs) binutils; - inherit (stdenvLinuxBoot4Pkgs) coreutils; + inherit (stdenvLinuxBoot4Pkgs) binutils coreutils; libc = stdenvLinuxGlibc; gcc = stdenvLinuxBoot4.gcc.gcc; shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; @@ -286,12 +285,13 @@ rec { extraAttrs = { inherit (stdenvLinuxBoot3Pkgs) glibc; inherit platform bootstrapTools; - shellPackage = stdenvLinuxBoot4Pkgs.bash; + shellPackage = stdenvLinuxBoot4Pkgs.bash; }; overrides = pkgs: { inherit gcc; - inherit (stdenvLinuxBoot3Pkgs) binutils glibc; + inherit (stdenvLinuxBoot3Pkgs) glibc; + inherit (stdenvLinuxBoot4Pkgs) binutils; inherit (stdenvLinuxBoot4Pkgs) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch patchelf diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix index aeea4b53c15c..9ea63a46be3e 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix @@ -73,7 +73,7 @@ let patch = pkgs.patch.crossDrv; patchelf = pkgs.patchelf.crossDrv; replace = pkgs.replace.crossDrv; - gcc = pkgs.gcc47; + gcc = pkgs.gcc; gmp = pkgs.gmp.crossDrv; mpfr = pkgs.mpfr.crossDrv; ppl = pkgs.ppl.crossDrv; diff --git a/pkgs/stdenv/linux/scripts/download.sh b/pkgs/stdenv/linux/scripts/download.sh deleted file mode 100644 index e7594f208ea1..000000000000 --- a/pkgs/stdenv/linux/scripts/download.sh +++ /dev/null @@ -1,8 +0,0 @@ -set -e - -$ln -s $curl curl.bz2 -$bzip2 -d -f curl.bz2 -./curl --version - -echo "downloading $out from $url" -./curl --fail --location --max-redirs 20 "$url" > "$out" diff --git a/pkgs/stdenv/mingw/setup.sh b/pkgs/stdenv/mingw/setup.sh index 592580a829e3..c757eb7ae54c 100755 --- a/pkgs/stdenv/mingw/setup.sh +++ b/pkgs/stdenv/mingw/setup.sh @@ -725,7 +725,7 @@ genericBuild() { if test -z "$phases"; then phases="$prePhases unpackPhase patchPhase $preConfigurePhases \ configurePhase $preBuildPhases buildPhase checkPhase \ - $preInstallPhases installPhase fixupPhase \ + $preInstallPhases installPhase $preFixupPhases fixupPhase \ $preDistPhases distPhase $postPhases"; fi diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index 524b2a53337b..715bc02758bc 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -9,6 +9,7 @@ rec { path = (if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++ (if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++ + (if system == "x86_64-solaris" then [ "/opt/local/gnu" ] else []) ++ ["/" "/usr" "/usr/local"]; prehookBase = '' @@ -112,7 +113,7 @@ rec { name = "gcc-native"; nativeTools = true; nativeLibc = true; - nativePrefix = if system == "i686-solaris" then "/usr/gnu" else "/usr"; + nativePrefix = if system == "i686-solaris" then "/usr/gnu" else if system == "x86_64-solaris" then "/opt/local/gcc47" else "/usr"; stdenv = stdenvBoot0; }; diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index d0f7d60f101c..b16c51f7580b 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -23,6 +23,7 @@ import ../generic rec { gcc = import ../../build-support/gcc-wrapper { nativeTools = false; + nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr"; nativeLibc = true; inherit stdenv; binutils = diff --git a/pkgs/tools/X11/bumblebee/config.patch b/pkgs/tools/X11/bumblebee/config.patch deleted file mode 100644 index 61b671f80c1c..000000000000 --- a/pkgs/tools/X11/bumblebee/config.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- bumblebee-3.0/src/driver.c.orig 2012-02-03 14:51:10.282464426 +0100 -+++ bumblebee-3.0/src/driver.c 2012-02-04 22:26:02.715498536 +0100 -@@ -23,6 +23,7 @@ - #include "module.h" - #include "bblogger.h" - #include "driver.h" -+#include - - /** - * Check what drivers are available and autodetect if possible. Driver, module -@@ -30,6 +31,7 @@ - */ - void driver_detect(void) { - /* determine driver to be used */ -+ set_string_value(&bb_config.driver, getenv("BUMBLEBEE_DRIVER")); - if (*bb_config.driver) { - bb_log(LOG_DEBUG, "Skipping auto-detection, using configured driver" - " '%s'\n", bb_config.driver); -@@ -65,8 +67,8 @@ - } - } - -- if (strcmp(bb_config.driver, "nvidia")) { -- set_string_value(&bb_config.ld_path, CONF_LDPATH_NVIDIA); -- set_string_value(&bb_config.mod_path, CONF_MODPATH_NVIDIA); -+ if (!strcmp(bb_config.driver, "nvidia")) { -+ set_string_value(&bb_config.ld_path, getenv("BUMBLEBEE_LDPATH_NVIDIA")); -+ set_string_value(&bb_config.mod_path, getenv("BUMBLEBEE_MODPATH_NVIDIA")); - } - } diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix index 74e3e7b1f82d..58db0c13abb2 100644 --- a/pkgs/tools/X11/bumblebee/default.nix +++ b/pkgs/tools/X11/bumblebee/default.nix @@ -8,19 +8,7 @@ # To test: make sure that the 'bbswitch' kernel module is installed, # then run 'bumblebeed' as root and 'optirun glxgears' as user. -# To use at startup, add e.g. to configuration.nix: -# jobs = { -# bumblebeed = { -# name = "bumblebeed"; -# description = "Manages the Optimus video card"; -# startOn = "started udev and started syslogd"; -# stopOn = "starting shutdown"; -# exec = "bumblebeed --use-syslog"; -# path = [ pkgs.bumblebee ]; -# environment = { MODULE_DIR = "${config.system.modulesTree}/lib/modules"; }; -# respawn = true; -# }; -# }; +# To use at startup, see hardware.bumblebee options. # This nix expression supports for now only the native nvidia driver. # It should not be hard to generalize this approach to support the @@ -34,7 +22,7 @@ }: let - version = "3.0"; + version = "3.2.1"; name = "bumblebee-${version}"; # isolated X11 environment with the nvidia module @@ -61,22 +49,15 @@ let ignoreCollisions = true; }; - # Custom X11 configuration for the additional xserver instance. - xorgConf = ./xorg.conf.nvidia; - in stdenv.mkDerivation { inherit name; src = fetchurl { - url = "http://github.com/downloads/Bumblebee-Project/Bumblebee/${name}.tar.gz"; - sha256 = "a27ddb77b282ac8b972857fdb0dc5061cf0a0982b7ac3e1cfa698b4f786e49a1"; + url = "http://bumblebee-project.org/${name}.tar.gz"; + sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h"; }; - # 'config.patch' makes bumblebee read the active module and the nvidia configuration - # from the environment variables instead of the config file: - # BUMBLEBEE_DRIVER, BUMBLEBEE_LDPATH_NVIDIA, BUMBLEBEE_MODPATH_NVIDIA - # These variables must be set when bumblebeed and optirun are executed. - patches = [ ./config.patch ./xopts.patch ]; + patches = [ ./xopts.patch ]; preConfigure = '' # Substitute the path to the actual modinfo program in module.c. @@ -88,32 +69,25 @@ in stdenv.mkDerivation { # Don't use a special group, just reuse wheel. substituteInPlace configure \ --replace 'CONF_GID="bumblebee"' 'CONF_GID="wheel"' - - # Ensures that the config file ends up with a nonempty - # name of the nvidia module. This is needed, because the - # configuration handling code otherwise resets the - # data that we obtained from the environment (see config.patch) - export CONF_DRIVER_MODULE_NVIDIA=nvidia ''; # Build-time dependencies of bumblebeed and optirun. # Note that it has several runtime dependencies. buildInputs = [ stdenv makeWrapper pkgconfig help2man libX11 glib libbsd ]; + configureFlags = [ + "--with-udev-rules=$out/lib/udev/rules.d" + "CONF_DRIVER=nvidia" + "CONF_DRIVER_MODULE_NVIDIA=nvidia" + "CONF_LDPATH_NVIDIA=${commonEnv}/lib" + "CONF_MODPATH_NVIDIA=${commonEnv}/lib/xorg/modules" + ]; + # create a wrapper environment for bumblebeed and optirun postInstall = '' - # remove some entries from the configuration file that would otherwise - # cause our environment variables to be ignored. - substituteInPlace "$out/etc/bumblebee/bumblebee.conf" \ - --replace "LibraryPath=" "" \ - --replace "XorgModulePath=" "" - wrapProgram "$out/sbin/bumblebeed" \ --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin:\$PATH" \ --prefix LD_LIBRARY_PATH : "${commonEnv}/lib:\$LD_LIBRARY_PATH" \ - --set BUMBLEBEE_DRIVER "nvidia" \ - --set BUMBLEBEE_LDPATH_NVIDIA "${commonEnv}/lib" \ - --set BUMBLEBEE_MODPATH_NVIDIA "${commonEnv}/lib/xorg/modules" \ --set FONTCONFIG_FILE "/etc/fonts/fonts.conf" \ --set XKB_BINDIR "${xorg.xkbcomp}/bin" \ --set XKB_DIR "${xkeyboard_config}/etc/X11/xkb" @@ -121,16 +95,11 @@ in stdenv.mkDerivation { wrapProgram "$out/bin/optirun" \ --prefix PATH : "${commonEnv}/sbin:${commonEnv}/bin" \ --prefix LD_LIBRARY_PATH : "${commonEnv}/lib" \ - --set BUMBLEBEE_DRIVER "nvidia" \ - --set BUMBLEBEE_LDPATH_NVIDIA "${commonEnv}/lib" \ - --set BUMBLEBEE_MODPATH_NVIDIA "${commonEnv}/lib/xorg/modules" - - cp ${xorgConf} "$out/etc/bumblebee/xorg.conf.nvidia" ''; meta = { homepage = http://github.com/Bumblebee-Project/Bumblebee; description = "Daemon for managing Optimus videocards (power-on/off, spawns xservers)"; - license = "free"; + license = stdenv.lib.licenses.gpl3; }; } diff --git a/pkgs/tools/X11/bumblebee/xopts.patch b/pkgs/tools/X11/bumblebee/xopts.patch index 9e44a8e9fd1a..f24b2a205627 100644 --- a/pkgs/tools/X11/bumblebee/xopts.patch +++ b/pkgs/tools/X11/bumblebee/xopts.patch @@ -5,7 +5,7 @@ "-nolisten", "tcp", "-noreset", + "-xkbdir", getenv("XKB_DIR"), -+ "-logfile", "/dev/null", ++ "-logfile", "/var/log/X.bumblebee.log", "-verbose", "3", "-isolateDevice", pci_id, "-modulepath", diff --git a/pkgs/tools/X11/bumblebee/xorg.conf.nvidia b/pkgs/tools/X11/bumblebee/xorg.conf.nvidia deleted file mode 100644 index 31c417d6971e..000000000000 --- a/pkgs/tools/X11/bumblebee/xorg.conf.nvidia +++ /dev/null @@ -1,49 +0,0 @@ -Section "DRI" - Mode 0666 -EndSection - -Section "ServerLayout" - Identifier "Layout0" - Screen "Screen1" - Option "AutoAddDevices" "false" -EndSection - -Section "Module" - Load "dbe" - Load "extmod" - Load "glx" - Load "record" - Load "freetype" - Load "type1" -EndSection - -Section "Files" -EndSection - -Section "Device" - Identifier "Device1" - Driver "nvidia" - VendorName "NVIDIA Corporation" - Option "NoLogo" "true" - Option "UseEDID" "false" - Option "ConnectedMonitor" "CRT-0" -EndSection - -Section "Screen" - Identifier "Screen1" - Device "Device1" - Monitor "Monitor0" - DefaultDepth 24 - SubSection "Display" - Depth 24 - EndSubSection -EndSection - -Section "Extensions" - Option "Composite" "Enable" -EndSection - -Section "Monitor" - Identifier "Monitor0" - Option "DPMS" -EndSection diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix index bd160940b573..2db0d1721735 100644 --- a/pkgs/tools/X11/winswitch/default.nix +++ b/pkgs/tools/X11/winswitch/default.nix @@ -29,12 +29,10 @@ let }' winswitch/util/distro_packaging_util.py ''; - buildPhase = '' - python setup.py build - ''; - - installCommand = '' - PREFIX="$out" python ./setup.py install --prefix="$out" + preInstall = '' + # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix + python setup.py install_data --install-dir=$out --root=$out + sed -i '/data_files = data_files/d' setup.py ''; doCheck = false; diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix new file mode 100644 index 000000000000..bb26c0f46ceb --- /dev/null +++ b/pkgs/tools/X11/xdg-user-dirs/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, libxslt, docbook_xsl }: + +stdenv.mkDerivation rec { + name = "xdg-user-dirs-0.15"; + + src = fetchurl { + url = "http://user-dirs.freedesktop.org/releases/${name}.tar.gz"; + sha256 = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786"; + }; + + buildInputs = [ libxslt docbook_xsl ]; + + meta = with stdenv.lib; { + homepage = http://freedesktop.org/wiki/Software/xdg-user-dirs; + description = "A tool to help manage well known user directories like the desktop folder and the music folder"; + license = licenses.gpl2; + maintainers = with maintainers; [ lethalman ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index d7d1533b3be3..f96fa5773230 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -5,6 +5,7 @@ buildPythonPackage rec { name = "xpra-0.9.5"; + namePrefix = ""; src = fetchurl { url = "http://xpra.org/src/${name}.tar.bz2"; @@ -12,7 +13,7 @@ buildPythonPackage rec { }; buildInputs = [ - python cython pkgconfig + cython pkgconfig xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto @@ -32,9 +33,15 @@ buildPythonPackage rec { # they don't have automated testing out of the box? http://xpra.org/trac/ticket/177 doCheck = false; - buildPhase = '' - NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)" - python ./setup.py build --enable-Xdummy + preBuild = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)" + ''; + setupPyBuildFlags = ["--enable-Xdummy"]; + + preInstall = '' + # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix + ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out + sed -i '/ = data_files/d' setup.py ''; meta = { diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index aa8361c737f1..a25303190145 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -2,17 +2,21 @@ pythonPackages.buildPythonPackage rec { name = "awscli-${version}"; - version = "0.8.3"; + version = "1.2.13"; namePrefix = ""; src = fetchurl { url = "https://github.com/aws/aws-cli/archive/${version}.tar.gz"; - sha256 = "0v7igh00zja560v8qz315g3m7x9six1hprrrb10cpp9sy8n58xnn"; + sha256 = "1mpy1q9y5qiq1fr2xc98sn1njx0p0b1g21p0rdh4ccsf9w7i0rpb"; }; propagatedBuildInputs = [ - pythonPackages.argparse pythonPackages.botocore + pythonPackages.bcdoc + pythonPackages.six pythonPackages.colorama + pythonPackages.docutils + pythonPackages.rsa + pythonPackages.pyasn1 ]; } diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix index 44a421e2ba3d..c3a82b2e4a27 100644 --- a/pkgs/tools/admin/gtk-vnc/default.nix +++ b/pkgs/tools/admin/gtk-vnc/default.nix @@ -1,62 +1,44 @@ -x@{builderDefsPackage - , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1 - , libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs - , kbproto, libX11, libXext, xextproto, pygobject, libgcrypt - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - ["perlPackages" "firefoxPkgs"]; +{ stdenv, fetchurl, gobjectIntrospection +, python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1 +, libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs, pulseaudio +, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala +, pygobject3, enableGTK3 ? false }: - buildInputs = (map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames))) - ++ [perlPackages.TextCSV firefoxPkgs.xulrunner ]; - sourceInfo = rec { - baseName="gtk-vnc"; - majorVersion="0.4"; - minorVersion="2"; - version="${majorVersion}.${minorVersion}"; - name="${baseName}-${version}"; - url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.gz"; - hash="1fkhzwpw50rnwp51lsbny16p2ckzx5rkcaiaqvkd90vwnm2cccls"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +stdenv.mkDerivation rec { + name = "gtk-vnc-${version}"; + version = "0.5.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gtk-vnc/0.5/${name}.tar.xz"; + sha256 = "1bww2ihxb3zzvifdrcsy1lifr664pvikq17hmr1hsm8fyk4ad46l"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ + python gnutls cairo libtool pkgconfig glib libffi libgcrypt + intltool cyrus_sasl pulseaudio perl perlPackages.TextCSV + gobjectIntrospection + ] ++ (if enableGTK3 then [ gtk3 vala pygobject3 ] else [ gtk pygtk pygobject ]); + NIX_CFLAGS_COMPILE = "-fstack-protector-all"; configureFlags = [ "--with-python" "--with-examples" + (if enableGTK3 then "--with-gtk=3.0" else "--with-gtk=2.0") ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["fixMakefiles" "doConfigure" "doMakeInstall"]; + makeFlags = stdenv.lib.optionalString (!enableGTK3) + "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/"; - fixMakefiles = a.fullDepEntry '' - find . -name 'Makefile*' -exec sed -i '{}' -e 's@=codegendir pygtk-2.0@=codegendir pygobject-2.0@' ';' - '' ["minInit" "doUnpack"]; - - meta = { + meta = with stdenv.lib; { description = "A GTK VNC widget"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.lgpl21; + maintainers = with maintainers; [ raskin offline ]; + platforms = platforms.linux; + license = licenses.lgpl21; }; + passthru = { updateInfo = { downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc"; }; }; -}) x - +} diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix index 1700f03d7bd8..2f3a1b974878 100644 --- a/pkgs/tools/archivers/cpio/default.nix +++ b/pkgs/tools/archivers/cpio/default.nix @@ -1,24 +1,18 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "cpio-2.9"; - + name = "cpio-2.11"; + src = fetchurl { - url = mirror://gnu/cpio/cpio-2.9.tar.bz2; - sha256 = "01s7f9hg8kgpis96j99hgkiqgdy53pm7qi7bhm3fzx58jfk5z6mv"; + url = mirror://gnu/cpio/cpio-2.11.tar.bz2; + sha256 = "bb820bfd96e74fc6ce43104f06fe733178517e7f5d1cdee553773e8eff7d5bbd"; }; - patches = [ - # Make it compile on GCC 4.3. - (fetchurl { - name = "cpio-2.9-gnu-inline.patch"; - url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/app-arch/cpio/files/cpio-2.9-gnu-inline.patch?rev=1.1"; - sha256 = "1167hrq64h9lh3qhgasm2rivfzkkgx6fik92b017qfa0q61ff8c3"; - }) - ]; + patches = [ ./no-gets.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-fix.patch; meta = { homepage = http://www.gnu.org/software/cpio/; description = "A program to create or extract from cpio archives"; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/tools/misc/gnum4/no-gets.patch b/pkgs/tools/archivers/cpio/no-gets.patch similarity index 75% rename from pkgs/development/tools/misc/gnum4/no-gets.patch rename to pkgs/tools/archivers/cpio/no-gets.patch index 456c08b56c34..f7a9be324df4 100644 --- a/pkgs/development/tools/misc/gnum4/no-gets.patch +++ b/pkgs/tools/archivers/cpio/no-gets.patch @@ -1,8 +1,6 @@ -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/m4/files/m4-1.4.16-no-gets.patch?revision=1.1 +https://bugs.gentoo.org/424974 -https://bugs.gentoo.org/424978 - -hack until m4 pulls a newer gnulib version +hack until gzip pulls a newer gnulib version From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001 From: Eric Blake @@ -14,8 +12,8 @@ and glibc have dropped it, we should be more proactive about warning any user on a platform that still has a declaration of this dangerous interface. ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h +--- a/gnu/stdio.in.h ++++ b/gnu/stdio.in.h @@ -125,7 +125,6 @@ so any use of gets warrants an unconditional warning. Assume it is always declared, since it is required by C89. */ diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix index 24249e383951..6428fbaa9dc4 100644 --- a/pkgs/tools/archivers/gnutar/default.nix +++ b/pkgs/tools/archivers/gnutar/default.nix @@ -1,18 +1,17 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "gnutar-1.26"; + name = "gnutar-${version}"; + version = "1.27.1"; src = fetchurl { - url = "mirror://gnu/tar/tar-1.26.tar.bz2"; - sha256 = "0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss"; + url = "mirror://gnu/tar/tar-${version}.tar.bz2"; + sha256 = "1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv"; }; - patches = [ ./gets-undeclared.patch ]; - # May have some issues with root compilation because the bootstrap tool # cannot be used as a login shell for now. - FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.system == "armv7l-linux") "1"; + FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.system == "armv7l-linux" || stdenv.isSunOS) "1"; meta = { homepage = http://www.gnu.org/software/tar/; diff --git a/pkgs/tools/archivers/gnutar/gets-undeclared.patch b/pkgs/tools/archivers/gnutar/gets-undeclared.patch deleted file mode 100644 index 301a09dde128..000000000000 --- a/pkgs/tools/archivers/gnutar/gets-undeclared.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -This is a backport of this patch: - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - ---- tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:45.000000000 +0200 -+++ tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:50.000000000 +0200 -@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index c790f767f12e..bd52a70eaf24 100644 --- a/pkgs/tools/archivers/unrar/default.nix +++ b/pkgs/tools/archivers/unrar/default.nix @@ -1,28 +1,32 @@ {stdenv, fetchurl}: + +let + version = "5.1.2"; +in stdenv.mkDerivation { - name = "unrar-3.9.10"; + name = "unrar-${version}"; src = fetchurl { - url = http://www.rarlab.com/rar/unrarsrc-3.9.10.tar.gz; - sha256 = "0yi0i2j4srca8cag96ajc80m5xb5328ydzjab6y8h1bhypc2fiiv"; + url = "http://www.rarlab.com/rar/unrarsrc-${version}.tar.gz"; + sha256 = "0344cn4w3lw2111m3g431khiyndx9ibbp952bli1inx2fixps9cq"; }; - # Add a missing objects to the library - #patchPhase = '' - # sed -i 's/^\(LIB_OBJ=.*\)/\1 recvol.o rs.o/' makefile.unix - #''; - - buildPhase = '' - make -f makefile.unix unrar - rm *.o - make -f makefile.unix lib CXXFLAGS="-fPIC -O2 -DSILENT"; + patchPhase = '' + sed -i \ + -e "/CXX=/d" \ + -e "/CXXFLAGS=/d" \ + makefile ''; installPhase = '' - mkdir -p $out/bin $out/lib + mkdir -p $out/bin cp unrar $out/bin - cp libunrar.so $out/lib ''; - buildInputs = []; + meta = { + description = "Utility for RAR archives"; + license = "freeware"; + maintainers = [ stdenv.lib.maintainers.emery ]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # arbitrary + }; } diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix new file mode 100644 index 000000000000..fc5b984bd905 --- /dev/null +++ b/pkgs/tools/archivers/xarchiver/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, gtk2, pkgconfig, intltool }: + +stdenv.mkDerivation rec { + version = "0.5.3"; + name = "xarchiver-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/xarchiver/${name}.tar.bz2"; + sha256 = "10bdq406xkl2q6rl6qvvipdr3ini5lnh1sjykgw66fp8jns9r2f5"; + }; + + buildInputs = [ gtk2 pkgconfig intltool ]; + + meta = { + description = "GTK+2 only frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)"; + homepage = http://sourceforge.net/projects/xarchiver/; + mainatainers = [ stdenv.lib.maintainers.iElectric ]; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index ccfea341771f..c77517fa1772 100644 --- a/pkgs/tools/archivers/zpaq/default.nix +++ b/pkgs/tools/archivers/zpaq/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="zpaq"; - version="643"; + version="649"; name="${baseName}-${version}"; - hash="1sgrhvvzrjb9gm9lffs1ai602v8p1mav0kc2sa7wlcx7kj1d3hxr"; - url="http://mattmahoney.net/dc/zpaq643.zip"; - sha256="1sgrhvvzrjb9gm9lffs1ai602v8p1mav0kc2sa7wlcx7kj1d3hxr"; + hash="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; + url="http://mattmahoney.net/dc/zpaq649.zip"; + sha256="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; }; buildInputs = [ unzip diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix new file mode 100644 index 000000000000..311e420c6a31 --- /dev/null +++ b/pkgs/tools/audio/gvolicon/default.nix @@ -0,0 +1,27 @@ +{ stdenv, makeWrapper, alsaLib, pkgconfig, fetchgit, gnome3, hicolor_icon_theme, gdk_pixbuf, librsvg }: + +stdenv.mkDerivation { + name = "gvolicon"; + src = fetchgit { + url = "https://github.com/Unia/gvolicon"; + rev = "26343415de836e0b05aa0b480c0c69cc2ed9e419"; + sha256 = "68858840a45b5f74803e85116c6219f805d6d944c00354662889549910856cdd"; + }; + + buildInputs = [ pkgconfig makeWrapper alsaLib gnome3.gtk ]; + propagatedBuildInputs = [ gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic hicolor_icon_theme gdk_pixbuf librsvg ]; + installPhase = '' + make install PREFIX=$out + wrapProgram "$out/bin/gvolicon" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gvolicon:$XDG_ICON_DIRS" + ''; + + meta = { + description = "A simple and lightweight volume icon that sits in your system tray."; + homepage = "https://github.com/Unia/gvolicon"; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl3Plus; + maintainer = stdenv.lib.maintainers.bennofs; + }; +} \ No newline at end of file diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 48f2757db867..8a9db4e5701f 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,23 +1,23 @@ -{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper }: +{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper, lockfile }: let - version = "0.6.22"; + version = "0.6.23"; in stdenv.mkDerivation { name = "duplicity-${version}"; src = fetchurl { url = "http://code.launchpad.net/duplicity/0.6-series/${version}/+download/duplicity-${version}.tar.gz"; - sha256 = "04jskh1j85s35vfzm9gylpl7ysn5njbl0gcg92bhc7v88l29nj3g"; + sha256 = "0q0ckkmyq9z7xfbb1jajflmbzjwxpcjkkiab43rxrplm0ghz25vs"; }; installPhase = '' python setup.py install --prefix=$out wrapProgram $out/bin/duplicity \ - --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ --prefix PATH : "${gnupg}/bin:${ncftp}/bin" wrapProgram $out/bin/rdiffdir \ - --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \ ''; buildInputs = [ python librsync makeWrapper ]; diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix index b184dff11cd2..73ef23059f45 100644 --- a/pkgs/tools/backup/duply/default.nix +++ b/pkgs/tools/backup/duply/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation { - name = "duply-1.5.11"; + name = "duply-1.7.3"; src = fetchurl { - url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.5.x/duply_1.5.11.tgz"; - sha256 = "07z4wl75z227v8y9xwc2pfdp307a5jzx4sif598vprqync0g6mmk"; + url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.7.x/duply_1.7.3.tgz"; + sha256 = "1lq5gwz69l8g4ki4anvmjdngbs9nin124j1zb9kbcnqj0s5jkbp0"; }; buildInputs = [ txt2man makeWrapper ]; diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index 4fa3345d220a..a77689c85fca 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, zlib, openssl }: stdenv.mkDerivation rec { - version = "3.47.27"; + version = "3.48.3"; name = "httrack-${version}"; src = fetchurl { url = "http://mirror.httrack.com/httrack-${version}.tar.gz"; - sha256 = "1qgrs9wdqq4v9ywlb1b89i95w4a36y741l49xbpmb7mb7nvbz5kw"; + sha256 = "1lg5rrql01q3z7fwcij5p64r22x4vbswcky80gajx5f62kxlxn0r"; }; buildInputs = [ zlib openssl ]; diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix index f6a51eb31931..854801a3edd2 100644 --- a/pkgs/tools/backup/obnam/default.nix +++ b/pkgs/tools/backup/obnam/default.nix @@ -2,13 +2,13 @@ pythonPackages.buildPythonPackage rec { name = "obnam-${version}"; - version = "1.6"; + version = "1.6.1"; namePrefix = ""; src = fetchurl rec { url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz"; - sha256 = "1vg0kppbyngvm7wi2pbg3himixy9v3h8z66lcps6pclw43s1kgpm"; + sha256 = "0415njniqpy3xhvibpm82i9alrp2fw3lsnm15h7vqkkvgp8s5g39"; }; buildInputs = [ pythonPackages.sphinx attr ]; diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix new file mode 100644 index 000000000000..b1cc248e1a52 --- /dev/null +++ b/pkgs/tools/backup/wal-e/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pythonPackages, lzop, postgresql, pv }: + +pythonPackages.buildPythonPackage rec { + name = "wal-e-${version}"; + version = "0.6.9"; + + namePrefix = ""; + + src = fetchurl { + url = "https://github.com/wal-e/wal-e/archive/v${version}.tar.gz"; + sha256 = "1yzz9hic8amq7mp0kh04hsmwisk5r374ddja5g8345bl8y3bzbgk"; + }; + + # needs tox + doCheck = false; + + propagatedBuildInputs = [ + pythonPackages.boto + pythonPackages.gevent + postgresql + lzop + pv + ]; + + meta = { + description = "A Postgres WAL-shipping disaster recovery and replication toolkit"; + homepage = https://github.com/wal-e/wal-e; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + licenses = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/bluetooth/obex-data-server/default.nix b/pkgs/tools/bluetooth/obex-data-server/default.nix index 790b57f4a76d..53e854c34ebc 100644 --- a/pkgs/tools/bluetooth/obex-data-server/default.nix +++ b/pkgs/tools/bluetooth/obex-data-server/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus_glib, bluez, openobex }: +{ stdenv, fetchurl, pkgconfig, libusb, glib, dbus_glib, bluez, openobex, dbus_libs }: stdenv.mkDerivation rec { name = "obex-data-server-0.4.6"; @@ -8,7 +8,14 @@ stdenv.mkDerivation rec { sha256 = "0kq940wqs9j8qjnl58d6l3zhx0jaszci356xprx23l6nvdfld6dk"; }; - buildInputs = [ pkgconfig libusb glib dbus_glib bluez openobex ]; + buildInputs = [ pkgconfig libusb glib dbus_glib bluez openobex dbus_libs ]; + + patches = [ ./obex-data-server-0.4.6-build-fixes-1.patch ]; + + preConfigure = '' + addToSearchPath PKG_CONFIG_PATH ${openobex}/lib64/pkgconfig + export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH" + ''; meta = { homepage = http://wiki.muiline.com/obex-data-server; diff --git a/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch b/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch new file mode 100644 index 000000000000..b5fde8db589c --- /dev/null +++ b/pkgs/tools/bluetooth/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch @@ -0,0 +1,56 @@ +Submitted By: Armin K. +Date: 2012-07-06 +Initial Package Version: 0.4.6 +Upstream Status: Unknown +Origin: Self +Description: Some build fixes. + +--- obex-data-server.orig/src/ods-obex.c 2011-02-10 10:14:42.000000000 +0100 ++++ obex-data-server/src/ods-obex.c 2012-07-06 20:10:09.208712553 +0200 +@@ -412,7 +412,7 @@ + goto err; + } + +- interfaces_num = OBEX_FindInterfaces(obex_context->obex_handle, &obex_intf); ++ interfaces_num = OBEX_EnumerateInterfaces(obex_context->obex_handle); + if (intf_num >= interfaces_num) { + g_set_error (error, ODS_ERROR, ODS_ERROR_FAILED, "Invalid interface number"); + goto err; +@@ -1928,7 +1928,7 @@ + gchar *uname; + gsize uname_len; + +- if (action != OBEX_ACTION_SETPERM) ++ if (action != 0x03) + g_assert (src && dst); + + object = OBEX_ObjectNew (obex_context->obex_handle, OBEX_CMD_ACTION); +@@ -1974,7 +1974,7 @@ + OBEX_HDR_ACTION_ID, hv, 1, 0); + + /* permissions header */ +- if (action == OBEX_ACTION_SETPERM) { ++ if (action == 0x03) { + hv.bq4 = perms; + ret = OBEX_ObjectAddHeader (obex_context->obex_handle, object, + OBEX_HDR_PERMISSIONS, hv, 4, 0); +--- obex-data-server.orig/src/ods-session.c 2011-02-10 09:57:31.000000000 +0100 ++++ obex-data-server/src/ods-session.c 2012-07-06 20:10:09.208712553 +0200 +@@ -1761,7 +1761,7 @@ + DBusGMethodInvocation *context) + { + return ods_session_remote_action (session, remote_source, +- remote_destination, OBEX_ACTION_COPY, ++ remote_destination, 0x00, + context); + } + +@@ -1772,7 +1772,7 @@ + DBusGMethodInvocation *context) + { + return ods_session_remote_action (session, remote_source, +- remote_destination, OBEX_ACTION_MOVE, ++ remote_destination, 0x01, + context); + } + diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix new file mode 100644 index 000000000000..30ae07f9dbd1 --- /dev/null +++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchgit, cmake, libtiff, pkgconfig, tesseract }: + +let rev = "b70b6f584e8151f70f9d90df054af0911ea7475e"; + shortRev = builtins.substring 0 7 rev; +in +stdenv.mkDerivation { + name = "vobsub2srt-git-20140226-${shortRev}"; + + src = fetchgit { + inherit rev; + url = https://github.com/ruediger/VobSub2SRT.git; + sha256 = "15437eba07e674cec66bc54cfa42ffe8b05816975401c9950bf9016e3881cd6a"; + }; + + buildInputs = [ cmake libtiff pkgconfig ]; + propagatedBuildInputs = [ tesseract ]; + + meta = { + homepage = https://github.com/ruediger/VobSub2SRT; + description = "Converts VobSub subtitles into SRT subtitles"; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/tools/compression/bsdiff/builder.sh b/pkgs/tools/compression/bsdiff/builder.sh deleted file mode 100644 index f2792a40a60c..000000000000 --- a/pkgs/tools/compression/bsdiff/builder.sh +++ /dev/null @@ -1,8 +0,0 @@ -source $stdenv/setup - -installFlags="PREFIX=$out INSTALL=install" - -mkdir -p "$out/bin" -mkdir -p "$out/man/man1" - -genericBuild diff --git a/pkgs/tools/compression/bsdiff/default.nix b/pkgs/tools/compression/bsdiff/default.nix index 81210490883f..1d693f781e6c 100644 --- a/pkgs/tools/compression/bsdiff/default.nix +++ b/pkgs/tools/compression/bsdiff/default.nix @@ -1,14 +1,37 @@ -{stdenv, fetchurl, bzip2}: +{ stdenv, fetchurl, bzip2 }: + +stdenv.mkDerivation rec { + name = "bsdiff-${version}"; + version = "4.3"; -stdenv.mkDerivation { - name = "bsdiff-4.3"; - builder = ./builder.sh; src = fetchurl { - url = http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz; + url = "http://www.daemonology.net/bsdiff/${name}.tar.gz"; sha256 = "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq"; }; + buildInputs = [ bzip2 ]; - patchPhase = '' - sed 's/^\.//g' -i Makefile + patches = [ ./include-systypes.patch ]; + + buildPhase = '' + cc -O3 -lbz2 bspatch.c -o bspatch + cc -O3 -lbz2 bsdiff.c -o bsdiff ''; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/man/man1 + + cp bsdiff $out/bin + cp bspatch $out/bin + cp bsdiff.1 $out/share/man/man1 + cp bspatch.1 $out/share/man/man1 + ''; + + meta = { + description = "An efficient binary diff/patch tool"; + homepage = "http://www.daemonology.net/bsdiff"; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; } diff --git a/pkgs/tools/compression/bsdiff/include-systypes.patch b/pkgs/tools/compression/bsdiff/include-systypes.patch new file mode 100644 index 000000000000..d070a8bb0f85 --- /dev/null +++ b/pkgs/tools/compression/bsdiff/include-systypes.patch @@ -0,0 +1,12 @@ +diff --git a/bspatch.c b/bspatch.c +index 643c60b..543379c 100644 +--- a/bspatch.c ++++ b/bspatch.c +@@ -28,6 +28,7 @@ + __FBSDID("$FreeBSD: src/usr.bin/bsdiff/bspatch/bspatch.c,v 1.1 2005/08/06 01:59:06 cperciva Exp $"); + #endif + ++#include + #include + #include + #include diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index 0e6742253441..b1d127635f61 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -1,13 +1,18 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, less }: stdenv.mkDerivation rec { - name = "gzip-1.5"; + name = "gzip-1.6"; src = fetchurl { url = "mirror://gnu/gzip/${name}.tar.xz"; - sha256 = "0wx1nqk709kx75cwp2axachnbxryp4gyl06qxn5nl95184w0mhls"; + sha256 = "0ivqnbhiwd12q8hp3qw6rpsrpw2jg5y2mymk8cn22lsx90dfvprp"; }; + enableParallelBuilding = true; + + # In stdenv-linux, prevent a dependency on bootstrap-tools. + makeFlags = "SHELL=/bin/sh GREP=grep"; + meta = { homepage = http://www.gnu.org/software/gzip/; description = "Gzip, the GNU zip compression program"; @@ -25,7 +30,5 @@ stdenv.mkDerivation rec { ''; license = "GPLv3+"; - - maintainers = [ ]; }; } diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix index 2dd4d7eb7945..283b751cf26a 100644 --- a/pkgs/tools/compression/upx/default.nix +++ b/pkgs/tools/compression/upx/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, ucl, zlib}: stdenv.mkDerivation { - name = "upx-3.09"; + name = "upx-3.91"; src = fetchurl { - url = mirror://sourceforge/upx/upx-3.09-src.tar.bz2; - sha256 = "16jwynharr1silfd6vlxl9i94fs8mg79qp72dr48r3wv9mlra6pn"; + url = mirror://sourceforge/upx/upx-3.91-src.tar.bz2; + sha256 = "0g3aiinlcb37z1xhs202h2qrgbf8dygiyarmflbgahcq89byfz2j"; }; buildInputs = [ ucl zlib ]; diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 26c1597f2aa8..b644f46dff86 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "xz-5.0.4"; + name = "xz-5.0.5"; src = fetchurl { url = "http://tukaani.org/xz/${name}.tar.bz2"; - sha256 = "14nf55b47335aakswqk0kqv1qsh4269rnb757dmkkbd1sdhb1naw"; + sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n"; }; doCheck = true; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { bzip2. ''; - licenses = [ "GPLv2+" "LGPLv2.1+" ]; + license = [ "GPLv2+" "LGPLv2.1+" ]; maintainers = with stdenv.lib.maintainers; [ sander ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix new file mode 100644 index 000000000000..183b889da9b3 --- /dev/null +++ b/pkgs/tools/filesystems/bcache-tools/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, pkgconfig, utillinux, kmod }: + +stdenv.mkDerivation rec { + name = "bcache-tools-${version}"; + version = "1.0.5"; + + src = fetchurl { + url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz"; + sha256 = "1abf86xcnj601lddig3kmn26jrf8q8xhcyszf5pxrcs5ym72jj8l"; + }; + + buildInputs = [ pkgconfig utillinux ]; + + # * Remove broken install rules (they ignore $PREFIX) for stuff we don't need + # anyway (it's distro specific stuff). + # * Fixup absolute path to modprobe. + prePatch = '' + sed -e "/INSTALL.*initramfs\/hook/d" \ + -e "/INSTALL.*initcpio\/install/d" \ + -e "/INSTALL.*dracut\/module-setup.sh/d" \ + -i Makefile + + sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|" -i bcache-register + ''; + + preBuild = '' + export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\""; + ''; + + preInstall = '' + mkdir -p "$out/sbin" "$out/lib/udev/rules.d" "$out/share/man/man8" + ''; + + meta = with stdenv.lib; { + description = "User-space tools required for bcache (Linux block layer cache)"; + longDescription = '' + Bcache is a Linux kernel block layer cache. It allows one or more fast + disk drives such as flash-based solid state drives (SSDs) to act as a + cache for one or more slower hard disk drives. + + This package contains the required user-space tools. + + User documentation is in Documentation/bcache.txt in the Linux kernel + tree. + ''; + homepage = http://bcache.evilpiepirate.org/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 16c5b58c38da..a41b2f28d854 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo }: -let version = "3.12"; in +let version = "3.14"; in stdenv.mkDerivation rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/mason/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "1pwcjf9jqdiy8445r1xkazqa07xmapnn0ylyz7yzphci3ib66zh9"; + sha256 = "1qjy4bc96nfzkdjp6hwb85aasqs87nkmgi8pl6qa6cpvml3627cq"; }; buildInputs = [ attr acl zlib libuuid e2fsprogs lzo ]; diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix index b9f101059186..6bd6bfe368c0 100644 --- a/pkgs/tools/filesystems/dosfstools/default.nix +++ b/pkgs/tools/filesystems/dosfstools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "dosfstools-3.0.24"; + name = "dosfstools-3.0.26"; src = fetchurl { url = "http://daniel-baumann.ch/files/software/dosfstools/${name}.tar.xz"; - sha256 = "1hblhb98wm9gm60y32psdqm5jprs4a6dqzrapzgb6bw7r3kvf88y"; + sha256 = "0x9yi6s1419k678pr9h3a5bjccbrcxxpzmjwgl262ffrikz45126"; }; makeFlags = "PREFIX=$(out)"; diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 9e1fa728e175..dcbf7235e49c 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency). - configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck"; + configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck --enable-symlink-install"; enableParallelBuilding = true; @@ -25,8 +25,6 @@ stdenv.mkDerivation rec { postInstall = "make install-libs"; - dontGzipMan = true; # See issue #523 - meta = { homepage = http://e2fsprogs.sourceforge.net/; description = "Tools for creating and checking ext2/ext3/ext4 filesystems"; diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix new file mode 100644 index 000000000000..f52ead32acd4 --- /dev/null +++ b/pkgs/tools/filesystems/f2fs-tools/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, libuuid }: + +stdenv.mkDerivation rec { + name = "f2fs-tools-${version}"; + version = "1.3.0"; + + src = fetchgit { + url = git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git; + rev = "refs/tags/v${version}"; + sha256 = "1r97k91qaf42jz623jqy0wm97yjq1ym034q4fdhfirq27s46sn6i"; + }; + + buildInputs = [ autoconf automake libtool pkgconfig libuuid ]; + + preConfigure = '' + sed -i '/AC_SUBST/d' configure.ac + autoreconf --install + ''; + + meta = { + homepage = "http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/"; + description = "Userland tools for the f2fs filesystem"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.emery ]; + }; +} diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 9d4168b2d7da..2cb599f6a64a 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="glusterfs"; - version="3.4.1"; + version="3.4.2"; name="${baseName}-${version}"; - hash="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; - url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.1/glusterfs-3.4.1.tar.gz"; - sha256="0fdp3bifd7n20xlmsmj374pbp11k7np71f7ibzycsvmqqviv9wdm"; + hash="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.2/glusterfs-3.4.2.tar.gz"; + sha256="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag"; }; buildInputs = [ fuse bison flex openssl python ncurses readline diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix index f5c07b031b80..0b666f389420 100644 --- a/pkgs/tools/filesystems/mtools/default.nix +++ b/pkgs/tools/filesystems/mtools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "mtools-4.0.17"; + name = "mtools-4.0.18"; src = fetchurl { url = "mirror://gnu/mtools/${name}.tar.bz2"; - sha256 = "1dpch2wsiwhyg7xhsdvmc1pws8biwqkmnqjc3mdj2bd76273bk0f"; + sha256 = "119gdfnsxc6hzicnsf718k0fxgy2q14pxn7557rc96aki20czsar"; }; doCheck = true; diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix new file mode 100644 index 000000000000..7725b0d7af8e --- /dev/null +++ b/pkgs/tools/filesystems/mtpfs/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, pkgconfig, fuse, libmtp, glib, libmad, libid3tag }: + +stdenv.mkDerivation rec { + name = "mtpfs-1.1"; + + buildInputs = [ pkgconfig fuse libmtp glib libid3tag libmad ]; + + # adding LIBS is a hack, duno why it does not find libid3tag.so by adding buildInputs + preConfigure = '' + export MAD_CFLAGS=${libmad}/include + export MAD_LIBS=${libmad}/lib/libmad.so + export LIBS=${libid3tag}/lib/libid3tag.so + ''; + + src = fetchurl { + url = "http://www.adebenham.com/files/mtp/${name}.tar.gz"; + sha256 = "07acrqb17kpif2xcsqfqh5j4axvsa4rnh6xwnpqab5b9w5ykbbqv"; + }; + + meta = { + homepage = https://code.google.com/p/mtpfs/; + description = "FUSE Filesystem providing access to MTP devices"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.qknight ]; + }; +} diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index 26ffc9d50c25..850e16812488 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, db4, libgcrypt, avahi, libiconv, pam, openssl }: +{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl }: stdenv.mkDerivation rec { name = "netatalk-3.1.0"; @@ -8,10 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq"; }; - buildInputs = [ pkgconfig db4 libgcrypt avahi libiconv pam openssl ]; + buildInputs = [ pkgconfig db libgcrypt avahi libiconv pam openssl ]; configureFlags = [ - "--with-bdb=${db4}" + "--with-bdb=${db}" "--with-openssl=${openssl}" ]; diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix index 4befab17b6fa..98cf3c533ae7 100644 --- a/pkgs/tools/filesystems/sshfs-fuse/default.nix +++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, fuse }: stdenv.mkDerivation rec { - name = "sshfs-fuse-2.4"; + name = "sshfs-fuse-2.5"; src = fetchurl { url = "mirror://sourceforge/fuse/${name}.tar.gz"; - sha256 = "1ladfxflg0pzd5br0p9n5790sf1975va7igr9z4r702n4a2vm4rw"; + sha256 = "0gp6qr33l2p0964j0kds0dfmvyyf5lpgsn11daf0n5fhwm9185z9"; }; buildInputs = [ pkgconfig glib fuse ]; diff --git a/pkgs/tools/filesystems/zfstools/default.nix b/pkgs/tools/filesystems/zfstools/default.nix new file mode 100644 index 000000000000..1c1be59f5155 --- /dev/null +++ b/pkgs/tools/filesystems/zfstools/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchgit, ruby, zfs }: + +stdenv.mkDerivation rec { + name = "zfstools-${version}"; + + version = "0.3.1"; + + src = fetchgit { + url = https://github.com/bdrewery/zfstools.git; + rev = "refs/tags/v${version}"; + sha256 = "0bhs0gn1f4z1jm631vp26sbysy4crq489q56rxqfd8ns1xsp1f5j"; + }; + + buildInputs = [ ruby ]; + + installPhase = '' + mkdir -p $out/bin + cp bin/* $out/bin/ + + cp -R lib $out/ + + for f in $out/bin/*; do + substituteInPlace $f --replace "/usr/bin/env ruby" "ruby -I$out/lib" + done + + sed -e 's|cmd.*=.*"zfs |cmd = "${zfs}/sbin/zfs |g' -i $out/lib/zfstools/{dataset,snapshot}.rb + ''; + + meta = { + homepage = https://github.com/bdrewery/zfstools; + description = "OpenSolaris-like and compatible auto snapshotting script for ZFS"; + longDescription = '' + zfstools is an OpenSolaris-like and compatible auto snapshotting script + for ZFS, which also supports auto snapshotting mysql databases. + ''; + + license = stdenv.lib.licenses.bsd2; + }; +} diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index e9f61228bedb..b4bb49758a42 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -1,7 +1,7 @@ a @ { freeglut,ghostscriptX,imagemagick,fftw, boehmgc,mesa,ncurses,readline,gsl,libsigsegv, - python,zlib, perl, texLive, texinfo, lzma, + python,zlib, perl, texLive, texinfo, xz, noDepEntry, fullDepEntry, fetchUrlFromSrcInfo, lib, @@ -20,7 +20,7 @@ let buildInputs = with a; [ freeglut ghostscriptX imagemagick fftw boehmgc mesa ncurses readline gsl libsigsegv python zlib - perl texLive texinfo lzma + perl texLive texinfo xz ]; in rec { @@ -54,7 +54,7 @@ rec { ''; extractTexinfoTex = a.fullDepEntry '' - lzma -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex + xz -d < ${a.texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex cp texinfo-*/doc/texinfo.tex doc/ '' ["minInit" "addInputs" "doUnpack"]; diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 9b0a83725eaa..fbd1778faefd 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -2,11 +2,11 @@ freeglut, bzip2, libX11, libpng, expat, pkgconfig }: stdenv.mkDerivation rec { - name = "pfstools-1.8.3"; + name = "pfstools-1.8.5"; src = fetchurl { url = "mirror://sourceforge/pfstools/${name}.tar.gz"; - sha256 = "1j3pzwpxvsx9220176bfjallc73jyda61xqkvnmlxqfd3n7ycgx1"; + sha256 = "01kk2r8afrb3vrhm8abfjdhhan97lzpapc4n8w1mpdp3kv9miy9c"; }; configureFlags = "--with-moc=${qt4}/bin/moc"; diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index 2abc84e78e41..e5c7fbeb0d7c 100644 --- a/pkgs/tools/graphics/pngcrush/default.nix +++ b/pkgs/tools/graphics/pngcrush/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libpng }: stdenv.mkDerivation rec { - name = "pngcrush-1.7.70"; + name = "pngcrush-1.7.71"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "04zgnqdfq7mcsgml719wb552v8cfg52d8knbhqv55kwgw7y822jh"; + sha256 = "095al1l86h55aiig3y1aqlwkxcwwf215lq3f29z1hdgz4a0sbcyd"; }; configurePhase = '' diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix index efdeffe1ad79..62816705b8f0 100644 --- a/pkgs/tools/graphics/pstoedit/default.nix +++ b/pkgs/tools/graphics/pstoedit/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, ghostscript, gd, zlib, plotutils }: stdenv.mkDerivation { - name = "pstoedit-3.50"; + name = "pstoedit-3.62"; src = fetchurl { - url = mirror://sourceforge/pstoedit/pstoedit-3.50.tar.gz; - sha256 = "04ap21fxj2zn6vj9mv7zknj4svcbkb1gxwfzxkw5i0sksx969c92"; + url = mirror://sourceforge/pstoedit/pstoedit-3.62.tar.gz; + sha256 = "0j410dm9nqwa7n03yiyz0jwvln0jlqc3n9iv4nls33yl6x3c8x40"; }; buildInputs = [ pkgconfig ghostscript gd zlib plotutils ]; diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix index 3b83a18fd36e..892ef54cdeee 100644 --- a/pkgs/tools/graphics/qrencode/default.nix +++ b/pkgs/tools/graphics/qrencode/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libpng, pkgconfig }: stdenv.mkDerivation rec { - name = "qrencode-3.2.0"; + name = "qrencode-3.4.3"; src = fetchurl { url = "${meta.homepage}/${name}.tar.bz2"; - sha256 = "13q6cz2lif8d7y95f8sgfqaxc1qr0sz9nl2xh71lfmx7v5ybri03"; + sha256 = "163sb580p570p27imc6jhkfdw15kzp8vy1jq92nip1rwa63i9myz"; }; buildInputs = [ libpng ]; diff --git a/pkgs/tools/misc/apparix/default.nix b/pkgs/tools/misc/apparix/default.nix new file mode 100644 index 000000000000..693ca27a88d9 --- /dev/null +++ b/pkgs/tools/misc/apparix/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "apparix-11-062"; + + src = fetchurl { + url = "http://micans.org/apparix/src/${name}.tar.gz"; + sha256 = "211bb5f67b32ba7c3e044a13e4e79eb998ca017538e9f4b06bc92d5953615235"; + }; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = http://micans.org/apparix; + description = "Add directory bookmarks, distant listing, and distant editing to the command line"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix new file mode 100644 index 000000000000..219cb2139f58 --- /dev/null +++ b/pkgs/tools/misc/apt-offline/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, bash, buildPythonPackage }: + +buildPythonPackage rec { + version = "1.3"; + name = "apt-offline-${version}"; + + src = fetchurl { + #url = "https://alioth.debian.org/frs/download.php/file/3855/${name}.tar.gz"; + # The above URL has two problems: it requires one to be logged in, and it + # uses a CA that curl doesn't know about. Instead, we use this mirror: + url = "http://www.falsifian.org/a/cFi5/${name}.tar.gz"; + sha256 = "1sp7ai2abzhbg9y84700qziybphvpzl2nk3mz1d1asivzyjvxlxy"; + }; + + buildInputs = [ ]; + + doCheck = false; + + # Requires python-qt4 (feel free to get it working). + preFixup = ''rm "$out/bin/apt-offline-gui"''; + + meta = with stdenv.lib; { + description = "offline APT package manager"; + license = licenses.gpl3; + maintainers = [ maintainers.falsifian ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix new file mode 100644 index 000000000000..f8adedc7c241 --- /dev/null +++ b/pkgs/tools/misc/arp-scan/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, libpcap }: + +stdenv.mkDerivation rec { + name = "arp-scan-1.9"; + + src = fetchurl { + url = "http://www.nta-monitor.com/files/arp-scan/${name}.tar.gz"; + sha256 = "14nqjzbmnlx2nac7lwa93y5m5iqk3layakyxyvfmvs283k3qm46f"; + }; + + buildInputs = [ libpcap ]; + + meta = with stdenv.lib; { + description = "ARP scanning and fingerprinting tool"; + longDescription = '' + Arp-scan is a command-line tool that uses the ARP protocol to discover + and fingerprint IP hosts on the local network. + ''; + homepage = http://www.nta-monitor.com/tools-resources/security-tools/arp-scan; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 2c7505260a69..960d85ab6be6 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -16,6 +16,7 @@ in src = fetchgit { inherit rev; url = "https://github.com/wertarbyte/autorandr.git"; + sha256 = "1x8agg6mf5jr0imw7dznr8kxyw970bf252bda9q7b0z4yksya2zd"; }; patchPhase = '' diff --git a/pkgs/tools/misc/bogofilter/default.nix b/pkgs/tools/misc/bogofilter/default.nix index 09d8e888837e..f7c121d825e2 100644 --- a/pkgs/tools/misc/bogofilter/default.nix +++ b/pkgs/tools/misc/bogofilter/default.nix @@ -1,4 +1,4 @@ -{fetchurl, stdenv, flex, db4}: +{fetchurl, stdenv, flex, db}: stdenv.mkDerivation rec { name = "bogofilter-1.2.4"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { # FIXME: We would need `pax' as a "propagated build input" (for use # by the `bf_tar' script) but we don't have it currently. - buildInputs = [ flex db4 ]; + buildInputs = [ flex db ]; meta = { homepage = http://bogofilter.sourceforge.net/; diff --git a/pkgs/tools/misc/colord-gtk/default.nix b/pkgs/tools/misc/colord-gtk/default.nix new file mode 100644 index 000000000000..f46bf3ef7a48 --- /dev/null +++ b/pkgs/tools/misc/colord-gtk/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, colord, intltool, glib, gtk3, pkgconfig, lcms2 }: + +stdenv.mkDerivation rec { + name = "colord-gtk-0.1.25"; + + src = fetchurl { + url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz"; + sha256 = "02hblw9rw24dhj0wqfw86pfq4y4icb6iaa92308a9jwa6k2923xx"; + }; + + buildInputs = [ intltool colord glib gtk3 pkgconfig lcms2 ]; + + meta = { + homepage = http://www.freedesktop.org/software/colord/intro.html; + license = stdenv.lib.licenses.lgpl2Plus; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix index 525c3ba9f2c4..a744adbe05c1 100644 --- a/pkgs/tools/misc/colord/default.nix +++ b/pkgs/tools/misc/colord/default.nix @@ -12,7 +12,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = "--with-udevrulesdir=$out/lib/udev/rules.d --with-systemdsystemunitdir=$out/lib/udev/rules.d --disable-bash-completion"; + configureFlags = [ + "--with-udevrulesdir=$out/lib/udev/rules.d" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--disable-bash-completion" + ]; buildInputs = [ glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection bashCompletion ]; diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 65a3bec555ef..b0dbb049cbf7 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -18,6 +18,8 @@ let sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"; }; + patches = [ ./help2man.patch ]; + nativeBuildInputs = [ perl ]; buildInputs = [ gmp ] ++ optional aclSupport acl @@ -36,7 +38,7 @@ let for a in *.x; do touch `basename $a .x`.1 done - popd; make ) + popd; make ) ''; postInstall = '' @@ -56,7 +58,9 @@ let # and {Open,Free}BSD. doCheck = stdenv ? glibc; - enableParallelBuilding = true; + # Saw random failures like ‘help2man: can't get '--help' info from + # man/sha512sum.td/sha512sum’. + enableParallelBuilding = false; NIX_LDFLAGS = optionalString selinuxSupport "-lsepol"; @@ -80,3 +84,6 @@ let }); in self + // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) { + FORCE_UNSAFE_CONFIGURE = 1; + } diff --git a/pkgs/tools/misc/coreutils/help2man.patch b/pkgs/tools/misc/coreutils/help2man.patch new file mode 100644 index 000000000000..9f3cbaa40ff1 --- /dev/null +++ b/pkgs/tools/misc/coreutils/help2man.patch @@ -0,0 +1,40 @@ +Although the above man pages depend on src/md5sum.c as a shared +source, the build of the man pages directly requires their own +executables to exist. + +* man/local.mk (man/sha1sum.1): Change the dependency from +'src/md5sum' to 'src/sha1sum'. +(man/sha224sum.1): s/md5sum/sha224sum/ +(man/sha256sum.1): s/md5sum/sha256sum/ +(man/sha384sum.1): s/md5sum/sha384sum/ +(man/sha512sum.1): s/md5sum/sha512sum/ + +Reported by Pádraig Brady in +http://lists.gnu.org/archive/html/coreutils/2013-11/msg00006.html +--- + man/local.mk | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/man/local.mk b/man/local.mk +index 266b780..45dbcb9 100644 +--- a/man/local.mk ++++ b/man/local.mk +@@ -131,11 +131,11 @@ man/rm.1: src/rm + man/rmdir.1: src/rmdir + man/runcon.1: src/runcon + man/seq.1: src/seq +-man/sha1sum.1: src/md5sum +-man/sha224sum.1: src/md5sum +-man/sha256sum.1: src/md5sum +-man/sha384sum.1: src/md5sum +-man/sha512sum.1: src/md5sum ++man/sha1sum.1: src/sha1sum ++man/sha224sum.1: src/sha224sum ++man/sha256sum.1: src/sha256sum ++man/sha384sum.1: src/sha384sum ++man/sha512sum.1: src/sha512sum + man/shred.1: src/shred + man/shuf.1: src/shuf + man/sleep.1: src/sleep +-- +1.8.3.1 diff --git a/pkgs/tools/misc/cunit/default.nix b/pkgs/tools/misc/cunit/default.nix index aa586945cb91..35e4c3ab4d48 100644 --- a/pkgs/tools/misc/cunit/default.nix +++ b/pkgs/tools/misc/cunit/default.nix @@ -20,8 +20,6 @@ stdenv.mkDerivation rec { homepage = http://cunit.sourceforge.net/; license = "lgpl"; - - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index 48baa8bff018..fe5985b96982 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ethtool-3.11"; + name = "ethtool-3.13"; src = fetchurl { url = "mirror://kernel/software/network/ethtool/${name}.tar.xz"; - sha256 = "1m1gc2g5ym7xmbq64ysw9avp9bbsagbi7x624mzki5ba3535agym"; + sha256 = "07z7janzj8fbs04sw6nlzr039yh7b5gmzvik7ymg807i2gi5fmjs"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/misc/fasd/default.nix b/pkgs/tools/misc/fasd/default.nix new file mode 100644 index 000000000000..77d1d58c30c2 --- /dev/null +++ b/pkgs/tools/misc/fasd/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchgit, pandoc, ... } : + +let + rev = "287af2b80e0829b08dc6329b4fe8d8e5594d64b0"; +in +stdenv.mkDerivation { + + name = "fasd-1.0.1"; + + src = fetchgit { + url = "https://github.com/clvv/fasd.git"; + inherit rev; + sha256 = "0kv9iyfdf916x0gab9fzs4vmsnkaqmb6kh4xna485nqij89xzkgs"; + }; + + installPhase = '' + PREFIX=$out make install + ''; + + meta = { + homepage = "https://github.com/clvv/fasd"; + description = "quick command-line access to files and directories for POSIX shells"; + license = "free"; + + longDescription = '' + Fasd is a command-line productivity booster. + Fasd offers quick access to files and directories for POSIX shells. It is + inspired by tools like autojump, z and v. Fasd keeps track of files and + directories you have accessed, so that you can quickly reference them in the + command line. + ''; + + platforms = stdenv.lib.platforms.all; + }; +} + + diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index 8b141fea8262..8d6cbc1359bb 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "file-5.12"; + name = "file-5.17"; buildInputs = [ zlib ]; src = fetchurl { url = "ftp://ftp.astron.com/pub/file/${name}.tar.gz"; - sha256 = "08ix4xrvan0k80n0l5lqfmc4azjv5lyhvhwdxny4r09j5smhv78r"; + sha256 = "1jl31jli87s5xnjq14r1fh72qc95562qbr5f63d68yrq3ca9gsrz"; }; meta = { diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 00d2f759be4f..50af2a12c24b 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -2,11 +2,11 @@ , pkgconfig, gtkmm, libxml2 }: stdenv.mkDerivation rec { - name = "gparted-0.15.0"; + name = "gparted-0.18.0"; src = fetchurl { url = "mirror://sourceforge/gparted/${name}.tar.bz2"; - sha256 = "03s9dp2q281lkkfjgk9ahc8i6dk4d2a03z4bh2d19a7r3b2mmdww"; + sha256 = "0slyf0sbv7a7xvdcpn9ibnixpy0w4s6zwpz6sklkxcyfybw1j7xz"; }; configureFlags = "--disable-doc"; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 919332244670..ae3fe1487642 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -87,8 +87,6 @@ stdenv.mkDerivation rec { license = "GPLv3+"; - maintainers = with stdenv.lib.maintainers; [ shlevy ]; - platforms = if EFIsupport then [ "i686-linux" "x86_64-linux" ] else diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix index 1098e9d09207..502d9044c5d1 100644 --- a/pkgs/tools/misc/gummiboot/default.nix +++ b/pkgs/tools/misc/gummiboot/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gnu-efi, unzip, pkgconfig, utillinux, libxslt, docbook_xsl, docbook_xml_dtd_42 }: stdenv.mkDerivation rec { - name = "gummiboot-38"; + name = "gummiboot-43"; buildInputs = [ gnu-efi pkgconfig libxslt utillinux ]; @@ -13,8 +13,8 @@ stdenv.mkDerivation rec { ]; src = fetchurl { - url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-38.tar.xz/0504791387e1998bf2075728c237f27e/gummiboot-38.tar.xz; - sha256 = "1aid2a29ym8dqldxpcihnrls7vrr9ijbla3dad0r8qwkca43d4lm"; + url = http://pkgs.fedoraproject.org/repo/pkgs/gummiboot/gummiboot-43.tar.xz/c9b46a3504a2f7e335404a1475818d98/gummiboot-43.tar.xz; + sha256 = "1hwaan3985ap9r5ncf9bykbaixbm0xn4x09silssngwfl2srn4iv"; }; meta = { diff --git a/pkgs/tools/misc/i3minator/default.nix b/pkgs/tools/misc/i3minator/default.nix new file mode 100644 index 000000000000..08e012128c24 --- /dev/null +++ b/pkgs/tools/misc/i3minator/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, buildPythonPackage, pythonPackages, python }: + +let + i3-py = buildPythonPackage rec { + version = "0.6.4"; + name = "i3-py-${version}"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/i/i3-py/i3-py-${version}.tar.gz"; + sha256 = "1sgl438jrb4cdyl7hbc3ymwsf7y3zy09g1gh7ynilxpllp37jc8y"; + }; + + # no tests in tarball + doCheck = false; + }; +in buildPythonPackage rec { + name = "i3minator-${version}"; + version = "0.0.4"; + + src = fetchurl { + url = "https://github.com/carlesso/i3minator/archive/${version}.tar.gz"; + sha256 = "11dn062788kwfs8k2ry4v8zr2gn40r6lsw770s9g2gvhl5n469dw"; + }; + + propagatedBuildInputs = [ pythonPackages.pyyaml i3-py ]; + + meta = with stdenv.lib; { + description = "i3 project manager similar to tmuxinator"; + longDescription = '' + A simple "workspace manager" for i3. It allows to quickly + manage workspaces defining windows and their layout. The + project is inspired by tmuxinator and uses i3-py. + ''; + homepage = https://github.com/carlesso/i3minator; + license = "WTFPL"; # http://sam.zoy.org/wtfpl/ + maintainers = with maintainers; [ iElectric ]; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/tools/misc/kde-gtk-config/default.nix b/pkgs/tools/misc/kde-gtk-config/default.nix index e9f0af2815a9..873d2adde7f9 100644 --- a/pkgs/tools/misc/kde-gtk-config/default.nix +++ b/pkgs/tools/misc/kde-gtk-config/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { -DKDE4_LIBEXEC_INSTALL_DIR=lib/kde4/libexec ''; - meta = { + meta = with stdenv.lib; { homepage = https://projects.kde.org/projects/extragear/base/kde-gtk-config; description = "GTK configuration module for KDE System Settings"; longDescription = '' @@ -43,7 +43,8 @@ stdenv.mkDerivation { - Select GTK applications default fonts. - Easily browse and install new GTK2 and GTK3 themes. ''; - platforms = stdenv.lib.platforms.linux; - license = "GPLv3"; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix index fa391880a101..c51219839b22 100644 --- a/pkgs/tools/misc/less/default.nix +++ b/pkgs/tools/misc/less/default.nix @@ -1,13 +1,22 @@ -{stdenv, fetchurl, ncurses}: - -stdenv.mkDerivation { +{ stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation rec { name = "less-462"; - + src = fetchurl { url = http://www.greenwoodsoftware.com/less/less-462.tar.gz; sha256 = "1kv5izyrkds8lkkzd46c9gxsnjgxbr7w4ficzma95dprcn92m97a"; }; - - buildInputs = [ncurses]; - + + # Look for ‘sysless’ in /etc. + configureFlags = "--sysconfdir=/etc"; + + buildInputs = [ ncurses ]; + + meta = { + homepage = http://www.greenwoodsoftware.com/less/; + description = "A more advanced file pager than ‘more’"; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; } diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix new file mode 100644 index 000000000000..52180c75c981 --- /dev/null +++ b/pkgs/tools/misc/logstash-forwarder/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchgit, go }: +stdenv.mkDerivation { + name = "logstash-forwarder-20140410"; + src = fetchgit { + url = https://github.com/elasticsearch/logstash-forwarder.git; + rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3"; + sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d"; + }; + buildInputs = [ go ]; + installPhase = '' + mkdir -p $out/bin + cp build/bin/logstash-forwarder $out/bin + ''; + + meta = { + license = stdenv.lib.licenses.asl20; + homepage = https://github.com/elasticsearch/logstash-forwarder; + }; +} diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index 5374cb743618..f664bcc6917d 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -1,32 +1,23 @@ -{stdenv, fetchurl, db4, groff}: +{ stdenv, fetchurl, pkgconfig, libpipeline, db, groff }: -stdenv.mkDerivation { - name = "man-db-2.5.1"; +stdenv.mkDerivation rec { + name = "man-db-2.6.6"; src = fetchurl { - url = mirror://savannah/man-db/man-db-2.5.1.tar.gz; - sha256 = "178w1fk23ffh8vabj29cn0yyg5ps7bwy1zrrrcsw8aypbh3sfjy3"; + url = "mirror://savannah/man-db/${name}.tar.xz"; + sha256 = "1hv6byj6sg6cp3jyf08gbmdm4pwhvd5hzmb94xl0w7prin6hzabx"; }; - buildInputs = [db4 groff]; + buildInputs = [ pkgconfig libpipeline db groff ]; configureFlags = '' --disable-setuid - --with-nroff=${groff}/bin/nroff - --with-tbl=${groff}/bin/tbl - --with-eqn=${groff}/bin/eqn - --with-neqn=${groff}/bin/neqn ''; - troff = "${groff}/bin/troff"; - - patches = [ - # Search in "share/man" relative to each path in $PATH (in addition to "man"). - ./share.patch - ]; - - meta = { - homepage = http://www.nongnu.org/man-db/; + meta = with stdenv.lib; { + homepage = "http://man-db.nongnu.org"; description = "An implementation of the standard Unix documentation system accessed using the man command"; + license = licenses.gpl2; + platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/man-db/share.patch b/pkgs/tools/misc/man-db/share.patch deleted file mode 100644 index 95582a50269d..000000000000 --- a/pkgs/tools/misc/man-db/share.patch +++ /dev/null @@ -1,110 +0,0 @@ -diff -rc man-db-2.5.1-orig/src/manp.c man-db-2.5.1/src/manp.c -*** man-db-2.5.1-orig/src/manp.c 2008-01-07 03:23:11.000000000 +0100 ---- man-db-2.5.1/src/manp.c 2008-02-07 14:20:20.000000000 +0100 -*************** -*** 96,102 **** - - static void mkcatdirs (const char *mandir, const char *catdir); - static inline char *get_manpath_from_path (const char *path); -! static inline char *has_mandir (const char *p); - static inline char *fsstnd (const char *path); - static char *def_path (int flag); - static void add_dir_to_list (char **lp, const char *dir); ---- 96,102 ---- - - static void mkcatdirs (const char *mandir, const char *catdir); - static inline char *get_manpath_from_path (const char *path); -! static inline char *has_mandir (const char *p, const char *mandir); - static inline char *fsstnd (const char *path); - static char *def_path (int flag); - static void add_dir_to_list (char **lp, const char *dir); -*************** -*** 928,934 **** - } else { - debug ("is not in the config file\n"); - -! t = has_mandir (p); - if (t) { - debug ("but does have a ../man or man " - "subdirectory\n"); ---- 928,934 ---- - } else { - debug ("is not in the config file\n"); - -! t = has_mandir (p, "man"); - if (t) { - debug ("but does have a ../man or man " - "subdirectory\n"); -*************** -*** 938,943 **** ---- 938,952 ---- - } else - debug ("and doesn't have ../man or man " - "subdirectories\n"); -+ -+ t = has_mandir (p, "share/man"); -+ if (t) { -+ debug ("but does have a ../share/man or share/man subdirectory\n"); -+ -+ add_dir_to_list (tmplist, t); -+ free (t); -+ } else -+ debug ("and doesn't have ../share/man or share/man subdirectories\n"); - } - } - -*************** -*** 1013,1019 **** - - /* path does not exist in config file: check to see if path/../man or - path/man exist. If so return it, if not return NULL. */ -! static inline char *has_mandir (const char *path) - { - char *newpath = NULL; - ---- 1022,1028 ---- - - /* path does not exist in config file: check to see if path/../man or - path/man exist. If so return it, if not return NULL. */ -! static inline char *has_mandir (const char *path, const char *mandir) - { - char *newpath = NULL; - -*************** -*** 1023,1031 **** - char *subdir = strrchr (path, '/'); - if (subdir) { - const int prefix_len = subdir + 1 - path; -! newpath = xmalloc (prefix_len + sizeof ("man") + 1); - strncpy (newpath, path, prefix_len); -! strcpy (newpath + prefix_len, "man"); - - if (is_directory (newpath) == 1) - return newpath; ---- 1032,1040 ---- - char *subdir = strrchr (path, '/'); - if (subdir) { - const int prefix_len = subdir + 1 - path; -! newpath = xmalloc (prefix_len + strlen (mandir) + 2); - strncpy (newpath, path, prefix_len); -! strcpy (newpath + prefix_len, mandir); - - if (is_directory (newpath) == 1) - return newpath; -*************** -*** 1033,1039 **** - *newpath = '\0'; - } - -! newpath = appendstr (newpath, path, "/man", NULL); - - if (is_directory (newpath) == 1) - return newpath; ---- 1042,1048 ---- - *newpath = '\0'; - } - -! newpath = appendstr (newpath, path, "/", mandir, NULL); - - if (is_directory (newpath) == 1) - return newpath; diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix index 88194ec0fdf3..594947ba13d5 100644 --- a/pkgs/tools/misc/mc/default.nix +++ b/pkgs/tools/misc/mc/default.nix @@ -2,11 +2,11 @@ , libX11, libICE, perl, zip, unzip, gettext, slang}: stdenv.mkDerivation rec { - name = "mc-4.8.11"; + name = "mc-4.8.12"; src = fetchurl { - url = http://www.midnight-commander.org/downloads/mc-4.8.11.tar.bz2; - sha256 = "1yjm6rp9h3491mar7vdw88mgvydmz7zdj97mmjkqyf5bidx4w2hf"; + url = http://www.midnight-commander.org/downloads/mc-4.8.12.tar.bz2; + sha256 = "15lkwcis0labshq9k8c2fqdwv8az2c87qpdqwp5p31s8gb1gqm0h"; }; buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ]; @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { meta = { description = "File Manager and User Shell for the GNU Project"; homepage = http://www.midnight-commander.org; + repositories.git = git://github.com/MidnightCommander/mc.git; license = "GPLv2+"; maintainers = [ stdenv.lib.maintainers.sander ]; }; diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix index e7342d9b3e61..2805514965ea 100644 --- a/pkgs/tools/misc/mdbtools/git.nix +++ b/pkgs/tools/misc/mdbtools/git.nix @@ -1,22 +1,25 @@ { stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig, - libiconv, autoconf, automake, libtool }: + libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils, + scrollkeeper}: stdenv.mkDerivation { name = "mdbtools-git"; src = fetchgit { url = "http://github.com/brianb/mdbtools.git"; - rev = "5ac44b69d9375cca3e1055b70fd22abf7fbf17ab"; - sha256 = "094e6b480c6fda3a000d0d8539b209d2d7c204a440660a21c11f2e1c9b3aa345"; + rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b"; + sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n"; }; buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake - libtool]; + libtool which txt2man gnome_doc_utils scrollkeeper ]; preConfigure = '' sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c - export NIX_LDFLAGS="$NIX_LDFLAGS -liconv" - ./autogen.sh + sed -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(HAVE_GNOME_DOC_UTILS, test x$enable_gtk_doc = xyes)' \ + -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(ENABLE_SK, test x$enable_scrollkeeper = xyes)' \ + -i configure.ac + autoreconf -i -f ''; meta = { diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix index 978bb2729f84..ebf0a89a7075 100644 --- a/pkgs/tools/misc/memtest86/default.nix +++ b/pkgs/tools/misc/memtest86/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "memtest86-4.1.0"; + name = "memtest86-4.3.3"; src = fetchurl { - url = http://www.memtest86.com/downloads/memtest86-4.1.0-src.tar.gz; - sha256 = "1kdvq16s8hvk7plprws33mfh7cnhmfl1m32sfgbmzygbhk5wqxxq"; + url = http://www.memtest86.com/downloads/memtest86-4.3.3-src.tar.gz; + sha256 = "1fzpk0s97lx8h1wbv2bgr6m8v4ag8i58kzr8fa25bvwyl8hks9sl"; }; preBuild = '' diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix index 2ab1195020c3..8ede3aa918b1 100644 --- a/pkgs/tools/misc/minicom/default.nix +++ b/pkgs/tools/misc/minicom/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "minicom-2.6.2"; + name = "minicom-2.7"; src = fetchurl { - url = "http://alioth.debian.org/frs/download.php/file/3869/${name}.tar.gz"; - sha256 = "0s4ibk8scspm8a0raf5s4zgp9b82c4bn529rir9abzqlg5gj3kzk"; + url = "http://alioth.debian.org/frs/download.php/file/3977/${name}.tar.gz"; + sha256 = "1x04m4k7c71j5cnhzpjrbz43dd96k4mpkd0l87v5skrgp1isdhws"; }; buildInputs = [ncurses]; diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix index 805dbd3f17c2..96d3764abd46 100644 --- a/pkgs/tools/misc/multitail/default.nix +++ b/pkgs/tools/misc/multitail/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { buildInputs = [ ncurses ]; + makeFlags = stdenv.lib.optionalString stdenv.isDarwin "-f makefile.macosx"; + installPhase = '' ensureDir $out/bin cp multitail $out/bin diff --git a/pkgs/tools/misc/myhasktags/default.nix b/pkgs/tools/misc/myhasktags/default.nix deleted file mode 100644 index 62d4ee2579f0..000000000000 --- a/pkgs/tools/misc/myhasktags/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{fetchurl, stdenv, ghcPlain} : - -/* use case: - - packageOverrides = { - - haskellCollection = - let hp = haskellPackages; - install = [ hp.QuickCheck /* ... * /]; - in - misc.collection { - name = "my-haskell-packages-collection"; - list = install ++ (map (x : sourceWithTagsDerivation (sourceWithTagsFromDerivation (addHasktagsTaggingInfo x) )) - (lib.filter (x : builtins.hasAttr "src" x) install ) ); - }; - }; - -*/ - -stdenv.mkDerivation { - name = "hasktags-modified"; - version = "0.0"; # Haskell Platform 2009.0.0 - src = fetchurl { - url = http://mawercer.de/~nix/hasktags.hs; - sha256 = "0zdin03n357viyyqbn2d029jxd83nyazhaxbxfc8v3jrz5pkwl2c"; - }; - phases="buildPhase"; - buildPhase = '' - mkdir -p $out/bin - ghc --make $src -o $out/bin/hasktags-modified - ''; - buildInputs = [ ghcPlain ]; - - meta = { - description = "my patched version of hasktags. Should be merged into hasktags?"; - }; -} diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix index 47b96023ce0f..ff751eb40da3 100644 --- a/pkgs/tools/misc/ncdu/default.nix +++ b/pkgs/tools/misc/ncdu/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "ncdu-${version}"; - version = "1.8"; + version = "1.10"; src = fetchurl { url = "http://dev.yorhel.nl/download/${name}.tar.gz"; - sha256 = "42aaf0418c05e725b39b220166a9c604a9c54c0fbf7692c9c119b36d0ed5d099"; + sha256 = "0rqc5wpqcbfqpcwxgh3jxwa0yw2py0hv0acpsf0a9g6v9144m6gm"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index d58b57196d21..fa6f147efe49 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, perl }: stdenv.mkDerivation rec { - name = "parallel-20130422"; + name = "parallel-20140222"; src = fetchurl { url = "mirror://gnu/parallel/${name}.tar.bz2"; - sha256 = "0aygc6d2sf2xrnyldv62a17masfs5am4zfm68k4fhvymwcfbp41h"; + sha256 = "0zb3hg92br6a53jn0pzfl16ffc1hfw81jk7nzw5spkshsdrcqx3y"; }; patchPhase = diff --git a/pkgs/tools/misc/pastebinit/default.nix b/pkgs/tools/misc/pastebinit/default.nix new file mode 100644 index 000000000000..cf41de29c500 --- /dev/null +++ b/pkgs/tools/misc/pastebinit/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, python3Packages }: + +python3Packages.buildPythonPackage rec { + version = "1.4.1"; + name = "pastebinit-${version}"; + + src = fetchurl { + url = "https://launchpad.net/pastebinit/trunk/${version}/+download/${name}.tar.bz2"; + md5 = "b771872a9483cf92be90a3e4420fd3c9"; + }; + + configurePhase = "export DETERMINISTIC_BUILD=1"; + + buildPhase = ""; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/etc + cp -a pastebinit $out/bin + cp -a pastebin.d $out/etc + substituteInPlace $out/bin/pastebinit --replace "'/etc/pastebin.d" "'$out/etc/pastebin.d" + ''; + + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://launchpad.net/pastebinit; + description = "A software that lets you send anything you want directly to a pastebin from the command line"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix index 10886e969a2c..6ba3d9a4f59f 100644 --- a/pkgs/tools/misc/plantuml/default.nix +++ b/pkgs/tools/misc/plantuml/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, jre, graphviz }: stdenv.mkDerivation rec { - version = "7982"; + version = "7991"; name = "plantuml-${version}"; src = fetchurl { url = "mirror://sourceforge/project/plantuml/plantuml.${version}.jar"; - sha256 = "0hxs0whjgx36j5azdcna40rw2c7smhg0qm3kzld9vx88m0c51dgl"; + sha256 = "0afhgiq2165ahj8ww0pmk69nqgpibllp9nhpk8wapg3zknh2hx5r"; }; # It's only a .jar file and a shell wrapper diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix index bf0c44de1419..480e00c850d3 100644 --- a/pkgs/tools/misc/pv/default.nix +++ b/pkgs/tools/misc/pv/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl } : stdenv.mkDerivation rec { - name = "pv-1.4.12"; + name = "pv-1.5.2"; src = fetchurl { url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2"; - sha256 = "0hnpv4l5kidfwxzba7ibm9wjs71ing9gzx0m80bgr3ia8k4s8nka"; + sha256 = "1sz5ishd66xliwnhv0x3vr48fbp7id4xd8fsrbm66y7f5mfd7qp2"; }; meta = { diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix deleted file mode 100644 index 6f4e031e4419..000000000000 --- a/pkgs/tools/misc/refind/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ stdenv, fetchurl, gnu-efi, unzip }: - -let version = "0.4.5"; in - -stdenv.mkDerivation { - name = "refind-${version}"; - - src = fetchurl { - url = "mirror://sourceforge/refind/refind-src-${version}.zip"; - sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c"; - }; - - buildInputs = [ unzip ]; - - buildFlags = [ "prefix=" "EFIINC=${gnu-efi}/include/efi" "GNUEFILIB=${gnu-efi}/lib" "EFILIB=${gnu-efi}/lib" "EFICRT0=${gnu-efi}/lib" "LOCAL_CFLAGS=-I${gnu-efi}/include" ]; - - installPhase = '' - mkdir -pv $out - install -v -m644 refind/refind*.efi refind.conf-sample $out - mv -v icons $out - ''; - - meta = { - description = "An EFI boot manager"; - - homepage = http://www.rodsbooks.com/refind/; - - license = "GPLv3+"; - - maintainers = with stdenv.lib.maintainers; [ shlevy ]; - - platforms = [ "i686-linux" "x86_64-linux" ]; - }; -} diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix index adb2a456b88f..eac12bae381e 100644 --- a/pkgs/tools/misc/rockbox-utility/default.nix +++ b/pkgs/tools/misc/rockbox-utility/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "rockbox-utility-${version}"; - version = "1.3.1"; + version = "1.4.0"; src = fetchurl { url = "http://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; - sha256 = "6c04b5c7eaad1762577908dedb9e40f5b0cee675150ae5ba844ea2c9bea294ca"; + sha256 = "0k3ycga3b0jnj13whwiip2l0gx32l50pnbh7kfima87nq65aaa5w"; }; buildInputs = [ libusb1 qt4 ]; diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix index b0da497c322e..51cb1d22a49e 100644 --- a/pkgs/tools/misc/system-config-printer/default.nix +++ b/pkgs/tools/misc/system-config-printer/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-udev-rules" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; postInstall = diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix index 0d1a962cbf66..84f0f63bd252 100644 --- a/pkgs/tools/misc/units/default.nix +++ b/pkgs/tools/misc/units/default.nix @@ -1,13 +1,14 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "units-2.02"; + name = "units-2.10"; src = fetchurl { - url = mirror://gnu/units/units-2.02.tar.gz; - sha256 = "16jfji9g1zc99agd5dcinajinhcxr4dgq2lrbc9md69ir5qgld1b"; + url = mirror://gnu/units/units-2.10.tar.gz; + sha256 = "0fa4bk5aqyis5zisz6l8mqqk76njj6zgx3pbrjp5kvraz1dz78lc"; }; meta = { description = "Unit conversion tool"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix index 5c8d6f37c7c6..74eadaf5e2e9 100644 --- a/pkgs/tools/misc/xsel/default.nix +++ b/pkgs/tools/misc/xsel/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, x11}: stdenv.mkDerivation { - name = "xsel-0.9.6"; + name = "xsel-1.2.0"; src = fetchurl { - url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-0.9.6.tar.gz; - md5 = "cec2fb09a4101b7f2beab8094234e2f4"; + url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-1.2.0.tar.gz; + sha256 = "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"; }; buildInputs = [x11]; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index f4c59c023649..1a99cb291c47 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, zip }: let - version = "2014.01.08"; + version = "2014.04.02"; in stdenv.mkDerivation rec { name = "youtube-dl-${version}"; src = fetchurl { url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "0a83j62w2k5fdxp3fvs0zr6r81w7jkzzzr8r8wim1yyi6k8cjcwv"; + sha256 = "1c9d5wjl0aaqfvz868wbkr3dwby9vjkx0hkbnwx0wnpg48nlnwpm"; }; buildInputs = [ python ]; @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { description = "Command-line tool to download videos from YouTube.com and other sites"; platforms = with stdenv.lib.platforms; linux ++ darwin; - maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ]; + maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons phreedom ]; }; } diff --git a/pkgs/tools/networking/aria/default.nix b/pkgs/tools/networking/aria/default.nix index 2cd3892eedeb..c7ccefd045b4 100644 --- a/pkgs/tools/networking/aria/default.nix +++ b/pkgs/tools/networking/aria/default.nix @@ -1,11 +1,11 @@ args : with args; -let version="0.16.2"; in +let version="1.18.3"; in rec { src = /* Here a fetchurl expression goes */ fetchurl { - url = "mirror://sourceforge/aria2/aria2c-${version}.tar.bz2"; - sha256 = "02qj3j7a1r477pmk969nd3aa93m33kh4101azy001i9jacpjvzrp"; + url = "mirror://sourceforge/aria2/stable/aria2-${version}.tar.bz2"; + sha256 = "0y5wv7llq5sdwrsxqkc67wzk8gpb1kl4l1c0zl6l7kr0bkidna9r"; }; buildInputs = []; diff --git a/pkgs/tools/networking/badvpn/default.nix b/pkgs/tools/networking/badvpn/default.nix index d2e53d677e24..64f669a480e2 100644 --- a/pkgs/tools/networking/badvpn/default.nix +++ b/pkgs/tools/networking/badvpn/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="badvpn"; - version="1.999.128"; + version="1.999.129"; name="${baseName}-${version}"; - hash="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn"; - url="http://badvpn.googlecode.com/files/badvpn-1.999.128.tar.bz2"; - sha256="1z4v1jydv8zkkszsq7scc17rw5dqz9zlpcc40ldxsw34arfqvcnn"; + hash="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl"; + url="https://github.com/ambrop72/badvpn/archive/1.999.129.tar.gz"; + sha256="078gax6yifkf9y9g01wn1p0dypvgiwcsdmzp1bhwwfi0fbpnzzgl"; }; buildInputs = [ cmake openssl nss pkgconfig nspr diff --git a/pkgs/tools/networking/badvpn/default.upstream b/pkgs/tools/networking/badvpn/default.upstream index 1c746698fefe..2a85ba7cb519 100644 --- a/pkgs/tools/networking/badvpn/default.upstream +++ b/pkgs/tools/networking/badvpn/default.upstream @@ -1,3 +1,3 @@ -url http://gc.codehum.com/p/badvpn/downloads/list -version_link '[.]tar[.][a-z0-9]+$' -process 'gc.codehum.com//' '' +url https://github.com/ambrop72/badvpn/releases +version_link '[0-9][.]tar[.][a-z0-9]+$' +version '.*/([0-9.]+)[.]tar[.].*' '\1' diff --git a/pkgs/tools/networking/bully/default.nix b/pkgs/tools/networking/bully/default.nix new file mode 100644 index 000000000000..f667d772ac44 --- /dev/null +++ b/pkgs/tools/networking/bully/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, openssl, libpcap}: + +stdenv.mkDerivation rec { + name = "bully-${version}"; + version = "1.0-22"; + src = fetchurl { + url = "https://github.com/bdpurcell/bully/archive/v${version}.tar.gz"; + sha256 = "72f568f659fdcf70455a17f91f25dde65a53431c67c796517d3d3c4a4703ab68"; + }; + buildInputs = [ openssl libpcap ]; + + buildPhase = '' + cd src + make + ''; + + installPhase = '' + mkdir -p $out/bin + mv bully $out/bin + ''; + + meta = { + description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point."; + homepage = "https://github.com/bdpurcell/bully"; + maintainers = [ stdenv.lib.maintainers.edwtjo ]; + license = stdenv.lib.licenses.gpl3; + }; +} \ No newline at end of file diff --git a/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch b/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch new file mode 100644 index 000000000000..83cdbad7bbac --- /dev/null +++ b/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch @@ -0,0 +1,72 @@ +From f730ba82d641029dd262d05e8533fc7643f4c4b9 Mon Sep 17 00:00:00 2001 +From: Aaron Lindsay +Date: Wed, 15 Jan 2014 13:49:40 -0500 +Subject: [PATCH] Add autoconfiguration for libjansson + +--- + configure.ac | 5 +++++ + net/daemon/Makefile.am | 4 ++-- + net/server/Makefile.am | 2 +- + 3 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 64e74b5..0911671 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -248,6 +248,7 @@ SEARPC_REQUIRED=1.0 + ZDB_REQUIRED=2.10 + LIBNAUTILUS_EXTENSION_REQUIRED=2.30.1 + SEARPC_REQUIRED=1.0 ++JANSSON_REQUIRED=2.2.1 + CURL_REQUIRED=7.17 + + PKG_CHECK_MODULES(GLIB2, [glib-2.0 >= $GLIB_REQUIRED]) +@@ -262,6 +263,10 @@ PKG_CHECK_MODULES(SEARPC, [libsearpc >= $SEARPC_REQUIRED]) + AC_SUBST(SEARPC_CFLAGS) + AC_SUBST(SEARPC_LIBS) + ++PKG_CHECK_MODULES(JANSSON, [jansson >= $JANSSON_REQUIRED]) ++AC_SUBST(JANSSON_CFLAGS) ++AC_SUBST(JANSSON_LIBS) ++ + if test x${compile_python} = xyes; then + AM_PATH_PYTHON([2.6]) + +diff --git a/net/daemon/Makefile.am b/net/daemon/Makefile.am +index 35d1a3c..0e28c6a 100644 +--- a/net/daemon/Makefile.am ++++ b/net/daemon/Makefile.am +@@ -95,7 +95,7 @@ ccnet_SOURCES = ccnet-daemon.c \ + + ccnet_LDADD = -levent $(top_builddir)/lib/libccnetd.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 \ +- @LIB_WS32@ @LIB_INTL@ @LIB_IPHLPAPI@ @SEARPC_LIBS@ ++ @LIB_WS32@ @LIB_INTL@ @LIB_IPHLPAPI@ @SEARPC_LIBS@ @JANSSON_LIBS@ + + + ccnet_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@ @SERVER_PKG_RPATH@ -no-undefined +@@ -106,7 +106,7 @@ ccnet_test_SOURCES = ccnet-test.c daemon-session.c $(common_srcs) + + ccnet_test_LDADD = -levent $(top_builddir)/lib/libccnetd.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 \ +- @LIB_WS32@ @LIB_INTL@ @LIB_IPHLPAPI@ @SEARPC_LIBS@ ++ @LIB_WS32@ @LIB_INTL@ @LIB_IPHLPAPI@ @SEARPC_LIBS@ @JANSSON_LIBS@ + + ccnet_test_LDFLAGS = @STATIC_COMPILE@ -no-undefined @CONSOLE@ + +diff --git a/net/server/Makefile.am b/net/server/Makefile.am +index d587f48..b048936 100644 +--- a/net/server/Makefile.am ++++ b/net/server/Makefile.am +@@ -103,7 +103,7 @@ ccnet_server_LDADD = -levent $(top_builddir)/lib/libccnetd.la \ + @GLIB2_LIBS@ @GOBJECT_LIBS@ -lssl @LIB_RT@ @LIB_UUID@ -lsqlite3 \ + -lpthread \ + @LIB_WS32@ @LIB_INTL@ @LIB_IPHLPAPI@ @SEARPC_LIBS@ @ZDB_LIBS@ \ +- @LDAP_LIBS@ ++ @LDAP_LIBS@ @JANSSON_LIBS@ + + + ccnet_server_LDFLAGS = @STATIC_COMPILE@ @CONSOLE@ @SERVER_PKG_RPATH@ -no-undefined +-- +1.8.5.2 + diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix new file mode 100644 index 000000000000..14b88ddafe84 --- /dev/null +++ b/pkgs/tools/networking/ccnet/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}: + +stdenv.mkDerivation rec +{ + version = "1.4.0"; + seafileVersion = "2.1.1"; + name = "ccnet-${version}"; + + src = fetchurl + { + url = "https://github.com/haiwen/ccnet/archive/v${seafileVersion}.tar.gz"; + sha256 = "6882eb1a3066897e4f91fb60a3405b3f58b4b794334deaca73617003f77a7eb0"; + }; + + patches = [ ./libccnet.pc.patch ./0001-Add-autoconfiguration-for-libjansson.patch ]; + + buildInputs = [ which automake autoconf pkgconfig libtool vala python ]; + propagatedBuildInputs = [ libsearpc libzdb libuuid libevent sqlite openssl ]; + + preConfigure = '' + sed -ie 's|/bin/bash|/bin/sh|g' ./autogen.sh + ./autogen.sh + ''; + + configureFlags = "--enable-server"; + + buildPhase = "make -j1"; + + meta = + { + homepage = "https://github.com/haiwen/ccnet"; + description = "A framework for writing networked applications in C."; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.calrama ]; + }; +} diff --git a/pkgs/tools/networking/ccnet/libccnet.pc.patch b/pkgs/tools/networking/ccnet/libccnet.pc.patch new file mode 100644 index 000000000000..0d9fea552bcd --- /dev/null +++ b/pkgs/tools/networking/ccnet/libccnet.pc.patch @@ -0,0 +1,10 @@ +From: Aaron Lindsay + +--- a/libccnet.pc.in 2013-01-10 01:35:24.000000000 -0500 ++++ b/libccnet.pc.in 2013-01-19 11:31:50.479301798 -0500 +@@ -1,4 +1,4 @@ +-prefix=(DESTDIR)@prefix@ ++prefix=@prefix@ + exec_prefix=@exec_prefix@ + libdir=@libdir@ + includedir=@includedir@ diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix index 41eb1a8f77af..ac7055e20f2a 100644 --- a/pkgs/tools/networking/chrony/default.nix +++ b/pkgs/tools/networking/chrony/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux -> libcap != null; stdenv.mkDerivation rec { - name = "chrony-1.29"; + name = "chrony-1.29.1"; src = fetchurl { url = "http://download.tuxfamily.org/chrony/${name}.tar.gz"; - sha256 = "16ykdb8pnqcr30pdsaa6rabvsin2n858fmkzd81anqq6p9rg11f6"; + sha256 = "09xgcmh9yrprsazsrm3bm0xl3y75csi9lhh815yyrn68v2s9p335"; }; buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap; @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Sets your computer's clock from time servers on the Net"; - homepage = "http://chrony.tuxfamily.org/"; + homepage = http://chrony.tuxfamily.org/; + repository.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git; license = licenses.gpl2; platforms = platforms.unix; diff --git a/pkgs/tools/networking/cjdns/builder.sh b/pkgs/tools/networking/cjdns/builder.sh new file mode 100644 index 000000000000..c2e3701c0468 --- /dev/null +++ b/pkgs/tools/networking/cjdns/builder.sh @@ -0,0 +1,9 @@ +source $stdenv/setup + +unpackPhase +cd git-export + +bash do + +mkdir -p $out/sbin +cp cjdroute $out/sbin diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index ffe22a93d0d4..48e21f4507e5 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -1,31 +1,27 @@ -{ stdenv, fetchgit, cmake }: +{ stdenv, fetchgit, nodejs, which, python27 }: let - rev = "f7b02ac0cc"; + date = "20140303"; + rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb"; in stdenv.mkDerivation { - name = "cjdns-git-20130620-${stdenv.lib.strings.substring 0 7 rev}"; + name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}"; src = fetchgit { - url = "https://github.com/cjdelisle/cjdns.git"; + url = "git://github.com/cjdelisle/cjdns.git"; inherit rev; - sha256 = "1580a62yhph62nv7q2jdqrbkyk9a9g5i17snibkxyykc7rili5zq"; + sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8"; }; - preConfigure = '' - sed -i -e '/toolchain.*CACHE/d' CMakeLists.txt - ''; + buildInputs = [ which python27 nodejs]; - doCheck = true; - checkPhase = "ctest"; - - buildInputs = [ cmake ]; + builder = ./builder.sh; meta = { homepage = https://github.com/cjdelisle/cjdns; description = "Encrypted networking for regular people"; - license = "GPLv3+"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ viric emery ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 3fee2507b864..10bfc0e21ec5 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -13,11 +13,11 @@ assert scpSupport -> libssh2 != null; assert c-aresSupport -> c-ares != null; stdenv.mkDerivation rec { - name = "curl-7.33.0"; + name = "curl-7.35.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "1cyiali7jq613qz5zb28myhywrdi35dngniwvknmh9lyjk6y9z8a"; + sha256 = "10qdzk3lfdpg8lvg8wfiqbfjp5yxyv25y1y2679vgwal2iqd2x6p"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains @@ -27,11 +27,13 @@ stdenv.mkDerivation rec { optional zlibSupport zlib ++ optional gssSupport gss ++ optional c-aresSupport c-ares ++ - optional sslSupport openssl; + optional sslSupport openssl ++ + optional scpSupport libssh2; preConfigure = '' sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure ''; + configureFlags = [ ( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" ) ( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" ) @@ -67,9 +69,10 @@ stdenv.mkDerivation rec { inherit sslSupport openssl; }; - meta = { - homepage = "http://curl.haxx.se/"; + meta = with stdenv.lib; { description = "A command line tool for transferring files with URL syntax"; - platforms = stdenv.lib.platforms.all; + homepage = http://curl.haxx.se/; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.all; }; } diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix index ae0007c1f2d0..1e0f26cc92cd 100644 --- a/pkgs/tools/networking/dd-agent/default.nix +++ b/pkgs/tools/networking/dd-agent/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, python, sysstat, unzip }: +{ stdenv, fetchurl, python, sysstat, unzip, tornado, makeWrapper }: stdenv.mkDerivation rec { - version = "4.0.1"; + version = "4.2.0"; name = "dd-agent-${version}"; src = fetchurl { url = "https://github.com/DataDog/dd-agent/archive/${version}.zip"; - sha256 = "0gybdbjkj7qwnzic03xkypagb30zhm22gp3nkwrdhi8fdmwz3nm1"; + sha256 = "0lp3h3flb50i64kgkj9kyyf3p1xm0nipxi22w5pmhb71l678d216"; }; - buildInputs = [ python unzip ]; - propagatedBuildInputs = [ python ]; + buildInputs = [ python unzip makeWrapper ]; + propagatedBuildInputs = [ python tornado ]; postUnpack = "export sourceRoot=$sourceRoot/packaging"; @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { postInstall = '' mv $out/usr/* $out rmdir $out/usr + wrapProgram $out/bin/dd-forwarder --prefix PYTHONPATH : $PYTHONPATH ''; meta = { @@ -28,7 +29,7 @@ stdenv.mkDerivation rec { homepage = http://www.datadoghq.com; - maintainers = [ stdenv.lib.maintainers.shlevy stdenv.lib.maintainers.iElectric ]; + maintainers = [ stdenv.lib.maintainers.iElectric ]; license = stdenv.lib.licenses.bsd3; diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index ad0b62d19f81..d247dbe38aa6 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,15 +1,17 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, pkgconfig, udev }: stdenv.mkDerivation rec { - name = "dhcpcd-5.6.8"; + name = "dhcpcd-6.3.2"; src = fetchurl { url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2"; - sha256 = "1i7fv1l0n7q1mnia7g0789ch63x5zhwk5gsrwvs78dv2f2kmvcd3"; + sha256 = "1v2m5wdr6x5cz6i0n1y63am9dhj5j7ylrk717scjgwwjdbq1x75n"; }; patches = [ ./lxc_ro_promote_secondaries.patch ]; + buildInputs = [ pkgconfig udev ]; + configureFlags = "--sysconfdir=/etc"; makeFlags = "PREFIX=\${out}"; @@ -18,6 +20,9 @@ stdenv.mkDerivation rec { # at runtime. installFlags = "DBDIR=\${TMPDIR}/db SYSCONFDIR=$(out)/etc"; + # Check that the udev plugin got built. + postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]"; + meta = { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = http://roy.marples.name/projects/dhcpcd; diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 0c5dfc6fd748..d8f62913ad50 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "dnsmasq-2.68"; + name = "dnsmasq-2.69"; src = fetchurl { url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz"; - sha256 = "0bvw16i83ybiajskma59zjiqw59vzlcqf8f69k0crwak3zb1j820"; + sha256 = "1zf4d6kjbsn6gwfwvmch1y84q67na1qhh0gyd50ip1vjsmw2l4i7"; }; makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale"; diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix index 99cfb92a18b6..e49c32aac704 100644 --- a/pkgs/tools/networking/easyrsa/default.nix +++ b/pkgs/tools/networking/easyrsa/default.nix @@ -26,7 +26,8 @@ stdenv.mkDerivation rec { # Make sane defaults and patch default config vars postInstall = '' - for prog in $(find "$out/share/easy-rsa" -executable); do + cp $out/share/easy-rsa/openssl-1.0.0.cnf $out/share/easy-rsa/openssl.cnf + for prog in $(find "$out/share/easy-rsa" -executable -type f); do makeWrapper "$prog" "$out/bin/$(basename $prog)" \ --set EASY_RSA "$out/share/easy-rsa" \ --set OPENSSL "${openssl}/bin/openssl" \ diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix index 80d29835da53..6d9666506b88 100644 --- a/pkgs/tools/networking/getmail/default.nix +++ b/pkgs/tools/networking/getmail/default.nix @@ -11,8 +11,6 @@ buildPythonPackage rec { doCheck = false; - installCommand = "python setup.py install --prefix=\"\$prefix\""; - meta = { description = "A program for retrieving mail"; maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ]; diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix index 8346be2ceb57..54f3e860e0c7 100644 --- a/pkgs/tools/networking/gupnp-tools/default.nix +++ b/pkgs/tools/networking/gupnp-tools/default.nix @@ -1,11 +1,18 @@ -{fetchurl, stdenv, gupnp, gssdp, pkgconfig, glib, libxml2, libsoup, gtk, libglade, gnomeicontheme, e2fsprogs}: +{fetchurl, stdenv, gupnp, gssdp, pkgconfig, gtk3, libuuid, intltool, gupnp_av, gnome3, makeWrapper}: stdenv.mkDerivation rec { - name = "gupnp-tools-0.6"; + name = "gupnp-tools-${version}"; + majorVersion = "0.8"; + version = "${majorVersion}.8"; src = fetchurl { - url = "http://www.gupnp.org/sources/gupnp-tools/gupnp-tools-0.6.tar.gz"; - sha256 = "08fnggk85zqdcvm4np53yxw15b3ck25c2rmyfrh04g8j25qf50dj"; + url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz"; + sha256 = "160dgh9pmlb85qfavwqz46lqawpshs8514bx2b57f9rbiny8kbij"; }; - buildInputs = [gupnp gssdp pkgconfig glib libxml2 libsoup gtk libglade gnomeicontheme e2fsprogs]; + buildInputs = [gupnp libuuid gssdp pkgconfig gtk3 intltool gupnp_av gnome3.gnome_icon_theme gnome3.gnome_themes_standard makeWrapper]; + + postInstall = '' + wrapProgram "$out/bin/gupnp-av-cp" --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gnome_icon_theme}/share:$out/share" + wrapProgram "$out/bin/gupnp-universal-cp" --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gnome_icon_theme}/share:$out/share" + ''; } diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index e4a32e14260c..42760da5d4ae 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -29,9 +29,9 @@ stdenv.mkDerivation rec { homepage = http://haproxy.1wt.eu; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; - license = [ + /* TODO license = [ stdenv.lib.licenses.gpl2 stdenv.lib.licenses.lgpl21 - ]; + ];*/ }; } diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix index a1f5026fb28b..c40764866eb5 100644 --- a/pkgs/tools/networking/iftop/default.nix +++ b/pkgs/tools/networking/iftop/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; homepage = http://ex-parrot.com/pdw/iftop/; platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index 24d73ff4d6fe..295cb0bf1391 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "inetutils-1.9.1"; + name = "inetutils-1.9.2"; src = fetchurl { url = "mirror://gnu/inetutils/${name}.tar.gz"; - sha256 = "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82"; + sha256 = "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"; }; buildInputs = [ ncurses /* for `talk' */ ]; diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix index 2ee8a90cb4af..33d8ee2fd636 100644 --- a/pkgs/tools/networking/iperf/default.nix +++ b/pkgs/tools/networking/iperf/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = "http://sourceforge.net/projects/iperf/"; description = "Tool to measure IP bandwidth using UDP or TCP"; - platforms = platforms.linux; + platforms = platforms.unix; license = "as-is"; }; } diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix index 9587dfee613b..ed01ccacd797 100644 --- a/pkgs/tools/networking/isync/default.nix +++ b/pkgs/tools/networking/isync/default.nix @@ -1,20 +1,19 @@ -{ fetchurl, stdenv, openssl, pkgconfig, db4 }: +{ fetchurl, stdenv, openssl, pkgconfig, db }: stdenv.mkDerivation rec { - name = "isync-1.0.6"; + name = "isync-1.1.0"; src = fetchurl { url = "mirror://sourceforge/isync/${name}.tar.gz"; - sha256 = "0bv3hw6mc9xi55q6lpyz1w3dyrk6rlxa8ny2x1b44mrnbrx7chz5"; + sha256 = "51f5618c239013fb770f98ae269f24ee417214efaaf7e22821b4a27cf9a9213c"; }; - patches = [ ./isync-recursice-imap.patch ]; # usefull patch to enable subfolders listing - buildInputs = [ openssl pkgconfig db4 ]; + buildInputs = [ openssl pkgconfig db ]; meta = { homepage = http://isync.sourceforge.net/; description = "Free IMAP and MailDir mailbox synchronizer"; - licenses = [ "GPLv2+" ]; + license = [ "GPLv2+" ]; maintainers = [ stdenv.lib.maintainers.viric ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index 2bc575bbd02b..434ddbce3e71 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -1,20 +1,22 @@ { stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, xz }: stdenv.mkDerivation rec { - name = "lftp-4.4.5"; + name = "lftp-4.4.15"; src = fetchurl { - url = "ftp://ftp.tuwien.ac.at/infosys/browsers/ftp/lftp/${name}.tar.xz"; - sha256 = "1p3nxsd2an9pdwc3vgwxy8p5nnjrc7mhilikjaddy62cyvxdbpxq"; + url = "http://lftp.yar.ru/ftp/${name}.tar.gz"; + sha256 = "1iw0xvvi9wr7grm6dwbxgm8ms98pg5skj44q477gxzrrff9dvvvp"; }; patches = [ ./no-gets.patch ]; buildInputs = [ gnutls pkgconfig readline zlib ]; - meta = { - homepage = http://lftp.yar.ru/; + meta = with stdenv.lib; { description = "A file transfer program supporting a number of network protocols"; - license = "GPL"; + homepage = http://lftp.yar.ru/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/tools/networking/maildrop/default.nix b/pkgs/tools/networking/maildrop/default.nix index b91282c9a2b4..991d75c66ae4 100644 --- a/pkgs/tools/networking/maildrop/default.nix +++ b/pkgs/tools/networking/maildrop/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.courier-mta.org/maildrop/; description = "Mail filter/mail delivery agent that is used by the Courier Mail Server"; - licenses = [ "GPLv3" ]; + license = [ "GPLv3" ]; }; } diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 3a84516cd370..3ac82e51bf8b 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { message handling system. ''; - licenses = [ "LGPLv3+" /* libraries */ "GPLv3+" /* tools */ ]; + license = [ "LGPLv3+" /* libraries */ "GPLv3+" /* tools */ ]; maintainers = [ stdenv.lib.maintainers.ludo ]; @@ -51,5 +51,8 @@ stdenv.mkDerivation rec { # Some of the dependencies fail to build on {cyg,dar}win. platforms = stdenv.lib.platforms.gnu; + + # Tests fail since gcc 4.8 + broken = true; }; } diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index b5002d229903..ef3db0a4a21f 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -1,20 +1,16 @@ -{ stdenv, fetchurl, iptables, libnfnetlink, libnetfilter_conntrack }: +{ stdenv, fetchurl, iptables, libnfnetlink }: assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "miniupnpd-1.7.20121005"; + name = "miniupnpd-1.8.20140401"; src = fetchurl { url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz"; - sha256 = "03kaxj808hgj1zf2528pzilgywgh70mh0qivjb5nm3spziiq32sv"; + sha256 = "1gfdbfqcw6ih830si51yzqbyymgcbwkiv9vk5dwnxs78b7xgyv88"; }; - buildInputs = [ iptables libnfnetlink libnetfilter_conntrack ]; - - patchPhase = '' - sed -i -e 's/upnputils\.o -lnfnetlink/upnputils.o/' Makefile.linux - ''; + buildInputs = [ iptables libnfnetlink ]; NIX_CFLAGS_COMPILE = "-DIPTABLES_143"; @@ -24,12 +20,9 @@ stdenv.mkDerivation rec { makeFlags = "LIBS="; - installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)"; + buildFlags = "miniupnpd genuuid"; - preInstall = - '' - mkdir -p $out/share/man/man8 - ''; + installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)"; meta = { homepage = http://miniupnp.free.fr/; diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix index bfa673eff09f..0640f55bc9eb 100644 --- a/pkgs/tools/networking/modemmanager/default.nix +++ b/pkgs/tools/networking/modemmanager/default.nix @@ -1,19 +1,30 @@ -{ stdenv, fetchurl_gnome, udev, polkit, dbus_glib, ppp, intltool, pkgconfig }: +{ stdenv, fetchurl, udev, polkit, dbus_glib, ppp, intltool, pkgconfig, libmbim, libqmi }: stdenv.mkDerivation rec { - name = src.pkgname; + name = "ModemManager-${version}"; + version = "1.2.0"; - src = fetchurl_gnome { - project = "ModemManager"; - major = "0"; minor = "5"; patchlevel = "4.0"; extension = "xz"; - sha256 = "1fdf5d5cc494825afe9f551248e00a2d91e220e88435b47f109ca2a707a40f1f"; + src = fetchurl { + url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz"; + sha256 = "1g08ciyhys9bi5m45z30kln17zni4r07i5byjaglmwq6np1xincb"; }; nativeBuildInputs = [ intltool pkgconfig ]; - buildInputs = [ udev polkit dbus_glib ppp ]; + buildInputs = [ udev polkit dbus_glib ppp libmbim libqmi ]; - configureFlags = "--with-polkit --with-udev-base-dir=$(out)/lib/udev"; + configureFlags = [ + "--with-polkit" + "--with-udev-base-dir=$(out)/lib/udev" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; + + postInstall = '' + # systemd in NixOS doesn't use `systemctl enable`, so we need to establish + # aliases ourselves. + ln -s $out/etc/systemd/system/ModemManager.service \ + $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service + ''; meta = { description = "WWAN modem manager, part of NetworkManager"; diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix index 2708210af805..e781af7c235a 100644 --- a/pkgs/tools/networking/mosh/default.nix +++ b/pkgs/tools/networking/mosh/default.nix @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { ''; license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix index 45dcb087bd76..c463c94d6109 100644 --- a/pkgs/tools/networking/mtr/default.nix +++ b/pkgs/tools/networking/mtr/default.nix @@ -10,10 +10,10 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="mtr"; - version="0.82"; + version="0.85"; name="${baseName}-${version}"; url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz"; - hash="185nx4y6xn7vv6l3pbyc0ljmwfl4si4zszwad1jkbq1scb4mgd7k"; + hash="1jqrz8mil3lraaqgc87dyvx8d4bf3vq232pfx9mksxnkbphp4qvd"; }; in rec { @@ -25,9 +25,11 @@ rec { inherit (sourceInfo) name version; inherit buildInputs; + patches = [ ./edd425.patch ]; + /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - + phaseNames = ["doConfigure" "doPatch" "doMakeInstall"]; + meta = { description = "A network diagnostics tool"; maintainers = with a.lib.maintainers; @@ -35,7 +37,7 @@ rec { raskin ]; platforms = with a.lib.platforms; - linux; + unix; license = a.lib.licenses.gpl2; }; passthru = { diff --git a/pkgs/tools/networking/mtr/edd425.patch b/pkgs/tools/networking/mtr/edd425.patch new file mode 100644 index 000000000000..b950cacd2e57 --- /dev/null +++ b/pkgs/tools/networking/mtr/edd425.patch @@ -0,0 +1,218 @@ +diff --git a/asn.c b/asn.c +index eac8d5e..33622ca 100644 +--- a/asn.c ++++ b/asn.c +@@ -16,6 +16,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++#include "config.h" ++ + #include + #include + #include +@@ -35,7 +37,6 @@ + #include + #include + +-#include "config.h" + #include "mtr.h" + #include "asn.h" + +diff --git a/curses.c b/curses.c +index eacc40d..b96daee 100644 +--- a/curses.c ++++ b/curses.c +@@ -16,7 +16,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + +diff --git a/display.c b/display.c +index aa369ee..3545467 100644 +--- a/display.c ++++ b/display.c +@@ -16,7 +16,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include +diff --git a/dns.c b/dns.c +index e89fd4b..4076b71 100644 +--- a/dns.c ++++ b/dns.c +@@ -22,7 +22,8 @@ + Released under GPL, as above. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include +diff --git a/getopt.c b/getopt.c +index 3d43e26..e2f8758 100644 +--- a/getopt.c ++++ b/getopt.c +@@ -27,7 +27,7 @@ + #endif + + #ifdef HAVE_CONFIG_H +-#include ++#include "config.h" + #endif + + #if !defined (__STDC__) || !__STDC__ +diff --git a/getopt1.c b/getopt1.c +index bccf8b2..0a2d405 100644 +--- a/getopt1.c ++++ b/getopt1.c +@@ -16,7 +16,7 @@ + Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + #ifdef HAVE_CONFIG_H +-#include ++#include "config.h" + #endif + + #include "getopt.h" +diff --git a/gtk.c b/gtk.c +index 38ed507..7faa132 100644 +--- a/gtk.c ++++ b/gtk.c +@@ -17,7 +17,7 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" + + #include + #include +diff --git a/mtr.c b/mtr.c +index 50eb464..416b744 100644 +--- a/mtr.c ++++ b/mtr.c +@@ -16,19 +16,21 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++#include "config.h" ++ + #include +-#include +-#include + #include + #include + #include +-#include +-#include + #include +-#include +-#include + #include + #include ++#include ++ ++#include ++#include ++#include ++#include + #include + #include + #include +diff --git a/net.c b/net.c +index 1c8d28f..d648804 100644 +--- a/net.c ++++ b/net.c +@@ -16,7 +16,7 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" + + #if defined(HAVE_SYS_XTI_H) + #include +@@ -1562,4 +1562,4 @@ void net_harvest_fds(void) + net_add_fds(&writefd, &maxfd); + select(maxfd, NULL, &writefd, NULL, &tv); + net_process_fds(&writefd); +-} +\ No newline at end of file ++} +diff --git a/raw.c b/raw.c +index 8b0df47..0e1f4f4 100644 +--- a/raw.c ++++ b/raw.c +@@ -18,7 +18,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include +@@ -27,7 +28,6 @@ + #include + #include + +- + #include "mtr.h" + #include "raw.h" + #include "net.h" +diff --git a/report.c b/report.c +index 71040e4..39b2fb2 100644 +--- a/report.c ++++ b/report.c +@@ -16,7 +16,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include +diff --git a/select.c b/select.c +index 31bfd5f..7553675 100644 +--- a/select.c ++++ b/select.c +@@ -16,7 +16,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include +diff --git a/split.c b/split.c +index 642353e..5ead235 100644 +--- a/split.c ++++ b/split.c +@@ -20,7 +20,8 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include ++#include "config.h" ++ + #include + #include + #include diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix index 99793c139cbd..b2943eb2aced 100644 --- a/pkgs/tools/networking/nbd/default.nix +++ b/pkgs/tools/networking/nbd/default.nix @@ -1,21 +1,18 @@ { stdenv, fetchurl, pkgconfig, glib }: -let - name = "nbd-3.5"; -in -stdenv.mkDerivation { - inherit name; +stdenv.mkDerivation rec { + name = "nbd-3.8"; src = fetchurl { - url = "mirror://sourceforge/nbd/${name}.tar.bz2"; - sha256 = "0frnbmdcm1b0nmmpvpwjb9h1yabdpwwd2l95056mhl2zaafh8gqx"; + url = "mirror://sourceforge/nbd/${name}.tar.xz"; + sha256 = "1qnkzrnc9m4n814ciqh95q9j8l7d6yd7sn36q8yn0dmi1rvj78j8"; }; buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders; postInstall = '' mkdir -p "$out/share/doc/${name}" - cp README "$out/share/doc/${name}/README" + cp README.md "$out/share/doc/${name}/" ''; # The test suite doesn't succeed in chroot builds. diff --git a/pkgs/tools/networking/ndjbdns/default.nix b/pkgs/tools/networking/ndjbdns/default.nix new file mode 100644 index 000000000000..e2dc1fd1eafd --- /dev/null +++ b/pkgs/tools/networking/ndjbdns/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, systemd, pkgconfig }: + +stdenv.mkDerivation rec { + version = "1.05.9"; + name = "ndjbdns-${version}"; + src = fetchurl { + url = "http://pjp.dgplug.org/ndjbdns/${name}.tar.gz"; + sha256 = "0gf3hlmr6grcn6dzflf83lqqfp6hk3ldhbc7z0a1rrh059m93ap5"; + }; + + buildInputs = [ pkgconfig systemd ]; + + meta = with stdenv.lib; { + description = "N-DJBDNS is a brand new release of the Djbdns. Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein."; + homepage = http://pjp.dgplug.org/ndjbdns/; + license = licenses.gpl2; + maintainers = [ maintainers.msackman ]; + platforms = platforms.linux; + }; + +} \ No newline at end of file diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 0c2d02a5e775..8d0d4521b868 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf -, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring, gnome_keyring +{ stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3 +, libnotify, libsecret, dbus_glib, polkit, isocodes, libgnome_keyring , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas , makeWrapper, networkmanager_openvpn, networkmanager_vpnc , networkmanager_openconnect, udev, hicolor_icon_theme }: @@ -19,15 +19,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gtk libglade networkmanager libnotify libsecret dbus_glib - polkit isocodes makeWrapper udev GConf libgnome_keyring + gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib gsettings_desktop_schemas + polkit isocodes makeWrapper udev gnome3.gconf gnome3.libgnome_keyring ]; nativeBuildInputs = [ intltool pkgconfig ]; - propagatedUserEnvPkgs = [ GConf gnome_keyring hicolor_icon_theme ]; - - configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK + propagatedUserEnvPkgs = [ gnome3.gconf gnome3.gnome_keyring hicolor_icon_theme ]; makeFlags = [ ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"'' @@ -46,11 +44,14 @@ stdenv.mkDerivation rec { ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/ ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/ ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/ + ''; + + preFixup = '' wrapProgram "$out/bin/nm-applet" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \ - --prefix PATH ":" "${GConf}/bin" + --prefix PATH ":" "${gnome3.gconf}/bin" ''; meta = with stdenv.lib; { @@ -59,9 +60,5 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ phreedom urkud rickynils ]; platforms = platforms.linux; - - # resolve collision between evince and nm-applet for - # gschemas.compiled - priority = 6; }; } diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 217397600946..20102aedeb91 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz , udev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables -, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll }: +, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll +, gobjectIntrospection, modemmanager, openresolv }: stdenv.mkDerivation rec { name = "network-manager-${version}"; @@ -26,15 +27,17 @@ stdenv.mkDerivation rec { "--with-dhcpcd=no" "--with-iptables=${iptables}/sbin/iptables" "--with-udev-dir=\${out}/lib/udev" - "--without-resolvconf" + "--with-resolvconf=${openresolv}/sbin/resolvconf" "--sysconfdir=/etc" "--localstatedir=/var" "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d" "--with-crypto=gnutls" "--disable-more-warnings" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-kernel-firmware-dir=/run/current-system/firmware" - "--with-session-tracking=systemd" ]; + "--with-session-tracking=systemd" + "--with-modem-manager-1" + ]; - buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz bluez5 ]; + buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz bluez5 gobjectIntrospection modemmanager ]; propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ]; @@ -56,12 +59,14 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/lib/NetworkManager - + # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"' - # As NixOS doesn't seem to handle systemd Aliases, we just rename the dispatcher service file - mv $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service + # systemd in NixOS doesn't use `systemctl enable`, so we need to establish + # aliases ourselves. + ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service + ln -s $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix index 94224fc63bd6..ff4c853512d6 100644 --- a/pkgs/tools/networking/network-manager/openconnect.nix +++ b/pkgs/tools/networking/network-manager/openconnect.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { substituteInPlace "configure" \ --replace "/sbin/sysctl" "${procps}/sbin/sysctl" substituteInPlace "src/nm-openconnect-service.c" \ - --replace "/sbin/openconnect" "${openconnect}/sbin/openconnect" \ + --replace "/usr/sbin/openconnect" "${openconnect}/sbin/openconnect" \ --replace "/sbin/modprobe" "${module_init_tools}/sbin/modprobe" ''; diff --git a/pkgs/tools/networking/network-manager/pptp-purity.patch b/pkgs/tools/networking/network-manager/pptp-purity.patch index 55ade68dd41c..88af666b6580 100644 --- a/pkgs/tools/networking/network-manager/pptp-purity.patch +++ b/pkgs/tools/networking/network-manager/pptp-purity.patch @@ -2,7 +2,7 @@ diff --git a/src/nm-pptp-service.c b/src/nm-pptp-service.c index 68a5759..568bbfe 100644 --- a/src/nm-pptp-service.c +++ b/src/nm-pptp-service.c -@@ -729,9 +729,7 @@ nm_find_pppd (void) +@@ -730,9 +730,7 @@ nm_find_pppd (void) { static const char *pppd_binary_paths[] = { @@ -12,8 +12,8 @@ index 68a5759..568bbfe 100644 + "@ppp@/sbin/pppd", NULL }; - -@@ -751,9 +749,7 @@ nm_find_pptp (void) + +@@ -752,9 +750,7 @@ nm_find_pptp (void) { static const char *pptp_binary_paths[] = { diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix index a3b347f64235..465f15184f14 100644 --- a/pkgs/tools/networking/ntp/default.nix +++ b/pkgs/tools/networking/ntp/default.nix @@ -1,24 +1,26 @@ -{stdenv, fetchurl, libcap}: +{ stdenv, fetchurl, libcap }: assert stdenv.isLinux -> libcap != null; - + stdenv.mkDerivation rec { - name = "ntp-4.2.6p4"; - + name = "ntp-4.2.6p5"; + src = fetchurl { url = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz"; - sha256 = "1ww1hpy0yfmj13vs46d80hs48hy8ig6kn6p6d8q2syym02khxhyy"; + sha256 = "077r69a41hasl8zf5c44km7cqgfhrkaj6a4jnr75j7nkz5qq7ayn"; }; - + configureFlags = '' --without-crypto ${if stdenv.isLinux then "--enable-linuxcaps" else ""} ''; - + buildInputs = stdenv.lib.optional stdenv.isLinux libcap; meta = { homepage = http://www.ntp.org/; description = "An implementation of the Network Time Protocol"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/networking/openconnect.nix b/pkgs/tools/networking/openconnect.nix index 2cc52fe981b2..c523e0004d7f 100644 --- a/pkgs/tools/networking/openconnect.nix +++ b/pkgs/tools/networking/openconnect.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, vpnc, openssl, libxml2 } : stdenv.mkDerivation rec { - name = "openconnect-5.01"; + name = "openconnect-5.02"; src = fetchurl { urls = [ "ftp://ftp.infradead.org/pub/openconnect/${name}.tar.gz" ]; - sha256 = "1l90ks87iwmy7jprav11lhjr4n18ycy0d9fndspg50p9qd3jlvwi"; + sha256 = "1y7dn42gd3763sgwv2j72xy9hsikd6y9x142g84kwdbn0y0psgi4"; }; preConfigure = '' diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix index 3271941f884b..98a76dc98b18 100644 --- a/pkgs/tools/networking/openresolv/default.nix +++ b/pkgs/tools/networking/openresolv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, makeWrapper, coreutils }: stdenv.mkDerivation rec { name = "openresolv-3.5.6"; @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1n3cw1vbm7mh5d95ykhzdn2mrrf3pm65sp61p8iwydz1gqkp2inv"; }; + buildInputs = [ makeWrapper ]; + configurePhase = '' cat > config.mk < + void CObservableQueue::ObserverAdded( ObserverType* o ) + { +- NotifyObservers( EventType( EventType::STARTING ), o ); ++ this->NotifyObservers( EventType( EventType::STARTING ), o ); + } + + + template + void CObservableQueue::ObserverRemoved( ObserverType* o ) + { +- NotifyObservers( EventType( EventType::STOPPING ), o ); ++ this->NotifyObservers( EventType( EventType::STOPPING ), o ); + } + + \ No newline at end of file diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 8796dbd076e7..76a4a0eae62d 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -67,7 +67,7 @@ buildPythonPackage { homepage = http://allmydata.org/; - license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; + # TODO license = [ lib.licenses.gpl2Plus /* or */ "TGPPLv1+" ]; maintainers = [ lib.maintainers.simons ]; platforms = lib.platforms.gnu; # arbitrary choice diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix index 4b111475e696..6058639e412a 100644 --- a/pkgs/tools/networking/pdnsd/default.nix +++ b/pkgs/tools/networking/pdnsd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "pdnsd-1.2.8-par"; + name = "pdnsd-1.2.9a-par"; src = fetchurl { - url = http://www.phys.uu.nl/~rombouts/pdnsd/releases/pdnsd-1.2.8-par.tar.gz; - sha256 = "0ki4xkklc5lqs2qfmww63dc2zax48x8acfw661206ps4kvhasg2z"; + url = http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.tar.gz; + sha256 = "0yragv5zk77a1hfkpnsh17vvsw8b14d6mzfng4bb7i58rb83an5v"; }; patchPhase = '' @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { description = "Permanent DNS caching"; homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html; license = "GPLv3+"; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [viric]; }; } diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix index 23aa30554362..fee3db878ac7 100644 --- a/pkgs/tools/networking/siege/default.nix +++ b/pkgs/tools/networking/siege/default.nix @@ -1,12 +1,19 @@ { stdenv, fetchurl }: -let - version = "3.0.2"; - baseName = "siege"; -in stdenv.mkDerivation rec { - name = "${baseName}-${version}"; + +stdenv.mkDerivation rec { + name = "siege-3.0.6"; + src = fetchurl { url = "http://www.joedog.org/pub/siege/${name}.tar.gz"; - sha256 = "0b86rvcrjxy6h9w32bhpcm1gwmn223mf9f30dfsnaw51w90kn716"; + sha256 = "0nwcj2s804z7yd20pa0cl010m0qgf22a02305i9jwxynwdj9kdvq"; }; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + + meta = with stdenv.lib; { + description = "HTTP load tester"; + maintainers = with maintainers; [ ocharles raskin ]; + platforms = platforms.linux; + license = licenses.gpl2Plus; + }; } diff --git a/pkgs/tools/networking/snx/default.nix b/pkgs/tools/networking/snx/default.nix index 7a73314d0e37..b4cdd0d0b99a 100644 --- a/pkgs/tools/networking/snx/default.nix +++ b/pkgs/tools/networking/snx/default.nix @@ -33,8 +33,5 @@ stdenv.mkDerivation rec { homepage = "https://www.checkpoint.com/"; description = "Check Point SSL Network Extender"; license = "unknown"; - - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix index 621803134426..74b9b1bdf6aa 100644 --- a/pkgs/tools/networking/socat/2.x.nix +++ b/pkgs/tools/networking/socat/2.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-2.0.0-b6"; + name = "socat-2.0.0-b7"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "03n70v7ygsl4ji7rwvyv8f70d3q32jnas26j29amkf3fm4agnhvz"; + sha256 = "0h6k9ccrnziw03j0if7myrd28vcc97nwz1bifmbrkp5jkpk69ygk"; }; buildInputs = [ openssl ]; @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { meta = { description = "A utility for bidirectional data transfer between two independent data channels"; homepage = http://www.dest-unreach.org/socat/; + repositories.git = git://repo.or.cz/socat.git; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2; maintainers = stdenv.lib.maintainers.eelco; diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix index 45de7015d7ab..84ba2106a26a 100644 --- a/pkgs/tools/networking/socat/default.nix +++ b/pkgs/tools/networking/socat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-1.7.2.2"; + name = "socat-1.7.2.4"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "0g4miazc9w3gxbk5vvw228jp3qxn775jspkgqv5hjf2d3bqpl5ls"; + sha256 = "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb"; }; buildInputs = [ openssl ]; @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { meta = { description = "A utility for bidirectional data transfer between two independent data channels"; homepage = http://www.dest-unreach.org/socat/; - platforms = stdenv.lib.platforms.linux; + repositories.git = git://repo.or.cz/socat.git; + platforms = stdenv.lib.platforms.unix; license = stdenv.lib.licenses.gpl2; maintainers = stdenv.lib.maintainers.eelco; }; diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix index 26b4b680a6e9..4f54404b713a 100644 --- a/pkgs/tools/networking/speedtest-cli/default.nix +++ b/pkgs/tools/networking/speedtest-cli/default.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonPackage rec { name = "speedtest-cli-${version}"; - version = "0.2.4"; + version = "0.2.5"; src = fetchurl { url = "https://pypi.python.org/packages/source/s/speedtest-cli/speedtest-cli-${version}.tar.gz"; - sha256 = "1mz9lx0sdgjz5w3w2lrfh4g7mdyas0ywqfvwh7hwmmpg0fvqiq5q"; + sha256 = "0a19kyn6064jbxda4yq1rfrlqlh8ha40fgwkj4rckdzk9bnxkhdn"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix new file mode 100644 index 000000000000..ac2736ffb19e --- /dev/null +++ b/pkgs/tools/networking/spiped/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, openssl, coreutils }: + +stdenv.mkDerivation rec { + name = "spiped-${version}"; + version = "1.3.1"; + + src = fetchurl { + url = "http://www.tarsnap.com/spiped/${name}.tgz"; + sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a"; + }; + + buildInputs = [ openssl ]; + patches = [ ./no-dev-stderr.patch ]; + + postPatch = '' + substituteInPlace POSIX/posix-l.sh --replace "rm" "${coreutils}/bin/rm" + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/man/man1 + make install BINDIR=$out/bin MAN1DIR=$out/share/man/man1 + ''; + + meta = { + description = "utility for secure encrypted channels between sockets"; + homepage = "https://www.tarsnap.com/spiped.html"; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/networking/spiped/no-dev-stderr.patch b/pkgs/tools/networking/spiped/no-dev-stderr.patch new file mode 100644 index 000000000000..742a2e483d4c --- /dev/null +++ b/pkgs/tools/networking/spiped/no-dev-stderr.patch @@ -0,0 +1,26 @@ +From 7a2bbb0d0098d7a33ad3794d0199879ad50e755a Mon Sep 17 00:00:00 2001 +From: Austin Seipp +Date: Tue, 8 Apr 2014 06:21:41 -0500 +Subject: [PATCH] Remove use of /dev/stderr + +Signed-off-by: Austin Seipp +--- + POSIX/posix-l.sh | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/POSIX/posix-l.sh b/POSIX/posix-l.sh +index b3f0e31..71d6fe8 100755 +--- a/POSIX/posix-l.sh ++++ b/POSIX/posix-l.sh +@@ -7,8 +7,6 @@ for LIB in rt xnet; do + fi + printf "%s" "-l${LIB}"; + FIRST=NO; +- else +- echo "WARNING: POSIX violation: make's CC doesn't understand -l${LIB}" >/dev/stderr + fi + rm -f a.out + done +-- +1.8.3.2 + diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix new file mode 100644 index 000000000000..fa3221a77598 --- /dev/null +++ b/pkgs/tools/networking/sproxy-web/default.nix @@ -0,0 +1,26 @@ +{ cabal, aeson, blazeHtml, blazeMarkup, configurator, hflags +, httpTypes, mtl, postgresqlSimple, resourcePool, scotty, text +, waiExtra, waiMiddlewareStatic, fetchurl +}: + +cabal.mkDerivation (self: { + pname = "sproxy-web"; + version = "0.1.0.2"; + src = fetchurl { + url = "https://github.com/zalora/sproxy-web/archive/0.1.0.2.tar.gz"; + sha256 = "1rdzglvsas0rdgq3j5c9ll411yk168x7v3l7w8zdjgafa947j4d4"; + }; + isLibrary = false; + isExecutable = true; + buildDepends = [ + aeson blazeHtml blazeMarkup configurator hflags httpTypes mtl + postgresqlSimple resourcePool scotty text waiExtra + waiMiddlewareStatic + ]; + meta = { + homepage = "http://bitbucket.org/zalorasea/sproxy-web"; + description = "Web interface to sproxy"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/tools/networking/sproxy/default.nix b/pkgs/tools/networking/sproxy/default.nix new file mode 100644 index 000000000000..342da193ffc7 --- /dev/null +++ b/pkgs/tools/networking/sproxy/default.nix @@ -0,0 +1,36 @@ +{ cabal, aeson, attoparsec, caseInsensitive, certificate +, concurrentExtra, cryptoRandom, curl, dataDefault, hslogger, hspec +, HTTP, httpTypes, interpolatedstringPerl6, mtl, network +, optparseApplicative, postgresqlSimple, safe, SHA, split +, stringConversions, time, tls, unorderedContainers, utf8String +, x509, yaml, fetchurl +}: + +cabal.mkDerivation (self: { + pname = "sproxy"; + version = "0.7.4"; + src = fetchurl { + url = "https://github.com/zalora/sproxy/archive/0.7.4.tar.gz"; + sha256 = "1zlsln0ihg7p8jk5gdvm9as6gk4fs8vaa547iq2yvna4c1wb4amr"; + }; + isLibrary = false; + isExecutable = true; + buildDepends = [ + aeson attoparsec caseInsensitive certificate concurrentExtra + cryptoRandom curl dataDefault hslogger HTTP httpTypes + interpolatedstringPerl6 mtl network optparseApplicative + postgresqlSimple safe SHA split stringConversions time tls + unorderedContainers utf8String x509 yaml + ]; + testDepends = [ + aeson attoparsec caseInsensitive certificate concurrentExtra + cryptoRandom curl dataDefault hslogger hspec HTTP httpTypes + interpolatedstringPerl6 mtl network optparseApplicative + postgresqlSimple safe SHA split stringConversions time tls + unorderedContainers utf8String x509 yaml + ]; + meta = { + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix index cb93e8a504b8..0ea7a948c8d5 100644 --- a/pkgs/tools/networking/stunnel/default.nix +++ b/pkgs/tools/networking/stunnel/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, openssl }: -stdenv.mkDerivation { - name = "stunnel-4.56"; - +stdenv.mkDerivation rec { + name = "stunnel-${version}"; + version = "5.01"; + src = fetchurl { - url = http://www.stunnel.org/downloads/stunnel-4.56.tar.gz; - sha256 = "14qjhwfa0y17ipnd5mc970vfmralvgaxfl6fk0rl91vdwbxjrblw"; + url = "http://www.stunnel.org/downloads/${name}.tar.gz"; + sha256 = "0sw87x7yrgjx43a5x0cy71p2vr5j0l8n5pv49hq159p8zxcbyr95"; }; - buildInputs = [openssl]; + buildInputs = [ openssl ]; + configureFlags = [ "--with-ssl=${openssl}" ]; - configureFlags = [ - "--with-ssl=${openssl}" - ]; - meta = { - description = "Stunnel - Universal SSL wrapper"; - homepage = http://www.stunnel.org/; - license = "GPLv2"; + description = "universal tls/ssl wrapper"; + homepage = "http://www.stunnel.org/"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index acea2d6da6a9..2e27c2b2dc33 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { description = "tcpdump, a famous network sniffer"; homepage = http://www.tcpdump.org/; license = "BSD-style"; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix new file mode 100644 index 000000000000..9c5f6f44ae05 --- /dev/null +++ b/pkgs/tools/networking/tcpflow/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, openssl, zlib, libpcap, boost, cairo}: +let + s = # Generated upstream information + rec { + baseName="tcpflow"; + version="1.4.4"; + name="${baseName}-${version}"; + hash="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn"; + url="http://www.digitalcorpora.org/downloads/tcpflow/tcpflow-1.4.4.tar.gz"; + sha256="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn"; + }; + buildInputs = [ + openssl zlib libpcap boost cairo + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + meta = { + inherit (s) version; + description = ''TCP stream extractor''; + license = stdenv.lib.licenses.gpl3 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/networking/tcpflow/default.upstream b/pkgs/tools/networking/tcpflow/default.upstream new file mode 100644 index 000000000000..72802e4d0469 --- /dev/null +++ b/pkgs/tools/networking/tcpflow/default.upstream @@ -0,0 +1 @@ +url http://www.digitalcorpora.org/downloads/tcpflow/ diff --git a/pkgs/tools/networking/telnet/default.nix b/pkgs/tools/networking/telnet/default.nix index c0dbf710ffb9..9827b62c6c4a 100644 --- a/pkgs/tools/networking/telnet/default.nix +++ b/pkgs/tools/networking/telnet/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation { name = "telnet-1.2"; src = fetchurl { - url = ftp://ftp.suse.com/pub/people/kukuk/ipv6/telnet-bsd-1.2.tar.bz2; + #url = ftp://ftp.suse.com/pub/people/kukuk/ipv6/telnet-bsd-1.2.tar.bz2; # broken + url = mirror://gentoo/distfiles/telnet-bsd-1.2.tar.bz2; sha256 = "0cs7ks22dhcn5qfjv2vl6ikhw93x68gg33zdn5f5cxgg81kx5afn"; }; diff --git a/pkgs/tools/networking/webalizer/default.nix b/pkgs/tools/networking/webalizer/default.nix index efa29e814073..99fde3871290 100644 --- a/pkgs/tools/networking/webalizer/default.nix +++ b/pkgs/tools/networking/webalizer/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, zlib, libpng, gd, geoip, db4}: +{stdenv, fetchurl, zlib, libpng, gd, geoip, db}: stdenv.mkDerivation { name = "webalizer-2.23-05"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { --replace "--static" "" ''; - buildInputs = [zlib libpng gd geoip db4]; + buildInputs = [zlib libpng gd geoip db]; configureFlags = "--enable-dns --enable-geoip --disable-static --enable-shared"; } diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix index 5ae85adbec7e..c86982155254 100644 --- a/pkgs/tools/networking/wget/default.nix +++ b/pkgs/tools/networking/wget/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext, perl, LWP, gnutls ? null }: stdenv.mkDerivation rec { - name = "wget-1.14"; + name = "wget-1.15"; src = fetchurl { url = "mirror://gnu/wget/${name}.tar.xz"; - sha256 = "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p"; + sha256 = "1yw0sk4mrs7bvga3c79rkbhxivmw8cs3b5wq3cglp1f9ai1mz2ni"; }; patches = stdenv.lib.optional stdenv.isDarwin ./iri-test.patch; diff --git a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix similarity index 83% rename from pkgs/tools/package-management/cabal-install/1.18.0.2.nix rename to pkgs/tools/package-management/cabal-install/1.18.0.3.nix index 3c1c6ddd133d..041cc471cab5 100644 --- a/pkgs/tools/package-management/cabal-install/1.18.0.2.nix +++ b/pkgs/tools/package-management/cabal-install/1.18.0.3.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "cabal-install"; - version = "1.18.0.2"; - sha256 = "0ah9yzp486p3cvs9b7nid0jmf0a56fg65s3jx2r8lb84pi50d92c"; + version = "1.18.0.3"; + sha256 = "0h01mz6p4fwl8h6k2ybrlp598f0j3n2zasrr63fy0vjbjibmgf41"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -20,9 +20,6 @@ cabal.mkDerivation (self: { mkdir $out/etc mv bash-completion $out/etc/bash_completion.d ''; - patchPhase = '' - sed -i -e 's|array .*,|array,|' cabal-install.cabal - ''; meta = { homepage = "http://www.haskell.org/cabal/"; description = "The command-line interface for Cabal and Hackage"; diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix index 2fbf5282ee12..1320720ed170 100644 --- a/pkgs/tools/package-management/checkinstall/default.nix +++ b/pkgs/tools/package-management/checkinstall/default.nix @@ -29,6 +29,9 @@ stdenv.mkDerivation { # Fix a `conflicting types for 'scandir'' error on Glibc 2.11. ./scandir.patch + + # Fix a `conflicting types for 'readlink'' error since Glibc 2.19 + ./readlink-types.patch ] ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") diff --git a/pkgs/tools/package-management/checkinstall/readlink-types.patch b/pkgs/tools/package-management/checkinstall/readlink-types.patch new file mode 100644 index 000000000000..a860607fcf66 --- /dev/null +++ b/pkgs/tools/package-management/checkinstall/readlink-types.patch @@ -0,0 +1,19 @@ +Extracted from Arch's patch +https://projects.archlinux.org/svntogit/community.git/tree/trunk/build-fix.patch?h=packages/checkinstall +diff -wbBur checkinstall-1.6.2/installwatch/installwatch.c checkinstall-1.6.2.my/installwatch/installwatch.c +--- checkinstall-1.6.2/installwatch/installwatch.c 2008-11-16 19:20:53.000000000 +0300 ++++ checkinstall-1.6.2.my/installwatch/installwatch.c 2010-01-15 18:55:50.112716628 +0300 +@@ -2938,13 +2938,8 @@ + return result; + } + +-#if (GLIBC_MINOR <= 4) +-int readlink(const char *path,char *buf,size_t bufsiz) { +- int result; +-#else + ssize_t readlink(const char *path,char *buf,size_t bufsiz) { + ssize_t result; +-#endif + instw_t instw; + int status; + diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix index 5c9120cf33ed..ff29316edbf2 100644 --- a/pkgs/tools/package-management/disnix/default.nix +++ b/pkgs/tools/package-management/disnix/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation { name = "disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea"; src = fetchurl { - url = http://hydra.nixos.org/build/6763179/download/4/disnix-0.3pre8aa12b65ced9029f7c17a494cee25e6ffc69fdea.tar.gz; - sha256 = "0zmsaz1kvc7dl1igh6z74jxy3w5p2zbfm9jsczdjdh3947fkni4p"; + url = http://hydra.nixos.org/build/9876935/download/4/disnix-0.3pre15e93a364ad9439d8336e659921600d48252045d.tar.gz; + sha256 = "1kgc6cacpp3ly7c62ah6pdprdl1bab08b4ir4dcrrm44x6fa1k63"; }; buildInputs = [ pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable libintlOrEmpty libiconvOrEmpty dysnomia ]; diff --git a/pkgs/tools/package-management/disnix/disnixos/default.nix b/pkgs/tools/package-management/disnix/disnixos/default.nix index 4c811dd3f71f..7420353499f5 100644 --- a/pkgs/tools/package-management/disnix/disnixos/default.nix +++ b/pkgs/tools/package-management/disnix/disnixos/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, disnix, socat, pkgconfig }: +{ stdenv, fetchurl, disnix, socat, pkgconfig, getopt }: stdenv.mkDerivation { name = "disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99"; src = fetchurl { - url = http://hydra.nixos.org/build/6769017/download/3/disnixos-0.2prebb320d396f93d7062c28d6a54105d8e8196b9d99.tar.gz; - sha256 = "0jw05qjn0fbf4xb2g8a8i0padmsw17ayr4acw7z784bljrm1z055"; + url = http://hydra.nixos.org/build/9877039/download/3/disnixos-0.2preb10c56eeb1be3046645eea90c779e2d64045581f.tar.gz; + sha256 = "1pkpf6vp9q3jjp212lghbs1km8iqh4rm9xa5jm0dqb5ya25f0jf2"; }; - buildInputs = [ socat pkgconfig disnix ]; + buildInputs = [ socat pkgconfig disnix getopt ]; dontStrip = true; diff --git a/pkgs/tools/package-management/disnix/dysnomia/default.nix b/pkgs/tools/package-management/disnix/dysnomia/default.nix index 2a5852863f96..5c937bc8aef4 100644 --- a/pkgs/tools/package-management/disnix/dysnomia/default.nix +++ b/pkgs/tools/package-management/disnix/dysnomia/default.nix @@ -9,6 +9,7 @@ , enableTomcatWebApplication ? false , enableMongoDatabase ? false , catalinaBaseDir ? "/var/tomcat" +, getopt }: assert enableMySQLDatabase -> mysql != null; @@ -20,8 +21,8 @@ assert enableMongoDatabase -> mongodb != null; stdenv.mkDerivation { name = "dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484"; src = fetchurl { - url = http://hydra.nixos.org/build/6763096/download/1/dysnomia-0.3pred677260f77bb202c7490f7db08dbd8442c9db484.tar.gz; - sha256 = "0k7qpqa9inzxjdryd7zfzxid8k1icsxxw995chzw4wrlgxns16xy"; + url = http://hydra.nixos.org/build/9146265/download/1/dysnomia-0.3pre313a5f99a166fee2e0245dfd25f41ec9ed958075.tar.gz; + sha256 = "0fgbqybr9rfr95fkmv1hpq7al0p1kxa385k6sjc7iwwcxs4cmxf5"; }; preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else ""; @@ -37,7 +38,7 @@ stdenv.mkDerivation { ${if enableMongoDatabase then "--with-mongodb" else "--without-mongodb"} ''; - buildInputs = [] + buildInputs = [ getopt ] ++ stdenv.lib.optional enableEjabberdDump ejabberd ++ stdenv.lib.optional enableMySQLDatabase mysql ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index e801bcfb2c29..01dea9c35e31 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -39,9 +39,10 @@ stdenv.mkDerivation { done # */ ''; - meta = { + meta = with stdenv.lib; { description = "The Debian package manager"; homepage = http://wiki.debian.org/Teams/Dpkg; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; + maintainers = maintainers.mornfall; }; } diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix index 648abe882c4f..f812ea58a0b0 100644 --- a/pkgs/tools/package-management/nix-repl/default.nix +++ b/pkgs/tools/package-management/nix-repl/default.nix @@ -7,8 +7,8 @@ stdenv.mkDerivation rec { src = fetchgit { url = https://github.com/edolstra/nix-repl.git; - rev = "81d658fe4afda234028cd4551e12491db4303957"; - sha256 = "067mj8as99n0hkrr2qss3y3hnr8c5zy4n8bqx3z900n3j43cwzyc"; + rev = "1734e8a1491ef831c83c2620b6b0f4a590b67c1f"; + sha256 = "12fld2780jh3ww2n59s9z7afwjkmfhwh4dqn3wjva4ff8fx3n0mf"; }; buildInputs = [ nix readline boehmgc ]; @@ -21,8 +21,9 @@ stdenv.mkDerivation rec { mkdir -p $out/bin g++ -O3 -Wall -std=c++0x \ -o $out/bin/nix-repl nix-repl.cc \ - -I${nix}/include/nix -L${nix}/lib/nix \ - -lformat -lutil -lstore -lexpr -lmain -lreadline -lgc + -I${nix}/include/nix \ + -lnixformat -lnixutil -lnixstore -lnixexpr -lnixmain -lreadline -lgc \ + -DNIX_VERSION=${(builtins.parseDrvName nix.name).version} ''; meta = { diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index b02d80078aae..16a276273cc3 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,15 +5,13 @@ }: stdenv.mkDerivation rec { - name = "nix-1.6.1"; + name = "nix-1.7"; src = fetchurl { url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "31d15f99b2405924a4be278334cc973a71999303631e6798c1d294db9be4bf84"; + sha256 = "349163654f2ae3e1a17fb3da7ed164a4cac153728bbe9a26764e17556d3dcc92"; }; - patches = [ ./hash-check.patch ]; - nativeBuildInputs = [ perl pkgconfig ]; buildInputs = [ curl openssl boehmgc sqlite ]; diff --git a/pkgs/tools/package-management/nix/hash-check.patch b/pkgs/tools/package-management/nix/hash-check.patch deleted file mode 100644 index 421ebb70a4f8..000000000000 --- a/pkgs/tools/package-management/nix/hash-check.patch +++ /dev/null @@ -1,14 +0,0 @@ -commit 11cb4bfb257f18c906ef1d6f14ed450be8fa49fe upstream - -diff --git a/src/libstore/build.cc b/src/libstore/build.cc -index dcd7343..4329d9a 100644 ---- a/src/libstore/build.cc -+++ b/src/libstore/build.cc -@@ -2749,6 +2749,7 @@ void SubstitutionGoal::finished() - logPipe.readSide.close(); - - /* Get the hash info from stdout. */ -+ string dummy = readLine(outPipe.readSide); - string expectedHashStr = statusOk(status) ? readLine(outPipe.readSide) : ""; - outPipe.readSide.close(); - diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index aad734cd6196..c9cf7dc79167 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.7pre3319_f4013b6"; + name = "nix-1.7pre3576_2b6c8ef"; src = fetchurl { - url = "http://hydra.nixos.org/build/7848540/download/5/${name}.tar.xz"; - sha256 = "0f9095aabe3399436a75162c046fdc1e4d0c1e9a98f7d8ffcd3d910b19c8c265"; + url = "http://hydra.nixos.org/build/10201398/download/5/${name}.tar.xz"; + sha256 = "7a735ac859a88a7042b1a7f33f3ab94e9374a0695c68cceb63d4536a79986236"; }; nativeBuildInputs = [ perl pkgconfig ]; diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index b35d3b66ad83..7997603a706c 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db4, xz }: +{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, nspr, nss, popt, db, xz, python }: stdenv.mkDerivation rec { - name = "rpm-4.7.2"; + name = "rpm-4.11.2"; src = fetchurl { - url = "http://rpm.org/releases/rpm-4.7.x/${name}.tar.bz2"; - sha1 = "07b90f653775329ea726ce0005c4c82f56167ca0"; + url = "http://rpm.org/releases/rpm-4.11.x/${name}.tar.bz2"; + sha256 = "1m2859js0dwg26sg2mnbkpzhvx303b12kx26az74cf5k6bk8sgs0"; }; - buildInputs = [ cpio zlib bzip2 file nspr nss popt db4 xz ]; + buildInputs = [ cpio zlib bzip2 file nspr nss popt db xz python ]; # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. @@ -16,11 +16,12 @@ stdenv.mkDerivation rec { NIX_CFLAGS_LINK = "-L${elfutils}/lib"; - configureFlags = "--with-external-db --without-lua"; + configureFlags = "--with-external-db --without-lua --enable-python"; - meta = { + meta = with stdenv.lib; { homepage = http://www.rpm.org/; - license = "GPLv2"; + license = licenses.gpl2; description = "The RPM Package Manager"; + maintainers = with maintainers; [ mornfall ]; }; } diff --git a/pkgs/tools/security/cb1cat/default.nix b/pkgs/tools/security/cb1cat/default.nix new file mode 100644 index 000000000000..546ace2d8ed3 --- /dev/null +++ b/pkgs/tools/security/cb1cat/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "cb1cat-${version}"; + version = "20140403153000"; + + src = fetchurl { + url = "https://www.cblnk.com/cb1cat/dist/${name}.tgz"; + sha256 = "1zi0rxbgmp6vkcarg493gfgn7pnfdpz0iplcgslbc45n2bxkv70q"; + }; + + installPhase = '' + mkdir -p $out/bin + mv cb1cat $out/bin + ''; + + meta = { + description = "cryptographic tool based on the CBEAMr1 sponge function"; + homepage = "https://www.cblnk.com/cb1cat/"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix index ad1cb6bec906..458111be4006 100644 --- a/pkgs/tools/security/ccid/default.nix +++ b/pkgs/tools/security/ccid/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchurl, pcsclite, pkgconfig, libusb1, perl }: stdenv.mkDerivation rec { - name = "ccid-1.4.13"; + version = "1.4.16"; + name = "ccid-${version}"; src = fetchurl { - url = "http://pkgs.fedoraproject.org/repo/pkgs/pcsc-lite-ccid/ccid-1.4.13.tar.bz2/89c167a873df1f8bc0dc907ce209e5ff/ccid-1.4.13.tar.bz2"; - sha256 = "1w0mxb5qzps9x2fcggv958mwgwmvfxxj4nspxs67fa7qg7r6yxar"; + url = "http://ftp.de.debian.org/debian/pool/main/c/ccid/ccid_${version}.orig.tar.bz2"; + sha256 = "0a0e6aa38863c79e38673c085254fa94fd0aa040b9622304a8d6d4222b7e7ea0"; }; patchPhase = '' diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 8315078c80f9..fc43f01b344f 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, zlib, bzip2, libiconv }: stdenv.mkDerivation rec { name = "clamav-${version}"; - version = "0.98"; + version = "0.98.1"; src = fetchurl { url = "mirror://sourceforge/clamav/clamav-${version}.tar.gz"; - sha256 = "1dmkaa6sqynv4v74s9izq7m7kk8d78rvwyd123q4gva6gx9m0d0i"; + sha256 = "1p13n8g3b88cxwxj07if9z1d2cav1ib94v6cq4r4bpacfd6yix9m"; }; buildInputs = [ zlib bzip2 libiconv ]; diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix new file mode 100644 index 000000000000..078e7cc06e0b --- /dev/null +++ b/pkgs/tools/security/duo-unix/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pam, openssl, zlib }: + +stdenv.mkDerivation rec { + name = "duo-unix"; + version = "1.9.7"; + + src = fetchurl { + url = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz"; + sha256 = "090kx9nixlhvy5nw0ywqmi7yhd4nz7wvdv38cpkgrspkridfl07j"; + }; + + buildInputs = [ pam openssl zlib ]; + configureFlags = + [ "--with-pam=$(out)/lib/security" + "--prefix=$(out)" + "--sysconfdir=$(out)/etc/duo" + "--with-openssl=${openssl}" + "--enable-lib64=no" + ]; + + meta = { + description = "Duo Security Unix login integration"; + homepage = "https://duosecurity.com"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix index ffa204b8944c..8d6a6241ad3f 100644 --- a/pkgs/tools/security/fail2ban/default.nix +++ b/pkgs/tools/security/fail2ban/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pythonPackages, unzip, gamin }: -let version = "0.8.11"; in +let version = "0.8.13"; in pythonPackages.buildPythonPackage { name = "fail2ban-${version}"; @@ -9,7 +9,7 @@ pythonPackages.buildPythonPackage { src = fetchurl { url = "https://github.com/fail2ban/fail2ban/zipball/${version}"; name = "fail2ban-${version}.zip"; - sha256 = "0g87c1yfa6lxb68iz3sq3gxqf5c1a8m2anlvk3lsrx1mczbq0dlc"; + sha256 = "0c63i5jsn2n6hv6fb6q922ksxfpppah9415vpydiv0vpf23pq0cb"; }; buildInputs = [ unzip ]; @@ -39,10 +39,6 @@ pythonPackages.buildPythonPackage { doCheck = false; - installCommand = '' - python setup.py install --prefix=$out - ''; - meta = with stdenv.lib; { homepage = http://www.fail2ban.org/; description = "A program that scans log files for repeated failing login attempts and bans IP addresses"; diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix new file mode 100644 index 000000000000..5e1737241904 --- /dev/null +++ b/pkgs/tools/security/hashcat/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, p7zip, patchelf }: + +let + bits = if stdenv.system == "x86_64-linux" then "64" else "32"; + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; + + fixBin = x: '' + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${libPath} ${x} + ''; +in +stdenv.mkDerivation rec { + name = "hashcat-${version}"; + version = "0.47"; + + src = fetchurl { + url = "http://hashcat.net/files/${name}.7z"; + sha256 = "0mc4lv4qfxabp794xfzgr63fhwk7lvbg12pry8a96lldp0jwp6i3"; + }; + + buildInputs = [ p7zip patchelf ]; + + unpackPhase = "7z x $src > /dev/null && cd ${name}"; + + installPhase = '' + mkdir -p $out/bin $out/libexec + cp -R * $out/libexec + + echo -n "/" > $out/bin/eula.accepted + ln -s $out/libexec/hashcat-cli${bits}.bin $out/bin/hashcat + ln -s $out/libexec/hashcat-cliXOP.bin $out/bin/hashcat-xop + ln -s $out/libexec/hashcat-cliAVX.bin $out/bin/hashcat-avx + ''; + + fixupPhase = '' + ${fixBin "$out/libexec/hashcat-cli${bits}.bin"} + ${fixBin "$out/libexec/hashcat-cliXOP.bin"} + ${fixBin "$out/libexec/hashcat-cliAVX.bin"} + ''; + + meta = { + description = "Fast password cracker"; + homepage = "http://hashcat.net/hashcat/"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix index b27707a00159..624fcdbe6c6a 100644 --- a/pkgs/tools/security/mkpasswd/default.nix +++ b/pkgs/tools/security/mkpasswd/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "mkpasswd-${version}"; - version = "5.0.26"; + version = "5.1.1"; src = fetchurl { url = "http://ftp.debian.org/debian/pool/main/w/whois/whois_${version}.tar.xz"; - sha256 = "729625ef81425f4771e06492bb4f3e9f24bff75b8176044ce8d2f605f7ad6af5"; + sha256 = "0i06a9mb9qcq272782mg6dffv3k7bqkw4cdr31yrc0s6jqylryv9"; }; preConfigure = '' diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix index 73b6f660bf94..56964c1f6923 100644 --- a/pkgs/tools/security/nmap/default.nix +++ b/pkgs/tools/security/nmap/default.nix @@ -1,23 +1,41 @@ -{ stdenv, fetchurl, libpcap, libX11, gtk, pkgconfig -, openssl, python, pygtk, makeWrapper, pygobject -, pycairo, pysqlite +{ stdenv, fetchurl, libpcap, pkgconfig, openssl +, graphicalSupport ? false +, libX11 ? null +, gtk ? null +, python ? null +, pygtk ? null +, makeWrapper ? null +, pygobject ? null +, pycairo ? null +, pysqlite ? null }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "nmap-6.40"; + name = "nmap${optionalString graphicalSupport "-graphical"}-${version}"; + version = "6.40"; src = fetchurl { url = "http://nmap.org/dist/${name}.tar.bz2"; sha256 = "491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401"; }; - patches = [ ./zenmap.patch ]; + patches = optional graphicalSupport ./zenmap.patch; - postInstall = - '' + postInstall = optionalString graphicalSupport '' wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0 - ''; + ''; - buildInputs = - [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ]; + buildInputs = [ libpcap pkgconfig openssl ] + ++ optionals graphicalSupport [ + libX11 gtk python pygtk makeWrapper pysqlite pygobject pycairo + ]; + + meta = { + description = "A free and open source utility for network discovery and security auditing."; + homepage = "http://www.nmap.org"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ mornfall thoughtpolice ]; + }; } diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix index f6f062011ab6..df5bffe3dfba 100644 --- a/pkgs/tools/security/ossec/default.nix +++ b/pkgs/tools/security/ossec/default.nix @@ -34,7 +34,6 @@ yes description = "Open soruce host-based instrusion detection system"; homepage = http://www.ossec.net; license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/tools/security/p0f/default.nix b/pkgs/tools/security/p0f/default.nix new file mode 100644 index 000000000000..377639ce2e60 --- /dev/null +++ b/pkgs/tools/security/p0f/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, libpcap, bash }: + +stdenv.mkDerivation rec { + name = "p0f-${version}"; + version = "3.06b"; + + src = fetchurl { + url = "http://lcamtuf.coredump.cx/p0f3/releases/${name}.tgz"; + sha256 = "1rydqvr78a3rjp9iwfbw4bs7jfb4p22962makdgw8yjmw8dr6lfi"; + }; + + buildInputs = [ libpcap ]; + + buildPhase = '' + substituteInPlace config.h --replace "p0f.fp" "$out/etc/p0f.fp" + substituteInPlace build.sh --replace "/bin/bash" "${bash}/bin/bash" + ./build.sh + cd tools && make && cd .. + ''; + + installPhase = '' + mkdir -p $out/sbin $out/etc + + cp ./p0f $out/sbin + cp ./p0f.fp $out/etc + + cp ./tools/p0f-client $out/sbin + cp ./tools/p0f-sendsyn $out/sbin + cp ./tools/p0f-sendsyn6 $out/sbin + ''; + + meta = { + description = "Passive network reconnaissance and fingerprinting tool"; + homepage = "http://lcamtuf.coredump.cx/p0f3/"; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index de0fef9b73f3..2737cc435752 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -1,32 +1,30 @@ { stdenv, fetchurl, pkgconfig, udev, dbus_libs, perl }: stdenv.mkDerivation rec { - name = "pcsclite-1.8.8"; + version = "1.8.11"; + name = "pcsclite-${version}"; src = fetchurl { - url = "http://alioth.debian.org/frs/download.php/3862/${name}.tar.bz2"; - sha256 = "1rw5530vr2jf02ziyf32jbd98n5q8zjcfwp5nkw3x3bkgr53arpy"; + url = "https://alioth.debian.org/frs/download.php/file/3991/pcsc-lite-${version}.tar.bz2"; + sha256 = "945041c94c53959ae5a767616a4ec5099fe67f549bfd344e8bd0cfe7a3c71ac6"; }; # The OS should care on preparing the drivers into this location configureFlags = [ "--enable-usbdropdir=/var/lib/pcsc/drivers" - "--with-systemdsystemunitdir=$out/lib/systemd/system" # probably + "--with-systemdsystemunitdir=$out/etc/systemd/system" + "--enable-confdir=$out/etc" ]; - preConfigure = '' - configureFlags="$configureFlags --enable-confdir=$out/etc" - ''; - buildInputs = [ udev dbus_libs perl ]; nativeBuildInputs = [ pkgconfig ]; - meta = { + meta = with stdenv.lib; { description = "Middleware to access a smart card using SCard API (PC/SC)"; homepage = http://pcsclite.alioth.debian.org/; - license = "BSD"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + license = licenses.bsd3; + maintainers = with maintainers; [viric]; + platforms = with platforms; linux; }; } diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix index 81efd4841a6f..4d1d55244c0b 100644 --- a/pkgs/tools/security/pinentry/default.nix +++ b/pkgs/tools/security/pinentry/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, glib -, useGtk ? true, gtk +, useGtk ? !stdenv.isDarwin, gtk , useNcurses ? true, ncurses , useQt4 ? false, qt4 }: diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix index ca2c9f43dfcd..fe2a19491d99 100644 --- a/pkgs/tools/security/scrypt/default.nix +++ b/pkgs/tools/security/scrypt/default.nix @@ -13,8 +13,9 @@ stdenv.mkDerivation rec { meta = { description = "The scrypt encryption utility"; - homepage = https://www.tarsnap.com/scrypt.html; - license = "BSD"; - platforms = stdenv.lib.platforms.all; + homepage = https://www.tarsnap.com/scrypt.html; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix new file mode 100644 index 000000000000..c5c474417046 --- /dev/null +++ b/pkgs/tools/security/ssdeep/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "ssdeep-${version}"; + version = "2.10"; + + src = fetchurl { + url = "mirror://sourceforge/ssdeep/${name}.tar.gz"; + sha256 = "1p7dgchq8hgadnxz5qh95ay17k5j74l4qyd15wspc54lb603p2av"; + }; + + postFixup = stdenv.lib.optionalString stdenv.isLinux '' + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/ssdeep):$out/lib" $out/bin/ssdeep + ''; + + meta = { + description = "A program for calculating fuzzy hashes"; + homepage = "http://www.ssdeep.sf.net"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/tools/security/steghide/default.nix b/pkgs/tools/security/steghide/default.nix new file mode 100644 index 000000000000..bc87c091a58f --- /dev/null +++ b/pkgs/tools/security/steghide/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, libjpeg, libmcrypt, zlib, libmhash, gettext, libtool}: + + stdenv.mkDerivation rec { + buildInputs = [ libjpeg libmcrypt zlib libmhash gettext libtool ]; + version = "0.5.1"; + name = "steghide-${version}"; + + meta = with stdenv.lib; { + homepage = http://steghide.sourceforge.net/; + description = "Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files."; + license = licenses.gpl2; + }; + + src = fetchurl { + url = "mirror://sourceforge/steghide/steghide/${version}/steghide-${version}.tar.gz" ; + sha256 = "78069b7cfe9d1f5348ae43f918f06f91d783c2b3ff25af021e6a312cf541b47b"; + }; + + patches = [ + ./patches/steghide-0.5.1-gcc34.patch + ./patches/steghide-0.5.1-gcc4.patch + ./patches/steghide-0.5.1-gcc43.patch + ]; + + # AM_CXXFLAGS needed for automake + preConfigure = '' + export AM_CXXFLAGS="$CXXFLAGS -std=c++0x" + ''; + + } diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch new file mode 100644 index 000000000000..373316c78406 --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc34.patch @@ -0,0 +1,42 @@ +--- steghide-0.5.1.old/src/Makefile.am ++++ steghide-0.5.1.new/src/Makefile.am 2004-07-16 19:01:39.673947633 +0200 +@@ -33,5 +33,5 @@ + WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc + LIBS = @LIBINTL@ @LIBS@ + localedir = $(datadir)/locale +-LIBTOOL = $(SHELL) libtool ++LIBTOOL = $(SHELL) libtool --tag=CXX + MAINTAINERCLEANFILES = Makefile.in +--- steghide-0.5.1.old/src/AuSampleValues.cc ++++ steghide-0.5.1.new/src/AuSampleValues.cc 2004-07-16 18:59:18.934578427 +0200 +@@ -17,21 +17,21 @@ + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ +- ++#include "common.h" + #include "AuSampleValues.h" + + // AuMuLawSampleValue +-const BYTE AuMuLawSampleValue::MinValue = 0 ; +-const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; ++template<> const BYTE AuMuLawSampleValue::MinValue = 0 ; ++template<> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ; + + // AuPCM8SampleValue +-const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; +-const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; ++template<> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ; ++template<> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ; + + // AuPCM16SampleValue +-const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; +-const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; ++template<> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ; ++template<> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ; + + // AuPCM32SampleValue +-const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; +-const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; ++template<> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ; ++template<> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ; diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch new file mode 100644 index 000000000000..a8df1735e9d4 --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc4.patch @@ -0,0 +1,46 @@ +diff -Naur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/AuData.h +--- steghide-0.5.1-orig/src/AuData.h 2003-09-28 09:30:29.000000000 -0600 ++++ steghide-0.5.1/src/AuData.h 2007-05-11 22:04:56.000000000 -0600 +@@ -26,22 +26,30 @@ + + // AuMuLawAudioData + typedef AudioDataImpl AuMuLawAudioData ; ++template<> + inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; } ++template<> + inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; } + + // AuPCM8AudioData + typedef AudioDataImpl AuPCM8AudioData ; ++template<> + inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; } ++template<> + inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; } + + // AuPCM16AudioData + typedef AudioDataImpl AuPCM16AudioData ; ++template<> + inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; } ++template<> + inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; } + + // AuPCM32AudioData + typedef AudioDataImpl AuPCM32AudioData ; ++template<> + inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; } ++template<> + inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; } + + #endif // ndef SH_AUDATA_H +diff -Naur steghide-0.5.1-orig/src/MHashPP.cc steghide-0.5.1/src/MHashPP.cc +--- steghide-0.5.1-orig/src/MHashPP.cc 2003-10-05 04:17:50.000000000 -0600 ++++ steghide-0.5.1/src/MHashPP.cc 2007-05-11 22:07:01.000000000 -0600 +@@ -120,7 +120,7 @@ + + std::string MHashPP::getAlgorithmName (hashid id) + { +- char *name = mhash_get_hash_name (id) ; ++ char *name = (char *) mhash_get_hash_name (id) ; + std::string retval ; + if (name == NULL) { + retval = std::string ("") ; diff --git a/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch new file mode 100644 index 000000000000..ca66b9c544f5 --- /dev/null +++ b/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch @@ -0,0 +1,349 @@ +--- steghide-0.5.1.old/configure.in 2003-10-15 09:48:52.000000000 +0200 ++++ steghide-0.5.1.new/configure.in 2008-05-09 19:04:46.000000000 +0200 +@@ -7,27 +7,26 @@ + dnl checks for programs. + AC_PROG_CXX + AC_PROG_INSTALL + AC_PROG_AWK + AC_PROG_LN_S ++AC_CXX_COMPILE_STDCXX_0X + + dnl GNU gettext + AC_CHECK_FUNCS(strchr) + AM_GNU_GETTEXT + AM_CONDITIONAL(USE_INTLDIR, test "$nls_cv_use_gnu_gettext" = yes) + + dnl check if debugging support is requested +-AC_MSG_CHECKING([wether to enable debugging]) ++AC_MSG_CHECKING([whether to enable debugging]) + AC_ARG_ENABLE(debug,[ --enable-debug enable debugging], + if test "$enableval" = yes ; + then + AC_MSG_RESULT([yes]) + AC_DEFINE(DEBUG,1,[enable code used only for debugging]) +- CXXFLAGS="-O2 -Wall -g" + else + AC_MSG_RESULT([no]) +- CXXFLAGS="-O2 -Wall" + fi + , + AC_MSG_RESULT([no]) + CXXFLAGS="-O2 -Wall" + ) +@@ -213,7 +212,18 @@ + echo "libmhash can be downloaded from http://mhash.sourceforge.net/."; + echo "**********"; + AC_MSG_ERROR([[libmhash not found]]) + fi + ++dnl Should we add std=c++0x? ++ ++if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes; ++then ++ CXXFLAGS="${CXXFLAGS} -std=c++0x -Wall -Wextra" ++else ++ CXXFLAGS="${CXXFLAGS} -Wall -Wextra" ++fi ++ ++AC_SUBST(CXXFLAGS) ++ + dnl create Makefiles + AC_OUTPUT([Makefile steghide.spec steghide.doxygen doc/Makefile po/Makefile.in src/Makefile tests/Makefile tests/data/Makefile m4/Makefile intl/Makefile]) +--- steghide-0.5.1.old/m4/ac_cxx_compile_stdcxx_0x.m4 1970-01-01 01:00:00.000000000 +0100 ++++ steghide-0.5.1.new/m4/ac_cxx_compile_stdcxx_0x.m4 2008-05-09 19:04:46.000000000 +0200 +@@ -0,0 +1,107 @@ ++# =========================================================================== ++# http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AC_CXX_COMPILE_STDCXX_0X ++# ++# DESCRIPTION ++# ++# Check for baseline language coverage in the compiler for the C++0x ++# standard. ++# ++# LAST MODIFICATION ++# ++# 2008-04-17 ++# ++# COPYLEFT ++# ++# Copyright (c) 2008 Benjamin Kosnik ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. ++ ++AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [ ++ AC_CACHE_CHECK(if g++ supports C++0x features without additional flags, ++ ac_cv_cxx_compile_cxx0x_native, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no) ++ AC_LANG_RESTORE ++ ]) ++ ++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x, ++ ac_cv_cxx_compile_cxx0x_cxx, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=c++0x" ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no) ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ AC_LANG_RESTORE ++ ]) ++ ++ AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x, ++ ac_cv_cxx_compile_cxx0x_gxx, ++ [AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ ac_save_CXXFLAGS="$CXXFLAGS" ++ CXXFLAGS="$CXXFLAGS -std=gnu++0x" ++ AC_TRY_COMPILE([ ++ template ++ struct check ++ { ++ static_assert(sizeof(int) <= sizeof(T), "not big enough"); ++ }; ++ ++ typedef check> right_angle_brackets; ++ ++ int a; ++ decltype(a) b; ++ ++ typedef check check_type; ++ check_type c; ++ check_type&& cr = c;],, ++ ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no) ++ CXXFLAGS="$ac_save_CXXFLAGS" ++ AC_LANG_RESTORE ++ ]) ++ ++ if test "$ac_cv_cxx_compile_cxx0x_native" = yes || ++ test "$ac_cv_cxx_compile_cxx0x_cxx" = yes || ++ test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then ++ AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ]) ++ fi ++]) +--- steghide-0.5.1.old/src/Arguments.cc 2003-10-11 23:25:04.000000000 +0200 ++++ steghide-0.5.1.new/src/Arguments.cc 2008-05-09 19:04:44.000000000 +0200 +@@ -26,10 +26,12 @@ + #include "Terminal.h" + #include "common.h" + #include "error.h" + #include "msg.h" + ++float Arguments::Default_Goal = 100.0 ; ++ + // the global Arguments object + Arguments Args ; + + Arguments::Arguments (int argc, char* argv[]) + { +--- steghide-0.5.1.old/src/Arguments.h 2003-10-11 23:23:57.000000000 +0200 ++++ steghide-0.5.1.new/src/Arguments.h 2008-05-09 19:04:44.000000000 +0200 +@@ -98,11 +98,11 @@ + static const bool Default_EmbedEmbFn = true ; + static const bool Default_Force = false ; + static const VERBOSITY Default_Verbosity = NORMAL ; + static const unsigned long Default_Radius = 0 ; // there is no default radius for all file formats + static const unsigned int Max_Algorithm = 3 ; +- static const float Default_Goal = 100.0 ; ++ static float Default_Goal ; + static const DEBUGCOMMAND Default_DebugCommand = NONE ; + static const bool Default_Check = false ; + static const unsigned int Default_DebugLevel = 0 ; + static const unsigned int Default_GmlGraphRecDepth = 0 ; + static const unsigned int Default_GmlStartVertex = 0 ; +--- steghide-0.5.1.old/src/EncryptionMode.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/EncryptionMode.h 2008-05-09 19:04:46.000000000 +0200 +@@ -69,11 +69,11 @@ + static const unsigned int NumValues = 8 ; + IRep Value ; + + typedef struct struct_Translation { + IRep irep ; +- char* srep ; ++ const char* srep ; + } Translation ; + static const Translation Translations[] ; + } ; + + #endif // ndef SH_ENCMODE_H +--- steghide-0.5.1.old/src/Graph.cc 2003-10-11 23:54:26.000000000 +0200 ++++ steghide-0.5.1.new/src/Graph.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -20,10 +20,12 @@ + + #include + #include + #include + #include ++#include ++#include + + #include "BitString.h" + #include "CvrStgFile.h" + #include "Edge.h" + #include "Graph.h" +--- steghide-0.5.1.old/src/Matching.cc 2003-10-11 23:54:30.000000000 +0200 ++++ steghide-0.5.1.new/src/Matching.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -16,10 +16,11 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + ++#include + #include "Edge.h" + #include "Graph.h" + #include "Matching.h" + #include "ProgressOutput.h" + #include "common.h" +--- steghide-0.5.1.old/src/ProgressOutput.cc 2003-10-11 11:20:51.000000000 +0200 ++++ steghide-0.5.1.new/src/ProgressOutput.cc 2008-05-09 19:04:44.000000000 +0200 +@@ -21,10 +21,12 @@ + #include + + #include "ProgressOutput.h" + #include "common.h" + ++float ProgressOutput::NoAvgWeight = 1.0 ; ++ + ProgressOutput::ProgressOutput () + : Message("__nomessage__") + { + LastUpdate = time(NULL) - 1 ; // -1 to ensure that message is written first time + } +--- steghide-0.5.1.old/src/ProgressOutput.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/ProgressOutput.h 2008-05-09 19:04:44.000000000 +0200 +@@ -60,13 +60,13 @@ + /** + * update the output appending rate, [average edge weight], "done" and a newline + * \param rate the rate of matched vertices + * \param avgweight the average edge weight (is not printed if not given) + **/ +- void done (float rate, float avgweight = NoAvgWeight) const ; ++ void done (float rate, float avgweight = 1.0) const ; + +- static const float NoAvgWeight = -1.0 ; ++ static float NoAvgWeight ; + + protected: + std::string vcompose (const char *msgfmt, va_list ap) const ; + + private: +--- steghide-0.5.1.old/src/SMDConstructionHeuristic.cc 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/SMDConstructionHeuristic.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -16,10 +16,12 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + ++#include ++ + #include "Edge.h" + #include "Graph.h" + #include "Matching.h" + #include "SMDConstructionHeuristic.h" + #include "Vertex.h" +--- steghide-0.5.1.old/src/WavFile.cc 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/WavFile.cc 2008-05-09 19:04:46.000000000 +0200 +@@ -19,10 +19,11 @@ + */ + + #include + #include + #include ++#include + + #include "CvrStgFile.h" + #include "DFSAPHeuristic.h" + #include "SampleValueAdjacencyList.h" + #include "SMDConstructionHeuristic.h" +--- steghide-0.5.1.old/src/wrapper_hash_map.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/wrapper_hash_map.h 2008-05-09 19:04:46.000000000 +0200 +@@ -25,17 +25,21 @@ + + #ifdef __GNUC__ + # if __GNUC__ < 3 + # include + namespace sgi { using ::hash ; using ::hash_map ; } ; +-# else ++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 ) + # include +-# if __GNUC_MINOR__ == 0 ++# if __GNUC__ == 3 && __GNUC_MINOR__ == 0 + namespace sgi = std ; // GCC 3.0 + # else + namespace sgi = __gnu_cxx ; // GCC 3.1 and later + # endif ++# else ++# include ++# define hash_map unordered_map ++ namespace sgi = std ; + # endif + #else + namespace sgi = std ; + #endif + +--- steghide-0.5.1.old/src/wrapper_hash_set.h 2003-09-28 17:30:30.000000000 +0200 ++++ steghide-0.5.1.new/src/wrapper_hash_set.h 2008-05-09 19:04:46.000000000 +0200 +@@ -26,17 +26,21 @@ + + #ifdef __GNUC__ + # if __GNUC__ < 3 + # include + namespace sgi { using ::hash ; using ::hash_set ; } ; +-# else ++# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 ) + # include +-# if __GNUC_MINOR__ == 0 ++# if __GNUC__ == 3 && __GNUC_MINOR__ == 0 + namespace sgi = std ; // GCC 3.0 + # else + namespace sgi = ::__gnu_cxx ; // GCC 3.1 and later + # endif ++# else ++# include ++# define hash_set unordered_set ++ namespace sgi = std ; + # endif + #else + namespace sgi = std ; + #endif + diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix index eed69eb98090..6d82744e1f9f 100644 --- a/pkgs/tools/security/sudo/default.nix +++ b/pkgs/tools/security/sudo/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, coreutils, pam, groff }: stdenv.mkDerivation rec { - name = "sudo-1.8.9p3"; + name = "sudo-1.8.9p4"; src = fetchurl { urls = [ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz" "ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz" ]; - sha256 = "1dy549nwplc3d1147fvcl8p8hbrc7sslqldi6229r4pbibng1cd2"; + sha256 = "19y75bsh4z2kid5jk2r84z7rvmnh90n8cb9fbn9l4rcw83lzjhqr"; }; postConfigure = '' diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index e8c27c5f2b1e..dd4d797825f3 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.torproject.org/; + repositories.git = https://git.torproject.org/git/tor; description = "Tor, an anonymous network router to improve privacy on the Internet"; longDescription='' @@ -30,10 +31,7 @@ stdenv.mkDerivation rec { license="mBSD"; - maintainers = - [ # Russell O’Connor ? - stdenv.lib.maintainers.ludo - ]; + maintainers = with stdenv.lib.maintainers; [ phreedom ludo ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix index cd1fda47e437..2554e999e0d3 100644 --- a/pkgs/tools/security/tor/torbrowser.nix +++ b/pkgs/tools/security/tor/torbrowser.nix @@ -15,6 +15,9 @@ let ]; }; + ldLibraryPath = if bits == "64" then torEnv+"/lib:"+torEnv+"/lib64" + else torEnv+"/lib"; + in stdenv.mkDerivation rec { name = "tor-browser-${version}"; version = "3.5"; @@ -36,7 +39,7 @@ in stdenv.mkDerivation rec { # Just do a simple test if all libraries get loaded by running help on # firefox and tor echo "Checking firefox..." - LD_LIBRARY_PATH=${torEnv}/lib Browser/firefox --help 1> /dev/null + LD_LIBRARY_PATH=${ldLibraryPath} Browser/firefox --help 1> /dev/null echo "Checking tor..." LD_LIBRARY_PATH=${torEnv}/lib:Tor Tor/tor --help 1> /dev/null ''; @@ -53,7 +56,7 @@ in stdenv.mkDerivation rec { echo "pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/Data/Tor/\");" >> \ ~/Data/Browser/profile.default/preferences/extension-overrides.js fi - export LD_LIBRARY_PATH=${torEnv}/lib:$out/share/tor-browser/Tor + export LD_LIBRARY_PATH=${ldLibraryPath}:$out/share/tor-browser/Tor $out/share/tor-browser/Browser/firefox -no-remote -profile ~/Data/Browser/profile.default "$@" EOF chmod +x $out/bin/tor-browser @@ -65,6 +68,6 @@ in stdenv.mkDerivation rec { description = "Tor Browser Bundle for GNU/Linux, everything you need to safely browse the Internet"; homepage = https://www.torproject.org/; platforms = ["i686-linux" "x86_64-linux"]; - maintainers = [ maintainers.offline ]; + maintainers = [ maintainers.offline maintainers.matejc ]; }; } diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix index 4d216bee0b60..f221a1b89e66 100644 --- a/pkgs/tools/security/vidalia/default.nix +++ b/pkgs/tools/security/vidalia/default.nix @@ -11,8 +11,11 @@ stdenv.mkDerivation rec { buildInputs = [ cmake qt4 doxygen ]; + patches = [ ./gcc-4.7.patch ]; + meta = with stdenv.lib; { homepage = https://www.torproject.org/projects/vidalia.html.en; + repositories.git = git://git.torproject.org/vidalia; description = "a cross-platform graphical controller for the Tor software, built using the Qt framework"; license = licenses.gpl2Plus; maintainers = [ maintainers.phreedom ]; diff --git a/pkgs/tools/security/vidalia/gcc-4.7.patch b/pkgs/tools/security/vidalia/gcc-4.7.patch new file mode 100644 index 000000000000..4c163af760c6 --- /dev/null +++ b/pkgs/tools/security/vidalia/gcc-4.7.patch @@ -0,0 +1,12 @@ +diff -ru vidalia-0.3.1_orig/src/vidalia/plugin/PluginEngine.cpp vidalia-0.3.1/src/vidalia/plugin/PluginEngine.cpp +--- vidalia-0.3.1_orig/src/vidalia/plugin/PluginEngine.cpp 2012-08-08 18:02:01.901732270 +0200 ++++ vidalia-0.3.1/src/vidalia/plugin/PluginEngine.cpp 2012-08-08 18:03:26.241677875 +0200 +@@ -20,6 +20,8 @@ + + #include "Vidalia.h" + ++#include ++ + PluginEngine::PluginEngine(QObject *parent) + : QScriptEngine(parent) + { diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix index 37283fc18a47..c76a1a136771 100644 --- a/pkgs/tools/system/collectd/default.nix +++ b/pkgs/tools/system/collectd/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "collectd-5.4.0"; + name = "collectd-5.4.1"; src = fetchurl { url = "http://collectd.org/files/${name}.tar.bz2"; - sha256 = "0gljf5c60q6i0nrii6addxy1p76qqixww8zy17a7a1zil6a3i5wh"; + sha256 = "1q365zx6d1wyhv7n97bagfxqnqbhj2j14zz552nhmjviy8lj2ibm"; }; NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix index 57f9a1a57d51..9c7f04134210 100644 --- a/pkgs/tools/system/dd_rescue/default.nix +++ b/pkgs/tools/system/dd_rescue/default.nix @@ -1,63 +1,37 @@ -x@{builderDefsPackage - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, autoconf }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="dd_rescue"; - version="1.22"; - name="${baseName}-${version}"; +stdenv.mkDerivation rec { + name = "dd_rescue-1.42.1"; + + src = fetchurl { + sha256 = "0g2d292m1cnp8syy19hh5jvly3zy7lcvcj563wgjnf20ppm2diaq"; url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.gz"; - hash="0n0vs4cn5csdcsmlndg3z36ws68zlckj17zrbm6wynrbs8iirclp"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - dd_rhelp_src = a.fetchurl { - url = "http://www.kalysto.org/pkg/dd_rhelp-0.1.2.tar.gz"; - sha256 = "0fhzkflg1ygiaj5ha0bf594d76vlgjsfwlpcmwrbady9frxvlkvv"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + dd_rhelp_src = fetchurl { + url = "http://www.kalysto.org/pkg/dd_rhelp-0.3.0.tar.gz"; + sha256 = "0br6fs23ybmic3i5s1w4k4l8c2ph85ax94gfp2lzjpxbvl73cz1g"; + }; - /* doConfigure should be removed if not needed */ - phaseNames = ["doMakeInstall" "install_dd_rhelp" "fixPaths"]; - makeFlags=[ - ''prefix="$out"'' - ''DESTDIR="$out"'' - ''INSTASROOT='' - ]; + buildInputs = [ autoconf ]; - fixPaths = a.doPatchShebangs ''$out/bin''; + preBuild = '' + substituteInPlace Makefile \ + --replace "\$(DESTDIR)/usr" "$out" \ + --replace "-o root" "" \ + --replace "-g root" "" + ''; + makeFlags = [ "LIBDIR=$out" ]; - install_dd_rhelp = a.fullDepEntry ('' + postInstall = '' mkdir -p "$out/share/dd_rescue" "$out/bin" tar xf "${dd_rhelp_src}" -C "$out/share/dd_rescue" cp "$out/share/dd_rescue"/dd_rhelp*/dd_rhelp "$out/bin" - '') ["minInit" "defEnsureDir"]; + ''; - meta = { + meta = with stdenv.lib; { description = "A tool to copy data from a damaged block device"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; + maintainers = with maintainers; [ raskin iElectric ]; + platforms = with platforms; linux; }; - passthru = { - updateInfo = { - downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/"; - }; - }; -}) x - +} diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix index 9afad675bb91..d2ace27b1fd6 100644 --- a/pkgs/tools/system/ddrescue/default.nix +++ b/pkgs/tools/system/ddrescue/default.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, lzip }: stdenv.mkDerivation rec { - name = "ddrescue-1.16"; + name = "ddrescue-1.17"; src = fetchurl { - url = "mirror://gnu/ddrescue/${name}.tar.gz"; - sha256 = "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"; + url = "mirror://gnu/ddrescue/${name}.tar.lz"; + sha256 = "0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy"; }; + buildInputs = [ lzip ]; + doCheck = true; meta = { @@ -41,6 +43,6 @@ stdenv.mkDerivation rec { license = "GPLv3+"; platforms = stdenv.lib.platforms.all; - maintainers = [ ]; + maintainers = with stdenv.lib.maintainers; [ iElectric ]; }; } diff --git a/pkgs/tools/system/fakechroot/default.nix b/pkgs/tools/system/fakechroot/default.nix new file mode 100644 index 000000000000..a652a1e84ef4 --- /dev/null +++ b/pkgs/tools/system/fakechroot/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "fakechroot-${version}"; + version = "2.17.2"; + + src = fetchurl { + url = "https://github.com/dex4er/fakechroot/archive/${version}.tar.gz"; + md5 = "e614f62972efa4654fc780ae7e4affad"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/dex4er/fakechroot; + description = "Give a fake chroot environment through LD_PRELOAD"; + license = licenses.lgpl21; + maintainers = with maintainers; [offline]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix index d5252116f640..c5f33c323594 100644 --- a/pkgs/tools/system/ipmiutil/default.nix +++ b/pkgs/tools/system/ipmiutil/default.nix @@ -1,55 +1,36 @@ -x@{builderDefsPackage - , openssl - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, openssl }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="ipmiutil"; - version="2.7.3"; - name="${baseName}-${version}"; - project="${baseName}"; - url="mirror://sourceforge/project/${project}/${baseName}/${name}.tar.gz"; - hash="0z6ykz5db4ws7hpi25waf9vznwsh0vp819h5s7s8r054vxslrfpq"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +stdenv.mkDerivation rec { + baseName = "ipmiutil"; + version = "2.9.3"; + name = "${baseName}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; + sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ openssl ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "fixMakefile" "doMakeInstall"]; - - fixMakefile = a .fullDepEntry '' + preBuild = '' sed -e "s@/usr@$out@g" -i Makefile */Makefile */*/Makefile - sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile - sed -e "s@/var@$out/var@g" -i Makefile */Makefile - '' ["minInit" "doConfigure"]; - - meta = { - description = "IPMI utilities"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.bsd3; + sed -e "s@/etc@$out/etc@g" -i Makefile */Makefile */*/Makefile + sed -e "s@/var@$out/var@g" -i Makefile */Makefile */*/Makefile + ''; + + NIX_CFLAGS_COMPILE = "-fno-stack-protector"; + + meta = with stdenv.lib; { + description = "An easy-to-use IPMI server management utility"; + homepage = http://ipmiutil.sourceforge.net/; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + license = licenses.bsd3; }; + passthru = { updateInfo = { downloadPage = "http://sourceforge.net/projects/ipmiutil/files/ipmiutil/"; }; }; -}) x - +} diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix index 7d15ade348cf..208ff837b346 100644 --- a/pkgs/tools/system/logcheck/default.nix +++ b/pkgs/tools/system/logcheck/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { _name = "logcheck"; - version = "1.3.15"; + version = "1.3.16"; name = "${_name}-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.gz"; - sha256 = "1rdrs12hkm5i5yyz89a6cwhf4fzjkbcd4q4zy6sk148aji9lg6xj"; + url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.xz"; + sha256 = "1rmq4s2fj86226ncw2kdjvjbi29375gd7vdq62fsbjxm4m6nzsiy"; }; preConfigure = '' diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh index bf5e6eeffa5a..729da7015d9a 100644 --- a/pkgs/tools/system/plan9port/builder.sh +++ b/pkgs/tools/system/plan9port/builder.sh @@ -4,46 +4,14 @@ tar xvfz $src cd plan9 -export PLAN9=`pwd` -export X11=/tmp +for p in $patches; do + echo "applying patch $p" + patch -p1 < $p +done -# Patch for the installation -sed -i -e 's@`which echo`@echo@' lib/moveplan9.sh +./INSTALL -b +./INSTALL -r $out/plan9 -OLDPATH=$PATH -PATH=`pwd`/bin:$PATH - -gcc lib/linux-isnptl.c -lpthread -set +e -if ./a.out > /dev/null -then - echo "SYSVERSION=2.6.x" >config -else - echo "SYSVERSION=2.4.x" >config -fi -rm -f ./a.out -set -e - -pushd src - -# Build mk -../dist/buildmk 2>&1 | sed 's/^[+] //' - -# Build everything - -mk clean -mk libs-nuke -mk all || exit 1 -mk install || exit 1 - -popd - -# Installation -export PLAN9=$out +export PLAN9=$out/plan9 mkdir -p $PLAN9 -GLOBIGNORE='src:.*' cp -R * $PLAN9 -GLOBIGNORE= - -cd $PLAN9 -sh lib/moveplan9.sh `pwd` diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix index e1e515aaf013..f166f198b70d 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -1,16 +1,22 @@ -{stdenv, fetchurl, libX11, xproto, libXt, xextproto, libXext}: +{stdenv, fetchurl, libX11 +, xproto ? null +, libXt ? null +, xextproto ? null +, libXext ? null }: stdenv.mkDerivation rec { - name = "plan9port-20110103"; - + name = "plan9port-20140228"; + + patches = [ ./fontsrv.patch ]; + builder = ./builder.sh; src = fetchurl { url = "http://swtch.com/plan9port/${name}.tgz"; - sha256 = "12hq3k03jgva72498qa1dyndakbhbfg0sc1jhcap9cxqj04xf0dc"; + sha256 = "1l7nsjfrrcq0l43kw0f1437jz3nyl9qw7i2vn0sbmcsv5vmsj0cr"; }; - buildInputs = [ libX11 xproto libXt xextproto libXext ]; + buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 xproto libXt xextproto libXext ]; meta = { homepage = "http://swtch.com/plan9port/"; diff --git a/pkgs/tools/system/plan9port/fontsrv.patch b/pkgs/tools/system/plan9port/fontsrv.patch new file mode 100644 index 000000000000..49fd9c04231b --- /dev/null +++ b/pkgs/tools/system/plan9port/fontsrv.patch @@ -0,0 +1,14 @@ +diff -r dc0640f14d07 src/cmd/mkfile +--- a/src/cmd/mkfile Tue Mar 25 23:23:10 2014 -0400 ++++ b/src/cmd/mkfile Mon Apr 14 22:36:05 2014 +0530 +@@ -4,8 +4,8 @@ + + <$PLAN9/src/mkmany + +-BUGGERED='CVS|faces|factotum|fontsrv|lp|ip|mailfs|upas|vncv|mnihongo|mpm|index|u9fs|secstore|smugfs|snarfer' +-DIRS=lex `ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"|egrep -v '^lex$'` $FONTSRV ++BUGGERED='CVS|faces|factotum|lp|ip|mailfs|upas|vncv|mnihongo|mpm|index|u9fs|secstore|smugfs|snarfer' ++DIRS=lex `ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"|egrep -v '^lex$'` + + <$PLAN9/src/mkdirs + diff --git a/pkgs/tools/system/sizes/default.nix b/pkgs/tools/system/sizes/default.nix new file mode 100644 index 000000000000..9be2a709af57 --- /dev/null +++ b/pkgs/tools/system/sizes/default.nix @@ -0,0 +1,21 @@ +{ cabal, cmdargs, deepseq, dlist, lens, parallelIo, regexPosix +, systemFileio, systemFilepath, text +}: + +cabal.mkDerivation (self: { + pname = "sizes"; + version = "2.3.1.1"; + sha256 = "1k7rvcj5sp30zwm16wnsw40y4rkqnfxlrl3ridqhp91q8286qjbs"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + cmdargs deepseq dlist lens parallelIo regexPosix systemFileio + systemFilepath text + ]; + meta = { + homepage = "https://github.com/jwiegley/sizes"; + description = "Recursively show space (size and i-nodes) used in subdirectories"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index fc4293ad7cff..f8413b9a0d0f 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -1,15 +1,13 @@ { stdenv, fetchurl, coreutils ? null }: -stdenv.mkDerivation { - name = "diffutils-3.2"; +stdenv.mkDerivation rec { + name = "diffutils-3.3"; src = fetchurl { - url = mirror://gnu/diffutils/diffutils-3.2.tar.gz; - sha256 = "1lsf0ln0h3mnm2y0mwgrfk0lyfi7bnm4r886acvdrrsvc7pypaia"; + url = "mirror://gnu/diffutils/${name}.tar.xz"; + sha256 = "1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2"; }; - patches = [ ./gets-undeclared.patch ]; - /* If no explicit coreutils is given, use the one from stdenv. */ nativeBuildInputs = [ coreutils ]; diff --git a/pkgs/tools/text/diffutils/gets-undeclared.patch b/pkgs/tools/text/diffutils/gets-undeclared.patch deleted file mode 100644 index b6cdc77caa84..000000000000 --- a/pkgs/tools/text/diffutils/gets-undeclared.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake - -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index aa7b599..c377b6e 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " - # endif - #endif - --/* Some people would argue that sprintf should be handled like gets -- (for example, OpenBSD issues a link warning for both functions), -- since both can cause security holes due to buffer overruns. -+/* Some people would argue that all sprintf uses should be warned about -+ (for example, OpenBSD issues a link warning for it), -+ since it can cause security holes due to buffer overruns. - However, we believe that sprintf can be used safely, and is more - efficient than snprintf in those safe cases; and as proof of our - belief, we use sprintf in several gnulib modules. So this header diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index eba1dc2ac7fd..b231f2875c09 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -1,20 +1,24 @@ -{ stdenv, fetchurl, libsigsegv }: +{ stdenv, fetchurl, libsigsegv, readline, readlineSupport ? false }: stdenv.mkDerivation rec { - name = "gawk-4.0.2"; + name = "gawk-4.1.0"; src = fetchurl { url = "mirror://gnu/gawk/${name}.tar.xz"; - sha256 = "04vd0axif762mf781pj3days6ilv2333b9zi9c50y5mma66g5q91"; + sha256 = "0hin2hswbbd6kd6i4zzvgciwpl5fba8d2s524z8y5qagyz3x010q"; }; patches = []; doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1 - buildInputs = [ libsigsegv ]; + buildInputs = [ libsigsegv ] + ++ stdenv.lib.optional readlineSupport readline; - configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ]; + configureFlags = [ "--with-libsigsegv-prefix=${libsigsegv}" ] + ++ stdenv.lib.optional readlineSupport "--with-readline=${readline}" + # only darwin where reported, seems OK on non-chrooted Fedora (don't rebuild stdenv) + ++ stdenv.lib.optional (!readlineSupport && stdenv.isDarwin) "--without-readline"; meta = { homepage = http://www.gnu.org/software/gawk/; diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 5a31d0096107..bdf19161e431 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation { buildInputs = [ pcre ] ++ stdenv.lib.optional (libiconv != null) libiconv; + patches = [ ./test-localeconv.patch ]; + NIX_LDFLAGS = stdenv.lib.optionalString (libiconv != null) "-L${libiconv}/lib -liconv"; doCheck = !stdenv.isDarwin; diff --git a/pkgs/tools/text/gnugrep/test-localeconv.patch b/pkgs/tools/text/gnugrep/test-localeconv.patch new file mode 100644 index 000000000000..f5efaf222217 --- /dev/null +++ b/pkgs/tools/text/gnugrep/test-localeconv.patch @@ -0,0 +1,18 @@ +--- grep-2.14/gnulib-tests/test-localeconv.c.orig 2013-02-15 18:41:50.213433059 +0000 ++++ grep-2.14/gnulib-tests/test-localeconv.c 2013-02-15 18:50:33.964751303 +0000 +@@ -37,13 +37,13 @@ + + ASSERT (STREQ (l->decimal_point, ".")); + ASSERT (STREQ (l->thousands_sep, "")); +-#if !defined __FreeBSD__ ++#if !(defined __FreeBSD__ || defined __sun) + ASSERT (STREQ (l->grouping, "")); + #endif + + ASSERT (STREQ (l->mon_decimal_point, "")); + ASSERT (STREQ (l->mon_thousands_sep, "")); +-#if !defined __FreeBSD__ ++#if !(defined __FreeBSD__ || defined __sun) + ASSERT (STREQ (l->mon_grouping, "")); + #endif + ASSERT (STREQ (l->positive_sign, "")); diff --git a/pkgs/tools/text/gnupatch/bashishms.patch b/pkgs/tools/text/gnupatch/bashishms.patch new file mode 100644 index 000000000000..1a2cfbd8e4a2 --- /dev/null +++ b/pkgs/tools/text/gnupatch/bashishms.patch @@ -0,0 +1,67 @@ +http://lists.gnu.org/archive/html/bug-patch/2012-11/msg00001.html +Tested on Illumos, where ksh is /bin/sh. + +--- patch-2.7.1/tests/test-lib.sh ++++ patch-2.7.1/tests/test-lib.sh +@@ -118,7 +118,7 @@ + } + + if test -z "`echo -n`"; then +- if eval 'test -n "${BASH_LINENO[0]}" 2>/dev/null'; then ++ if (eval 'test -n "${BASH_LINENO[0]}"') 2>/dev/null; then + eval ' + _start_test() { + echo -n "[${BASH_LINENO[2]}] $* -- " + +--- patch-2.7.1/tests/crlf-handling ++++ patch-2.7.1/tests/crlf-handling +@@ -14,7 +14,7 @@ + use_tmpdir + + lf2crlf() { +- while read l; do echo -e "$l\r"; done ++ while read l; do printf "%s\r\n" "$l"; done + } + + echo 1 > a + +--- patch-2.7.1/tests/merge ++++ patch-2.7.1/tests/merge +@@ -32,18 +32,20 @@ + shift + done > a.sed + echo "$body" | sed -f a.sed > b +- shift +- while test $# -gt 0 ; do +- echo "$1" ++ if test $# -gt 0 ; then + shift +- done > b.sed ++ while test $# -gt 0 ; do ++ echo "$1" ++ shift ++ done ++ fi > b.sed + echo "$body" | sed -f b.sed > c + rm -f a.sed b.sed + output=`diff -u a b | patch $ARGS -f c` + status=$? + echo "$output" | sed -e '/^$/d' -e '/^patching file c$/d' + cat c +- test $status == 0 || echo "Status: $status" ++ test $status = 0 || echo "Status: $status" + } + + x() { + +--- patch-2.7.1/tests/read-only-files ++++ patch-2.7.1/tests/read-only-files +@@ -16,7 +16,7 @@ + + : > read-only + chmod a-w read-only +-if : 2> /dev/null > read-only; then ++if (: > read-only) 2> /dev/null; then + echo "Files with read-only permissions are writable" \ + "(probably running as superuser)" >&2 + exit 77 diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix index e494eba13ce3..1ad40a4a5fa0 100644 --- a/pkgs/tools/text/gnupatch/default.nix +++ b/pkgs/tools/text/gnupatch/default.nix @@ -14,8 +14,9 @@ stdenv.mkDerivation rec { configureFlags = [ "ac_cv_func_strnlen_working=yes" ]; }; - # Tests fail on FreeBSD due to a Bashism in the tests. - doCheck = !stdenv.isFreeBSD; + patches = [ ./bashishms.patch ]; + + doCheck = true; meta = { description = "GNU Patch, a program to apply differences to files"; diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix index d34ed00d436a..cf30169acef1 100644 --- a/pkgs/tools/text/gnused/default.nix +++ b/pkgs/tools/text/gnused/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "gnused-4.2.1"; + name = "gnused-4.2.2"; src = fetchurl { - url = mirror://gnu/sed/sed-4.2.1.tar.gz; - sha256 = "0q1hzjvr6pzhaagidg7pj76k1fzz5nl15np7p72w9zcpw0f58ww7"; + url = mirror://gnu/sed/sed-4.2.2.tar.bz2; + sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7"; }; meta = { diff --git a/pkgs/tools/text/kakasi/default.nix b/pkgs/tools/text/kakasi/default.nix new file mode 100644 index 000000000000..b73654da4054 --- /dev/null +++ b/pkgs/tools/text/kakasi/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "kakasi-2.3.6"; + + meta = with stdenv.lib; { + description = "Kanji Kana Simple Inverter"; + longDescription = '' + KAKASI is the language processing filter to convert Kanji + characters to Hiragana, Katakana or Romaji and may be + helpful to read Japanese documents. + ''; + homepage = "http://kakasi.namazu.org/"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://kakasi.namazu.org/stable/${name}.tar.xz"; + sha256 = "1qry3xqb83pjgxp3my8b1sy77z4f0893h73ldrvdaky70cdppr9f"; + }; +} diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix index fc9e3785cf3e..ccfeabaa73bd 100644 --- a/pkgs/tools/text/podiff/default.nix +++ b/pkgs/tools/text/podiff/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { homepage = http://puszcza.gnu.org.ua/software/podiff; license = licenses.gpl3Plus; maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/text/sgml/opensp/compat.nix b/pkgs/tools/text/sgml/opensp/compat.nix index 3e9d9152d36a..164982811811 100644 --- a/pkgs/tools/text/sgml/opensp/compat.nix +++ b/pkgs/tools/text/sgml/opensp/compat.nix @@ -1,9 +1,9 @@ { stdenv, opensp }: stdenv.mkDerivation { - name = "sp-compat-${builtins.substring 7 100 opensp.name}"; + name = "sp-compat-${stdenv.lib.getVersion opensp}"; - phases = [ "fixupPhase" "installPhase" ]; + phases = [ "installPhase" "fixupPhase" ]; installPhase = '' mkdir -pv $out/bin diff --git a/pkgs/tools/text/silver-searcher/default.nix b/pkgs/tools/text/silver-searcher/default.nix index 83a89cfb6028..fa780b11f688 100644 --- a/pkgs/tools/text/silver-searcher/default.nix +++ b/pkgs/tools/text/silver-searcher/default.nix @@ -1,15 +1,17 @@ {stdenv, fetchgit, autoreconfHook, pkgconfig, pcre, zlib, lzma}: -let release = "0.18.1"; in +let release = "0.21.0"; in stdenv.mkDerivation { name = "silver-searcher-${release}"; src = fetchgit { url = "https://github.com/ggreer/the_silver_searcher.git"; rev = "refs/tags/${release}"; - sha256 = "bf2c8f3c68895e0ee00d373c1d87201e806b413bb28373ee168e375f2a095ec5"; + sha256 = "bd49c6cadabeaf7bde130e5d2d0083367ae2d19cfedb40e45f5bb1ff9f4a3e51"; }; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + buildInputs = [ autoreconfHook pkgconfig pcre zlib lzma ]; meta = { diff --git a/pkgs/tools/text/uni2ascii/default.nix b/pkgs/tools/text/uni2ascii/default.nix index 0f54644eba56..c81e02b43995 100644 --- a/pkgs/tools/text/uni2ascii/default.nix +++ b/pkgs/tools/text/uni2ascii/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { similar ASCII characters, e.g. by stripping diacritics. ''; maintainers = [ "cillian.deroiste@gmail.com" ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix index 70b9bf69e290..3981f67aefb9 100644 --- a/pkgs/tools/text/wdiff/default.nix +++ b/pkgs/tools/text/wdiff/default.nix @@ -1,17 +1,14 @@ -{ stdenv, fetchurl, which, screen }: +{ stdenv, fetchurl, texinfo }: stdenv.mkDerivation rec { - name = "wdiff-1.1.2"; + name = "wdiff-1.2.1"; src = fetchurl { url = "mirror://gnu/wdiff/${name}.tar.gz"; - sha256 = "0q78y5awvjjmsvizqilbpwany62shlmlq2ayxkjbygmdafpk1k8j"; + sha256 = "1gb5hpiyikada9bwz63q3g96zs383iskiir0xsqynqnvq1vd4n41"; }; - # Required for the compile-time for the test suite. - buildInputs = [ which screen ]; - - doCheck = true; + buildInputs = [ texinfo ]; meta = { homepage = http://www.gnu.org/software/wdiff/; diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix index f52855dfc538..b8f2f4696aea 100644 --- a/pkgs/tools/text/xml/html-xml-utils/default.nix +++ b/pkgs/tools/text/xml/html-xml-utils/default.nix @@ -15,6 +15,5 @@ stdenv.mkDerivation rec { description = "Utilities for manipulating HTML and XML files"; homepage = http://www.w3.org/Tools/HTML-XML-utils/; license = "free-non-copyleft"; - maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/tools/text/xml/xmlstarlet/default.nix b/pkgs/tools/text/xml/xmlstarlet/default.nix index ffeb9a8cd7c1..db7ebfbb77a8 100644 --- a/pkgs/tools/text/xml/xmlstarlet/default.nix +++ b/pkgs/tools/text/xml/xmlstarlet/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libxml2, libxslt }: stdenv.mkDerivation rec { - name = "xmlstarlet-1.0.2"; + name = "xmlstarlet-1.5.0"; src = fetchurl { url = "mirror://sourceforge/xmlstar/${name}.tar.gz"; - sha256 = "07a5c3fhqpvyy07pggl3ky7ahvlcpsmppy71x4h4albvanfbpjwj"; + sha256 = "1fmvqvzrzyfcg53j39sdz01v7klzyhd011m3y9br54525q2fvd27"; }; buildInputs = [ pkgconfig libxml2 libxslt ]; diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix new file mode 100644 index 000000000000..1769a59520ba --- /dev/null +++ b/pkgs/tools/typesetting/biber/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, buildPerlPackage, autovivification, BusinessISBN +, BusinessISMN, BusinessISSN, ConfigAutoConf, DataCompare, DataDump, DateSimple +, EncodeEUCJPASCII, EncodeHanExtra, EncodeJIS2K, ExtUtilsLibBuilder +, FileSlurp, IPCRun3, Log4Perl, LWPProtocolHttps, ListAllUtils, ListMoreUtils +, ModuleBuild, MozillaCA, ReadonlyXS, RegexpCommon, TextBibTeX, UnicodeCollate +, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }: + +let + version = "1.8"; + pn = "biblatex-biber"; +in +buildPerlPackage { + name = "biber-${version}"; + src = fetchurl { + url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz"; + sha256 = "0ffry64pdvg5g487r7qab5b3cs4kq8rq8n3bymxrr1qh3mp79k4n"; + }; + + buildInputs = [ + autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf + DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K + ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils + ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX + UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter + ]; + preConfigure = "touch Makefile.PL"; + buildPhase = "perl Build.PL --prefix=$out; ./Build build"; + checkPhase = "./Build test"; + installPhase = "./Build install"; + + # Tests seem to be broken + doCheck = false; + + meta = { + description = "Backend for BibLaTeX"; + license = "perl"; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix index 0d1602143764..61e94d4d6185 100644 --- a/pkgs/tools/typesetting/lout/default.nix +++ b/pkgs/tools/typesetting/lout/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, ghostscript}: stdenv.mkDerivation rec { - name = "lout-3.39"; + name = "lout-3.40"; src = fetchurl { urls = [ @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { # XXX: We could add the CTAN mirrors # (see http://www.ctan.org/tex-archive/support/lout/). ]; - sha256 = "12gkyqrn0kaa8xq7sc7v3wm407pz2fxg9ngc75aybhi5z825b9vq"; + sha256 = "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"; }; buildInputs = [ ghostscript ]; diff --git a/pkgs/tools/typesetting/pdfjam/default.nix b/pkgs/tools/typesetting/pdfjam/default.nix index e9b46eaa985b..426cef3c85d1 100644 --- a/pkgs/tools/typesetting/pdfjam/default.nix +++ b/pkgs/tools/typesetting/pdfjam/default.nix @@ -5,4 +5,8 @@ url = http://www.warwick.ac.uk/go/pdfjam/pdfjam_1.20.tgz; sha256 = "05g3mx7mb6h15ivbv0f53r369xphy8ad8a2xblpnk9mrnlrkaxy9"; }; + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = maintainers.mornfall; + }; } diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix index 2d1de93fed87..e001a36cab03 100644 --- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix +++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix @@ -68,6 +68,8 @@ rec { done '' ) [ "minInit" "defEnsureDir" "addInputs" ]; + preferLocalBuild = true; + meta = { description = "TeX distribution directory"; longDescription = '' diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix index 4cb03e7d2c54..8b06cbb5a2bd 100644 --- a/pkgs/tools/typesetting/tex/texlive/beamer.nix +++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix @@ -20,5 +20,6 @@ rec { meta = { description = "Extra components for TeXLive: beamer class"; + maintainers = stdenv.lib.maintainers.mornfall; }; } diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index b5e3c981e1cc..85de3dc08cfd 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -5,14 +5,16 @@ rec { sha256 = "1idgyim6r4bi3id245k616qrdarfh65xv3gi2psarqqmsw504yhd"; }; + texmfVersion = "2013.20140314"; texmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20131219.orig.tar.xz; - sha256 = "1kcfw6n9rv3wznyqkvkad60p1zljbn1cw2jhajzcrn8m39y0ad3x"; + url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz"; + sha256 = "0f2dxm0ac4j04w1rgjpdranpprjghw8slvijknykpvph1jn0lmzm"; }; + langTexmfVersion = "2013.20140314"; langTexmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131219.orig.tar.xz; - sha256 = "139hb91ks62q56dnnrzhcxmm2wpz0b40ka7smaqgw86r002albb0"; + url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; + sha256 = "154g300nbg4fhxprvi9fwr7wmpws4cg89m9nwsfpyf0m2k8n9ibx"; }; passthru = { inherit texmfSrc langTexmfSrc; }; @@ -43,7 +45,7 @@ rec { NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout"; - ./Build --prefix="$out" --datadir="$out/share" --mandir "$out/share/man" --infodir "$out/share/info" \ + ./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \ ${args.lib.concatStringsSep " " configureFlags} cd Work '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ]; @@ -114,14 +116,22 @@ rec { configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt" "--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib" - "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" - "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" - ] - ++ ( if stdenv.isDarwin - # ironically, couldn't get xetex compiling on darwin - then [ "--disable-xetex" "--disable-xdv2pdf" "--disable-xdvipdfmx" ] - # couldn't seem to get system icu working on darwin - else [ "--with-system-icu" ] ); + "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2" + "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" ] + ++ stdenv.lib.optionals stdenv.isDarwin [ + # Complains about a missing ICU directory + "--disable-bibtex-x" + + # TODO: We should be able to fix these tests + "--disable-devnag" + "--disable-dvisvgm" + "--disable-xdv2pdf" + "--disable-xdvipdfmx" + "--disable-xetex" + + "--with-system-harfbuzz=no" + "--with-system-icu=no" + ]; phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ]; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index c6624e469e5d..10b9962936dd 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,9 +1,11 @@ args: with args; rec { - name = "texlive-extra-2013"; + name = "texlive-extra-2013"; + version = "2013.20140314"; + src = fetchurl { - url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131219.orig.tar.xz; - sha256 = "09iijzq0y5kq16f3lv2jrln190ldbbzywpwr33hrmnw5yp3izmrh"; + url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; + sha256 = "6b4216fe87c354a0c3c8ec456272cc096a7ec112a68031797ae23f18e1e5b74c"; }; buildInputs = [texLive xz]; diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix index b70d8f4c9ba4..33b497fa3eb4 100644 --- a/pkgs/tools/video/mjpegtools/default.nix +++ b/pkgs/tools/video/mjpegtools/default.nix @@ -6,10 +6,10 @@ # - libXxf86dga support? checking for XF86DGAQueryExtension in -lXxf86dga... no stdenv.mkDerivation rec { - name = "mjpegtools-2.0.0"; + name = "mjpegtools-2.1.0"; src = fetchurl { url = "mirror://sourceforge/mjpeg/${name}.tar.gz"; - sha256 = "bf3541593e71602f7b440c2e7d81b433f53d0511e74642f35bea9b3feded7a97"; + sha256 = "01y4xpfdvd4zgv6fmcjny9mr1gbfd4y2i4adp657ydw6fqyi8kw6"; }; buildInputs = [ gtk libdv libjpeg libpng libX11 pkgconfig SDL SDL_gfx ]; } diff --git a/pkgs/tools/virtualization/aws/default.nix b/pkgs/tools/virtualization/aws/default.nix index 00cc4e7733fb..27f4ce4476fd 100644 --- a/pkgs/tools/virtualization/aws/default.nix +++ b/pkgs/tools/virtualization/aws/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl }: +{ stdenv, fetchurl, perl, curl }: stdenv.mkDerivation { name = "aws-1.75"; @@ -15,7 +15,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/bin - cp $src $out/bin/aws + sed 's|\[curl|[${curl}/bin/curl|g' $src > $out/bin/aws chmod +x $out/bin/aws ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94e323d356ef..23cfaf25e6a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -97,7 +97,7 @@ let (import ../build-support/trivial-builders.nix { inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; }); stdenvAdapters = - import ../stdenv/adapters.nix { inherit (pkgs) dietlibc fetchurl runCommand; }; + import ../stdenv/adapters.nix pkgs; # Allow packages to be overriden globally via the `packageOverrides' @@ -247,7 +247,7 @@ let # just the plain stdenv. stdenv_32bit = lowPrio ( if system == "x86_64-linux" then - overrideGCC stdenv gcc46_multi + overrideGCC stdenv gcc48_multi else stdenv); @@ -270,7 +270,7 @@ let buildFHSChrootEnv = import ../build-support/build-fhs-chrootenv { inherit stdenv glibc glibcLocales gcc coreutils diffutils findutils; inherit gnused gnugrep gnutar gzip bzip2 bashInteractive xz shadow gawk; - inherit less buildEnv; + inherit less su buildEnv; }; dotnetenv = import ../build-support/dotnetenv { @@ -354,7 +354,7 @@ let makeInitrd = {contents, compressor ? "gzip -9"}: import ../build-support/kernel/make-initrd.nix { - inherit stdenv perl cpio contents ubootChooser compressor; + inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor; }; makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; @@ -396,6 +396,14 @@ let fixDarwinDylibNames = makeSetupHook { } ../build-support/setup-hooks/fix-darwin-dylib-names.sh; + keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh; + + enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh; + + makeGCOVReport = makeSetupHook + { deps = [ pkgs.lcov pkgs.enableGCOVInstrumentation ]; } + ../build-support/setup-hooks/make-coverage-analysis-report.sh; + ### TOOLS @@ -418,12 +426,16 @@ let aescrypt = callPackage ../tools/misc/aescrypt { }; + cb1cat = callPackage ../tools/security/cb1cat { }; + ahcpd = callPackage ../tools/networking/ahcpd { }; aircrackng = callPackage ../tools/networking/aircrack-ng { }; analog = callPackage ../tools/admin/analog {}; + apt-offline = callPackage ../tools/misc/apt-offline { }; + archivemount = callPackage ../tools/filesystems/archivemount { }; arandr = callPackage ../tools/X11/arandr { }; @@ -435,14 +447,16 @@ let argyllcms = callPackage ../tools/graphics/argyllcms {}; + arp-scan = callPackage ../tools/misc/arp-scan { }; + ascii = callPackage ../tools/text/ascii { }; asymptote = builderDefsPackage ../tools/graphics/asymptote { inherit freeglut ghostscriptX imagemagick fftw boehmgc mesa ncurses readline gsl libsigsegv python zlib perl - texinfo lzma; + texinfo xz; texLive = texLiveAggregationFun { - paths = [ texLive texLiveExtra ]; + paths = [ texLive texLiveExtra texLiveCMSuper ]; }; }; @@ -532,6 +546,8 @@ let bc = callPackage ../tools/misc/bc { }; + bcache-tools = callPackage ../tools/filesystems/bcache-tools { }; + bchunk = callPackage ../tools/cd-dvd/bchunk { }; bfr = callPackage ../tools/misc/bfr { }; @@ -542,9 +558,7 @@ let bochs = callPackage ../applications/virtualization/bochs { }; - boomerang = callPackage ../development/tools/boomerang { - stdenv = overrideGCC stdenv gcc47; - }; + boomerang = callPackage ../development/tools/boomerang { }; bootchart = callPackage ../tools/system/bootchart { }; @@ -560,6 +574,10 @@ let catdoc = callPackage ../tools/text/catdoc { }; + ccnet = callPackage ../tools/networking/ccnet { }; + + capstone = callPackage ../development/libraries/capstone { }; + ditaa = callPackage ../tools/graphics/ditaa { }; direnv = callPackage ../tools/misc/direnv { }; @@ -570,6 +588,10 @@ let enca = callPackage ../tools/text/enca { }; + fasd = callPackage ../tools/misc/fasd { + inherit (haskellPackages) pandoc; + }; + fop = callPackage ../tools/typesetting/fop { }; mcrl = callPackage ../tools/misc/mcrl { }; @@ -584,6 +606,8 @@ let mcelog = callPackage ../os-specific/linux/mcelog { }; + apparix = callPackage ../tools/misc/apparix { }; + asciidoc = callPackage ../tools/typesetting/asciidoc { inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader; enableStandardFeatures = false; @@ -602,6 +626,15 @@ let bgs = callPackage ../tools/X11/bgs { }; + biber = callPackage ../tools/typesetting/biber { + inherit (perlPackages) + autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf + DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K + ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils + ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX + UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter; + }; + bibtextools = callPackage ../tools/typesetting/bibtex-tools { inherit (strategoPackages016) strategoxt sdf; }; @@ -638,6 +671,8 @@ let cabextract = callPackage ../tools/archivers/cabextract { }; + can-utils = callPackage ../os-specific/linux/can-utils { }; + ccid = callPackage ../tools/security/ccid { }; ccrypt = callPackage ../tools/security/ccrypt { }; @@ -676,8 +711,12 @@ let colord = callPackage ../tools/misc/colord { }; + colord-gtk = callPackage ../tools/misc/colord-gtk { }; + colordiff = callPackage ../tools/text/colordiff { }; + concurrencykit = callPackage ../development/libraries/concurrencykit { }; + connect = callPackage ../tools/networking/connect { }; conspy = callPackage ../os-specific/linux/conspy {}; @@ -780,12 +819,7 @@ let despotify = callPackage ../development/libraries/despotify { }; - dev86 = callPackage ../development/compilers/dev86 { - /* Using GNU Make 3.82 leads to this: - make[4]: *** No rule to make target `__ldivmod.o)' - So use 3.81. */ - stdenv = overrideInStdenv stdenv [gnumake381]; - }; + dev86 = callPackage ../development/compilers/dev86 { }; dnsmasq = callPackage ../tools/networking/dnsmasq { }; @@ -815,7 +849,6 @@ let docbook2x = callPackage ../tools/typesetting/docbook2x { inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport; - texinfo = texinfo5; }; dosfstools = callPackage ../tools/filesystems/dosfstools { }; @@ -828,8 +861,10 @@ let dtach = callPackage ../tools/misc/dtach { }; + duo-unix = callPackage ../tools/security/duo-unix { }; + duplicity = callPackage ../tools/backup/duplicity { - inherit (pythonPackages) boto; + inherit (pythonPackages) boto lockfile; gnupg = gnupg1; }; @@ -891,12 +926,16 @@ let expect = callPackage ../tools/misc/expect { }; + f2fs-tools = callPackage ../tools/filesystems/f2fs-tools { }; + fabric = pythonPackages.fabric; fail2ban = callPackage ../tools/security/fail2ban { }; fakeroot = callPackage ../tools/system/fakeroot { }; + fakechroot = callPackage ../tools/system/fakechroot { }; + fcitx = callPackage ../tools/inputmethods/fcitx { }; fcron = callPackage ../tools/system/fcron { }; @@ -917,6 +956,10 @@ let fio = callPackage ../tools/system/fio { }; + flashtool = callPackage_i686 ../development/mobile/flashtool { + platformTools = androidenv.platformTools; + }; + flpsed = callPackage ../applications/editors/flpsed { }; flvstreamer = callPackage ../tools/networking/flvstreamer { }; @@ -979,6 +1022,9 @@ let gawk = callPackage ../tools/text/gawk { }; + gawkInteractive = appendToName "interactive" + (gawk.override { readlineSupport = true; }); + gdmap = callPackage ../tools/system/gdmap { }; genext2fs = callPackage ../tools/filesystems/genext2fs { }; @@ -1033,6 +1079,7 @@ let gnuplot = callPackage ../tools/graphics/gnuplot { texLive = null; lua = null; + texinfo = texinfo4; # build errors with gnuplot-4.6.3 # use gccApple to compile on darwin, seems to resolve a malloc error stdenv = if stdenv.isDarwin @@ -1075,7 +1122,7 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; }; grub2_efi = grub2.override { EFIsupport = true; }; @@ -1095,22 +1142,24 @@ let gtmess = callPackage ../applications/networking/instant-messengers/gtmess { }; - gummiboot = callPackage ../tools/misc/gummiboot { stdenv = overrideGCC stdenv gcc47; }; + gummiboot = callPackage ../tools/misc/gummiboot { }; gupnp = callPackage ../development/libraries/gupnp { inherit (gnome) libsoup; }; + gupnp_av = callPackage ../development/libraries/gupnp-av {}; + gupnp_igd = callPackage ../development/libraries/gupnp-igd {}; - gupnptools = callPackage ../tools/networking/gupnp-tools { - inherit (gnome) libsoup libglade gnomeicontheme; - }; + gupnptools = callPackage ../tools/networking/gupnp-tools {}; gvpe = builderDefsPackage ../tools/networking/gvpe { inherit openssl gmp nettools iproute; }; + gvolicon = callPackage ../tools/audio/gvolicon {}; + gzip = callPackage ../tools/compression/gzip { }; gzrt = callPackage ../tools/compression/gzrt { }; @@ -1127,6 +1176,8 @@ let hardlink = callPackage ../tools/system/hardlink { }; + hashcat = callPackage ../tools/security/hashcat { }; + halibut = callPackage ../tools/typesetting/halibut { }; hddtemp = callPackage ../tools/misc/hddtemp { }; @@ -1217,6 +1268,8 @@ let jwhois = callPackage ../tools/networking/jwhois { }; + kazam = callPackage ../applications/video/kazam { }; + kexectools = callPackage ../os-specific/linux/kexectools { }; keychain = callPackage ../tools/misc/keychain { }; @@ -1229,6 +1282,8 @@ let logstash = callPackage ../tools/misc/logstash { }; + logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { }; + kippo = callPackage ../servers/kippo { }; klavaro = callPackage ../games/klavaro {}; @@ -1249,11 +1304,11 @@ let nodejs = callPackage ../development/web/nodejs {}; - nodePackages = import ./node-packages.nix { + nodePackages = recurseIntoAttrs (import ./node-packages.nix { inherit pkgs stdenv nodejs fetchurl fetchgit; neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux; self = pkgs.nodePackages; - }; + }); ldapvi = callPackage ../tools/misc/ldapvi { }; @@ -1267,10 +1322,16 @@ let libestr = callPackage ../development/libraries/libestr { }; + liboauth = callPackage ../development/libraries/liboauth { }; + libtirpc = callPackage ../development/libraries/ti-rpc { }; libshout = callPackage ../development/libraries/libshout { }; + libqmi = callPackage ../development/libraries/libqmi { }; + + libmbim = callPackage ../development/libraries/libmbim { }; + libtorrent = callPackage ../tools/networking/p2p/libtorrent { }; logcheck = callPackage ../tools/system/logcheck { @@ -1293,7 +1354,7 @@ let lxc = callPackage ../os-specific/linux/lxc { }; - lzip = callPackage ../tools/compression/lzip { texinfo = texinfo5; }; + lzip = callPackage ../tools/compression/lzip { }; lzma = xz; @@ -1303,6 +1364,8 @@ let maildrop = callPackage ../tools/networking/maildrop { }; + mailpile = callPackage ../applications/networking/mailreaders/mailpile { }; + mailutils = callPackage ../tools/networking/mailutils { guile = guile_1_8; }; @@ -1331,7 +1394,9 @@ let mdbtools = callPackage ../tools/misc/mdbtools { }; - mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { }; + mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { + inherit (gnome) scrollkeeper; + }; megacli = callPackage ../tools/misc/megacli { }; @@ -1339,6 +1404,8 @@ let minecraft = callPackage ../games/minecraft { }; + minecraft-server = callPackage ../games/minecraft-server { }; + minetest = callPackage ../games/minetest { libpng = libpng12; }; @@ -1414,6 +1481,8 @@ let nbd = callPackage ../tools/networking/nbd { }; + ndjbdns = callPackage ../tools/networking/ndjbdns { }; + netatalk = callPackage ../tools/filesystems/netatalk { }; netcdf = callPackage ../development/libraries/netcdf { }; @@ -1472,12 +1541,19 @@ let nlopt = callPackage ../development/libraries/nlopt {}; + npapi_sdk = callPackage ../development/libraries/npapi-sdk {}; + npth = callPackage ../development/libraries/npth {}; - nmap = callPackage ../tools/security/nmap { + nmap = callPackage ../tools/security/nmap { }; + + nmap_graphical = callPackage ../tools/security/nmap { inherit (pythonPackages) pysqlite; + graphicalSupport = true; }; + notbit = callPackage ../applications/networking/notbit { }; + nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {}; ntfs3g = callPackage ../tools/filesystems/ntfs-3g { }; @@ -1543,9 +1619,9 @@ let pam = if stdenv.isLinux then pam else null; }; - openssh_hpn = lowPrio (pkgs.appendToName "hpn" (openssh.override { hpnSupport = true; })); + openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; }); - openssh_with_kerberos = lowPrio (pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; })); + openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; }); opensp = callPackage ../tools/text/sgml/opensp { }; @@ -1553,6 +1629,8 @@ let openvpn = callPackage ../tools/networking/openvpn { }; + openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; + optipng = callPackage ../tools/graphics/optipng { }; oslrd = callPackage ../tools/networking/oslrd { }; @@ -1577,6 +1655,14 @@ let parted = callPackage ../tools/misc/parted { hurd = null; }; + pitivi = callPackage ../applications/video/pitivi { + gst = gst_all_1; + clutter-gtk = clutter_gtk; + inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic; + }; + + p0f = callPackage ../tools/security/p0f { }; + hurdPartedCross = if crossSystem != null && crossSystem.config == "i586-pc-gnu" then (makeOverridable @@ -1595,7 +1681,7 @@ let { hurd = gnu.hurdCrossIntermediate; }) else null; - ipsecTools = callPackage ../os-specific/linux/ipsec-tools { }; + ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; }; patch = gnupatch; @@ -1615,6 +1701,8 @@ let briss = callPackage ../tools/graphics/briss { }; + bully = callPackage ../tools/networking/bully { }; + pdnsd = callPackage ../tools/networking/pdnsd { }; pg_top = callPackage ../tools/misc/pg_top { }; @@ -1684,6 +1772,8 @@ let cntlm = callPackage ../tools/networking/cntlm { }; + pastebinit = callPackage ../tools/misc/pastebinit { }; + psmisc = callPackage ../os-specific/linux/psmisc { }; pstoedit = callPackage ../tools/graphics/pstoedit { }; @@ -1694,6 +1784,8 @@ let pwnat = callPackage ../tools/networking/pwnat { }; + pycangjie = callPackage ../development/python-modules/pycangjie { }; + pydb = callPackage ../development/tools/pydb { }; pystringtemplate = callPackage ../development/python-modules/stringtemplate { }; @@ -1722,7 +1814,9 @@ let privateer = callPackage ../games/privateer { }; - rtmpdump = callPackage ../tools/video/rtmpdump { }; + rtmpdump = callPackage ../tools/video/rtmpdump { + gnutls = gnutls31; # gnutls32: undefined reference to gnutls_calc_dh_{key,secret} + }; reaverwps = callPackage ../tools/networking/reaver-wps {}; @@ -1730,8 +1824,6 @@ let recoll = callPackage ../applications/search/recoll { }; - refind = callPackage ../tools/misc/refind { }; - reiser4progs = callPackage ../tools/filesystems/reiser4progs { }; reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { }; @@ -1774,9 +1866,7 @@ let inherit ppp; }; - rpm = callPackage ../tools/package-management/rpm { - db4 = db45; - }; + rpm = callPackage ../tools/package-management/rpm { }; rrdtool = callPackage ../tools/misc/rrdtool { }; @@ -1824,6 +1914,8 @@ let sharutils = callPackage ../tools/archivers/sharutils { }; + shotwell = callPackage ../applications/graphics/shotwell { }; + shebangfix = callPackage ../tools/misc/shebangfix { }; shellinabox = callPackage ../servers/shellinabox { }; @@ -1836,6 +1928,8 @@ let silver-searcher = callPackage ../tools/text/silver-searcher { }; + simplescreenrecorder = callPackage ../applications/video/simplescreenrecorder { }; + sleuthkit = callPackage ../tools/system/sleuthkit {}; slimrat = callPackage ../tools/networking/slimrat { @@ -1859,8 +1953,16 @@ let inherit (pkgsi686Linux.xlibs) libX11; }; + solr = callPackage ../servers/search/solr { }; + sparsehash = callPackage ../development/libraries/sparsehash { }; + spiped = callPackage ../tools/networking/spiped { }; + + sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; + + sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { }; + stardict = callPackage ../applications/misc/stardict/stardict.nix { inherit (gnome) libgnomeui scrollkeeper; }; @@ -1894,6 +1996,8 @@ let super = callPackage ../tools/security/super { }; + ssdeep = callPackage ../tools/security/ssdeep { }; + ssmtp = callPackage ../tools/networking/ssmtp { tlsSupport = true; }; @@ -1908,7 +2012,7 @@ let stunnel = callPackage ../tools/networking/stunnel { }; - su = shadow; + su = shadow.su; surfraw = callPackage ../tools/networking/surfraw { }; @@ -1934,6 +2038,8 @@ let tcpdump = callPackage ../tools/networking/tcpdump { }; + tcpflow = callPackage ../tools/networking/tcpflow { }; + teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { }; # Work In Progress: it doesn't start unless running a daemon as root @@ -1951,6 +2057,8 @@ let tinc = callPackage ../tools/networking/tinc { }; + tiny8086 = callPackage ../applications/virtualization/8086tiny { }; + tmpwatch = callPackage ../tools/misc/tmpwatch { }; tmux = callPackage ../tools/misc/tmux { }; @@ -2005,6 +2113,8 @@ let vboot_reference = callPackage ../tools/system/vboot_reference { }; + vcsh = callPackage ../applications/version-management/vcsh { }; + verilog = callPackage ../applications/science/electronics/verilog {}; vfdecrypt = callPackage ../tools/misc/vfdecrypt { }; @@ -2025,6 +2135,8 @@ let vobcopy = callPackage ../tools/cd-dvd/vobcopy { }; + vobsub2srt = callPackage ../tools/cd-dvd/vobsub2srt { }; + vorbisgain = callPackage ../tools/misc/vorbisgain { }; vpnc = callPackage ../tools/networking/vpnc { }; @@ -2033,6 +2145,8 @@ let vtun = callPackage ../tools/networking/vtun { }; + wal_e = callPackage ../tools/backup/wal-e { }; + wbox = callPackage ../tools/networking/wbox {}; welkin = callPackage ../tools/graphics/welkin {}; @@ -2061,8 +2175,6 @@ let tkabber = callPackage ../applications/networking/instant-messengers/tkabber { }; - tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { }; - qfsm = callPackage ../applications/science/electronics/qfsm { }; tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { @@ -2102,6 +2214,8 @@ let xarchive = callPackage ../tools/archivers/xarchive { }; + xarchiver = callPackage ../tools/archivers/xarchiver { }; + unarj = callPackage ../tools/archivers/unarj { }; unshield = callPackage ../tools/archivers/unshield { }; @@ -2236,6 +2350,10 @@ let zdelta = callPackage ../tools/compression/zdelta { }; + zfstools = callPackage ../tools/filesystems/zfstools { + zfs = linuxPackages.zfs; + }; + zile = callPackage ../applications/editors/zile { }; zip = callPackage ../tools/archivers/zip { }; @@ -2254,7 +2372,7 @@ let bashInteractive = appendToName "interactive" (callPackage ../shells/bash { interactive = true; - texinfo = texinfo5; + readline = readline63; # Includes many vi mode fixes }); bashCompletion = callPackage ../shells/bash-completion { }; @@ -2285,6 +2403,7 @@ let aspectj = callPackage ../development/compilers/aspectj { }; + ats = callPackage ../development/compilers/ats { }; ats2 = callPackage ../development/compilers/ats2 { }; avra = callPackage ../development/compilers/avra { }; @@ -2299,26 +2418,36 @@ let ccl = builderDefsPackage ../development/compilers/ccl {}; - clang = wrapClang llvmFull; + clang = wrapClang llvmPackages.clang; - llvmFullSelf = clangWrapSelf (llvmFull.override { - stdenv = libcxxStdenv; - }); + clang_34 = wrapClang llvmPackages_34.clang; + clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); + clang_32 = wrapClang (clangUnwrapped llvm_32 ../development/compilers/llvm/3.2/clang.nix); + clang_31 = wrapClang (clangUnwrapped llvm_31 ../development/compilers/llvm/3.1/clang.nix); + + clangUnwrapped = llvm: pkg: callPackage pkg { + stdenv = if stdenv.isDarwin + then stdenvAdapters.overrideGCC stdenv gccApple + else stdenv; + llvm = llvm; + }; + + clangSelf = clangWrapSelf llvmPackagesSelf.clang; clangWrapSelf = build: (import ../build-support/clang-wrapper) { - clang = build; - stdenv = clangStdenv; - libc = glibc; - binutils = binutils_gold; - shell = bash; - inherit libcxx coreutils zlib; - nativeTools = false; - nativeLibc = false; + clang = build; + stdenv = clangStdenv; + libc = glibc; + binutils = binutils; + shell = bash; + inherit libcxx coreutils zlib; + nativeTools = false; + nativeLibc = false; }; #Use this instead of stdenv to build with clang clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang); - libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmFull); + libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang); clean = callPackage ../development/compilers/clean { }; @@ -2326,7 +2455,8 @@ let cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { }; - cython = callPackage ../development/interpreters/cython { }; + cython = pythonPackages.cython; + cython3 = python3Packages.cython; dylan = callPackage ../development/compilers/gwydion-dylan { dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix { }; @@ -2343,7 +2473,7 @@ let gambit = callPackage ../development/compilers/gambit { }; - gcc = gcc46; + gcc = gcc48; gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 { inherit fetchurl stdenv noSysDirs; @@ -2364,24 +2494,14 @@ let }); gcc43 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.3) { - inherit stdenv fetchurl texinfo gmp mpfr noSysDirs; + inherit stdenv fetchurl gmp mpfr noSysDirs; + texinfo = texinfo4; profiledCompiler = true; })); - gcc43_realCross = makeOverridable (import ../development/compilers/gcc/4.3) { - inherit stdenv fetchurl texinfo gmp mpfr noSysDirs; - binutilsCross = binutilsCross; - libcCross = libcCross; - profiledCompiler = false; - enableMultilib = true; - crossStageStatic = false; - cross = assert crossSystem != null; crossSystem; - }; - - gcc44_realCross = lib.addMetaAttrs { hydraPlatforms = []; } - (makeOverridable (import ../development/compilers/gcc/4.4) { - inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs - gettext which; + gcc48_realCross = lib.addMetaAttrs { hydraPlatforms = []; } + (callPackage ../development/compilers/gcc/4.8 { + inherit noSysDirs; binutilsCross = binutilsCross; libcCross = libcCross; profiledCompiler = false; @@ -2390,80 +2510,7 @@ let cross = assert crossSystem != null; crossSystem; }); - gcc45 = gcc45_real; - - wrapDeterministicGCCWith = gccWrapper: glibc: baseGCC: gccWrapper { - nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools; - nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc; - nativePrefix = if stdenv ? gcc then stdenv.gcc.nativePrefix else ""; - gcc = baseGCC; - libc = glibc; - shell = bash; - binutils = binutils_deterministic; - inherit stdenv coreutils zlib; - }; - - wrapDeterministicGCC = wrapDeterministicGCCWith (import ../build-support/gcc-wrapper) glibc; - - gcc46_deterministic = lowPrio (wrapDeterministicGCC (callPackage ../development/compilers/gcc/4.6 { - inherit noSysDirs; - - # bootstrapping a profiled compiler does not work in the sheevaplug: - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = false; - - # When building `gcc.crossDrv' (a "Canadian cross", with host == target - # and host != build), `cross' must be null but the cross-libc must still - # be passed. - cross = null; - libcCross = if crossSystem != null then libcCross else null; - libpthreadCross = - if crossSystem != null && crossSystem.config == "i586-pc-gnu" - then gnu.libpthreadCross - else null; - })); - - gcc46 = gcc46_real; - - gcc47 = gcc47_real; - - gcc45_realCross = lib.addMetaAttrs { hydraPlatforms = []; } - (makeOverridable (import ../development/compilers/gcc/4.5) { - inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib - ppl cloogppl gettext which noSysDirs; - binutilsCross = binutilsCross; - libcCross = libcCross; - profiledCompiler = false; - enableMultilib = false; - crossStageStatic = false; - cross = assert crossSystem != null; crossSystem; - }); - - gcc46_realCross = lib.addMetaAttrs { hydraPlatforms = []; } - (makeOverridable (import ../development/compilers/gcc/4.6) { - inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib - cloog ppl gettext which noSysDirs; - binutilsCross = binutilsCross; - libcCross = libcCross; - profiledCompiler = false; - enableMultilib = false; - crossStageStatic = false; - cross = assert crossSystem != null; crossSystem; - }); - - gcc47_realCross = lib.addMetaAttrs { hydraPlatforms = []; } - (makeOverridable (import ../development/compilers/gcc/4.7) { - inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib - cloog ppl gettext which noSysDirs; - binutilsCross = binutilsCross; - libcCross = libcCross; - profiledCompiler = false; - enableMultilib = false; - crossStageStatic = false; - cross = assert crossSystem != null; crossSystem; - }); - - gcc_realCross = gcc47_realCross; + gcc_realCross = gcc48_realCross; gccCrossStageStatic = let isMingw = (stdenv.cross.libc == "msvcrt"); @@ -2511,15 +2558,20 @@ let }; gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) { - inherit fetchurl stdenv texinfo gmp mpfr /* ppl cloogppl */ + inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */ gettext which noSysDirs; + texinfo = texinfo4; profiledCompiler = true; })); - gcc45_real = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.5) { - inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib perl - ppl cloogppl + gcc45 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 { + inherit fetchurl stdenv gmp mpfr mpc libelf zlib perl gettext which noSysDirs; + texinfo = texinfo4; + + ppl = null; + cloogppl = null; + # bootstrapping a profiled compiler does not work in the sheevaplug: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 profiledCompiler = !stdenv.isArm; @@ -2535,9 +2587,12 @@ let else null; })); - gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { + gcc46 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { inherit noSysDirs; + ppl = null; + cloog = null; + # bootstrapping a profiled compiler does not work in the sheevaplug: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 profiledCompiler = false; @@ -2554,30 +2609,11 @@ let texinfo = texinfo413; })); - # A non-stripped version of GCC. - gcc46_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { - stripped = false; - + gcc48 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { inherit noSysDirs; - cross = null; - libcCross = null; - binutilsCross = null; - })); - gcc46_multi = - if system == "x86_64-linux" then lowPrio ( - wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc46.gcc.override { - stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc); - profiledCompiler = false; - enableMultilib = true; - })) - else throw "Multilib gcc not supported on ‘${system}’"; - - gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 { - inherit noSysDirs; - # I'm not sure if profiling with enableParallelBuilding helps a lot. - # We can enable it back some day. This makes the *gcc* builds faster now. - profiledCompiler = false; + # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion + profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64)); # When building `gcc.crossDrv' (a "Canadian cross", with host == target # and host != build), `cross' must be null but the cross-libc must still @@ -2590,7 +2626,16 @@ let else null; })); - gcc47_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 { + gcc48_multi = + if system == "x86_64-linux" then lowPrio ( + wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc48.gcc.override { + stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc); + profiledCompiler = false; + enableMultilib = true; + })) + else throw "Multilib gcc not supported on ‘${system}’"; + + gcc48_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.8 { stripped = false; inherit noSysDirs; @@ -2609,17 +2654,9 @@ let stdenv = allStdenvs.stdenvNative; }); - gfortran = gfortran46; + gfortran = gfortran48; - gfortran42 = wrapGCC (gcc42.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - inherit gmp mpfr; - }); - - gfortran43 = wrapGCC (gcc43.gcc.override { + gfortran48 = wrapGCC (gcc48.gcc.override { name = "gfortran"; langFortran = true; langCC = false; @@ -2627,51 +2664,13 @@ let profiledCompiler = false; }); - gfortran44 = wrapGCC (gcc44.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); + gcj = gcj48; - gfortran45 = wrapGCC (gcc45_real.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); - - gfortran46 = wrapGCC (gcc46_real.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); - - gcj = gcj45; - - gcj45 = wrapGCC (gcc45.gcc.override { + gcj48 = wrapGCC (gcc48.gcc.override { name = "gcj"; langJava = true; langFortran = false; - langCC = true; - langC = false; - profiledCompiler = false; - inherit zip unzip zlib boehmgc gettext pkgconfig perl; - inherit gtk; - inherit (gnome) libart_lgpl; - inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender - libXrandr xproto renderproto xextproto inputproto randrproto; - }); - - gcj46 = wrapGCC (gcc46.gcc.override { - name = "gcj"; - langJava = true; - langFortran = false; - langCC = true; + langCC = false; langC = false; profiledCompiler = false; inherit zip unzip zlib boehmgc gettext pkgconfig perl; @@ -2683,7 +2682,7 @@ let gnat = gnat45; - gnat44 = wrapGCC (gcc44.gcc.override { + gnat45 = wrapGCC (gcc45.gcc.override { name = "gnat"; langCC = false; langC = true; @@ -2696,20 +2695,7 @@ let ppl = null; }); - gnat45 = wrapGCC (gcc45_real.gcc.override { - name = "gnat"; - langCC = false; - langC = true; - langAda = true; - profiledCompiler = false; - inherit gnatboot; - # We can't use the ppl stuff, because we would have - # libstdc++ problems. - cloogppl = null; - ppl = null; - }); - - gnat46 = wrapGCC (gcc46_real.gcc.override { + gnat46 = wrapGCC (gcc46.gcc.override { name = "gnat"; langCC = false; langC = true; @@ -2726,10 +2712,9 @@ let inherit fetchurl stdenv; }); - # gccgo46 does not work. I set 4.7 then. - gccgo = gccgo47; + gccgo = gccgo48; - gccgo47 = wrapGCC (gcc47_real.gcc.override { + gccgo48 = wrapGCC (gcc48.gcc.override { name = "gccgo"; langCC = true; #required for go. langC = true; @@ -2737,7 +2722,8 @@ let }); ghdl = wrapGCC (import ../development/compilers/gcc/4.3 { - inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gnat; + inherit stdenv fetchurl gmp mpfr noSysDirs gnat; + texinfo = texinfo4; name = "ghdl"; langVhdl = true; langCC = false; @@ -2746,6 +2732,8 @@ let enableMultilib = false; }); + ghdl_mcode = callPackage ../development/compilers/ghdl { }; + gcl = builderDefsPackage ../development/compilers/gcl { inherit mpfr m4 binutils fetchcvs emacs zlib which texinfo; @@ -2762,9 +2750,21 @@ let jhc = callPackage ../development/compilers/jhc { inherit (haskellPackages_ghc6123) ghc binary zlib utf8String readline fgl - regexCompat HsSyck random; + regexCompat HsSyck random; }; + gcc-arm-embedded-4_7 = callPackage_i686 ../development/compilers/gcc-arm-embedded { + version = "4.7-2013q3-20130916"; + releaseType = "update"; + sha256 = "1bd9bi9q80xn2rpy0rn1vvj70rh15kb7dmah0qs4q2rv78fqj40d"; + }; + gcc-arm-embedded-4_8 = callPackage_i686 ../development/compilers/gcc-arm-embedded { + version = "4.8-2014q1-20140314"; + releaseType = "update"; + sha256 = "ce92859550819d4a3d1a6e2672ea64882b30afa2c08cf67fa8e1d93788c2c577"; + }; + gcc-arm-embedded = gcc-arm-embedded-4_8; + # Haskell and GHC # Import Haskell infrastructure. @@ -2779,7 +2779,13 @@ let # NOTE (recurseIntoAttrs): After discussion, we originally decided to # enable it for all GHC versions. However, this is getting too much, # particularly in connection with Hydra builds for all these packages. - # So we enable it for selected versions only. + # So we enable it for selected versions only. We build all ghcs, though + + ghc = recurseIntoAttrs (lib.mapAttrs' (name: value: + lib.nameValuePair (builtins.substring (builtins.stringLength "packages_") (builtins.stringLength name) name) value.ghc + ) (lib.filterAttrs (name: value: + builtins.substring 0 (builtins.stringLength "packages_") name == "packages_" + ) haskell)); # Current default version: 7.6.3. haskellPackages = haskellPackages_ghc763; @@ -2808,6 +2814,7 @@ let haskellPackages_ghc763_profiling = recurseIntoAttrs (haskell.packages_ghc763.profiling); haskellPackages_ghc763 = recurseIntoAttrs (haskell.packages_ghc763.highPrio); # Reasonably current HEAD snapshot. + haskellPackages_ghc782 = haskell.packages_ghc782; haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; haxe = callPackage ../development/compilers/haxe { }; @@ -2815,6 +2822,7 @@ let hiphopvm = callPackage ../development/interpreters/hiphopvm { libevent = libevent14; boost = boost149; + stdenv = overrideGCC stdenv gcc48; }; falcon = builderDefsPackage (import ../development/interpreters/falcon) { @@ -2839,6 +2847,19 @@ let gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { }; + icedtea7_jdk = callPackage ../development/compilers/icedtea rec { + jdk = openjdk; + jdkPath = "${openjdk}/lib/openjdk"; + } // { outputs = [ "out" ]; }; + + icedtea7_jre = (lib.setName "icedtea7-${lib.getVersion pkgs.icedtea7_jdk.jre}" (lib.addMetaAttrs + { description = "Free Java runtime environment based on OpenJDK 7.0 and the IcedTea project"; } + pkgs.icedtea7_jdk.jre)) // { outputs = [ "jre" ]; }; + + icedtea7_web = callPackage ../development/compilers/icedtea-web { + jdk = "${icedtea7_jdk}/lib/icedtea"; + }; + ikarus = callPackage ../development/compilers/ikarus { }; hugs = callPackage ../development/compilers/hugs { }; @@ -2851,11 +2872,14 @@ let else let openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { }; - in callPackage ../development/compilers/openjdk { + in (callPackage ../development/compilers/openjdk { jdk = openjdkBootstrap; - }; + }) // { outputs = [ "out" ]; }; - openjre = pkgs.openjdk.jre; + # FIXME: Need a way to set per-output meta attributes. + openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs + { description = "The open-source Java Runtime Environment"; } + pkgs.openjdk.jre)) // { outputs = [ "jre" ]; }; jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then pkgs.openjdk @@ -2880,20 +2904,25 @@ let jdkdistro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk6-linux.nix { }); oraclejdk7distro = installjdk: pluginSupport: assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) + (if pluginSupport then appendToName "with-plugin" else x: x) (callPackage ../development/compilers/jdk/jdk7-linux.nix { inherit installjdk; }); jikes = callPackage ../development/compilers/jikes { }; - julia = callPackage ../development/compilers/julia { + juliaGit = callPackage ../development/compilers/julia/git-20131013.nix { liblapack = liblapack.override {shared = true;}; - mpfr = mpfr_3_1_2; + llvm = llvm_33; }; + julia021 = callPackage ../development/compilers/julia/0.2.1.nix { + liblapack = liblapack.override {shared = true;}; + llvm = llvm_33; + }; + julia = julia021; lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { inherit makeWrapper gtk glib pango atk gdk_pixbuf; @@ -2903,19 +2932,31 @@ let lessc = callPackage ../development/compilers/lessc { }; - llvm = llvm_33; - llvm_34 = callPackage ../development/compilers/llvm { - version = "3.4"; + llvm = llvmPackages.llvm; + + llvm_34 = llvmPackages_34.llvm; + llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; + llvm_32 = llvm_v ../development/compilers/llvm/3.2; + llvm_31 = llvm_v ../development/compilers/llvm/3.1; + + llvm_v = path: callPackage path { stdenv = if stdenv.isDarwin then stdenvAdapters.overrideGCC stdenv gccApple else stdenv; }; - llvm_33 = llvm_34.override { version = "3.3"; }; - llvmFull = callPackage ../development/compilers/llvm/full.nix { - stdenv = stdenvAdapters.overrideGCC stdenv gcc47; - isl = isl_0_12; + + llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // { + # until someone solves build problems with _34 + llvm = llvm_33; + clang = clang_33; }; + llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { + inherit stdenv newScope fetchurl; + isl = isl_0_12; + }); + llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; + mentorToolchains = recurseIntoAttrs ( callPackage_i686 ../development/compilers/mentor {} ); @@ -2938,7 +2979,7 @@ let nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { }; - ocaml = ocaml_3_12_1; + ocaml = ocamlPackages.ocaml; ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { }; @@ -3019,24 +3060,30 @@ let mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; - ocaml_batteries = callPackage ../development/ocaml-modules/batteries { - camomile = camomile_0_8_2; - }; + ocaml_batteries = callPackage ../development/ocaml-modules/batteries { }; ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { }; + ocaml_data_notation = callPackage ../development/ocaml-modules/odn { }; + ocaml_expat = callPackage ../development/ocaml-modules/expat { }; ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { }; ocaml_http = callPackage ../development/ocaml-modules/http { }; + ocamlify = callPackage ../development/tools/ocaml/ocamlify { }; + ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; + ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { }; + ocaml_mysql = callPackage ../development/ocaml-modules/mysql { }; ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { }; + ocaml_oasis = callPackage ../development/tools/ocaml/oasis { }; + ocaml_pcre = callPackage ../development/ocaml-modules/pcre { inherit pcre; }; @@ -3059,6 +3106,8 @@ let ocaml_typeconv = callPackage ../development/ocaml-modules/typeconv { }; + ocaml_typeconv_3_0_5 = callPackage ../development/ocaml-modules/typeconv/3.0.5.nix { }; + ocaml_sexplib = callPackage ../development/ocaml-modules/sexplib { }; ocaml_extlib = callPackage ../development/ocaml-modules/extlib { }; @@ -3070,12 +3119,13 @@ let opam = opam_1_1; }; - ocamlPackages = recurseIntoAttrs ocamlPackages_3_12_1; + ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0; + ocamlPackages_latest = ocamlPackages_4_01_0; ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; @@ -3092,15 +3142,6 @@ let ocaml = ocaml_3_08_0; }; - deterministicStdenv = lowPrio ( - overrideInStdenv ( - stdenvAdapters.overrideGCC - (stdenvAdapters.overrideSetup stdenv ../stdenv/generic/setup-repeatable.sh ) - gcc46_deterministic - ) - [ binutils_deterministic ] - ); - roadsend = callPackage ../development/compilers/roadsend { }; rust = callPackage ../development/compilers/rust {}; @@ -3114,9 +3155,7 @@ let scala_2_10 = callPackage ../development/compilers/scala { }; scala = scala_2_10; - sdcc = callPackage ../development/compilers/sdcc { - boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 - }; + sdcc = callPackage ../development/compilers/sdcc { }; smlnj = callPackage_i686 ../development/compilers/smlnj { }; @@ -3177,9 +3216,9 @@ let inherit stdenv coreutils zlib; }; - wrapClang = wrapClangWith (import ../build-support/clang-wrapper) glibc; + wrapClang = wrapClangWith (makeOverridable (import ../build-support/clang-wrapper)) glibc; - wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc; + wrapGCC = wrapGCCWith (makeOverridable (import ../build-support/gcc-wrapper)) glibc; wrapGCCCross = {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: @@ -3241,6 +3280,10 @@ let jmeter = callPackage ../applications/networking/jmeter {}; + davmail = callPackage ../applications/networking/davmail {}; + + lxappearance = callPackage ../applications/misc/lxappearance {}; + kona = callPackage ../development/interpreters/kona {}; love = callPackage ../development/interpreters/love {lua=lua5;}; @@ -3256,6 +3299,8 @@ let }; lua5 = lua5_1; + lua5_sockets = callPackage ../development/interpreters/lua-5/sockets.nix {}; + luarocks = callPackage ../development/tools/misc/luarocks { lua = lua5; }; @@ -3264,7 +3309,10 @@ let lush2 = callPackage ../development/interpreters/lush {}; - maude = callPackage ../development/interpreters/maude { }; + maude = callPackage ../development/interpreters/maude { + bison = bison2; + flex = flex_2_5_35; + }; octave = callPackage ../development/interpreters/octave { fltk = fltk13; @@ -3276,6 +3324,7 @@ let suitesparse = null; openjdk = null; gnuplot = null; + readline = readline63; }; octaveFull = (lowPrio (callPackage ../development/interpreters/octave { fltk = fltk13; @@ -3301,6 +3350,10 @@ let php = php54; + phpPackages = import ./php-packages.nix { + inherit php pkgs; + }; + php53 = callPackage ../development/interpreters/php/5.3.nix { }; php54 = callPackage ../development/interpreters/php/5.4.nix { }; @@ -3323,14 +3376,19 @@ let polyml = callPackage ../development/compilers/polyml { }; - pure = callPackage ../development/interpreters/pure {}; + pure = callPackage ../development/interpreters/pure { + llvm = llvm_33 ; + }; python3 = hiPrio (callPackage ../development/interpreters/python/3.3 { }); - python33 = callPackage ../development/interpreters/python/3.3 { }; python32 = callPackage ../development/interpreters/python/3.2 { }; + python33 = callPackage ../development/interpreters/python/3.3 { }; + python34 = callPackage ../development/interpreters/python/3.4 { }; python = python27; - python26 = callPackage ../development/interpreters/python/2.6 { }; + python26 = callPackage ../development/interpreters/python/2.6 { + db = db47; + }; python27 = callPackage ../development/interpreters/python/2.7 { libX11 = xlibs.libX11; }; @@ -3400,6 +3458,8 @@ let scheme48 = callPackage ../development/interpreters/scheme48 { }; + spark = callPackage ../applications/networking/cluster/spark { }; + spidermonkey = callPackage ../development/interpreters/spidermonkey { }; spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { }; spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { }; @@ -3445,7 +3505,10 @@ let samples = true; }; - avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {}; + avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc { + gcc = gcc46; + stdenv = overrideGCC stdenv gcc46; + }; avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; @@ -3470,6 +3533,8 @@ let guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { }; + guile-xcb = callPackage ../development/guile-modules/guile-xcb { }; + srecord = callPackage ../development/tools/misc/srecord { }; windowssdk = ( @@ -3500,8 +3565,6 @@ let automake = automake112x; - automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { }; - automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { }; @@ -3524,14 +3587,9 @@ let inherit noSysDirs; }; - binutils_deterministic = lowPrio (callPackage ../development/tools/misc/binutils { + binutils_nogold = lowPrio (callPackage ../development/tools/misc/binutils { inherit noSysDirs; - deterministic = true; - }); - - binutils_gold = lowPrio (callPackage ../development/tools/misc/binutils { - inherit noSysDirs; - gold = true; + gold = false; }); binutilsCross = lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { @@ -3541,8 +3599,8 @@ let })); bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; - bison3 = lowPrio (callPackage ../development/tools/parsing/bison/3.x.nix { }); - bison = bison2; + bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; + bison = bison3; buildbot = callPackage ../development/tools/build-managers/buildbot { inherit (pythonPackages) twisted jinja2 sqlalchemy sqlalchemy_migrate; @@ -3627,6 +3685,8 @@ let inherit (gnome3) gnome_icon_theme; }; + dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { }; + ddd = callPackage ../development/tools/misc/ddd { }; distcc = callPackage ../development/tools/misc/distcc { }; @@ -3657,15 +3717,11 @@ let inherit python pil makeWrapper; }; - doxygen = lowPrio (doxygen_gui.override { qt4 = null; }); - - /* XXX: The LaTeX output with Doxygen 1.8.0 makes LaTeX barf. - See . */ - doxygen_1_7 = callPackage ../development/tools/documentation/doxygen/1.7.nix { + doxygen = callPackage ../development/tools/documentation/doxygen { qt4 = null; }; - doxygen_gui = callPackage ../development/tools/documentation/doxygen { }; + doxygen_gui = lowPrio (doxygen.override { inherit qt4; }); drush = callPackage ../development/tools/misc/drush { }; @@ -3685,19 +3741,9 @@ let checkstyle = callPackage ../development/tools/analysis/checkstyle { }; - flex = flex2535; - - flex2535 = callPackage ../development/tools/parsing/flex/flex-2.5.35.nix { }; - - flex2534 = callPackage ../development/tools/parsing/flex/flex-2.5.34.nix { }; - - flex2533 = callPackage ../development/tools/parsing/flex/flex-2.5.33.nix { }; - - # Note: 2.5.4a is much older than 2.5.35 but happens first when sorting - # alphabetically, hence the low priority. - flex254a = lowPrio (import ../development/tools/parsing/flex/flex-2.5.4a.nix { - inherit fetchurl stdenv yacc; - }); + flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { }; + flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { }; + flex = flex_2_5_39; m4 = gnum4; @@ -3733,6 +3779,8 @@ let hyenae = callPackage ../tools/networking/hyenae { }; + ibus = callPackage ../development/libraries/ibus { }; + iconnamingutils = callPackage ../development/tools/misc/icon-naming-utils { inherit (perlPackages) XMLSimple; }; @@ -3753,6 +3801,8 @@ let jikespg = callPackage ../development/tools/parsing/jikespg { }; + jenkins = callPackage ../development/tools/continuous-integration/jenkins { }; + lcov = callPackage ../development/tools/analysis/lcov { }; leiningen = callPackage ../development/tools/build-managers/leiningen { }; @@ -3781,6 +3831,10 @@ let ninja = callPackage ../development/tools/build-managers/ninja { }; + node_webkit = callPackage ../development/tools/node-webkit { + gconf = pkgs.gnome.GConf; + }; + noweb = callPackage ../development/tools/literate-programming/noweb { }; omake = callPackage ../development/tools/ocaml/omake { }; @@ -3792,11 +3846,13 @@ let patchelf = callPackage ../development/tools/misc/patchelf { }; - patchelfUnstable = callPackage ../development/tools/misc/patchelf/unstable.nix { }; - peg = callPackage ../development/tools/parsing/peg { }; - phantomjs = callPackage ../development/tools/phantomjs { }; + phantomjs = callPackage ../development/tools/phantomjs { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; pmccabe = callPackage ../development/tools/misc/pmccabe { }; @@ -3832,13 +3888,15 @@ let remake = callPackage ../development/tools/build-managers/remake { }; - saleaeLogic = callPackage ../development/tools/misc/saleae-logic { }; + saleae-logic = callPackage ../development/tools/misc/saleae-logic { }; # couldn't find the source yet seleniumRCBin = callPackage ../development/tools/selenium/remote-control { jre = jdk; }; + selenium-server-standalone = callPackage ../development/tools/selenium/server { }; + scons = callPackage ../development/tools/build-managers/scons { }; simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; @@ -3870,6 +3928,8 @@ let swig2 = callPackage ../development/tools/misc/swig/2.x.nix { }; + swig3 = callPackage ../development/tools/misc/swig/3.x.nix { }; + swigWithJava = swig; swfmill = callPackage ../tools/video/swfmill { }; @@ -3878,10 +3938,15 @@ let tcptrack = callPackage ../development/tools/misc/tcptrack { }; + teensy-loader = callPackage ../development/tools/misc/teensy { }; + texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { }; - texinfo49 = callPackage ../development/tools/misc/texinfo/4.9.nix { }; - texinfo5 = callPackage ../development/tools/misc/texinfo/5.1.nix { }; - texinfo = texinfo413; + texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { }; + texinfo4 = texinfo413; + texinfo = texinfo5; + texinfoInteractive = appendToName "interactive" ( + texinfo.override { interactive = true; } + ); texi2html = callPackage ../development/tools/misc/texi2html { }; @@ -3895,6 +3960,7 @@ let gdb = callPackage ../development/tools/misc/gdb { hurd = gnu.hurdCross; + readline = readline63; inherit (gnu) mig; }; @@ -3915,7 +3981,11 @@ let xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; - xxdiff = callPackage ../development/tools/misc/xxdiff { }; + xmlindent = callPackage ../development/web/xmlindent {}; + + xxdiff = callPackage ../development/tools/misc/xxdiff { + bison = bison2; + }; yacc = bison; @@ -4071,6 +4141,8 @@ let clutter = callPackage ../development/libraries/clutter { }; + clutter-gst = callPackage ../development/libraries/clutter-gst { }; + clutter_gtk = callPackage ../development/libraries/clutter-gtk { }; clutter_gtk_0_10 = callPackage ../development/libraries/clutter-gtk/0.10.8.nix { }; @@ -4100,37 +4172,45 @@ let cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { }; + # Make bdb5 the default as it is the last release under the custom + # bsd-like license + db = db5; db4 = db48; - - db44 = callPackage ../development/libraries/db4/db4-4.4.nix { }; - - db45 = callPackage ../development/libraries/db4/db4-4.5.nix { }; - - db47 = callPackage ../development/libraries/db4/db4-4.7.nix { }; - - db48 = callPackage ../development/libraries/db4/db4-4.8.nix { }; + db44 = callPackage ../development/libraries/db/db-4.4.nix { }; + db45 = callPackage ../development/libraries/db/db-4.5.nix { }; + db47 = callPackage ../development/libraries/db/db-4.7.nix { }; + db48 = callPackage ../development/libraries/db/db-4.8.nix { }; + db5 = db53; + db53 = callPackage ../development/libraries/db/db-5.3.nix { }; + db6 = db60; + db60 = callPackage ../development/libraries/db/db-6.0.nix { }; dbus = callPackage ../development/libraries/dbus { }; dbus_cplusplus = callPackage ../development/libraries/dbus-cplusplus { }; dbus_glib = callPackage ../development/libraries/dbus-glib { }; dbus_java = callPackage ../development/libraries/java/dbus-java { }; dbus_python = callPackage ../development/python-modules/dbus { }; + # Should we deprecate these? Currently there are many references. - dbus_tools = dbus.tools; - dbus_libs = dbus.libs; - dbus_daemon = dbus.daemon; + dbus_tools = pkgs.dbus.tools; + dbus_libs = pkgs.dbus.libs; + dbus_daemon = pkgs.dbus.daemon; dhex = callPackage ../applications/editors/dhex { }; dclib = callPackage ../development/libraries/dclib { }; + dillo = callPackage ../applications/networking/browsers/dillo { + fltk = fltk13; + }; + directfb = callPackage ../development/libraries/directfb { }; dotconf = callPackage ../development/libraries/dotconf { }; dssi = callPackage ../development/libraries/dssi {}; - dragonegg = callPackage ../development/compilers/llvm/dragonegg.nix { llvm = llvmFull; stdenv = overrideGCC stdenv gcc47; }; + dragonegg = llvmPackages.dragonegg; dxflib = callPackage ../development/libraries/dxflib {}; @@ -4168,7 +4248,11 @@ let farsight2 = callPackage ../development/libraries/farsight2 { }; - farstream = callPackage ../development/libraries/farstream { }; + farstream = callPackage ../development/libraries/farstream { + inherit (gst_all_1) + gstreamer gst-plugins-base gst-python gst-plugins-good gst-plugins-bad + gst-libav; + }; fcgi = callPackage ../development/libraries/fcgi { }; @@ -4190,12 +4274,9 @@ let ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix { vpxSupport = !stdenv.isMips; - texinfo = texinfo5; }; - ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { - texinfo = texinfo5; - }; + ffmpeg_2 = callPackage ../development/libraries/ffmpeg/2.x.nix { }; ffmpeg = ffmpeg_2; @@ -4243,6 +4324,8 @@ let gamin = callPackage ../development/libraries/gamin { }; + ganv = callPackage ../development/libraries/ganv { }; + gav = callPackage ../games/gav { }; gsb = callPackage ../games/gsb { }; @@ -4264,13 +4347,9 @@ let geoclue = callPackage ../development/libraries/geoclue {}; - geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix { - libsoup = libsoup_2_44; - }; + geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix {}; - geoip = builderDefsPackage ../development/libraries/geoip { - inherit zlib; - }; + geoip = callPackage ../development/libraries/geoip { }; geoipjava = callPackage ../development/libraries/java/geoipjava { }; @@ -4293,9 +4372,11 @@ let glew = callPackage ../development/libraries/glew { }; - glfw = callPackage ../development/libraries/glfw { }; + glfw = glfw3; + glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; + glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; - glibc = callPackage ../development/libraries/glibc/2.18 { + glibc = callPackage ../development/libraries/glibc/2.19 { kernelHeaders = linuxHeaders; installLocales = config.glibc.locales or false; machHeaders = null; @@ -4303,13 +4384,13 @@ let gccCross = null; }; - glibc_memusage = callPackage ../development/libraries/glibc/2.18 { + glibc_memusage = callPackage ../development/libraries/glibc/2.19 { kernelHeaders = linuxHeaders; installLocales = false; withGd = true; }; - glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.18) + glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19) (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; in { inherit stdenv fetchurl; @@ -4338,9 +4419,9 @@ let installLocales = config.glibc.locales or false; }; - glibcLocales = callPackage ../development/libraries/glibc/2.18/locales.nix { }; + glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { }; - glibcInfo = callPackage ../development/libraries/glibc/2.18/info.nix { }; + glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; glibc_multi = runCommand "${glibc.name}-multi" @@ -4366,6 +4447,8 @@ let glm = callPackage ../development/libraries/glm { }; + glog = callPackage ../development/libraries/glog { }; + glpk = callPackage ../development/libraries/glpk { }; glsurf = callPackage ../applications/science/math/glsurf { @@ -4379,25 +4462,25 @@ let gmm = callPackage ../development/libraries/gmm { }; gmp = gmp5; + gmp5 = gmp51; gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x. gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; - gmp5 = callPackage ../development/libraries/gmp/5.0.5.nix { }; + gmp51 = callPackage ../development/libraries/gmp/5.1.x.nix { }; - gmp51 = callPackage ../development/libraries/gmp/5.1.3.nix { }; + #GMP ex-satellite, so better keep it near gmp + mpfr = callPackage ../development/libraries/mpfr/default.nix { }; gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { }; goocanvas = callPackage ../development/libraries/goocanvas { }; - gperftools = callPackage ../development/libraries/gperftools { }; + google-gflags = callPackage ../development/libraries/google-gflags { }; - #GMP ex-satellite, so better keep it near gmp - mpfr = callPackage ../development/libraries/mpfr { }; - mpfr_3_1_2 = callPackage ../development/libraries/mpfr/3.1.2.nix { }; + gperftools = callPackage ../development/libraries/gperftools { }; gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { }); @@ -4410,7 +4493,9 @@ let gstFfmpeg = pkgs.gst_ffmpeg; }; - gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer {}; + gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer { + bison = bison2; + }; gst_plugins_base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {}; @@ -4436,24 +4521,19 @@ let gnet = callPackage ../development/libraries/gnet { }; - gnu-efi = callPackage ../development/libraries/gnu-efi { - stdenv = overrideGCC stdenv gcc47; - }; + gnu-efi = callPackage ../development/libraries/gnu-efi { }; - gnutls = callPackage ../development/libraries/gnutls { - guileBindings = config.gnutls.guile or true; - }; + gnutls = gnutls32; - gnutls2 = callPackage ../development/libraries/gnutls/2.12.nix { - guileBindings = config.gnutls.guile or true; + gnutls31 = callPackage ../development/libraries/gnutls/3.1.nix { + guileBindings = config.gnutls.guile or false; }; gnutls32 = callPackage ../development/libraries/gnutls/3.2.nix { - guileBindings = config.gnutls.guile or true; + guileBindings = config.gnutls.guile or false; }; - gnutls_without_guile = lowPrio (gnutls.override { guileBindings = false; }); - gnutls2_without_guile = lowPrio (gnutls2.override { guileBindings = false; }); + gnutls_with_guile = lowPrio (gnutls.override { guileBindings = true; }); gpac = callPackage ../applications/video/gpac { }; @@ -4486,8 +4566,8 @@ let stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple else stdenv; - automake = automake113x; }; + glib-tested = glib.override { doCheck = true; }; # checked version separate to break cycles glibmm = callPackage ../development/libraries/glibmm { }; glib_networking = callPackage ../development/libraries/glib-networking {}; @@ -4514,9 +4594,9 @@ let cupsSupport = config.gtk2.cups or stdenv.isLinux; }; - gtk3 = lowPrio (callPackage ../development/libraries/gtk+/3.x.nix { + gtk3 = callPackage ../development/libraries/gtk+/3.x.nix { inherit (gnome3) at_spi2_atk; - }); + }; gtk = pkgs.gtk2; @@ -4550,7 +4630,7 @@ let gts = callPackage ../development/libraries/gts { }; - gvfs = callPackage ../development/libraries/gvfs { }; + gvfs = callPackage ../development/libraries/gvfs { gconf = gnome.GConf; }; gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; @@ -4571,7 +4651,7 @@ let hsqldb = callPackage ../development/libraries/java/hsqldb { }; - http_parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; }; + http-parser = callPackage ../development/libraries/http-parser { inherit (pythonPackages) gyp; }; hunspell = callPackage ../development/libraries/hunspell { }; @@ -4589,6 +4669,8 @@ let ilbc = callPackage ../development/libraries/ilbc { }; + ilixi = callPackage ../development/libraries/ilixi { }; + ilmbase = callPackage ../development/libraries/ilmbase { }; imlib = callPackage ../development/libraries/imlib { @@ -4641,6 +4723,11 @@ let judy = callPackage ../development/libraries/judy { }; + keybinder = callPackage ../development/libraries/keybinder { + automake = automake111x; + lua = lua5_1; + }; + krb5 = callPackage ../development/libraries/kerberos/krb5.nix { }; lcms = lcms1; @@ -4714,6 +4801,7 @@ let libcddb = callPackage ../development/libraries/libcddb { }; libcdio = callPackage ../development/libraries/libcdio { }; + libcdio082 = callPackage ../development/libraries/libcdio/0.82.nix { }; libcdr = callPackage ../development/libraries/libcdr { lcms = lcms2; }; @@ -4729,6 +4817,8 @@ let inherit (gnome3) libcroco; + libcangjie = callPackage ../development/libraries/libcangjie { }; + libctemplate = callPackage ../development/libraries/libctemplate { }; libcue = callPackage ../development/libraries/libcue { }; @@ -4789,16 +4879,19 @@ let libelf = callPackage ../development/libraries/libelf { }; + libfm = callPackage ../development/libraries/libfm { }; + libgadu = callPackage ../development/libraries/libgadu { }; - libgdata = (newScope gnome) ../development/libraries/libgdata {}; - libgdata_0_6 = (newScope gnome) ../development/libraries/libgdata/0.6.nix {}; + libgdata = gnome3.libgdata; libgig = callPackage ../development/libraries/libgig { }; libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; libgnome_keyring3 = gnome3.libgnome_keyring; + libseccomp = callPackage ../development/libraries/libseccomp { }; + libsecret = callPackage ../development/libraries/libsecret { }; libgtop = callPackage ../development/libraries/libgtop {}; @@ -4884,6 +4977,8 @@ let libmtp = callPackage ../development/libraries/libmtp { }; + libmsgpack = callPackage ../development/libraries/libmsgpack { }; + libnatspec = callPackage ../development/libraries/libnatspec { }; libnfsidmap = callPackage ../development/libraries/libnfsidmap { }; @@ -4897,6 +4992,8 @@ let libre = callPackage ../development/libraries/libre {}; librem = callPackage ../development/libraries/librem {}; + libresample = callPackage ../development/libraries/libresample {}; + libsamplerate = callPackage ../development/libraries/libsamplerate { stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple @@ -4994,6 +5091,8 @@ let libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { }; + libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; + libmusicbrainz = libmusicbrainz3; libnet = callPackage ../development/libraries/libnet { }; @@ -5028,7 +5127,9 @@ let libosip_3 = callPackage ../development/libraries/osip/3.nix {}; - libotr = callPackage ../development/libraries/libotr { }; + libotr = callPackage ../development/libraries/libotr { + libgcrypt = libgcrypt_1_6; + }; libotr_3_2 = callPackage ../development/libraries/libotr/3.2.nix { }; @@ -5038,6 +5139,8 @@ let libpcap = callPackage ../development/libraries/libpcap { }; + libpipeline = callPackage ../development/libraries/libpipeline { }; + libpng = callPackage ../development/libraries/libpng { }; libpng_apng = libpng.override { apngSupport = true; }; libpng12 = callPackage ../development/libraries/libpng/12.nix { }; @@ -5045,10 +5148,16 @@ let libpaper = callPackage ../development/libraries/libpaper { }; - libproxy = callPackage ../development/libraries/libproxy { }; + libproxy = callPackage ../development/libraries/libproxy { + stdenv = if stdenv.isDarwin + then overrideGCC stdenv gcc + else stdenv; + }; libpseudo = callPackage ../development/libraries/libpseudo { }; + libpwquality = callPackage ../development/libraries/libpwquality { }; + libqalculate = callPackage ../development/libraries/libqalculate { }; librsvg = callPackage ../development/libraries/librsvg { @@ -5057,6 +5166,8 @@ let librsync = callPackage ../development/libraries/librsync { }; + libsearpc = callPackage ../development/libraries/libsearpc { }; + libsigcxx = callPackage ../development/libraries/libsigcxx { }; libsigcxx12 = callPackage ../development/libraries/libsigcxx/1.2.nix { }; @@ -5075,7 +5186,6 @@ let libsodium = callPackage ../development/libraries/libsodium { }; libsoup = callPackage ../development/libraries/libsoup { }; - libsoup_2_44 = callPackage ../development/libraries/libsoup/2.44.nix { }; libssh = callPackage ../development/libraries/libssh { }; @@ -5112,6 +5222,8 @@ let libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { }; + libtxc_dxtn_s2tc = callPackage ../development/libraries/libtxc_dxtn_s2tc { }; + libgeotiff = callPackage ../development/libraries/libgeotiff { }; libunistring = callPackage ../development/libraries/libunistring { }; @@ -5153,6 +5265,8 @@ let libvirt = callPackage ../development/libraries/libvirt { }; + libvirt-glib = callPackage ../development/libraries/libvirt-glib { }; + libvisio = callPackage ../development/libraries/libvisio { }; libvisual = callPackage ../development/libraries/libvisual { }; @@ -5212,8 +5326,12 @@ let libyamlcpp = callPackage ../development/libraries/libyaml-cpp { }; libyamlcpp03 = callPackage ../development/libraries/libyaml-cpp/0.3.x.nix { }; + libyubikey = callPackage ../development/libraries/libyubikey {}; + libzip = callPackage ../development/libraries/libzip { }; + libzdb = callPackage ../development/libraries/libzdb { }; + libzrtpcpp = callPackage ../development/libraries/libzrtpcpp { }; libzrtpcpp_1_6 = callPackage ../development/libraries/libzrtpcpp/1.6.nix { ccrtp = ccrtp_1_8; @@ -5253,6 +5371,8 @@ let # failed to build mediastreamer = callPackage ../development/libraries/mediastreamer { }; + menu-cache = callPackage ../development/libraries/menu-cache { }; + mesaSupported = lib.elem system lib.platforms.mesaPlatforms; mesa_original = callPackage ../development/libraries/mesa { }; @@ -5297,6 +5417,8 @@ let mlt = callPackage ../development/libraries/mlt { }; + mps = callPackage ../development/libraries/mps { }; + libmpeg2 = callPackage ../development/libraries/libmpeg2 { }; mpeg2dec = libmpeg2; @@ -5311,7 +5433,11 @@ let mtdev = callPackage ../development/libraries/mtdev { }; - mu = callPackage ../tools/networking/mu { }; + mtpfs = callPackage ../tools/filesystems/mtpfs { }; + + mu = callPackage ../tools/networking/mu { + texinfo = texinfo4; + }; muparser = callPackage ../development/libraries/muparser { }; @@ -5472,13 +5598,6 @@ let poppler = callPackage ../development/libraries/poppler { lcms = lcms2; }; popplerQt4 = poppler.poppler_qt4; - poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { - lcms = lcms2; - glibSupport = true; - gtk3Support = false; - qt4Support = false; - }; - popt = callPackage ../development/libraries/popt { }; portaudio = callPackage ../development/libraries/portaudio { @@ -5554,6 +5673,7 @@ let cups = if stdenv.isLinux then cups else null; # GNOME dependencies are not used unless gtkStyle == true inherit (gnome) libgnomeui GConf gnome_vfs; + bison = bison2; # error: too few arguments to function 'int yylex(... }; qt5Full = qt5.override { @@ -5578,7 +5698,11 @@ let qwt = callPackage ../development/libraries/qwt {}; - readline = readline6; + rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {}; + + raul = callPackage ../development/libraries/audio/raul { }; + + readline = readline6; # 6.2 works, 6.3 breaks python, parted readline4 = callPackage ../development/libraries/readline/readline4.nix { }; @@ -5593,6 +5717,15 @@ let else stdenv; }; + readline63 = callPackage ../development/libraries/readline/readline6.3.nix { + stdenv = + # On Darwin, Readline uses `-arch_only', which is specific to + # Apple-GCC. So give it what it expects. + if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; + librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { }; librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { }; @@ -5607,6 +5740,8 @@ let lv2 = callPackage ../development/libraries/audio/lv2 { }; + lvtk = callPackage ../development/libraries/audio/lvtk { }; + qrupdate = callPackage ../development/libraries/qrupdate { }; redland = pkgs.librdf_redland; @@ -5684,6 +5819,7 @@ let slibGuile = callPackage ../development/libraries/slib { scheme = guile_1_8; + texinfo = texinfo4; # otherwise erros: must be after `@defun' to use `@defunx' }; smpeg = callPackage ../development/libraries/smpeg { }; @@ -5747,6 +5883,8 @@ let stlink = callPackage ../development/tools/misc/stlink { }; + steghide = callPackage ../tools/security/steghide {}; + stepmania = callPackage ../games/stepmania {}; stlport = callPackage ../development/libraries/stlport { }; @@ -5819,6 +5957,10 @@ let ustr = callPackage ../development/libraries/ustr { }; + usbredir = callPackage ../development/libraries/usbredir { + libusb = libusb1; + }; + ucommon = callPackage ../development/libraries/ucommon { }; vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; @@ -5849,35 +5991,18 @@ let wayland = callPackage ../development/libraries/wayland { }; - webkit = - builderDefsPackage ../development/libraries/webkit { - inherit gtk2; # for plugins etc. even with gtk3, see Gentoo ebuild - inherit gtk3 glib atk cairo pango fontconfig freetype; - inherit (gnome) gtkdoc libsoup; - inherit pkgconfig libtool intltool autoconf automake gperf flex - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl mesa xlibs; - inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good; - bison = bison2; - }; - - webkit_gtk2 = - builderDefsPackage ../development/libraries/webkit/gtk2.nix { - inherit gtk2 glib atk cairo pango fontconfig freetype; - inherit (gnome) gtkdoc libsoup; - inherit pkgconfig libtool intltool autoconf automake gperf flex - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl mesa xlibs; - inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good; - bison = bison2; - }; + webkit = webkitgtk; webkitgtk = callPackage ../development/libraries/webkitgtk { - stdenv = overrideGCC stdenv gcc47; - libsoup = libsoup_2_44; harfbuzz = harfbuzz.override { withIcu = true; }; + gst-plugins-base = gst_all_1.gst-plugins-base; + }; + + webkitgtk2 = webkitgtk.override { + withGtk2 = true; + enableIntrospection = false; }; wildmidi = callPackage ../development/libraries/wildmidi { }; @@ -6007,6 +6132,8 @@ let junit = callPackage ../development/libraries/java/junit { }; + junixsocket = callPackage ../development/libraries/java/junixsocket { }; + jzmq = callPackage ../development/libraries/java/jzmq { }; lucene = callPackage ../development/libraries/java/lucene { }; @@ -6087,8 +6214,12 @@ let ack = perlPackages.ack; + perlArchiveCpio = perlPackages.ArchiveCpio; + perlcritic = perlPackages.PerlCritic; + planetary_annihilation = callPackage ../games/planetaryannihilation { }; + ### DEVELOPMENT / PYTHON MODULES @@ -6103,7 +6234,6 @@ let # regardless. python26Packages = import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python26; }; @@ -6111,25 +6241,26 @@ let python33Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python33; }); + python34Packages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = python34; + }); + python32Packages = import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python32; }; python27Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = python27; }); pypyPackages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; - inherit (lib) lowPrio; python = pypy; }); @@ -6137,6 +6268,8 @@ let bsddb3 = callPackage ../development/python-modules/bsddb3 { }; + ecdsa = callPackage ../development/python-modules/ecdsa { }; + numeric = callPackage ../development/python-modules/numeric { }; pil = pythonPackages.pil; @@ -6195,6 +6328,8 @@ let setuptools = pythonPackages.setuptools; + slowaes = callPackage ../development/python-modules/slowaes { }; + wxPython = pythonPackages.wxPython; wxPython28 = pythonPackages.wxPython28; @@ -6235,11 +6370,15 @@ let couchdb = callPackage ../servers/http/couchdb { spidermonkey = spidermonkey_185; + python = python27; + sphinx = python27Packages.sphinx; }; dico = callPackage ../servers/dico { }; - dict = callPackage ../servers/dict { }; + dict = callPackage ../servers/dict { + libmaa = callPackage ../servers/dict/libmaa.nix {}; + }; dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix { inherit builderDefs; @@ -6296,6 +6435,8 @@ let joseki = callPackage ../servers/http/joseki {}; + leafnode = callPackage ../servers/news/leafnode { }; + lighttpd = callPackage ../servers/http/lighttpd { }; mailman = callPackage ../servers/mail/mailman { }; @@ -6304,6 +6445,8 @@ let memcached = callPackage ../servers/memcached {}; + mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { }; + mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; mod_python = callPackage ../servers/http/apache-modules/mod_python { }; @@ -6327,6 +6470,8 @@ let nginx = callPackage ../servers/http/nginx { }; + ngircd = callPackage ../servers/irc/ngircd { }; + opensmtpd = callPackage ../servers/mail/opensmtpd { }; petidomo = callPackage ../servers/mail/petidomo { }; @@ -6354,6 +6499,8 @@ let #monetdb = callPackage ../servers/sql/monetdb { }; + mariadb = callPackage ../servers/sql/mariadb {}; + mongodb = callPackage ../servers/nosql/mongodb { }; riak = callPackage ../servers/nosql/riak/1.3.1.nix { }; @@ -6397,6 +6544,8 @@ let postgresql92 = callPackage ../servers/sql/postgresql/9.2.x.nix { }; + postgresql93 = callPackage ../servers/sql/postgresql/9.3.x.nix { }; + postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { }; @@ -6428,6 +6577,8 @@ let rethinkdb = callPackage ../servers/nosql/rethinkdb { }; + rippled = callPackage ../servers/rippled { }; + spamassassin = callPackage ../servers/mail/spamassassin { inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP IOSocketSSL; @@ -6446,13 +6597,17 @@ let libunwind = null; }); + serfdom = callPackage ../servers/serfdom { }; + + seyren = callPackage ../servers/monitoring/seyren { }; + shishi = callPackage ../servers/shishi { }; sipwitch = callPackage ../servers/sip/sipwitch { }; squids = recurseIntoAttrs( import ../servers/squid/squids.nix { inherit fetchurl stdenv perl lib composableDerivation - openldap pam db4 cyrus_sasl kerberos libcap expat libxml2 libtool + openldap pam db cyrus_sasl kerberos libcap expat libxml2 libtool openssl; }); squid = squids.squid31; # has ipv6 support @@ -6477,15 +6632,18 @@ let vsftpd = callPackage ../servers/ftp/vsftpd { }; + winstone = callPackage ../servers/http/winstone { }; + xinetd = callPackage ../servers/xinetd { }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { inherit fetchurl fetchgit stdenv pkgconfig intltool freetype fontconfig libxslt expat libdrm libpng zlib perl mesa_drivers - xkeyboard_config dbus libuuid openssl gperf m4 - autoconf libtool xmlto asciidoc udev flex bison python mtdev pixman; - automake = automake110x; + dbus libuuid openssl gperf m4 + autoconf automake libtool xmlto asciidoc udev flex bison python mtdev pixman; mesa = mesa_noglu; + } // { + xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { }; }); xorgReplacements = callPackage ../servers/x11/xorg/replacements.nix { }; @@ -6539,6 +6697,7 @@ let apparmor = callPackage ../os-specific/linux/apparmor { inherit (perlPackages) LocaleGettext TermReadKey RpcXML; + bison = bison2; }; atop = callPackage ../os-specific/linux/atop { }; @@ -6567,14 +6726,27 @@ let checkpolicy = callPackage ../os-specific/linux/checkpolicy { }; + checksec = callPackage ../os-specific/linux/checksec { }; + cifs_utils = callPackage ../os-specific/linux/cifs-utils { }; - conky = callPackage ../os-specific/linux/conky { }; + conky = callPackage ../os-specific/linux/conky { + mpdSupport = config.conky.mpdSupport or true; + x11Support = config.conky.x11Support or false; + xdamage = config.conky.xdamage or false; + wireless = config.conky.wireless or false; + luaSupport = config.conky.luaSupport or false; + rss = config.conky.rss or false; + weatherMetar = config.conky.weatherMetar or false; + weatherXoap = config.conky.weatherXoap or false; + }; cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { }; cryopid = callPackage ../os-specific/linux/cryopid { }; + criu = callPackage ../os-specific/linux/criu { }; + cryptsetup = callPackage ../os-specific/linux/cryptsetup { }; cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; @@ -6641,6 +6813,10 @@ let gpm = callPackage ../servers/gpm { }; + gradm = callPackage ../os-specific/linux/gradm { + flex = flex_2_5_35; + }; + hdparm = callPackage ../os-specific/linux/hdparm { }; hibernate = callPackage ../os-specific/linux/hibernate { }; @@ -6692,23 +6868,23 @@ let libnl = callPackage ../os-specific/linux/libnl { }; libnl_3_2_19 = callPackage ../os-specific/linux/libnl/3.2.19.nix { }; - linuxHeaders = linuxHeaders37; - linuxConsoleTools = callPackage ../os-specific/linux/consoletools { }; - linuxHeaders26 = callPackage ../os-specific/linux/kernel-headers/2.6.32.nix { }; + linuxHeaders = linuxHeaders_3_7; - linuxHeaders37 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { + inherit stdenv fetchurl perl; + cross = assert crossSystem != null; crossSystem; + }); linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { inherit stdenv fetchurl perl; cross = assert crossSystem != null; crossSystem; }); - linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { - inherit stdenv fetchurl perl; - cross = assert crossSystem != null; crossSystem; - }); + linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + + linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { }; # We can choose: linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross @@ -6718,45 +6894,13 @@ let linuxHeadersCross = assert crossSystem != null; linuxHeadersCrossChooser crossSystem.platform.kernelMajor; - linuxHeaders_2_6_28 = callPackage ../os-specific/linux/kernel-headers/2.6.28.nix { }; - kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ kernelPatches.sec_perm_2_6_24 - ]; + inherit fetchurl stdenv perl buildLinux; + kernelPatches = []; }; - grsecurityOverrider = args: { - # Install gcc plugins. These are needed for compiling dependant packages. - postInstall = '' - ${args.postInstall or ""} - cp "tools/gcc/"*.so $out/lib/modules/$version/build/tools/gcc/ - ''; - # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) - # include libgmp headers, so we need these extra tweaks - buildInputs = args.buildInputs ++ [ gmp ]; - preConfigure = '' - ${args.preConfigure or ""} - sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh - sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile - sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile - ''; - }; - - # Note: grsec is not enabled automatically, you need to specify which kernel - # config options you need (e.g. by overriding extraConfig). See list of options here: - # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options - linux_3_2_grsecurity = lowPrio (lib.overrideDerivation (linux_3_2.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_53 kernelPatches.grsec_path ]; - })) (args: grsecurityOverrider args)); - - linux_3_12_grsecurity = lowPrio (lib.overrideDerivation (linux_3_12.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_12_2 kernelPatches.grsec_path ]; - })) (args: grsecurityOverrider args)); - linux_3_2_apparmor = lowPrio (linux_3_2.override { kernelPatches = [ kernelPatches.apparmor_3_2 ]; extraConfig = '' @@ -6772,10 +6916,8 @@ let }); linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill ]; @@ -6790,15 +6932,12 @@ let }); linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { - inherit fetchurl stdenv perl linuxManualConfig; + inherit fetchurl stdenv perl buildLinux; }; linux_3_10 = makeOverridable (import ../os-specific/linux/kernel/linux-3.10.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6814,24 +6953,9 @@ let ''; }); - linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6839,11 +6963,17 @@ let }; linux_3_13 = makeOverridable (import ../os-specific/linux/kernel/linux-3.13.nix) { - inherit fetchurl stdenv perl linuxManualConfig; - kernelPatches = - [ - kernelPatches.sec_perm_2_6_24 - ] ++ lib.optionals ((platform.kernelArch or null) == "mips") + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + + linux_3_14 = makeOverridable (import ../os-specific/linux/kernel/linux-3.14.nix) { + inherit fetchurl stdenv perl buildLinux; + kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill kernelPatches.mips_ext3_n32 @@ -6872,14 +7002,22 @@ let cryptodev = callPackage ../os-specific/linux/cryptodev { }; + cpupower = callPackage ../os-specific/linux/cpupower { }; + e1000e = callPackage ../os-specific/linux/e1000e {}; + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; + frandom = callPackage ../os-specific/linux/frandom { }; + ktap = callPackage ../os-specific/linux/ktap { }; + lttngModules = callPackage ../os-specific/linux/lttng-modules { }; broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { }; + nvidiabl = callPackage ../os-specific/linux/nvidiabl { }; + nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { }; nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { }; @@ -6911,6 +7049,8 @@ let spl = callPackage ../os-specific/linux/spl/default.nix { }; + sysdig = callPackage ../os-specific/linux/sysdig {}; + tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; v86d = callPackage ../os-specific/linux/v86d { }; @@ -6929,26 +7069,25 @@ let # Build the kernel modules for the some of the kernels. linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor; - linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity; linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; - linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11); linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); - linuxPackages_3_12_grsecurity = linuxPackagesFor pkgs.linux_3_12_grsecurity linuxPackages_3_12_grsecurity; linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); + linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); # Update this when adding a new version! - linuxPackages_latest = pkgs.linuxPackages_3_13; + linuxPackages_latest = pkgs.linuxPackages_3_14; # The current default kernel / kernel modules. linux = linuxPackages.kernel; - linuxPackages = linuxPackages_3_10; + linuxPackages = linuxPackages_3_12; # A function to build a manually-configured kernel - linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix { + linuxManualConfig = pkgs.buildLinux; + buildLinux = import ../os-specific/linux/kernel/manual-config.nix { inherit (pkgs) stdenv runCommand nettools bc perl kmod writeTextFile ubootChooser; }; @@ -6958,6 +7097,8 @@ let libsemanage = callPackage ../os-specific/linux/libsemanage { }; + libraw = callPackage ../development/libraries/libraw { }; + libraw1394 = callPackage ../development/libraries/libraw1394 { }; libsexy = callPackage ../development/libraries/libsexy { }; @@ -6968,10 +7109,14 @@ let lm_sensors = callPackage ../os-specific/linux/lm-sensors { }; + lockdep = callPackage ../os-specific/linux/lockdep { }; + lsiutil = callPackage ../os-specific/linux/lsiutil { }; kmod = callPackage ../os-specific/linux/kmod { }; + kmod-blacklist-ubuntu = callPackage ../os-specific/linux/kmod-blacklist-ubuntu { }; + kvm = qemu_kvm; libcap = callPackage ../os-specific/linux/libcap { }; @@ -7007,6 +7152,8 @@ let multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; + musl = callPackage ../os-specific/linux/musl { }; + nettools = callPackage ../os-specific/linux/net-tools { }; neverball = callPackage ../games/neverball { @@ -7023,9 +7170,7 @@ let # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) - pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { - db = db4; - }; + pam_ccreds = callPackage ../os-specific/linux/pam_ccreds { }; pam_console = callPackage ../os-specific/linux/pam_console { libtool = libtool_1_5; @@ -7043,6 +7188,10 @@ let pam_usb = callPackage ../os-specific/linux/pam_usb { }; + paxctl = callPackage ../os-specific/linux/paxctl { }; + + pax-utils = callPackage ../os-specific/linux/pax-utils { }; + pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { firmware = config.pcmciaUtils.firmware or []; config = config.pcmciaUtils.config or null; @@ -7062,9 +7211,13 @@ let prayer = callPackage ../servers/prayer { }; - procps = callPackage ../os-specific/linux/procps { }; + procps = procps-ng; - "procps-ng" = callPackage ../os-specific/linux/procps-ng { }; + procps-old = lowPrio (callPackage ../os-specific/linux/procps { }); + + procps-ng = callPackage ../os-specific/linux/procps-ng { }; + + watch = callPackage ../os-specific/linux/procps/watch.nix { }; qemu_kvm = lowPrio (qemu.override { x86Only = true; }); @@ -7108,7 +7261,9 @@ let sysstat = callPackage ../os-specific/linux/sysstat { }; - systemd = callPackage ../os-specific/linux/systemd { }; + systemd = callPackage ../os-specific/linux/systemd { + linuxHeaders = linuxHeaders_3_14; + }; systemtap = callPackage ../development/tools/profiling/systemtap { inherit (gnome) libglademm; @@ -7193,6 +7348,8 @@ let }; windows = rec { + cygwinSetup = callPackage ../os-specific/windows/cygwin-setup { }; + jom = callPackage ../os-specific/windows/jom { }; w32api = callPackage ../os-specific/windows/w32api { @@ -7267,10 +7424,7 @@ let inherit (xorg) fontsproto renderproto utilmacros xorgserver; }; - xf86_video_nouveau = callPackage ../os-specific/linux/xf86-video-nouveau { - inherit (xorg) xorgserver xproto fontsproto xf86driproto renderproto - videoproto utilmacros; - }; + xf86_video_nouveau = xorg.xf86videonouveau; xmoto = builderDefsPackage (import ../games/xmoto) { inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng @@ -7384,6 +7538,8 @@ let stdmanpages = callPackage ../data/documentation/std-man-pages { }; + symbola = callPackage ../data/fonts/symbola { }; + iana_etc = callPackage ../data/misc/iana-etc { }; poppler_data = callPackage ../data/misc/poppler-data { }; @@ -7420,19 +7576,19 @@ let vistafonts = callPackage ../data/fonts/vista-fonts { }; + wqy_microhei = callPackage ../data/fonts/wqy-microhei { }; + wqy_zenhei = callPackage ../data/fonts/wqy-zenhei { }; xhtml1 = callPackage ../data/sgml+xml/schemas/xml-dtd/xhtml1 { }; - xkeyboard_config = callPackage ../data/misc/xkeyboard-config { }; + xkeyboard_config = xorg.xkeyboardconfig; ### APPLICATIONS a2jmidid = callPackage ../applications/audio/a2jmidid { }; - aangifte2005 = callPackage_i686 ../applications/taxes/aangifte-2005 { }; - aangifte2006 = callPackage_i686 ../applications/taxes/aangifte-2006 { }; aangifte2007 = callPackage_i686 ../applications/taxes/aangifte-2007 { }; @@ -7447,8 +7603,11 @@ let aangifte2012 = callPackage_i686 ../applications/taxes/aangifte-2012 { }; + aangifte2013 = callPackage_i686 ../applications/taxes/aangifte-2013 { }; + abcde = callPackage ../applications/audio/abcde { inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; + libcdio = libcdio082; }; abiword = callPackage ../applications/office/abiword { @@ -7463,17 +7622,16 @@ let alchemy = callPackage ../applications/graphics/alchemy { }; + ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; + amsn = callPackage ../applications/networking/instant-messengers/amsn { }; antiword = callPackage ../applications/office/antiword {}; - ardour = callPackage ../applications/audio/ardour { - inherit (gnome) libgnomecanvas libgnomecanvasmm; - }; + ardour = ardour3; - ardour3 = lowPrio (callPackage ../applications/audio/ardour/ardour3.nix { + ardour3 = lowPrio (callPackage ../applications/audio/ardour { inherit (gnome) libgnomecanvas libgnomecanvasmm; - boost = boost149; }); arora = callPackage ../applications/networking/browsers/arora { }; @@ -7514,6 +7672,8 @@ let }; awesome = awesome-3-5; + inherit (gnome3) baobab; + baresip = callPackage ../applications/networking/instant-messengers/baresip { ffmpeg = ffmpeg_1; }; @@ -7536,9 +7696,7 @@ let bitcoin = callPackage ../applications/misc/bitcoin { }; bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { - # For some reason, TLS support is broken when using GnuTLS 3.0 (can't - # connect to jabber.org, for instance.) - gnutls = gnutls2; + gnutls = gnutls; libotr = libotr_3_2; }; @@ -7630,6 +7788,7 @@ let comical = callPackage ../applications/graphics/comical { }; conkeror = callPackage ../applications/networking/browsers/conkeror { }; + conkerorWrapper = wrapFirefox { browser = conkeror; browserName = "conkeror"; @@ -7662,7 +7821,7 @@ let inherit (gnome) GConf libglade; }; - "dd-agent" = callPackage ../tools/networking/dd-agent { }; + "dd-agent" = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; @@ -7688,6 +7847,8 @@ let inherit (xlibs) libX11; }; + docker = callPackage ../applications/virtualization/docker { }; + doodle = callPackage ../applications/search/doodle { }; dunst = callPackage ../applications/misc/dunst { }; @@ -7696,8 +7857,6 @@ let dvdauthor = callPackage ../applications/video/dvdauthor { }; - dvswitch = callPackage ../applications/video/dvswitch { }; - dwb = callPackage ../applications/networking/browsers/dwb { }; dwm = callPackage ../applications/window-managers/dwm { @@ -7712,6 +7871,10 @@ let ed = callPackage ../applications/editors/ed { }; + ekho = callPackage ../applications/audio/ekho { }; + + electrum = callPackage ../applications/misc/electrum { }; + elinks = callPackage ../applications/networking/browsers/elinks { }; elvis = callPackage ../applications/editors/elvis { }; @@ -7733,17 +7896,17 @@ let # TODO: these packages don't build on Darwin. gconf = null /* if stdenv.isDarwin then null else gnome.GConf */; librsvg = null /* if stdenv.isDarwin then null else librsvg */; + texinfo = texinfo4; }; emacs24 = callPackage ../applications/editors/emacs-24 { # use override to enable additional features - libXaw = if stdenv.isDarwin then xlibs.libXaw else null; + libXaw = xlibs.libXaw; Xaw3d = null; gconf = null; librsvg = null; alsaLib = null; imagemagick = null; - texinfo = texinfo5; # use clangStdenv on darwin to deal with: unexec: 'my_edata is not in # section __data' @@ -7761,7 +7924,7 @@ let autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { }; - bbdb = callPackage ../applications/editors/emacs-modes/bbdb { texinfo = texinfo5; }; + bbdb = callPackage ../applications/editors/emacs-modes/bbdb { }; cedet = callPackage ../applications/editors/emacs-modes/cedet { }; @@ -7771,8 +7934,12 @@ let colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { }; + cryptol = callPackage ../applications/editors/emacs-modes/cryptol { }; + cua = callPackage ../applications/editors/emacs-modes/cua { }; + darcsum = callPackage ../applications/editors/emacs-modes/darcsum { }; + # ecb = callPackage ../applications/editors/emacs-modes/ecb { }; jabber = callPackage ../applications/editors/emacs-modes/jabber { }; @@ -7781,9 +7948,9 @@ let emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { }; - emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { texinfo = texinfo5; }; + emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { }; - emms = callPackage ../applications/editors/emacs-modes/emms { texinfo = texinfo5; }; + emms = callPackage ../applications/editors/emacs-modes/emms { }; ess = callPackage ../applications/editors/emacs-modes/ess { }; @@ -7811,6 +7978,10 @@ let ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; + structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { + inherit (haskellPackages) cabal haskellSrcExts; + }; + tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { }; @@ -7821,7 +7992,7 @@ let loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { }; - magit = callPackage ../applications/editors/emacs-modes/magit { texinfo = texinfo5; }; + magit = callPackage ../applications/editors/emacs-modes/magit { }; maudeMode = callPackage ../applications/editors/emacs-modes/maude { }; @@ -7831,7 +8002,7 @@ let # This is usually a newer version of Org-Mode than that found in GNU Emacs, so # we want it to have higher precedence. - org = hiPrio (callPackage ../applications/editors/emacs-modes/org { texinfo = texinfo5; }); + org = hiPrio (callPackage ../applications/editors/emacs-modes/org { }); org2blog = callPackage ../applications/editors/emacs-modes/org2blog { }; @@ -7842,6 +8013,7 @@ let prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { + texinfo = texinfo4 ; texLive = pkgs.texLiveAggregationFun { paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; }; @@ -7859,14 +8031,20 @@ let sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; + writeGood = callPackage ../applications/editors/emacs-modes/writegood { }; + xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { }; }; emacs23Packages = emacsPackages emacs23 pkgs.emacs23Packages; emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages); + inherit (gnome3) empathy; + epdfview = callPackage ../applications/misc/epdfview { }; + inherit (gnome3) epiphany; + espeak = callPackage ../applications/audio/espeak { }; espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; @@ -7880,10 +8058,12 @@ let evopedia = callPackage ../applications/misc/evopedia { }; keepassx = callPackage ../applications/misc/keepassx { }; + keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; inherit (gnome3) evince; + evolution_data_server = gnome3.evolution_data_server; + keepass = callPackage ../applications/misc/keepass { }; - evolution_data_server = newScope (gnome) ../servers/evolution-data-server { }; exrdisplay = callPackage ../applications/graphics/exrdisplay { fltk = fltk20; @@ -7912,12 +8092,16 @@ let fftw = fftwFloat; }; + gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { }; + goldendict = callPackage ../applications/misc/goldendict { }; google-musicmanager = callPackage ../applications/audio/google-musicmanager { }; gpicview = callPackage ../applications/graphics/gpicview { }; + gqrx = callPackage ../applications/misc/gqrx { }; + grass = import ../applications/misc/grass { inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm libXaw libXrender; @@ -7939,6 +8123,8 @@ let gtimelog = pythonPackages.gtimelog; + inherit (gnome3) gucharmap; + guitarix = callPackage ../applications/audio/guitarix { fftw = fftwSinglePrec; }; @@ -7971,7 +8157,7 @@ let inherit (gnome) libIDL; }; - firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; }); + firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; }; firefoxPkgs = callPackage ../applications/networking/browsers/firefox { inherit (gnome) libIDL; @@ -8022,15 +8208,11 @@ let get_iplayer = callPackage ../applications/misc/get_iplayer {}; - gimp_2_6 = callPackage ../applications/graphics/gimp { - inherit (gnome) libart_lgpl; - libpng = libpng12; - }; - gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix { inherit (gnome) libart_lgpl; webkit = null; lcms = lcms2; + wrapPython = pythonPackages.wrapPython; }; gimp = gimp_2_8; @@ -8162,10 +8344,6 @@ let inherit (gnome) GConf; }; - gnome_terminator = callPackage ../applications/misc/gnome_terminator { - vte = gnome.vte.override { pythonSupport = true; }; - }; - googleearth = callPackage_i686 ../applications/misc/googleearth { }; google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin { @@ -8186,10 +8364,14 @@ let gv = callPackage ../applications/misc/gv { }; + guvcview = callPackage ../os-specific/linux/guvcview { }; + hello = callPackage ../applications/misc/hello/ex-2 { }; herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { }; + hexchat = callPackage ../applications/networking/irc/hexchat { }; + hexedit = callPackage ../applications/editors/hexedit { }; hipchat = callPackage_i686 ../applications/networking/instant-messengers/hipchat { }; @@ -8211,6 +8393,8 @@ let cairo = cairo.override { xcbSupport = true; }; }; + i3minator = callPackage ../tools/misc/i3minator { }; + i3status = callPackage ../applications/window-managers/i3/status.nix { }; i810switch = callPackage ../os-specific/linux/i810switch { }; @@ -8305,6 +8489,8 @@ let jigdo = callPackage ../applications/misc/jigdo { }; + jitsi = callPackage ../applications/networking/instant-messengers/jitsi { }; + joe = callPackage ../applications/editors/joe { }; jbrout = callPackage ../applications/graphics/jbrout { @@ -8370,7 +8556,6 @@ let freefont_ttf xorg.fontmiscmisc xorg.fontbhttf ]; }; - poppler = poppler_0_18; clucene_core = clucene_core_2; lcms = lcms2; mdds = mdds_0_7_1; @@ -8395,7 +8580,9 @@ let libosip = libosip_3; }; - linuxsampler = callPackage ../applications/audio/linuxsampler { }; + linuxsampler = callPackage ../applications/audio/linuxsampler { + bison = bison2; + }; lmms = callPackage ../applications/audio/lmms { }; @@ -8409,6 +8596,8 @@ let matchbox = callPackage ../applications/window-managers/matchbox { }; + mcpp = callPackage ../development/compilers/mcpp { }; + mda_lv2 = callPackage ../applications/audio/mda-lv2 { }; meld = callPackage ../applications/version-management/meld { @@ -8423,7 +8612,7 @@ let guiSupport = false; # use mercurialFull to get hgk GUI }; - mercurialFull = lowPrio (appendToName "full" (pkgs.mercurial.override { guiSupport = true; })); + mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; }); merkaartor = callPackage ../applications/misc/merkaartor { }; @@ -8502,12 +8691,15 @@ let mpc_cli = callPackage ../applications/audio/mpc { }; + ncmpc = callPackage ../applications/audio/ncmpc { }; + ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; normalize = callPackage ../applications/audio/normalize { }; mplayer = callPackage ../applications/video/mplayer { pulseSupport = config.pulseaudio or false; + vdpauSupport = config.mplayer.vdpauSupport or false; }; mplayer2 = callPackage ../applications/video/mplayer2 { }; @@ -8521,6 +8713,7 @@ let }; mpv = callPackage ../applications/video/mpv { + lua = lua5_1; bs2bSupport = true; quviSupport = true; cacaSupport = true; @@ -8537,16 +8730,20 @@ let withLibdnssdCompat = true; }; jackSupport = config.mumble.jackSupport or false; + speechdSupport = config.mumble.speechdSupport or false; }; murmur = callPackage ../applications/networking/mumble/murmur.nix { avahi = avahi.override { withLibdnssdCompat = true; }; + iceSupport = config.murmur.iceSupport or true; }; mutt = callPackage ../applications/networking/mailreaders/mutt { }; + pcmanfm = callPackage ../applications/misc/pcmanfm { }; + ruby_gpgme = callPackage ../development/libraries/ruby_gpgme { ruby = ruby19; hoe = rubyLibs.hoe; @@ -8571,6 +8768,8 @@ let rake = rake_10_1_0; }; + synfigstudio = callPackage ../applications/graphics/synfigstudio { }; + msmtp = callPackage ../applications/networking/msmtp { }; imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix { @@ -8597,6 +8796,8 @@ let ncdu = callPackage ../tools/misc/ncdu { }; + ncdc = callPackage ../applications/networking/p2p/ncdc { }; + nedit = callPackage ../applications/editors/nedit { motif = lesstif; }; @@ -8625,9 +8826,7 @@ let ogmtools = callPackage ../applications/video/ogmtools { }; - omxplayer = callPackage ../applications/video/omxplayer { - stdenv = overrideGCC stdenv gcc47; - }; + omxplayer = callPackage ../applications/video/omxplayer { }; oneteam = callPackage ../applications/networking/instant-messengers/oneteam {}; @@ -8647,6 +8846,8 @@ let opusTools = callPackage ../applications/audio/opus-tools { }; + pamixer = callPackage ../applications/audio/pamixer { }; + pan = callPackage ../applications/networking/newsreaders/pan { spellChecking = false; }; @@ -8677,7 +8878,7 @@ let openssl = if config.pidgin.openssl or true then openssl else null; gnutls = if config.pidgin.gnutls or false then gnutls else null; libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null; - inherit (gnome) startupnotification; + startupnotification = libstartup_notification; }; pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { @@ -8778,6 +8979,8 @@ let enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); }; + rtl-sdr = callPackage ../applications/misc/rtl-sdr { }; + rubyripper = callPackage ../applications/audio/rubyripper {}; rxvt = callPackage ../applications/misc/rxvt { }; @@ -8794,10 +8997,14 @@ let sbagen = callPackage ../applications/misc/sbagen { }; + scite = callPackage ../applications/editors/scite { }; + scribus = callPackage ../applications/office/scribus { inherit (gnome) libart_lgpl; }; + seafile-client = callPackage ../applications/networking/seafile-client { }; + seeks = callPackage ../tools/networking/p2p/seeks { opencv = opencv_2_1; }; @@ -8822,6 +9029,8 @@ let skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { }; + slrn = callPackage ../applications/networking/newsreaders/slrn { }; + ssvnc = callPackage ../applications/networking/remote/ssvnc { }; st = callPackage ../applications/misc/st { @@ -8848,6 +9057,12 @@ let perl = perl514; }; + curaengine = callPackage ../applications/misc/curaengine { }; + + cura = callPackage ../applications/misc/cura { }; + + printrun = callPackage ../applications/misc/printrun { }; + slim = callPackage ../applications/display-managers/slim { libpng = libpng12; }; @@ -8879,10 +9094,14 @@ let stalonetray = callPackage ../applications/window-managers/stalonetray {}; + stp = callPackage ../applications/science/logic/stp {}; + stumpwm = lispPackages.stumpwm; sublime = callPackage ../applications/editors/sublime { }; + sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { }); + subversion = callPackage ../applications/version-management/subversion/default.nix { bdbSupport = true; httpServer = false; @@ -8895,15 +9114,14 @@ let sasl = cyrus_sasl; }; - subversionClient = lowPrio (appendToName "client" (subversion.override { + subversionClient = appendToName "client" (subversion.override { bdbSupport = false; perlBindings = true; pythonBindings = true; - })); + }); surf = callPackage ../applications/misc/surf { - libsoup = gnome.libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; svk = perlPackages.SVK; @@ -8915,6 +9133,8 @@ let gpgSupport = true; }; + syncthing = callPackage ../applications/networking/syncthing { }; + # linux only by now synergy = callPackage ../applications/misc/synergy { }; @@ -8940,6 +9160,8 @@ let taskwarrior = callPackage ../applications/misc/taskwarrior { }; + telegram-cli = callPackage ../applications/networking/instant-messengers/telegram-cli/default.nix { }; + telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { inherit (pkgs.gnome) libsoup; }; @@ -8954,6 +9176,11 @@ let telepathy_salut = callPackage ../applications/networking/instant-messengers/telepathy/salut {}; + terminator = callPackage ../applications/misc/terminator { + vte = gnome.vte.override { pythonSupport = true; }; + inherit (pythonPackages) notify; + }; + tesseract = callPackage ../applications/graphics/tesseract { }; thinkingRock = callPackage ../applications/misc/thinking-rock { }; @@ -8962,6 +9189,14 @@ let inherit (gnome) libIDL; }; + thunderbird-bin = callPackage ../applications/networking/mailreaders/thunderbird-bin { + gconf = pkgs.gnome.GConf; + inherit (pkgs.gnome3) at_spi2_atk; + inherit (pkgs.gnome) libgnome libgnomeui; + inherit (pkgs.xlibs) libX11 libXScrnSaver libXext + libXinerama libXrender libXt; + }; + tig = gitAndTools.tig; timidity = callPackage ../tools/misc/timidity { }; @@ -8997,6 +9232,8 @@ let tribler = callPackage ../applications/networking/p2p/tribler { }; + twmn = callPackage ../applications/misc/twmn { }; + twinkle = callPackage ../applications/networking/instant-messengers/twinkle { ccrtp = ccrtp_1_8; libzrtpcpp = libzrtpcpp_1_6; @@ -9013,12 +9250,8 @@ let uwimap = callPackage ../tools/networking/uwimap { }; - uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { - inherit pkgconfig webkit makeWrapper glib_networking python3; - inherit glib pango cairo gdk_pixbuf atk; - inherit (xlibs) libX11 kbproto; - inherit (gnome) libsoup; - gtk = gtk3; + uzbl = callPackage ../applications/networking/browsers/uzbl { + webkit = webkitgtk2; }; vanitygen = callPackage ../applications/misc/vanitygen { }; @@ -9043,8 +9276,12 @@ let else stdenv; }; + vimWrapper = wrapVim vim; + vimHugeX = vim_configurable; + vimHugeXWrapper = wrapVim vimHugeX; + vim_configurable = callPackage ../applications/editors/vim/configurable.nix { inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext composableDerivation lib config glib gtk python perl tcl ruby; @@ -9077,10 +9314,18 @@ let flags = [ "python" "X11" ]; # only flag "X11" by now }); + wrapVim = vim: import ../applications/editors/vim/wrapper.nix { + inherit stdenv makeWrapper writeText vim; + vimrc = config.vim.vimrc or ""; + }; + virtviewer = callPackage ../applications/virtualization/virt-viewer {}; virtmanager = callPackage ../applications/virtualization/virt-manager { inherit (gnome) gnome_python; - vte = gnome.vte.override { pythonSupport = true; }; + vte = gnome3.vte; + dconf = gnome3.dconf; + gtkvnc = gtkvnc.override { enableGTK3 = true; }; + spice_gtk = spice_gtk.override { enableGTK3 = true; }; }; virtinst = callPackage ../applications/virtualization/virtinst {}; @@ -9095,12 +9340,14 @@ let vlc = callPackage ../applications/video/vlc { }; + vmpk = callPackage ../applications/audio/vmpk { }; + vnstat = callPackage ../applications/networking/vnstat { }; vorbisTools = callPackage ../applications/audio/vorbis-tools { }; vue = callPackage ../applications/misc/vue { - jre = oraclejre; + jre = icedtea7_jre; }; vwm = callPackage ../applications/window-managers/vwm { }; @@ -9109,10 +9356,9 @@ let graphicsSupport = false; }; - weechat = callPackage ../applications/networking/irc/weechat { - # weechat crashes on /exit when using gnutls 3.1.x. gnutls 3.2.x works. - gnutls = gnutls32; - }; + weechat = callPackage ../applications/networking/irc/weechat { }; + + weechatDevel = callPackage ../applications/networking/irc/weechat/devel.nix { }; weston = callPackage ../applications/window-managers/weston { }; @@ -9157,7 +9403,7 @@ let , icon ? "${browser}/lib/${browser.name}/icons/mozicon128.png" }: let cfg = stdenv.lib.attrByPath [ browserName ] {} config; - enableAdobeFlash = cfg.enableAdobeFlash or true; + enableAdobeFlash = cfg.enableAdobeFlash or false; enableGnash = cfg.enableGnash or false; in import ../applications/networking/browsers/firefox/wrapper.nix { @@ -9217,6 +9463,8 @@ let xdaliclock = callPackage ../tools/misc/xdaliclock {}; + xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { }; + xdg_utils = callPackage ../tools/X11/xdg-utils { }; xdotool = callPackage ../tools/X11/xdotool { }; @@ -9285,8 +9533,12 @@ let yate = callPackage ../applications/misc/yate { }; + inherit (gnome3) yelp; + qgis = callPackage ../applications/misc/qgis {}; + ykpers = callPackage ../applications/misc/ykpers {}; + yoshimi = callPackage ../applications/audio/yoshimi { fltk = fltk13; }; @@ -9297,12 +9549,16 @@ let zathura = zathuraCollection.zathuraWrapper; + zeroc_ice = callPackage ../development/libraries/zeroc-ice { }; + girara = callPackage ../applications/misc/girara { gtk = gtk3; }; zgrviewer = callPackage ../applications/graphics/zgrviewer {}; + zotero = callPackage ../applications/office/zotero { }; + zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { }; @@ -9378,9 +9634,7 @@ let d2x_rebirth = callPackage ../games/d2x-rebirth { }; - eduke32 = callPackage ../games/eduke32 { - stdenv = overrideGCC stdenv gcc47; - }; + eduke32 = callPackage ../games/eduke32 { }; egoboo = callPackage ../games/egoboo { }; @@ -9430,6 +9684,8 @@ let icbm3d = callPackage ../games/icbm3d { }; + ingen = callPackage ../applications/audio/ingen { }; + instead = callPackage ../games/instead { lua = lua5; }; @@ -9448,6 +9704,10 @@ let micropolis = callPackage ../games/micropolis { }; + mnemosyne = callPackage ../games/mnemosyne { + inherit (pythonPackages) matplotlib cherrypy sqlite3; + }; + naev = callPackage ../games/naev { }; nexuiz = callPackage ../games/nexuiz { }; @@ -9602,7 +9862,7 @@ let warzone2100 = callPackage ../games/warzone2100 { }; widelands = callPackage ../games/widelands { - libpng = libpng12; + lua = lua5_1; }; worldofgoo_demo = callPackage ../games/worldofgoo { @@ -9637,7 +9897,13 @@ let cinnamon = recurseIntoAttrs rec { callPackage = newScope pkgs.cinnamon; - inherit (gnome3) gnome_common; + inherit (gnome3) gnome_common libgnomekbd gnome-menus zenity; + + muffin = callPackage ../desktops/cinnamon/muffin.nix { } ; + + cinnamon-control-center = callPackage ../desktops/cinnamon/cinnamon-control-center.nix{ }; + + cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ }; cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; @@ -9672,19 +9938,13 @@ let hsetroot = callPackage ../tools/X11/hsetroot { }; - kde4 = recurseIntoAttrs pkgs.kde410; + kakasi = callPackage ../tools/text/kakasi { }; - kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde411 ); + kde4 = recurseIntoAttrs pkgs.kde411; - kde410 = kdePackagesFor (pkgs.kde410 // { - boost = boost149; - eigen = eigen2; - libotr = libotr_3_2; - libusb = libusb1; - libcanberra = libcanberra_kde; - }) ../desktops/kde-4.10; + kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); - kde411 = kdePackagesFor (pkgs.kde411 // { + kde411 = kdePackagesFor (pkgs.kde411 // { boost = boost149; eigen = eigen2; libotr = libotr_3_2; @@ -9692,6 +9952,12 @@ let libcanberra = libcanberra_kde; }) ../desktops/kde-4.11; + kde412 = kdePackagesFor (pkgs.kde412 // { + eigen = eigen2; + libusb = libusb1; + libcanberra = libcanberra_kde; + }) ../desktops/kde-4.12; + kdePackagesFor = self: dir: let callPackageOrig = callPackage; in let @@ -9783,9 +10049,7 @@ let psi = callPackage ../applications/networking/instant-messengers/psi { }; - qtcurve = callPackage ../misc/themes/qtcurve { - stdenv = overrideGCC stdenv gcc47; - }; + qtcurve = callPackage ../misc/themes/qtcurve { }; quassel = callPackage ../applications/networking/irc/quassel { }; @@ -9846,25 +10110,6 @@ let ### SCIENCE - celestia = callPackage ../applications/science/astronomy/celestia { - lua = lua5_1; - inherit (xlibs) libXmu; - inherit (pkgs.gnome) gtkglext; - }; - - xplanet = callPackage ../applications/science/astronomy/xplanet { }; - - gravit = callPackage ../applications/science/astronomy/gravit { }; - - spyder = callPackage ../applications/science/spyder { - inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended - inherit (pythonPackages) ipython pep8; # optional - inherit pylint; - }; - - stellarium = callPackage ../applications/science/astronomy/stellarium { }; - - ### SCIENCE/GEOMETRY drgeo = builderDefsPackage (import ../applications/science/geometry/drgeo) { @@ -9912,6 +10157,8 @@ let ### SCIENCE/MATH + arpack = callPackage ../development/libraries/science/math/arpack { }; + atlas = callPackage ../development/libraries/science/math/atlas { # The build process measures CPU capabilities and optimizes the # library to perform best on that particular machine. That is a @@ -10027,6 +10274,13 @@ let tptp = callPackage ../applications/science/logic/tptp {}; + z3 = callPackage ../applications/science/logic/z3 {}; + + boolector = boolector15; + boolector15 = callPackage ../applications/science/logic/boolector {}; + boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { + useV16 = true; + }); ### SCIENCE / ELECTRONICS @@ -10051,7 +10305,11 @@ let ecm = callPackage ../applications/science/math/ecm { }; - eukleides = callPackage ../applications/science/math/eukleides { }; + eukleides = callPackage ../applications/science/math/eukleides { + texinfo = texinfo4; + }; + + fricas = callPackage ../applications/science/math/fricas { }; gap = callPackage ../applications/science/math/gap { }; @@ -10098,14 +10356,35 @@ let boinc = callPackage ../applications/science/misc/boinc { }; + celestia = callPackage ../applications/science/astronomy/celestia { + lua = lua5_1; + inherit (xlibs) libXmu; + inherit (pkgs.gnome) gtkglext; + }; + + gravit = callPackage ../applications/science/astronomy/gravit { }; + golly = callPackage ../applications/science/misc/golly { }; + megam = callPackage ../applications/science/misc/megam { }; + + root = callPackage ../applications/science/misc/root { }; + simgrid = callPackage ../applications/science/misc/simgrid { }; + spyder = callPackage ../applications/science/spyder { + inherit (pythonPackages) pyflakes rope sphinx numpy scipy matplotlib; # recommended + inherit (pythonPackages) ipython pep8; # optional + inherit pylint; + }; + + stellarium = callPackage ../applications/science/astronomy/stellarium { }; + tulip = callPackage ../applications/science/misc/tulip { }; vite = callPackage ../applications/science/misc/vite { }; + xplanet = callPackage ../applications/science/astronomy/xplanet { }; ### MISC @@ -10115,6 +10394,8 @@ let auctex = callPackage ../tools/typesetting/tex/auctex { }; + beep = callPackage ../misc/beep { }; + cups = callPackage ../misc/cups { libusb = libusb1; }; cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { }; @@ -10163,7 +10444,7 @@ let ghostscript = callPackage ../misc/ghostscript { x11Support = false; - cupsSupport = config.ghostscript.cups or true; + cupsSupport = config.ghostscript.cups or (!stdenv.isDarwin); gnuFork = config.ghostscript.gnu or false; }; @@ -10210,10 +10491,13 @@ let stateDir = config.nix.stateDir or "/nix/var"; }; + nixUnstable = nixStable; + /* nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { storeDir = config.nix.storeDir or "/nix/store"; stateDir = config.nix.stateDir or "/nix/var"; }; + */ nixops = callPackage ../tools/package-management/nixops { }; @@ -10286,7 +10570,8 @@ let inherit fetchurl stdenv; inherit cups ghostscript glibc patchelf; gcc = import ../development/compilers/gcc/4.4 { - inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gettext which; + inherit stdenv fetchurl gmp mpfr noSysDirs gettext which; + texinfo = texinfo4; profiledCompiler = true; }; }; @@ -10306,11 +10591,13 @@ let saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { }; + seafile-shared = callPackage ../misc/seafile-shared { }; + slock = callPackage ../misc/screensavers/slock { }; sourceAndTags = import ../misc/source-and-tags { inherit pkgs stdenv unzip lib ctags; - hasktags = haskellPackages.myhasktags; + hasktags = haskellPackages.hasktags; }; splix = callPackage ../misc/cups/drivers/splix { }; @@ -10337,7 +10624,7 @@ let texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor - texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo5 + texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht texinfo texLiveModerntimeline ]; }); @@ -10403,23 +10690,36 @@ let vimPlugins = callPackage ../misc/vim-plugins { }; vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 { - inherit (gnome) libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; vimprobable2Wrapper = wrapFirefox { browser = vimprobable2; browserName = "vimprobable2"; desktopName = "Vimprobable2"; }; + vimb = callPackage ../applications/networking/browsers/vimb { + webkit = webkitgtk2; + }; + + vimbWrapper = wrapFirefox { + browser = vimb; + browserName = "vimb"; + desktopName = "Vimb"; + }; + VisualBoyAdvance = callPackage ../misc/emulators/VisualBoyAdvance { }; # Wine cannot be built in 64-bit; use a 32-bit build instead. - wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { }; - wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { }); + wineStable = callPackage_i686 ../misc/emulators/wine/stable.nix { + bison = bison2; + }; + + wineUnstable = lowPrio (callPackage_i686 ../misc/emulators/wine/unstable.nix { + bison = bison2; + }); + wine = wineStable; - # winetricks is a shell script with no binary components. Safe to just use the current platforms - # build instead of the i686 specific build. winetricks = callPackage ../misc/emulators/wine/winetricks.nix { inherit (gnome2) zenity; }; @@ -10472,9 +10772,7 @@ let callPackage ../applications/networking/znc/modules.nix { } ); - zsnes = callPackage_i686 ../misc/emulators/zsnes { - libpng = libpng12; - }; + zsnes = callPackage_i686 ../misc/emulators/zsnes { }; misc = import ../misc/misc.nix { inherit pkgs stdenv; }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index a3c3a10b44c0..5a84b4339e22 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -19,8 +19,17 @@ self : self.haskellPlatformArgs_future self // { haskellPlatform = null; extensibleExceptions = self.extensibleExceptions_0_1_1_4; - cabalInstall_1_18_0_2 = self.cabalInstall_1_18_0_2.override { Cabal = null; }; - cabalInstall = self.cabalInstall_1_18_0_2.override { Cabal = null; }; + cabalInstall_1_18_0_3 = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + }; + + ghc782Prefs = + self : self.haskellPlatformArgs_future self // { + haskellPlatform = null; + extensibleExceptions = self.extensibleExceptions_0_1_1_4; + cabalInstall_1_18_0_3 = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; + binary_0_7_1_0 = null; }; ghc763Prefs = @@ -80,7 +89,7 @@ cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; prettyShow = self.prettyShow_1_2; binary = self.binary_0_6_0_0; - Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; }; + Cabal_1_18_1_3 = self.Cabal_1_18_1_3.override { deepseq = self.deepseq_1_3_0_2; }; quickcheckIo = self.quickcheckIo.override { HUnit = self.HUnit_1_2_5_2; QuickCheck = self.QuickCheck2; @@ -102,7 +111,7 @@ cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; prettyShow = self.prettyShow_1_2; binary = self.binary_0_6_0_0; - Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; }; + Cabal_1_18_1_3 = self.Cabal_1_18_1_3.override { deepseq = self.deepseq_1_3_0_2; }; quickcheckIo = self.quickcheckIo.override { HUnit = self.HUnit_1_2_5_2; QuickCheck = self.QuickCheck2; @@ -126,7 +135,7 @@ cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; prettyShow = self.prettyShow_1_2; binary = self.binary_0_6_0_0; - Cabal_1_18_1_2 = self.Cabal_1_18_1_2.override { deepseq = self.deepseq_1_3_0_2; }; + Cabal_1_18_1_3 = self.Cabal_1_18_1_3.override { deepseq = self.deepseq_1_3_0_2; }; quickcheckIo = self.quickcheckIo.override { HUnit = self.HUnit_1_2_5_2; QuickCheck = self.QuickCheck2; @@ -395,6 +404,12 @@ prefFun = ghc763Prefs; }; + packages_ghc782 = + packages { ghcPath = ../development/compilers/ghc/7.8.2.nix; + ghcBinary = ghc742Binary; + prefFun = ghc782Prefs; + }; + # Reasonably current HEAD snapshot. Should *always* be lowPrio. packages_ghcHEAD = packages { ghcPath = ../development/compilers/ghc/head.nix; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index cbeeb3b089f9..cacc95893256 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -142,18 +142,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskellPlatformArgs_future = self : { inherit (self) cabal ghc; async = self.async_2_0_1_5; - attoparsec = self.attoparsec_0_11_1_0; - caseInsensitive = self.caseInsensitive_1_1_0_2; - cgi = self.cgi_3001_1_8_4; + attoparsec = self.attoparsec_0_11_2_1; + caseInsensitive = self.caseInsensitive_1_2_0_0; + cgi = self.cgi_3001_1_8_5; fgl = self.fgl_5_4_2_4; - GLUT = self.GLUT_2_5_0_2; + GLUT = self.GLUT_2_5_1_0; GLURaw = self.GLURaw_1_4_0_0; - haskellSrc = self.haskellSrc_1_0_1_5; + haskellSrc = self.haskellSrc_1_0_1_6; hashable = self.hashable_1_2_1_0; html = self.html_1_0_1_2; - HTTP = self.HTTP_4000_2_10; + HTTP = self.HTTP_4000_2_12; HUnit = self.HUnit_1_2_5_2; - mtl = self.mtl_2_1_2; + mtl = self.mtl_2_1_3_1; network = self.network_2_4_2_2; OpenGL = self.OpenGL_2_9_1_0; OpenGLRaw = self.OpenGLRaw_1_4_0_0; @@ -165,19 +165,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x regexCompat = self.regexCompat_0_95_1; regexPosix = self.regexPosix_0_95_2; split = self.split_0_2_2; - stm = self.stm_2_4_2; + stm = self.stm_2_4_3; syb = self.syb_0_4_1; - text = self.text_1_1_0_0; + text = self.text_1_1_0_1; transformers = self.transformers_0_3_0_0; # this has become a core package in GHC 7.7 unorderedContainers = self.unorderedContainers_0_2_3_3; vector = self.vector_0_10_9_1; xhtml = self.xhtml_3000_2_1; zlib = self.zlib_0_5_4_1; - cabalInstall = self.cabalInstall_1_18_0_2; + cabalInstall = self.cabalInstall_1_18_0_3; alex = self.alex_3_1_3; - haddock = self.haddock_2_13_2_1; - happy = self.happy_1_19_2; - primitive = self.primitive_0_5_1_0; # semi-official, but specified + haddock = self.haddock_2_14_2; + happy = self.happy_1_19_3; + primitive = self.primitive_0_5_2_1; # semi-official, but specified }; haskellPlatformArgs_2013_2_0_0 = self : { @@ -190,7 +190,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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_1_2_5; + hashable = self.hashable_1_2_1_0; # not HP (1.1.2.5), but fixes many builds html = self.html_1_0_1_2; HTTP = self.HTTP_4000_2_8; HUnit = self.HUnit_1_2_5_2; @@ -520,11 +520,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x abstractDeque = callPackage ../development/libraries/haskell/abstract-deque {}; + abstractDequeTests = callPackage ../development/libraries/haskell/abstract-deque-tests {}; + abstractPar = callPackage ../development/libraries/haskell/abstract-par {}; - aeson = callPackage ../development/libraries/haskell/aeson {}; + adjunctions = callPackage ../development/libraries/haskell/adjunctions {}; - aesonLens = callPackage ../development/libraries/haskell/aeson-lens {}; + aes = callPackage ../development/libraries/haskell/aes {}; + + aeson = callPackage ../development/libraries/haskell/aeson { + blazeBuilder = if (pkgs.stdenv.lib.versionOlder ghc.version "7.6") then self.blazeBuilder else null; + }; aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {}; @@ -538,6 +544,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x amqp = callPackage ../development/libraries/haskell/amqp {}; + annotatedWlPprint = callPackage ../development/libraries/haskell/annotated-wl-pprint {}; + appar = callPackage ../development/libraries/haskell/appar {}; ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {}; @@ -545,7 +553,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {}; ariadne = callPackage ../development/libraries/haskell/ariadne { - Cabal = self.Cabal_1_18_1_2; + Cabal = self.Cabal_1_18_1_3; + haskellPackages = self.haskellPackages.override { + Cabal = self.Cabal_1_18_1_3; + }; + haskellNames = self.haskellNames.override { + Cabal = self.Cabal_1_18_1_3; + haskellPackages = self.haskellPackages.override { + Cabal = self.Cabal_1_18_1_3; + }; + }; }; arithmoi = callPackage ../development/libraries/haskell/arithmoi {}; @@ -556,6 +573,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x asn1Data = callPackage ../development/libraries/haskell/asn1-data {}; + asn1Encoding = callPackage ../development/libraries/haskell/asn1-encoding {}; + + asn1Parse = callPackage ../development/libraries/haskell/asn1-parse {}; + asn1Types = callPackage ../development/libraries/haskell/asn1-types {}; AspectAG = callPackage ../development/libraries/haskell/AspectAG {}; @@ -569,8 +590,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x attempt = callPackage ../development/libraries/haskell/attempt {}; + attoLisp = callPackage ../development/libraries/haskell/atto-lisp {}; + attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {}; - attoparsec_0_11_1_0 = callPackage ../development/libraries/haskell/attoparsec/0.11.1.0.nix {}; + attoparsec_0_11_2_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.2.1.nix {}; attoparsec = self.attoparsec_0_10_4_0; attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {}; @@ -611,7 +634,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x binary_0_7_1_0 = callPackage ../development/libraries/haskell/binary/0.7.1.0.nix {}; binary = null; # core package starting with GHC 7.4.x - binaryConduit = callPackage ../development/libraries/haskell/binary-conduit {}; + binaryConduit = callPackage ../development/libraries/haskell/binary-conduit { + binary = self.binary_0_7_1_0; + }; binaryShared = callPackage ../development/libraries/haskell/binary-shared {}; @@ -647,9 +672,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {}; - bmp_1_2_2_1 = callPackage ../development/libraries/haskell/bmp/1.2.2.1.nix {}; - bmp_1_2_5_2 = callPackage ../development/libraries/haskell/bmp/1.2.5.2.nix {}; - bmp = self.bmp_1_2_2_1; # the latest version needs a very recent 'binary' library + bmp = callPackage ../development/libraries/haskell/bmp { + binary = self.binary_0_7_1_0; + }; Boolean = callPackage ../development/libraries/haskell/Boolean {}; @@ -674,15 +699,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x bytestringMmap = callPackage ../development/libraries/haskell/bytestring-mmap {}; + bytestringShow = callPackage ../development/libraries/haskell/bytestring-show {}; + bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {}; bytestringProgress = callPackage ../development/libraries/haskell/bytestring-progress {}; + bzlib = callPackage ../development/libraries/haskell/bzlib {}; + c2hs = callPackage ../development/libraries/haskell/c2hs {}; + c2hsc = callPackage ../development/libraries/haskell/c2hsc {}; + Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; }; - Cabal_1_18_1_2 = callPackage ../development/libraries/haskell/Cabal/1.18.1.2.nix { cabal = self.cabal.override { Cabal = null; }; }; + Cabal_1_18_1_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal = null; # core package in GHC cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {}; @@ -699,8 +730,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cassava = callPackage ../development/libraries/haskell/cassava {}; caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; - caseInsensitive_1_1_0_2 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.2.nix {}; - caseInsensitive = self.caseInsensitive_1_1_0_2; + caseInsensitive_1_1_0_3 = callPackage ../development/libraries/haskell/case-insensitive/1.1.0.3.nix {}; + caseInsensitive_1_2_0_0 = callPackage ../development/libraries/haskell/case-insensitive/1.2.0.0.nix {}; + caseInsensitive = self.caseInsensitive_1_2_0_0; cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; @@ -715,19 +747,28 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {}; cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {}; cgi_3001_1_7_5 = callPackage ../development/libraries/haskell/cgi/3001.1.7.5.nix {}; - cgi_3001_1_8_4 = callPackage ../development/libraries/haskell/cgi/3001.1.8.4.nix {}; - cgi = self.cgi_3001_1_8_4; + cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {}; + cgi = self.cgi_3001_1_8_5; charset = callPackage ../development/libraries/haskell/charset {}; Chart = callPackage ../development/libraries/haskell/Chart {}; ChartCairo = callPackage ../development/libraries/haskell/Chart-cairo {}; + ChartDiagrams = callPackage ../development/libraries/haskell/Chart-diagrams {}; ChartGtk = callPackage ../development/libraries/haskell/Chart-gtk {}; ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {}; + cheapskate = callPackage ../development/libraries/haskell/cheapskate {}; + checkers = callPackage ../development/libraries/haskell/checkers {}; + chell = callPackage ../development/libraries/haskell/chell {}; + + chellQuickcheck = callPackage ../development/libraries/haskell/chell-quickcheck {}; + + chunkedData = callPackage ../development/libraries/haskell/chunked-data {}; + citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {}; cipherAes = callPackage ../development/libraries/haskell/cipher-aes {}; @@ -778,6 +819,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x conduit = callPackage ../development/libraries/haskell/conduit {}; + conduitCombinators = callPackage ../development/libraries/haskell/conduit-combinators {}; + + conduitExtra = callPackage ../development/libraries/haskell/conduit-extra {}; + ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {}; configurator = callPackage ../development/libraries/haskell/configurator {}; @@ -786,9 +831,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x constraints = callPackage ../development/libraries/haskell/constraints {}; + controlMonadFree = callPackage ../development/libraries/haskell/control-monad-free {}; + controlMonadLoop = callPackage ../development/libraries/haskell/control-monad-loop {}; - convertible = callPackage ../development/libraries/haskell/convertible {}; + convertible_1_0_11_1 = callPackage ../development/libraries/haskell/convertible/1.0.11.1.nix {}; + convertible_1_1_0_0 = callPackage ../development/libraries/haskell/convertible/1.1.0.0.nix {}; + convertible = self.convertible_1_1_0_0; continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {}; @@ -800,6 +849,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cookie = callPackage ../development/libraries/haskell/cookie {}; + coroutineObject = callPackage ../development/libraries/haskell/coroutine-object {}; + cprngAes = callPackage ../development/libraries/haskell/cprng-aes {}; criterion = callPackage ../development/libraries/haskell/criterion {}; @@ -818,6 +869,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cryptohash = callPackage ../development/libraries/haskell/cryptohash {}; + cryptohashConduit = callPackage ../development/libraries/haskell/cryptohash-conduit {}; + cryptohashCryptoapi = callPackage ../development/libraries/haskell/cryptohash-cryptoapi {}; cryptoNumbers = callPackage ../development/libraries/haskell/crypto-numbers {}; @@ -864,6 +917,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dataenc = callPackage ../development/libraries/haskell/dataenc {}; + dataHash = callPackage ../development/libraries/haskell/data-hash {}; + dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {}; dataLens = callPackage ../development/libraries/haskell/data-lens {}; @@ -872,6 +927,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dataMemocombinators = callPackage ../development/libraries/haskell/data-memocombinators {}; + dataOrdlist = callPackage ../development/libraries/haskell/data-ordlist {}; + dataPprint = callPackage ../development/libraries/haskell/data-pprint {}; dataReify = callPackage ../development/libraries/haskell/data-reify {}; @@ -911,10 +968,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {}; diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {}; + diagramsPostscript = callPackage ../development/libraries/haskell/diagrams/postscript.nix {}; diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {}; Diff = callPackage ../development/libraries/haskell/Diff {}; + diff3 = callPackage ../development/libraries/haskell/diff3 {}; + digest = callPackage ../development/libraries/haskell/digest { inherit (pkgs) zlib; }; @@ -943,6 +1003,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dlist = callPackage ../development/libraries/haskell/dlist {}; + dlistInstances = callPackage ../development/libraries/haskell/dlist-instances {}; + dns = callPackage ../development/libraries/haskell/dns {}; doctest = callPackage ../development/libraries/haskell/doctest {}; @@ -959,6 +1021,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x DSH = callPackage ../development/libraries/haskell/DSH {}; + dsp = callPackage ../development/libraries/haskell/dsp {}; + dstring = callPackage ../development/libraries/haskell/dstring {}; dualTree = callPackage ../development/libraries/haskell/dual-tree {}; @@ -975,12 +1039,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x elerea = callPackage ../development/libraries/haskell/elerea {}; - Elm = callPackage ../development/compilers/elm/elm.nix {}; + Elm = callPackage ../development/compilers/elm/elm.nix { + binary = self.binary_0_7_1_0; + pandoc = self.pandoc.override { + binary = self.binary_0_7_1_0; + zipArchive = self.zipArchive.override { binary = self.binary_0_7_1_0; }; + }; + }; elmServer = callPackage ../development/compilers/elm/elm-server.nix {}; emailValidate = callPackage ../development/libraries/haskell/email-validate {}; + enclosedExceptions = callPackage ../development/libraries/haskell/enclosed-exceptions {}; + encoding = callPackage ../development/libraries/haskell/encoding {}; enumerator = callPackage ../development/libraries/haskell/enumerator {}; @@ -1019,11 +1091,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x executablePath = callPackage ../development/libraries/haskell/executable-path {}; + Extra = callPackage ../development/libraries/haskell/Extra {}; + + fay = callPackage ../development/libraries/haskell/fay {}; + + fayBase = callPackage ../development/libraries/haskell/fay-base {}; + + fdoNotify = callPackage ../development/libraries/haskell/fdo-notify {}; + filepath_1_3_0_0 = callPackage ../development/libraries/haskell/filepath {}; filepath = null; # a core package in recent GHCs fileLocation = callPackage ../development/libraries/haskell/file-location {}; + ftphs = callPackage ../development/libraries/haskell/ftphs {}; + extensibleEffects = callPackage ../development/libraries/haskell/extensible-effects {}; extensibleExceptions_0_1_1_0 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.0.nix {}; @@ -1038,6 +1120,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x fastLogger = callPackage ../development/libraries/haskell/fast-logger {}; + fb = callPackage ../development/libraries/haskell/fb {}; + fclabels = callPackage ../development/libraries/haskell/fclabels {}; FerryCore = callPackage ../development/libraries/haskell/FerryCore {}; @@ -1091,10 +1175,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ghcEvents = callPackage ../development/libraries/haskell/ghc-events {}; + ghcEventsAnalyze = callPackage ../development/tools/haskell/ghc-events-analyze {}; + ghcHeapView = callPackage ../development/libraries/haskell/ghc-heap-view { cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled }; + ghcjsDom = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; + + ghcjsCodemirror = callPackage ../development/libraries/haskell/ghcjs-codemirror {}; + ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; }; @@ -1113,6 +1203,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x gio = callPackage ../development/libraries/haskell/gio {}; + gitDate = callPackage ../development/libraries/haskell/git-date {}; + github = callPackage ../development/libraries/haskell/github {}; gitit = callPackage ../development/libraries/haskell/gitit {}; @@ -1160,13 +1252,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x GLUT_2_4_0_0 = callPackage ../development/libraries/haskell/GLUT/2.4.0.0.nix { OpenGL = self.OpenGL_2_8_0_0; }; - GLUT_2_5_0_2 = callPackage ../development/libraries/haskell/GLUT/2.5.0.2.nix { + GLUT_2_5_1_0 = callPackage ../development/libraries/haskell/GLUT/2.5.1.0.nix { OpenGL = self.OpenGL_2_9_1_0; }; - GLUT = self.GLUT_2_5_0_1; + GLUT = self.GLUT_2_5_1_0; gnuidn = callPackage ../development/libraries/haskell/gnuidn {}; + gnuplot = callPackage ../development/libraries/haskell/gnuplot {}; + gnutls = callPackage ../development/libraries/haskell/gnutls { inherit (pkgs) gnutls; }; gsasl = callPackage ../development/libraries/haskell/gsasl { inherit (pkgs) gsasl; }; @@ -1184,8 +1278,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x libc = pkgs.stdenv.gcc.libc; }; + gtkTraymanager = callPackage ../development/libraries/haskell/gtk-traymanager {}; + graphviz = callPackage ../development/libraries/haskell/graphviz {}; + graphWrapper = callPackage ../development/libraries/haskell/graph-wrapper {}; + groups = callPackage ../development/libraries/haskell/groups {}; groupoids = callPackage ../development/libraries/haskell/groupoids {}; @@ -1200,6 +1298,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x happstackLite = callPackage ../development/libraries/haskell/happstack/happstack-lite.nix {}; + happstackFastCGI = callPackage ../development/libraries/haskell/happstack/happstack-fastcgi.nix {}; + hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {}; hashable_1_2_1_0 = callPackage ../development/libraries/haskell/hashable/1.2.1.0.nix {}; hashable = self.hashable_1_2_1_0; @@ -1229,7 +1329,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {}; haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {}; haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {}; - haskellSrc = self.haskellSrc_1_0_1_5; + haskellSrc_1_0_1_6 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.6.nix {}; + haskellSrc = self.haskellSrc_1_0_1_6; haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {}; @@ -1258,8 +1359,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {}; HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {}; HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {}; - HTTP_4000_2_10 = callPackage ../development/libraries/haskell/HTTP/4000.2.10.nix {}; - HTTP = self.HTTP_4000_2_10; + HTTP_4000_2_12 = callPackage ../development/libraries/haskell/HTTP/4000.2.12.nix {}; + HTTP = self.HTTP_4000_2_12; httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {}; @@ -1299,6 +1400,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hflags = callPackage ../development/libraries/haskell/hflags {}; + hfsevents = callPackage ../development/libraries/haskell/hfsevents {}; + HFuse = callPackage ../development/libraries/haskell/HFuse {}; highlightingKate = callPackage ../development/libraries/haskell/highlighting-kate {}; @@ -1325,6 +1428,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hoauth = callPackage ../development/libraries/haskell/hoauth {}; + hoauth2 = callPackage ../development/libraries/haskell/hoauth2 {}; + + hoodle = callPackage ../applications/graphics/hoodle {}; + + hoodleBuilder = callPackage ../development/libraries/haskell/hoodle-builder {}; + + hoodleCore = callPackage ../development/libraries/haskell/hoodle-core {}; + + hoodleParser = callPackage ../development/libraries/haskell/hoodle-parser {}; + + hoodleRender = callPackage ../development/libraries/haskell/hoodle-render {}; + + hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {}; + hoogle = callPackage ../development/libraries/haskell/hoogle {}; hopenssl = callPackage ../development/libraries/haskell/hopenssl {}; @@ -1351,6 +1468,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x HSH = callPackage ../development/libraries/haskell/HSH {}; + hsini = callPackage ../development/libraries/haskell/hsini {}; + HsSyck = callPackage ../development/libraries/haskell/HsSyck {}; HsOpenSSL = callPackage ../development/libraries/haskell/HsOpenSSL {}; @@ -1363,11 +1482,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hsloggerTemplate = callPackage ../development/libraries/haskell/hslogger-template {}; - hspec = callPackage ../development/libraries/haskell/hspec {}; + hspec = callPackage ../development/libraries/haskell/hspec { + QuickCheck = self.QuickCheck_2_7_3; + quickcheckIo = self.quickcheckIo.override { QuickCheck = self.QuickCheck_2_7_3; }; + }; hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {}; - hspecMeta = callPackage ../development/libraries/haskell/hspec-meta {}; + hspecExpectationsLens = callPackage ../development/libraries/haskell/hspec-expectations-lens {}; + + hspecMeta = callPackage ../development/libraries/haskell/hspec-meta { + QuickCheck = self.QuickCheck_2_7_3; + quickcheckIo = self.quickcheckIo.override { QuickCheck = self.QuickCheck_2_7_3; }; + }; hstatsd = callPackage ../development/libraries/haskell/hstatsd {}; @@ -1401,10 +1528,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hxtCharproperties = callPackage ../development/libraries/haskell/hxt-charproperties {}; + hxtHttp = callPackage ../development/libraries/haskell/hxt-http {}; + hxtRegexXmlschema = callPackage ../development/libraries/haskell/hxt-regex-xmlschema {}; hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {}; + hxtXpath = callPackage ../development/libraries/haskell/hxt-xpath {}; + + hybridVectors = callPackage ../development/libraries/haskell/hybrid-vectors {}; + + iCalendar = callPackage ../development/libraries/haskell/iCalendar {}; + idna = callPackage ../development/libraries/haskell/idna {}; IfElse = callPackage ../development/libraries/haskell/IfElse {}; @@ -1421,6 +1556,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x interlude = callPackage ../development/libraries/haskell/interlude {}; + interpolate = callPackage ../development/libraries/haskell/interpolate {}; + + interpolatedstringPerl6 = callPackage ../development/libraries/haskell/interpolatedstring-perl6 {}; + intervals = callPackage ../development/libraries/haskell/intervals {}; IntervalMap = callPackage ../development/libraries/haskell/IntervalMap {}; @@ -1435,6 +1574,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ioStreams = callPackage ../development/libraries/haskell/io-streams {}; + ipprint = callPackage ../development/libraries/haskell/ipprint {}; + iproute = callPackage ../development/libraries/haskell/iproute {}; irc = callPackage ../development/libraries/haskell/irc {}; @@ -1443,6 +1584,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ivor = callPackage ../development/libraries/haskell/ivor {}; + ixdopp = callPackage ../development/libraries/haskell/ixdopp { + preprocessorTools = self.preprocessorTools_0_1_3; + }; + ixShapable = callPackage ../development/libraries/haskell/ix-shapable {}; JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {}; @@ -1456,6 +1601,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x json = callPackage ../development/libraries/haskell/json {}; + jsonAssertions = callPackage ../development/libraries/haskell/json-assertions {}; + jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {}; kansasLava = callPackage ../development/libraries/haskell/kansas-lava {}; @@ -1465,6 +1612,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x knob = callPackage ../development/libraries/haskell/knob {}; languageC = callPackage ../development/libraries/haskell/language-c {}; + + languageCInline = callPackage ../development/libraries/haskell/language-c-inline {}; languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; @@ -1472,7 +1621,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x languageJava = callPackage ../development/libraries/haskell/language-java {}; - languageJavascript = callPackage ../development/libraries/haskell/language-javascript {}; + languageJavascript = callPackage ../development/libraries/haskell/language-javascript { + alex = self.alex_3_1_3; + }; languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {}; @@ -1490,20 +1641,28 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lens = callPackage ../development/libraries/haskell/lens {}; - lensAeson = callPackage ../development/libraries/haskell/lens-aeson {}; - lensDatetime = callPackage ../development/libraries/haskell/lens-datetime {}; + lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {}; + lenses = callPackage ../development/libraries/haskell/lenses {}; + leveldbHaskell = callPackage ../development/libraries/haskell/leveldb-haskell {}; + libffi = callPackage ../development/libraries/haskell/libffi { libffi = pkgs.libffi; }; + libjenkins = callPackage ../development/libraries/haskell/libjenkins {}; + libmpd = callPackage ../development/libraries/haskell/libmpd {}; liblastfm = callPackage ../development/libraries/haskell/liblastfm {}; + libsystemdJournal = callPackage ../development/libraries/haskell/libsystemd-journal { + systemd-journal = pkgs.systemd; + }; + libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {}; liftedAsync = callPackage ../development/libraries/haskell/lifted-async {}; @@ -1520,11 +1679,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ListZipper = callPackage ../development/libraries/haskell/ListZipper {}; - llvmGeneral = callPackage ../development/libraries/haskell/llvm-general { + # Needed for idris for now + llvmGeneral_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general/3.3.8.2.nix { + llvmConfig = pkgs.llvm_33; + llvmGeneralPure = self.llvmGeneralPure_3_3_8_2; + }; + llvmGeneral_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general/3.4.2.2.nix { llvmConfig = pkgs.llvm; }; + llvmGeneral = self.llvmGeneral_3_4_2_2; - llvmGeneralPure = callPackage ../development/libraries/haskell/llvm-general-pure {}; + llvmGeneralPure_3_3_8_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.3.8.2.nix { }; + llvmGeneralPure_3_4_2_2 = callPackage ../development/libraries/haskell/llvm-general-pure/3.4.2.2.nix {}; + llvmGeneralPure = self.llvmGeneralPure_3_4_2_2; lrucache = callPackage ../development/libraries/haskell/lrucache {}; @@ -1534,8 +1701,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x logfloat = callPackage ../development/libraries/haskell/logfloat {}; + logging = callPackage ../development/libraries/haskell/logging {}; + logict = callPackage ../development/libraries/haskell/logict {}; + lushtags = callPackage ../development/libraries/haskell/lushtags {}; + + lzmaEnumerator = callPackage ../development/libraries/haskell/lzma-enumerator {}; + maccatcher = callPackage ../development/libraries/haskell/maccatcher {}; markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {}; @@ -1556,6 +1729,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x midi = callPackage ../development/libraries/haskell/midi {}; + mime = callPackage ../development/libraries/haskell/mime {}; + minimorph = callPackage ../development/libraries/haskell/minimorph {}; miniutter = callPackage ../development/libraries/haskell/miniutter { @@ -1568,6 +1743,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x misfortune = callPackage ../development/libraries/haskell/misfortune {}; + missingForeign = callPackage ../development/libraries/haskell/missing-foreign {}; + MissingH = callPackage ../development/libraries/haskell/MissingH { testpack = null; }; @@ -1584,6 +1761,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x monadcryptorandom = callPackage ../development/libraries/haskell/monadcryptorandom {}; + monadExtras = callPackage ../development/libraries/haskell/monad-extras {}; + + monadloc = callPackage ../development/libraries/haskell/monadloc {}; + monadLoops = callPackage ../development/libraries/haskell/monad-loops {}; monadLogger = callPackage ../development/libraries/haskell/monad-logger {}; @@ -1623,7 +1804,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix { transformers = self.transformers_0_3_0_0; }; - mtl = self.mtl_2_1_2; + mtl_2_1_3_1 = callPackage ../development/libraries/haskell/mtl/2.1.3.1.nix { + transformers = self.transformers_0_3_0_0; + }; + mtl = self.mtl_2_1_3_1; mtlparse = callPackage ../development/libraries/haskell/mtlparse {}; @@ -1643,6 +1827,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x mwcRandom = callPackage ../development/libraries/haskell/mwc-random {}; + mysql = callPackage ../development/libraries/haskell/mysql { + mysqlConfig = pkgs.mysql; + inherit (pkgs) zlib; + }; + + mysqlSimple = callPackage ../development/libraries/haskell/mysql-simple {}; + NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {}; nanospec = callPackage ../development/libraries/haskell/nanospec {}; @@ -1736,10 +1927,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x operational = callPackage ../development/libraries/haskell/operational {}; + options = callPackage ../development/libraries/haskell/options {}; + optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {}; pathPieces = callPackage ../development/libraries/haskell/path-pieces {}; + patience = callPackage ../development/libraries/haskell/patience {}; + pandoc = callPackage ../development/libraries/haskell/pandoc {}; pandocCiteproc = callPackage ../development/libraries/haskell/pandoc-citeproc {}; @@ -1772,9 +1967,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x parsec3 = self.parsec_3_1_5; parsec = self.parsec3; - parsers_0_9 = callPackage ../development/libraries/haskell/parsers/0.9.nix {}; - parsers_0_10_2 = callPackage ../development/libraries/haskell/parsers/0.10.2.nix {}; - parsers = self.parsers_0_10_2; + parsers_0_10_3 = callPackage ../development/libraries/haskell/parsers/0.10.3.nix {}; + parsers_0_11 = callPackage ../development/libraries/haskell/parsers/0.11.nix {}; + parsers = self.parsers_0_10_3; parsimony = callPackage ../development/libraries/haskell/parsimony {}; @@ -1782,6 +1977,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pathtype = callPackage ../development/libraries/haskell/pathtype {}; + pbkdf = callPackage ../development/libraries/haskell/pbkdf {}; + pcap = callPackage ../development/libraries/haskell/pcap {}; pcapEnumerator = callPackage ../development/libraries/haskell/pcap-enumerator {}; @@ -1794,6 +1991,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x persistent = callPackage ../development/libraries/haskell/persistent {}; + persistentMysql = callPackage ../development/libraries/haskell/persistent-mysql {}; + persistentPostgresql = callPackage ../development/libraries/haskell/persistent-postgresql {}; persistentSqlite = callPackage ../development/libraries/haskell/persistent-sqlite {}; @@ -1808,12 +2007,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pipesAttoparsec = callPackage ../development/libraries/haskell/pipes-attoparsec {}; + pipesBinary = callPackage ../development/libraries/haskell/pipes-binary { + binary = self.binary_0_7_1_0; + }; + pipesBytestring = callPackage ../development/libraries/haskell/pipes-bytestring {}; pipesConcurrency = callPackage ../development/libraries/haskell/pipes-concurrency {}; pipesNetwork = callPackage ../development/libraries/haskell/pipes-network {}; + pipesGroup = callPackage ../development/libraries/haskell/pipes-group {}; + pipesParse = callPackage ../development/libraries/haskell/pipes-parse {}; pipesPostgresqlSimple = callPackage ../development/libraries/haskell/pipes-postgresql-simple {}; @@ -1845,19 +2050,27 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ppm = callPackage ../development/libraries/haskell/ppm {}; + pqueue = callPackage ../development/libraries/haskell/pqueue {}; + + preprocessorTools_0_1_3 = callPackage ../development/libraries/haskell/preprocessor-tools/0.1.3.nix {}; + + preprocessorTools_1_0_1 = callPackage ../development/libraries/haskell/preprocessor-tools/1.0.1.nix {}; + + preprocessorTools = self.preprocessorTools_1_0_1; + prettyclass = callPackage ../development/libraries/haskell/prettyclass {}; prettyShow_1_2 = callPackage ../development/libraries/haskell/pretty-show/1.2.nix {}; - prettyShow_1_6_5 = callPackage ../development/libraries/haskell/pretty-show/1.6.5.nix { + prettyShow_1_6_7 = callPackage ../development/libraries/haskell/pretty-show/1.6.7.nix { happy = self.happy_1_19_2; }; - prettyShow = self.prettyShow_1_6_5; + prettyShow = self.prettyShow_1_6_7; punycode = callPackage ../development/libraries/haskell/punycode {}; primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {}; - primitive_0_5_1_0 = callPackage ../development/libraries/haskell/primitive/0.5.1.0.nix {}; - primitive = self.primitive_0_5_1_0; + primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {}; + primitive = self.primitive_0_5_0_1; profunctors = callPackage ../development/libraries/haskell/profunctors {}; @@ -1899,13 +2112,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {}; QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {}; QuickCheck_2_6 = callPackage ../development/libraries/haskell/QuickCheck/2.6.nix {}; + QuickCheck_2_7_3 = callPackage ../development/libraries/haskell/QuickCheck/2.7.3.nix {}; QuickCheck1 = self.QuickCheck_1_2_0_1; QuickCheck2 = self.QuickCheck_2_6; QuickCheck = self.QuickCheck2; quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {}; - quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances {}; + quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances { + QuickCheck = self.QuickCheck_2_7_3; + }; quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {}; @@ -1968,8 +2184,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {}; regexPosix = self.regexPosix_0_95_2; - regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {}; - regexTdfa = self.regexTDFA; + regexTdfa = callPackage ../development/libraries/haskell/regex-tdfa {}; regexTdfaText = callPackage ../development/libraries/haskell/regex-tdfa-text {}; @@ -1995,6 +2210,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x resourcet = callPackage ../development/libraries/haskell/resourcet {}; + retry = callPackage ../development/libraries/haskell/retry {}; + rethinkdb = callPackage ../development/libraries/haskell/rethinkdb {}; rfc5051 = callPackage ../development/libraries/haskell/rfc5051 {}; @@ -2013,10 +2230,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {}; + sbv = callPackage ../development/libraries/haskell/sbv {}; + scientific = callPackage ../development/libraries/haskell/scientific {}; scotty = callPackage ../development/libraries/haskell/scotty {}; + scottyHastache = callPackage ../development/libraries/haskell/scotty-hastache {}; + + scrypt = callPackage ../development/libraries/haskell/scrypt {}; + securemem = callPackage ../development/libraries/haskell/securemem {}; sendfile = callPackage ../development/libraries/haskell/sendfile {}; @@ -2045,20 +2268,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x smtpMail = callPackage ../development/libraries/haskell/smtp-mail {}; + smtpsGmail = callPackage ../development/libraries/haskell/smtps-gmail {}; + snap = callPackage ../development/libraries/haskell/snap/snap.nix {}; snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {}; + snapBlaze = callPackage ../development/libraries/haskell/snap-blaze/default.nix {}; + snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; + snapCORS = callPackage ../development/libraries/haskell/snap-cors {}; + snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {}; snapLoaderStatic = callPackage ../development/libraries/haskell/snap/loader-static.nix {}; snapServer = callPackage ../development/libraries/haskell/snap/server.nix {}; + snowball = callPackage ../development/libraries/haskell/snowball {}; + socks = callPackage ../development/libraries/haskell/socks {}; + sparse = callPackage ../development/libraries/haskell/sparse {}; + srcloc = callPackage ../development/libraries/haskell/srcloc {}; stateref = callPackage ../development/libraries/haskell/stateref {}; @@ -2067,15 +2300,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x StateVar = callPackage ../development/libraries/haskell/StateVar {}; - statistics = callPackage ../development/libraries/haskell/statistics { + statistics_0_10_5_2 = callPackage ../development/libraries/haskell/statistics/0.10.5.2.nix { binary = self.binary_0_7_1_0; vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; }; + statistics_0_11_0_0 = callPackage ../development/libraries/haskell/statistics/0.11.0.0.nix { + binary = self.binary_0_7_1_0; + vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; + }; + statistics = self.statistics_0_10_5_2; statvfs = callPackage ../development/libraries/haskell/statvfs {}; StrafunskiStrategyLib = callPackage ../development/libraries/haskell/Strafunski-StrategyLib {}; + streamingCommons = callPackage ../development/libraries/haskell/streaming-commons {}; + streamproc = callPackage ../development/libraries/haskell/streamproc {}; strict = callPackage ../development/libraries/haskell/strict {}; @@ -2084,6 +2324,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stringCombinators = callPackage ../development/libraries/haskell/string-combinators {}; + stringConversions = callPackage ../development/libraries/haskell/string-conversions {}; + stringprep = callPackage ../development/libraries/haskell/stringprep {}; stringQq = callPackage ../development/libraries/haskell/string-qq {}; @@ -2109,6 +2351,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x sybWithClassInstancesText = callPackage ../development/libraries/haskell/syb/syb-with-class-instances-text.nix {}; + syntactic = callPackage ../development/libraries/haskell/syntactic {}; + syz = callPackage ../development/libraries/haskell/syz {}; SDLImage = callPackage ../development/libraries/haskell/SDL-image {}; @@ -2139,14 +2383,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x show = callPackage ../development/libraries/haskell/show {}; + singletons = callPackage ../development/libraries/haskell/singletons {}; + SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {}; socketActivation = callPackage ../development/libraries/haskell/socket-activation {}; + sourcemap = callPackage ../development/libraries/haskell/sourcemap {}; + split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {}; split_0_2_2 = callPackage ../development/libraries/haskell/split/0.2.2.nix {}; split = self.split_0_2_2; + sqliteSimple = callPackage ../development/libraries/haskell/sqlite-simple/default.nix {}; + stbImage = callPackage ../development/libraries/haskell/stb-image {}; stm_2_1_1_2 = callPackage ../development/libraries/haskell/stm/2.1.1.2.nix {}; @@ -2155,7 +2405,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {}; stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {}; stm_2_4_2 = callPackage ../development/libraries/haskell/stm/2.4.2.nix {}; - stm = self.stm_2_4_2; + stm_2_4_3 = callPackage ../development/libraries/haskell/stm/2.4.3.nix {}; + stm = self.stm_2_4_3; stmChans = callPackage ../development/libraries/haskell/stm-chans {}; @@ -2171,10 +2422,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stringbuilder = callPackage ../development/libraries/haskell/stringbuilder {}; + stripe = callPackage ../development/libraries/haskell/stripe {}; + svgcairo = callPackage ../development/libraries/haskell/svgcairo { libc = pkgs.stdenv.gcc.libc; }; + SVGFonts = callPackage ../development/libraries/haskell/SVGFonts {}; + symbol = callPackage ../development/libraries/haskell/symbol {}; systemFilepath = callPackage ../development/libraries/haskell/system-filepath {}; @@ -2189,6 +2444,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x tagged = callPackage ../development/libraries/haskell/tagged {}; + tagshare = callPackage ../development/libraries/haskell/tagshare {}; + tagsoup = callPackage ../development/libraries/haskell/tagsoup {}; tagstreamConduit = callPackage ../development/libraries/haskell/tagstream-conduit {}; @@ -2203,7 +2460,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x tastyHunit = callPackage ../development/libraries/haskell/tasty-hunit {}; - tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {}; + tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck { + QuickCheck = self.QuickCheck_2_7_3; + }; + + tastyRerun = callPackage ../development/libraries/haskell/tasty-rerun {}; tastySmallcheck = callPackage ../development/libraries/haskell/tasty-smallcheck {}; @@ -2217,6 +2478,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x terminalProgressBar = callPackage ../development/libraries/haskell/terminal-progress-bar {}; + terminalSize = callPackage ../development/libraries/haskell/terminal-size {}; + terminfo_0_3_2_6 = callPackage ../development/libraries/haskell/terminfo/0.3.2.6.nix { inherit (pkgs) ncurses; }; terminfo_0_4_0_0 = callPackage ../development/libraries/haskell/terminfo/0.4.0.0.nix { inherit (pkgs) ncurses; }; terminfo = self.terminfo_0_4_0_0; @@ -2235,6 +2498,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x testFrameworkThPrime = callPackage ../development/libraries/haskell/test-framework-th-prime {}; + testingFeat = callPackage ../development/libraries/haskell/testing-feat {}; + texmath = callPackage ../development/libraries/haskell/texmath {}; text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {}; @@ -2244,15 +2509,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {}; text_0_11_2_3 = callPackage ../development/libraries/haskell/text/0.11.2.3.nix {}; text_0_11_3_1 = callPackage ../development/libraries/haskell/text/0.11.3.1.nix {}; - text_1_1_0_0 = callPackage ../development/libraries/haskell/text/1.1.0.0.nix {}; - text = self.text_1_1_0_0; + text_1_1_0_1 = callPackage ../development/libraries/haskell/text/1.1.0.1.nix {}; + text = self.text_1_1_0_1; textFormat = callPackage ../development/libraries/haskell/text-format {}; textIcu = callPackage ../development/libraries/haskell/text-icu {}; + textStreamDecode = callPackage ../development/libraries/haskell/text-stream-decode {}; + + tfRandom = callPackage ../development/libraries/haskell/tf-random {}; + thespian = callPackage ../development/libraries/haskell/thespian {}; + thDesugar = callPackage ../development/libraries/haskell/th-desugar {}; + thExtras = callPackage ../development/libraries/haskell/th-extras {}; thLift = callPackage ../development/libraries/haskell/th-lift {}; @@ -2268,20 +2539,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x threepennyGui = callPackage ../development/libraries/haskell/threepenny-gui {}; time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {}; - time_1_4_1 = callPackage ../development/libraries/haskell/time/1.4.1.nix {}; + time_1_4_2 = callPackage ../development/libraries/haskell/time/1.4.2.nix {}; # time is in the core package set. It should only be necessary to # pass it explicitly in rare circumstances. time = null; + timeparsers = callPackage ../development/libraries/haskell/timeparsers { + convertible = self.convertible_1_0_11_1; + }; + + timeRecurrence = callPackage ../development/libraries/haskell/time-recurrence {}; + timezoneOlson = callPackage ../development/libraries/haskell/timezone-olson {}; timezoneSeries = callPackage ../development/libraries/haskell/timezone-series {}; timeCompat = callPackage ../development/libraries/haskell/time-compat {}; - tls = callPackage ../development/libraries/haskell/tls {}; + tls_1_1_5 = callPackage ../development/libraries/haskell/tls/1.1.5.nix {}; + tls_1_2_6 = callPackage ../development/libraries/haskell/tls/1.2.6.nix {}; + tls = self.tls_1_2_6; - tlsExtra = callPackage ../development/libraries/haskell/tls-extra {}; + tlsExtra = callPackage ../development/libraries/haskell/tls-extra { + tls = self.tls_1_1_5; + }; transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {}; transformers_0_3_0_0 = if (pkgs.stdenv.lib.versionOlder ghc.version "7.7") then @@ -2292,16 +2573,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {}; + transformersFree = callPackage ../development/libraries/haskell/transformers-free {}; + traverseWithClass = callPackage ../development/libraries/haskell/traverse-with-class {}; - trifecta_1_1 = callPackage ../development/libraries/haskell/trifecta/1.1.nix { - parsers = self.parsers_0_9; - }; - trifecta_1_2 = callPackage ../development/libraries/haskell/trifecta/1.2.nix {}; - trifecta = self.trifecta_1_2; + treeView = callPackage ../development/libraries/haskell/tree-view {}; + + trifecta = callPackage ../development/libraries/haskell/trifecta {}; tuple = callPackage ../development/libraries/haskell/tuple {}; + twitterConduit = callPackage ../development/libraries/haskell/twitter-conduit {}; + + twitterTypes = callPackage ../development/libraries/haskell/twitter-types {}; + + TypeCompose = callPackage ../development/libraries/haskell/TypeCompose {}; + typeEq = callPackage ../development/libraries/haskell/type-eq {}; typeEquality = callPackage ../development/libraries/haskell/type-equality {}; @@ -2326,12 +2613,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x unixTime = callPackage ../development/libraries/haskell/unix-time {}; + Unixutils = callPackage ../development/libraries/haskell/Unixutils {}; + unlambda = callPackage ../development/libraries/haskell/unlambda {}; unorderedContainers_0_2_3_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.0.nix {}; unorderedContainers_0_2_3_3 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.3.nix {}; unorderedContainers = self.unorderedContainers_0_2_3_3; + uri = callPackage ../development/libraries/haskell/uri {}; + url = callPackage ../development/libraries/haskell/url {}; urlencoded = callPackage ../development/libraries/haskell/urlencoded {}; @@ -2358,10 +2649,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x vacuumCairo = callPackage ../development/libraries/haskell/vacuum-cairo {}; + vacuumGraphviz = callPackage ../development/libraries/haskell/vacuum-graphviz {}; + + vado = callPackage ../development/libraries/haskell/vado {}; + vault = callPackage ../development/libraries/haskell/vault {}; + vcsgui = callPackage ../development/libraries/haskell/vcsgui {}; + vcsRevision = callPackage ../development/libraries/haskell/vcs-revision {}; + vcswrapper = callPackage ../development/libraries/haskell/vcswrapper {}; + Vec = callPackage ../development/libraries/haskell/Vec {}; vect = callPackage ../development/libraries/haskell/vect {}; @@ -2400,8 +2699,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x waiLogger = callPackage ../development/libraries/haskell/wai-logger {}; + waiMiddlewareStatic = callPackage ../development/libraries/haskell/wai-middleware-static {}; + waiTest = callPackage ../development/libraries/haskell/wai-test {}; + waiWebsockets = callPackage ../development/libraries/haskell/wai-websockets {}; + warp = callPackage ../development/libraries/haskell/warp {}; warpTls = callPackage ../development/libraries/haskell/warp-tls {}; @@ -2441,6 +2744,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x wlPprintText = callPackage ../development/libraries/haskell/wl-pprint-text {}; + wizards = callPackage ../development/libraries/haskell/wizards {}; + word8 = callPackage ../development/libraries/haskell/word8 {}; wx = callPackage ../development/libraries/haskell/wxHaskell/wx.nix {}; @@ -2455,6 +2760,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix {}; + x509 = callPackage ../development/libraries/haskell/x509 {}; + + x509Store = callPackage ../development/libraries/haskell/x509-store {}; + + x509System = callPackage ../development/libraries/haskell/x509-system {}; + + x509Validation = callPackage ../development/libraries/haskell/x509-validation {}; + X11 = callPackage ../development/libraries/haskell/X11 {}; X11Xft = callPackage ../development/libraries/haskell/X11-xft {}; @@ -2479,8 +2792,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {}; + xmlLens = callPackage ../development/libraries/haskell/xml-lens {}; + xmlTypes = callPackage ../development/libraries/haskell/xml-types {}; + xournalParser = callPackage ../development/libraries/haskell/xournal-parser {}; + + xournalTypes = callPackage ../development/libraries/haskell/xournal-types {}; + xtest = callPackage ../development/libraries/haskell/xtest {}; xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {}; @@ -2509,8 +2828,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x yesodPersistent = callPackage ../development/libraries/haskell/yesod-persistent {}; - yesodPlatform = callPackage ../development/libraries/haskell/yesod-platform {}; - yesodRoutes = callPackage ../development/libraries/haskell/yesod-routes {}; yesodStatic = callPackage ../development/libraries/haskell/yesod-static {}; @@ -2553,8 +2870,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x zlibEnum = callPackage ../development/libraries/haskell/zlib-enum {}; - Zwaluw = callPackage ../development/libraries/haskell/Zwaluw {}; - # Compilers. AgdaExecutable = callPackage ../development/compilers/Agda-executable {}; @@ -2585,6 +2900,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x BNFCMeta = callPackage ../development/tools/haskell/BNFC-meta {}; + cake3 = callPackage ../development/tools/haskell/cake3 {}; + cpphs = callPackage ../development/tools/misc/cpphs {}; Ebnf2ps = callPackage ../development/tools/parsing/Ebnf2ps {}; @@ -2597,8 +2914,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {}; haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {}; haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {}; - haddock_2_13_2_1 = callPackage ../development/tools/documentation/haddock/2.13.2.1.nix {}; - haddock = self.haddock_2_13_2_1; + haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {}; + haddock = self.haddock_2_14_2; + + HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {}; happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {}; happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {}; @@ -2608,7 +2927,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {}; happy_1_18_11 = callPackage ../development/tools/parsing/happy/1.18.11.nix {}; happy_1_19_2 = callPackage ../development/tools/parsing/happy/1.19.2.nix {}; - happy = self.happy_1_19_2; + happy_1_19_3 = callPackage ../development/tools/parsing/happy/1.19.3.nix {}; + happy = self.happy_1_19_3; happyMeta = callPackage ../development/tools/haskell/happy-meta {}; @@ -2639,8 +2959,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x darcs = callPackage ../applications/version-management/darcs {}; idris_plain = callPackage ../development/compilers/idris { - parsers = self.parsers_0_9; - trifecta = self.trifecta_1_1; + llvmGeneral = self.llvmGeneral_3_3_8_2; + llvmGeneralPure = self.llvmGeneralPure_3_3_8_2; }; idris = callPackage ../development/compilers/idris/wrapper.nix {}; @@ -2649,6 +2969,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x QuickCheck = self.QuickCheck2; }; + nc-indicators = callPackage ../applications/misc/nc-indicators {}; + + sloane = callPackage ../applications/science/math/sloane {}; + + taffybar = callPackage ../applications/misc/taffybar {}; + yi = callPackage ../applications/editors/yi/yi.nix {}; yiContrib = callPackage ../applications/editors/yi/yi-contrib.nix {}; @@ -2665,8 +2991,31 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cabal2nix = callPackage ../development/tools/haskell/cabal2nix {}; + # Build a cabal package given a local .cabal file + buildLocalCabal = src: name: let + cabalExpr = pkgs.stdenv.mkDerivation ({ + name = "${name}.nix"; + + buildCommand = '' + ${self.cabal2nix}/bin/cabal2nix ${src + "/${name}.cabal"} --sha256=FILTERME \ + | grep -v FILTERME | sed \ + -e 's/licenses.proprietary/licenses.unfree/' \ + -e 's/{ cabal/{ cabal, src/' \ + -e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n jailbreak = true;/' > $out + ''; + + } // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux { + LANG = "en_US.UTF-8"; + LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + }); + in callPackage cabalExpr { inherit src; }; + + cabalDelete = callPackage ../development/tools/haskell/cabal-delete {}; + cabalDev = callPackage ../development/tools/haskell/cabal-dev {}; + cabalMeta = callPackage ../development/tools/haskell/cabal-meta {}; + cabal2Ghci = callPackage ../development/tools/haskell/cabal2ghci {}; cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {}; @@ -2677,12 +3026,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {}; cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {}; cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {}; - cabalInstall_1_18_0_2 = callPackage ../tools/package-management/cabal-install/1.18.0.2.nix { - Cabal = self.Cabal_1_18_1_2; + cabalInstall_1_18_0_3 = callPackage ../tools/package-management/cabal-install/1.18.0.3.nix { + Cabal = self.Cabal_1_18_1_3; }; - cabalInstall = self.cabalInstall_1_18_0_2; + cabalInstall = self.cabalInstall_1_18_0_3; - gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {}; + gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex { + hS3 = self.hS3.override { Crypto = self.Crypto.override { QuickCheck = self.QuickCheck_2_7_3; }; }; + }; githubBackup = callPackage ../applications/version-management/git-and-tools/github-backup {}; @@ -2692,17 +3043,24 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lhs2tex = callPackage ../tools/typesetting/lhs2tex {}; - myhasktags = callPackage ../tools/misc/myhasktags {}; - packunused = callPackage ../development/tools/haskell/packunused {}; + rehoo = callPackage ../development/tools/haskell/rehoo {}; + + sizes = callPackage ../tools/system/sizes {}; + splot = callPackage ../development/tools/haskell/splot {}; timeplot = callPackage ../development/tools/haskell/timeplot {}; + una = callPackage ../development/tools/haskell/una {}; + # Games. - LambdaHack = callPackage ../games/LambdaHack {}; + LambdaHack = callPackage ../games/LambdaHack { + binary = self.binary_0_7_1_0; + vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; + }; MazesOfMonad = callPackage ../games/MazesOfMonad {}; diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index b50f064af0c6..70330f4304f1 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -46,8 +46,18 @@ releaseTools.sourceTarball rec { export NIX_STATE_DIR=$TMPDIR nix-store --init + # Make sure that derivation paths do not depend on the Nixpkgs path. + mkdir $TMPDIR/foo + ln -s $(readlink -f .) $TMPDIR/foo/bar + p1=$(nix-instantiate pkgs/top-level/all-packages.nix --dry-run -A firefox) + p2=$(nix-instantiate $TMPDIR/foo/bar/pkgs/top-level/all-packages.nix --dry-run -A firefox) + if [ "$p1" != "$p2" ]; then + echo "Nixpkgs evaluation depends on Nixpkgs path ($p1 vs $p2)!" + exit 1 + fi + # Run the regression tests in `lib'. - res="$(nix-instantiate --eval-only --strict --show-trace lib/tests.nix)" + res="$(nix-instantiate --eval --strict --show-trace lib/tests.nix)" if test "$res" != "[ ]"; then echo "regression tests for lib failed, got: $res" exit 1 @@ -56,20 +66,22 @@ releaseTools.sourceTarball rec { # Check that all-packages.nix evaluates on a number of platforms. for platform in i686-linux x86_64-linux x86_64-darwin i686-freebsd x86_64-freebsd; do header "checking pkgs/top-level/all-packages.nix on $platform" - nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \ + nix-env -f pkgs/top-level/all-packages.nix \ --show-trace --argstr system "$platform" \ -qa \* --drv-path --system-filter \* --system --meta --xml > /dev/null stopNest done header "checking eval-release.nix" - nix-instantiate --eval-only --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null + nix-instantiate --eval --strict --show-trace ./maintainers/scripts/eval-release.nix > /dev/null + stopNest + + header "checking find-tarballs.nix" + nix-instantiate --eval --strict --show-trace ./maintainers/scripts/find-tarballs.nix > /dev/null stopNest ''; distPhase = '' - find . -name "\.svn" -exec rm -rvf {} \; -prune - mkdir -p $out/tarballs mkdir ../$releaseName cp -prd . ../$releaseName diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix index 07bfa1531255..281541787706 100644 --- a/pkgs/top-level/node-packages-generated.nix +++ b/pkgs/top-level/node-packages-generated.nix @@ -1,38 +1,78 @@ { self, fetchurl, fetchgit ? null, lib }: { - by-spec."CSSselect"."0.x" = - self.by-version."CSSselect"."0.4.0"; - by-version."CSSselect"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "CSSselect-0.4.0"; + by-spec."Base64"."~0.2.0" = + self.by-version."Base64"."0.2.1"; + by-version."Base64"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-Base64-0.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.0.tgz"; - name = "CSSselect-0.4.0.tgz"; - sha1 = "0ddaecd7d157f482d101dfbe154d3accd9166331"; + url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz"; + name = "Base64-0.2.1.tgz"; + sha1 = "ba3a4230708e186705065e66babdd4c35cf60028"; + }) + ]; + buildInputs = + (self.nativeDeps."Base64" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "Base64" ]; + }; + by-spec."CSSselect"."0.x" = + self.by-version."CSSselect"."0.7.0"; + by-version."CSSselect"."0.7.0" = lib.makeOverridable self.buildNodePackage { + name = "node-CSSselect-0.7.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.7.0.tgz"; + name = "CSSselect-0.7.0.tgz"; + sha1 = "e4054c67b467465f3c9500c0da0aa7878c4babd2"; }) ]; buildInputs = (self.nativeDeps."CSSselect" or []); deps = [ - self.by-version."CSSwhat"."0.4.1" - self.by-version."domutils"."1.3.0" + self.by-version."CSSwhat"."0.4.5" + self.by-version."domutils"."1.4.3" + self.by-version."boolbase"."1.0.0" + self.by-version."nth-check"."1.0.0" ]; peerDependencies = [ ]; passthru.names = [ "CSSselect" ]; }; by-spec."CSSselect"."~0.4.0" = - self.by-version."CSSselect"."0.4.0"; - by-spec."CSSwhat"."0.4" = - self.by-version."CSSwhat"."0.4.1"; - by-version."CSSwhat"."0.4.1" = lib.makeOverridable self.buildNodePackage { - name = "CSSwhat-0.4.1"; + self.by-version."CSSselect"."0.4.1"; + by-version."CSSselect"."0.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-CSSselect-0.4.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.1.tgz"; - name = "CSSwhat-0.4.1.tgz"; - sha1 = "fe6580461b2a3ad550d2a7785a051234974dfca7"; + url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz"; + name = "CSSselect-0.4.1.tgz"; + sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2"; + }) + ]; + buildInputs = + (self.nativeDeps."CSSselect" or []); + deps = [ + self.by-version."CSSwhat"."0.4.5" + self.by-version."domutils"."1.4.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "CSSselect" ]; + }; + by-spec."CSSwhat"."0.4" = + self.by-version."CSSwhat"."0.4.5"; + by-version."CSSwhat"."0.4.5" = lib.makeOverridable self.buildNodePackage { + name = "node-CSSwhat-0.4.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.5.tgz"; + name = "CSSwhat-0.4.5.tgz"; + sha1 = "85d7b2799ff3d98055353c802949e39913e16a62"; }) ]; buildInputs = @@ -43,10 +83,52 @@ ]; passthru.names = [ "CSSwhat" ]; }; + by-spec."JSONStream"."~0.6.4" = + self.by-version."JSONStream"."0.6.4"; + by-version."JSONStream"."0.6.4" = lib.makeOverridable self.buildNodePackage { + name = "node-JSONStream-0.6.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz"; + name = "JSONStream-0.6.4.tgz"; + sha1 = "4b2c8063f8f512787b2375f7ee9db69208fa2dcb"; + }) + ]; + buildInputs = + (self.nativeDeps."JSONStream" or []); + deps = [ + self.by-version."jsonparse"."0.0.5" + self.by-version."through"."2.2.7" + ]; + peerDependencies = [ + ]; + passthru.names = [ "JSONStream" ]; + }; + by-spec."JSONStream"."~0.7.1" = + self.by-version."JSONStream"."0.7.2"; + by-version."JSONStream"."0.7.2" = lib.makeOverridable self.buildNodePackage { + name = "node-JSONStream-0.7.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.7.2.tgz"; + name = "JSONStream-0.7.2.tgz"; + sha1 = "27f4d7fe1918dc08ee72aed9c794e32ce80618f7"; + }) + ]; + buildInputs = + (self.nativeDeps."JSONStream" or []); + deps = [ + self.by-version."jsonparse"."0.0.5" + self.by-version."through"."2.3.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "JSONStream" ]; + }; by-spec."StringScanner"."~0.0.3" = self.by-version."StringScanner"."0.0.3"; by-version."StringScanner"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "StringScanner-0.0.3"; + name = "node-StringScanner-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/StringScanner/-/StringScanner-0.0.3.tgz"; @@ -65,7 +147,7 @@ by-spec."abbrev"."1" = self.by-version."abbrev"."1.0.4"; by-version."abbrev"."1.0.4" = lib.makeOverridable self.buildNodePackage { - name = "abbrev-1.0.4"; + name = "node-abbrev-1.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz"; @@ -85,10 +167,31 @@ self.by-version."abbrev"."1.0.4"; by-spec."abbrev"."~1.0.4" = self.by-version."abbrev"."1.0.4"; + by-spec."accepts"."1.0.0" = + self.by-version."accepts"."1.0.0"; + by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-accepts-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz"; + name = "accepts-1.0.0.tgz"; + sha1 = "3604c765586c3b9cf7877b6937cdbd4587f947dc"; + }) + ]; + buildInputs = + (self.nativeDeps."accepts" or []); + deps = [ + self.by-version."mime"."1.2.11" + self.by-version."negotiator"."0.3.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "accepts" ]; + }; by-spec."active-x-obfuscator"."0.0.1" = self.by-version."active-x-obfuscator"."0.0.1"; by-version."active-x-obfuscator"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "active-x-obfuscator-0.0.1"; + name = "node-active-x-obfuscator-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz"; @@ -106,14 +209,14 @@ passthru.names = [ "active-x-obfuscator" ]; }; by-spec."addressparser"."~0.2.0" = - self.by-version."addressparser"."0.2.0"; - by-version."addressparser"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "addressparser-0.2.0"; + self.by-version."addressparser"."0.2.1"; + by-version."addressparser"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-addressparser-0.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.0.tgz"; - name = "addressparser-0.2.0.tgz"; - sha1 = "853383313b7b60259ba4558ef1c0bc30efac08fc"; + url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz"; + name = "addressparser-0.2.1.tgz"; + sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607"; }) ]; buildInputs = @@ -127,7 +230,7 @@ by-spec."adm-zip"."0.2.1" = self.by-version."adm-zip"."0.2.1"; by-version."adm-zip"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "adm-zip-0.2.1"; + name = "node-adm-zip-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz"; @@ -143,15 +246,15 @@ ]; passthru.names = [ "adm-zip" ]; }; - by-spec."adm-zip"."~0.4.3" = - self.by-version."adm-zip"."0.4.3"; - by-version."adm-zip"."0.4.3" = lib.makeOverridable self.buildNodePackage { - name = "adm-zip-0.4.3"; + by-spec."adm-zip"."^0.4.3" = + self.by-version."adm-zip"."0.4.4"; + by-version."adm-zip"."0.4.4" = lib.makeOverridable self.buildNodePackage { + name = "node-adm-zip-0.4.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.3.tgz"; - name = "adm-zip-0.4.3.tgz"; - sha1 = "28d6a3809abb7845a0ffa38f9fff455c2c6f6f6c"; + url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz"; + name = "adm-zip-0.4.4.tgz"; + sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736"; }) ]; buildInputs = @@ -162,10 +265,12 @@ ]; passthru.names = [ "adm-zip" ]; }; + by-spec."adm-zip"."~0.4.3" = + self.by-version."adm-zip"."0.4.4"; by-spec."almond"."*" = self.by-version."almond"."0.2.9"; by-version."almond"."0.2.9" = lib.makeOverridable self.buildNodePackage { - name = "almond-0.2.9"; + name = "node-almond-0.2.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/almond/-/almond-0.2.9.tgz"; @@ -185,7 +290,7 @@ by-spec."amdefine"."*" = self.by-version."amdefine"."0.1.0"; by-version."amdefine"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "amdefine-0.1.0"; + name = "node-amdefine-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"; @@ -226,7 +331,7 @@ by-spec."ansi-remover"."*" = self.by-version."ansi-remover"."0.0.2"; by-version."ansi-remover"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "ansi-remover-0.0.2"; + name = "node-ansi-remover-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz"; @@ -246,7 +351,7 @@ by-spec."ansi-styles"."~0.1.0" = self.by-version."ansi-styles"."0.1.2"; by-version."ansi-styles"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "ansi-styles-0.1.2"; + name = "node-ansi-styles-0.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz"; @@ -265,7 +370,7 @@ by-spec."ansi-styles"."~0.2.0" = self.by-version."ansi-styles"."0.2.0"; by-version."ansi-styles"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "ansi-styles-0.2.0"; + name = "node-ansi-styles-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz"; @@ -284,7 +389,7 @@ by-spec."ansi-styles"."~1.0.0" = self.by-version."ansi-styles"."1.0.0"; by-version."ansi-styles"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "ansi-styles-1.0.0"; + name = "node-ansi-styles-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"; @@ -303,7 +408,7 @@ by-spec."ansicolors"."~0.2.1" = self.by-version."ansicolors"."0.2.1"; by-version."ansicolors"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "ansicolors-0.2.1"; + name = "node-ansicolors-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz"; @@ -322,7 +427,7 @@ by-spec."ansicolors"."~0.3.2" = self.by-version."ansicolors"."0.3.2"; by-version."ansicolors"."0.3.2" = lib.makeOverridable self.buildNodePackage { - name = "ansicolors-0.3.2"; + name = "node-ansicolors-0.3.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz"; @@ -341,7 +446,7 @@ by-spec."ansistyles"."~0.1.3" = self.by-version."ansistyles"."0.1.3"; by-version."ansistyles"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "ansistyles-0.1.3"; + name = "node-ansistyles-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"; @@ -357,10 +462,10 @@ ]; passthru.names = [ "ansistyles" ]; }; - by-spec."apparatus".">= 0.0.4" = + by-spec."apparatus".">= 0.0.6" = self.by-version."apparatus"."0.0.8"; by-version."apparatus"."0.0.8" = lib.makeOverridable self.buildNodePackage { - name = "apparatus-0.0.8"; + name = "node-apparatus-0.0.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.8.tgz"; @@ -377,22 +482,25 @@ ]; passthru.names = [ "apparatus" ]; }; - by-spec."archiver"."~0.4.10" = - self.by-version."archiver"."0.4.10"; - by-version."archiver"."0.4.10" = lib.makeOverridable self.buildNodePackage { - name = "archiver-0.4.10"; + by-spec."archiver"."~0.5.2" = + self.by-version."archiver"."0.5.2"; + by-version."archiver"."0.5.2" = lib.makeOverridable self.buildNodePackage { + name = "node-archiver-0.5.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz"; - name = "archiver-0.4.10.tgz"; - sha1 = "df0feac8f1d1295e5eceb3a205559072d21f4747"; + url = "http://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz"; + name = "archiver-0.5.2.tgz"; + sha1 = "4e021b1fea5d902201f4886fca6a19fcc760083b"; }) ]; buildInputs = (self.nativeDeps."archiver" or []); deps = [ - self.by-version."readable-stream"."1.0.24" - self.by-version."iconv-lite"."0.2.11" + self.by-version."readable-stream"."1.0.26" + self.by-version."zip-stream"."0.1.4" + self.by-version."lazystream"."0.1.0" + self.by-version."file-utils"."0.1.5" + self.by-version."lodash"."2.4.1" ]; peerDependencies = [ ]; @@ -401,7 +509,7 @@ by-spec."archy"."0" = self.by-version."archy"."0.0.2"; by-version."archy"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "archy-0.0.2"; + name = "node-archy-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz"; @@ -422,7 +530,7 @@ by-spec."argparse"."0.1.15" = self.by-version."argparse"."0.1.15"; by-version."argparse"."0.1.15" = lib.makeOverridable self.buildNodePackage { - name = "argparse-0.1.15"; + name = "node-argparse-0.1.15"; src = [ (fetchurl { url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz"; @@ -442,10 +550,105 @@ }; by-spec."argparse"."~ 0.1.11" = self.by-version."argparse"."0.1.15"; + by-spec."array-filter"."~0.0.0" = + self.by-version."array-filter"."0.0.1"; + by-version."array-filter"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-array-filter-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; + name = "array-filter-0.0.1.tgz"; + sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; + }) + ]; + buildInputs = + (self.nativeDeps."array-filter" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "array-filter" ]; + }; + by-spec."array-map"."~0.0.0" = + self.by-version."array-map"."0.0.0"; + by-version."array-map"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-array-map-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; + name = "array-map-0.0.0.tgz"; + sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; + }) + ]; + buildInputs = + (self.nativeDeps."array-map" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "array-map" ]; + }; + by-spec."array-reduce"."~0.0.0" = + self.by-version."array-reduce"."0.0.0"; + by-version."array-reduce"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-array-reduce-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; + name = "array-reduce-0.0.0.tgz"; + sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; + }) + ]; + buildInputs = + (self.nativeDeps."array-reduce" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "array-reduce" ]; + }; + by-spec."asap"."^1.0.0" = + self.by-version."asap"."1.0.0"; + by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-asap-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz"; + name = "asap-1.0.0.tgz"; + sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d"; + }) + ]; + buildInputs = + (self.nativeDeps."asap" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "asap" ]; + }; + by-spec."ascii-json"."~0.2" = + self.by-version."ascii-json"."0.2.0"; + by-version."ascii-json"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-ascii-json-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz"; + name = "ascii-json-0.2.0.tgz"; + sha1 = "10ddb361fd48f72595309fd10a6ea2e7bf2c9218"; + }) + ]; + buildInputs = + (self.nativeDeps."ascii-json" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "ascii-json" ]; + }; by-spec."ascli"."*" = self.by-version."ascli"."0.3.0"; by-version."ascli"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "ascli-0.3.0"; + name = "node-ascli-0.3.0"; src = [ (self.patchSource fetchurl { url = "http://registry.npmjs.org/ascli/-/ascli-0.3.0.tgz"; @@ -466,7 +669,7 @@ by-spec."asn1"."0.1.11" = self.by-version."asn1"."0.1.11"; by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage { - name = "asn1-0.1.11"; + name = "node-asn1-0.1.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"; @@ -483,14 +686,14 @@ passthru.names = [ "asn1" ]; }; by-spec."assert"."*" = - self.by-version."assert"."1.1.0"; - by-version."assert"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "assert-1.1.0"; + self.by-version."assert"."1.1.1"; + by-version."assert"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-assert-1.1.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/assert/-/assert-1.1.0.tgz"; - name = "assert-1.1.0.tgz"; - sha1 = "851f832b880525bb9f6c1bb1dfd93ea028247f23"; + url = "http://registry.npmjs.org/assert/-/assert-1.1.1.tgz"; + name = "assert-1.1.1.tgz"; + sha1 = "766549ef4a6014b1e19c7c53f9816eabda440760"; }) ]; buildInputs = @@ -502,11 +705,13 @@ ]; passthru.names = [ "assert" ]; }; - "assert" = self.by-version."assert"."1.1.0"; + "assert" = self.by-version."assert"."1.1.1"; + by-spec."assert"."~1.1.0" = + self.by-version."assert"."1.1.1"; by-spec."assert-plus"."0.1.2" = self.by-version."assert-plus"."0.1.2"; by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "assert-plus-0.1.2"; + name = "node-assert-plus-0.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"; @@ -525,7 +730,7 @@ by-spec."assertion-error"."1.0.0" = self.by-version."assertion-error"."1.0.0"; by-version."assertion-error"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "assertion-error-1.0.0"; + name = "node-assertion-error-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz"; @@ -541,15 +746,35 @@ ]; passthru.names = [ "assertion-error" ]; }; - by-spec."async"."*" = - self.by-version."async"."0.2.9"; - by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage { - name = "async-0.2.9"; + by-spec."astw"."~1.1.0" = + self.by-version."astw"."1.1.0"; + by-version."astw"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-astw-1.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz"; - name = "async-0.2.9.tgz"; - sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619"; + url = "http://registry.npmjs.org/astw/-/astw-1.1.0.tgz"; + name = "astw-1.1.0.tgz"; + sha1 = "f394778ab01c4ea467e64a614ed896ace0321a34"; + }) + ]; + buildInputs = + (self.nativeDeps."astw" or []); + deps = [ + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + ]; + peerDependencies = [ + ]; + passthru.names = [ "astw" ]; + }; + by-spec."async"."*" = + self.by-version."async"."0.7.0"; + by-version."async"."0.7.0" = lib.makeOverridable self.buildNodePackage { + name = "node-async-0.7.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz"; + name = "async-0.7.0.tgz"; + sha1 = "4429e0e62f5de0a54f37458c49f0b897eb52ada5"; }) ]; buildInputs = @@ -560,11 +785,11 @@ ]; passthru.names = [ "async" ]; }; - "async" = self.by-version."async"."0.2.9"; + "async" = self.by-version."async"."0.7.0"; by-spec."async"."0.1.15" = self.by-version."async"."0.1.15"; by-version."async"."0.1.15" = lib.makeOverridable self.buildNodePackage { - name = "async-0.1.15"; + name = "node-async-0.1.15"; src = [ (fetchurl { url = "http://registry.npmjs.org/async/-/async-0.1.15.tgz"; @@ -583,7 +808,7 @@ by-spec."async"."0.1.22" = self.by-version."async"."0.1.22"; by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage { - name = "async-0.1.22"; + name = "node-async-0.1.22"; src = [ (fetchurl { url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz"; @@ -603,27 +828,101 @@ self.by-version."async"."0.1.22"; by-spec."async"."0.2.9" = self.by-version."async"."0.2.9"; + by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage { + name = "node-async-0.2.9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/async/-/async-0.2.9.tgz"; + name = "async-0.2.9.tgz"; + sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619"; + }) + ]; + buildInputs = + (self.nativeDeps."async" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "async" ]; + }; by-spec."async"."0.2.x" = - self.by-version."async"."0.2.9"; + self.by-version."async"."0.2.10"; + by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage { + name = "node-async-0.2.10"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz"; + name = "async-0.2.10.tgz"; + sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1"; + }) + ]; + buildInputs = + (self.nativeDeps."async" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "async" ]; + }; + by-spec."async"."^0.2.10" = + self.by-version."async"."0.2.10"; by-spec."async"."~0.1.22" = self.by-version."async"."0.1.22"; by-spec."async"."~0.2.6" = - self.by-version."async"."0.2.9"; + self.by-version."async"."0.2.10"; by-spec."async"."~0.2.7" = - self.by-version."async"."0.2.9"; + self.by-version."async"."0.2.10"; by-spec."async"."~0.2.8" = - self.by-version."async"."0.2.9"; + self.by-version."async"."0.2.10"; by-spec."async"."~0.2.9" = - self.by-version."async"."0.2.9"; - by-spec."aws-sdk"."*" = - self.by-version."aws-sdk"."2.0.0-rc7"; - by-version."aws-sdk"."2.0.0-rc7" = lib.makeOverridable self.buildNodePackage { - name = "aws-sdk-2.0.0-rc7"; + self.by-version."async"."0.2.10"; + by-spec."async"."~0.4" = + self.by-version."async"."0.4.1"; + by-version."async"."0.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-async-0.4.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc7.tgz"; - name = "aws-sdk-2.0.0-rc7.tgz"; - sha1 = "4b367185bd093f2681aea2cfb1e3e85a06fa04cd"; + url = "http://registry.npmjs.org/async/-/async-0.4.1.tgz"; + name = "async-0.4.1.tgz"; + sha1 = "1985abade017df906bfaa8d77d424b25366b3a5b"; + }) + ]; + buildInputs = + (self.nativeDeps."async" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "async" ]; + }; + by-spec."async"."~0.6.2" = + self.by-version."async"."0.6.2"; + by-version."async"."0.6.2" = lib.makeOverridable self.buildNodePackage { + name = "node-async-0.6.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/async/-/async-0.6.2.tgz"; + name = "async-0.6.2.tgz"; + sha1 = "41fd038a3812c0a8bc1842ecf08ba63eb0392bef"; + }) + ]; + buildInputs = + (self.nativeDeps."async" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "async" ]; + }; + by-spec."aws-sdk"."*" = + self.by-version."aws-sdk"."2.0.0-rc9"; + by-version."aws-sdk"."2.0.0-rc9" = lib.makeOverridable self.buildNodePackage { + name = "node-aws-sdk-2.0.0-rc9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.0-rc9.tgz"; + name = "aws-sdk-2.0.0-rc9.tgz"; + sha1 = "caa7653837f7886e7f9e4da5df3b3c8324d7d0ab"; }) ]; buildInputs = @@ -636,16 +935,16 @@ ]; passthru.names = [ "aws-sdk" ]; }; - "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc7"; + "aws-sdk" = self.by-version."aws-sdk"."2.0.0-rc9"; by-spec."aws-sdk".">=1.2.0 <2" = - self.by-version."aws-sdk"."1.17.2"; - by-version."aws-sdk"."1.17.2" = lib.makeOverridable self.buildNodePackage { - name = "aws-sdk-1.17.2"; + self.by-version."aws-sdk"."1.18.0"; + by-version."aws-sdk"."1.18.0" = lib.makeOverridable self.buildNodePackage { + name = "node-aws-sdk-1.18.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.17.2.tgz"; - name = "aws-sdk-1.17.2.tgz"; - sha1 = "1e9c6ae5baa6f3eca29cece19f199040cd01cd30"; + url = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz"; + name = "aws-sdk-1.18.0.tgz"; + sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3"; }) ]; buildInputs = @@ -661,7 +960,7 @@ by-spec."aws-sign"."~0.2.0" = self.by-version."aws-sign"."0.2.0"; by-version."aws-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "aws-sign-0.2.0"; + name = "node-aws-sign-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz"; @@ -680,7 +979,7 @@ by-spec."aws-sign"."~0.3.0" = self.by-version."aws-sign"."0.3.0"; by-version."aws-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "aws-sign-0.3.0"; + name = "node-aws-sign-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz"; @@ -699,7 +998,7 @@ by-spec."aws-sign2"."~0.5.0" = self.by-version."aws-sign2"."0.5.0"; by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "aws-sign2-0.5.0"; + name = "node-aws-sign2-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"; @@ -716,30 +1015,30 @@ passthru.names = [ "aws-sign2" ]; }; by-spec."backbone"."*" = - self.by-version."backbone"."1.1.0"; - by-version."backbone"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "backbone-1.1.0"; + self.by-version."backbone"."1.1.2"; + by-version."backbone"."1.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-backbone-1.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/backbone/-/backbone-1.1.0.tgz"; - name = "backbone-1.1.0.tgz"; - sha1 = "a3c845ea707dc210aa12b0dc16fceca4bbc18a3e"; + url = "http://registry.npmjs.org/backbone/-/backbone-1.1.2.tgz"; + name = "backbone-1.1.2.tgz"; + sha1 = "c2c04c66bf87268fb82c177acebeff7d37ba6f2d"; }) ]; buildInputs = (self.nativeDeps."backbone" or []); deps = [ - self.by-version."underscore"."1.5.2" + self.by-version."underscore"."1.6.0" ]; peerDependencies = [ ]; passthru.names = [ "backbone" ]; }; - "backbone" = self.by-version."backbone"."1.1.0"; + "backbone" = self.by-version."backbone"."1.1.2"; by-spec."backoff"."2.1.0" = self.by-version."backoff"."2.1.0"; by-version."backoff"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "backoff-2.1.0"; + name = "node-backoff-2.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz"; @@ -755,10 +1054,48 @@ ]; passthru.names = [ "backoff" ]; }; + by-spec."base62"."0.1.1" = + self.by-version."base62"."0.1.1"; + by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-base62-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz"; + name = "base62-0.1.1.tgz"; + sha1 = "7b4174c2f94449753b11c2651c083da841a7b084"; + }) + ]; + buildInputs = + (self.nativeDeps."base62" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "base62" ]; + }; + by-spec."base64-js"."~0.0.4" = + self.by-version."base64-js"."0.0.6"; + by-version."base64-js"."0.0.6" = lib.makeOverridable self.buildNodePackage { + name = "node-base64-js-0.0.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz"; + name = "base64-js-0.0.6.tgz"; + sha1 = "7b859f79f0bbbd55867ba67a7fab397e24a20947"; + }) + ]; + buildInputs = + (self.nativeDeps."base64-js" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "base64-js" ]; + }; by-spec."base64id"."0.1.0" = self.by-version."base64id"."0.1.0"; by-version."base64id"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "base64id-0.1.0"; + name = "node-base64id-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz"; @@ -774,10 +1111,29 @@ ]; passthru.names = [ "base64id" ]; }; + by-spec."basic-auth-connect"."1.0.0" = + self.by-version."basic-auth-connect"."1.0.0"; + by-version."basic-auth-connect"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-basic-auth-connect-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz"; + name = "basic-auth-connect-1.0.0.tgz"; + sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122"; + }) + ]; + buildInputs = + (self.nativeDeps."basic-auth-connect" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "basic-auth-connect" ]; + }; by-spec."batch"."0.5.0" = self.by-version."batch"."0.5.0"; by-version."batch"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "batch-0.5.0"; + name = "node-batch-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/batch/-/batch-0.5.0.tgz"; @@ -796,7 +1152,7 @@ by-spec."bcrypt"."*" = self.by-version."bcrypt"."0.7.7"; by-version."bcrypt"."0.7.7" = lib.makeOverridable self.buildNodePackage { - name = "bcrypt-0.7.7"; + name = "node-bcrypt-0.7.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.7.7.tgz"; @@ -817,7 +1173,7 @@ by-spec."binary"."~0.3.0" = self.by-version."binary"."0.3.0"; by-version."binary"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "binary-0.3.0"; + name = "node-binary-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/binary/-/binary-0.3.0.tgz"; @@ -836,14 +1192,14 @@ passthru.names = [ "binary" ]; }; by-spec."bindings"."*" = - self.by-version."bindings"."1.1.1"; - by-version."bindings"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "bindings-1.1.1"; + self.by-version."bindings"."1.2.0"; + by-version."bindings"."1.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-bindings-1.2.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz"; - name = "bindings-1.1.1.tgz"; - sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3"; + url = "http://registry.npmjs.org/bindings/-/bindings-1.2.0.tgz"; + name = "bindings-1.2.0.tgz"; + sha1 = "c224fc5b349a84043779f97a6271d9d70da7636f"; }) ]; buildInputs = @@ -857,7 +1213,7 @@ by-spec."bindings"."1.0.0" = self.by-version."bindings"."1.0.0"; by-version."bindings"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "bindings-1.0.0"; + name = "node-bindings-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz"; @@ -876,7 +1232,7 @@ by-spec."block-stream"."*" = self.by-version."block-stream"."0.0.7"; by-version."block-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage { - name = "block-stream-0.0.7"; + name = "node-block-stream-0.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz"; @@ -898,7 +1254,7 @@ by-spec."blueimp-md5"."~1.1.0" = self.by-version."blueimp-md5"."1.1.0"; by-version."blueimp-md5"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "blueimp-md5-1.1.0"; + name = "node-blueimp-md5-1.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/blueimp-md5/-/blueimp-md5-1.1.0.tgz"; @@ -914,10 +1270,51 @@ ]; passthru.names = [ "blueimp-md5" ]; }; + by-spec."body-parser"."~1.0.1" = + self.by-version."body-parser"."1.0.2"; + by-version."body-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-body-parser-1.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/body-parser/-/body-parser-1.0.2.tgz"; + name = "body-parser-1.0.2.tgz"; + sha1 = "3461479a3278fe00fcaebec3314bb54fc4f7b47c"; + }) + ]; + buildInputs = + (self.nativeDeps."body-parser" or []); + deps = [ + self.by-version."type-is"."1.1.0" + self.by-version."raw-body"."1.1.3" + self.by-version."qs"."0.6.6" + ]; + peerDependencies = [ + ]; + passthru.names = [ "body-parser" ]; + }; + by-spec."boolbase"."~1.0.0" = + self.by-version."boolbase"."1.0.0"; + by-version."boolbase"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-boolbase-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"; + name = "boolbase-1.0.0.tgz"; + sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; + }) + ]; + buildInputs = + (self.nativeDeps."boolbase" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "boolbase" ]; + }; by-spec."boom"."0.3.x" = self.by-version."boom"."0.3.8"; by-version."boom"."0.3.8" = lib.makeOverridable self.buildNodePackage { - name = "boom-0.3.8"; + name = "node-boom-0.3.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz"; @@ -937,7 +1334,7 @@ by-spec."boom"."0.4.x" = self.by-version."boom"."0.4.2"; by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "boom-0.4.2"; + name = "node-boom-0.4.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz"; @@ -955,6 +1352,71 @@ passthru.names = [ "boom" ]; }; by-spec."bower"."*" = + self.by-version."bower"."1.3.2"; + by-version."bower"."1.3.2" = lib.makeOverridable self.buildNodePackage { + name = "bower-1.3.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/bower/-/bower-1.3.2.tgz"; + name = "bower-1.3.2.tgz"; + sha1 = "ae1eeea5c3ba9300e10e55b193e9d2fd5407fb7b"; + }) + ]; + buildInputs = + (self.nativeDeps."bower" or []); + deps = [ + self.by-version."abbrev"."1.0.4" + self.by-version."archy"."0.0.2" + self.by-version."bower-config"."0.5.0" + self.by-version."bower-endpoint-parser"."0.2.1" + self.by-version."bower-json"."0.4.0" + self.by-version."bower-logger"."0.2.2" + self.by-version."bower-registry-client"."0.1.6" + self.by-version."cardinal"."0.4.4" + self.by-version."chalk"."0.4.0" + self.by-version."chmodr"."0.1.0" + self.by-version."decompress-zip"."0.0.6" + self.by-version."fstream"."0.1.25" + self.by-version."fstream-ignore"."0.0.7" + self.by-version."glob"."3.2.9" + self.by-version."graceful-fs"."2.0.3" + self.by-version."handlebars"."1.3.0" + self.by-version."inquirer"."0.4.1" + self.by-version."junk"."0.2.2" + self.by-version."mkdirp"."0.3.5" + self.by-version."mout"."0.9.1" + self.by-version."nopt"."2.1.2" + self.by-version."lru-cache"."2.5.0" + self.by-version."open"."0.0.5" + self.by-version."osenv"."0.0.3" + self.by-version."promptly"."0.2.0" + self.by-version."q"."1.0.1" + self.by-version."request"."2.33.0" + self.by-version."request-progress"."0.3.1" + self.by-version."retry"."0.6.0" + self.by-version."rimraf"."2.2.6" + self.by-version."semver"."2.2.1" + self.by-version."stringify-object"."0.2.0" + self.by-version."tar"."0.1.19" + self.by-version."tmp"."0.0.23" + self.by-version."update-notifier"."0.1.8" + self.by-version."which"."1.0.5" + self.by-version."p-throttler"."0.0.1" + self.by-version."insight"."0.3.1" + self.by-version."is-root"."0.1.0" + self.by-version."shell-quote"."1.4.1" + self.by-version."lockfile"."0.4.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "bower" ]; + }; + "bower" = self.by-version."bower"."1.3.2"; + by-spec."bower".">=0.9.0" = + self.by-version."bower"."1.3.2"; + by-spec."bower".">=1.2.8 <2" = + self.by-version."bower"."1.3.2"; + by-spec."bower"."~1.2.0" = self.by-version."bower"."1.2.8"; by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage { name = "bower-1.2.8"; @@ -973,16 +1435,16 @@ self.by-version."bower-config"."0.5.0" self.by-version."bower-endpoint-parser"."0.2.1" self.by-version."bower-json"."0.4.0" - self.by-version."bower-logger"."0.2.1" + self.by-version."bower-logger"."0.2.2" self.by-version."bower-registry-client"."0.1.6" self.by-version."cardinal"."0.4.4" self.by-version."chalk"."0.2.1" self.by-version."chmodr"."0.1.0" - self.by-version."decompress-zip"."0.0.4" + self.by-version."decompress-zip"."0.0.6" self.by-version."fstream"."0.1.25" self.by-version."fstream-ignore"."0.0.7" - self.by-version."glob"."3.2.8" - self.by-version."graceful-fs"."2.0.1" + self.by-version."glob"."3.2.9" + self.by-version."graceful-fs"."2.0.3" self.by-version."handlebars"."1.0.12" self.by-version."inquirer"."0.3.5" self.by-version."junk"."0.2.2" @@ -990,20 +1452,20 @@ self.by-version."mout"."0.7.1" self.by-version."nopt"."2.1.2" self.by-version."lru-cache"."2.3.1" - self.by-version."open"."0.0.4" + self.by-version."open"."0.0.5" self.by-version."osenv"."0.0.3" self.by-version."promptly"."0.2.0" self.by-version."q"."0.9.7" self.by-version."request"."2.27.0" self.by-version."request-progress"."0.3.1" self.by-version."retry"."0.6.0" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."semver"."2.1.0" - self.by-version."stringify-object"."0.1.7" + self.by-version."stringify-object"."0.1.8" self.by-version."sudo-block"."0.2.1" self.by-version."tar"."0.1.19" self.by-version."tmp"."0.0.23" - self.by-version."update-notifier"."0.1.7" + self.by-version."update-notifier"."0.1.8" self.by-version."which"."1.0.5" self.by-version."p-throttler"."0.0.1" ]; @@ -1011,17 +1473,10 @@ ]; passthru.names = [ "bower" ]; }; - "bower" = self.by-version."bower"."1.2.8"; - by-spec."bower".">=0.9.0" = - self.by-version."bower"."1.2.8"; - by-spec."bower".">=1.2.8 <2" = - self.by-version."bower"."1.2.8"; - by-spec."bower"."~1.2.0" = - self.by-version."bower"."1.2.8"; by-spec."bower-config"."~0.4.3" = self.by-version."bower-config"."0.4.5"; by-version."bower-config"."0.4.5" = lib.makeOverridable self.buildNodePackage { - name = "bower-config-0.4.5"; + name = "node-bower-config-0.4.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz"; @@ -1032,9 +1487,9 @@ buildInputs = (self.nativeDeps."bower-config" or []); deps = [ - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" self.by-version."mout"."0.6.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."osenv"."0.0.3" ]; peerDependencies = [ @@ -1044,7 +1499,7 @@ by-spec."bower-config"."~0.5.0" = self.by-version."bower-config"."0.5.0"; by-version."bower-config"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "bower-config-0.5.0"; + name = "node-bower-config-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz"; @@ -1055,9 +1510,9 @@ buildInputs = (self.nativeDeps."bower-config" or []); deps = [ - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" self.by-version."mout"."0.6.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."osenv"."0.0.3" ]; peerDependencies = [ @@ -1067,7 +1522,7 @@ by-spec."bower-endpoint-parser"."0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1"; by-version."bower-endpoint-parser"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "bower-endpoint-parser-0.2.1"; + name = "node-bower-endpoint-parser-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz"; @@ -1088,7 +1543,7 @@ by-spec."bower-json"."0.4.0" = self.by-version."bower-json"."0.4.0"; by-version."bower-json"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "bower-json-0.4.0"; + name = "node-bower-json-0.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz"; @@ -1099,8 +1554,8 @@ buildInputs = (self.nativeDeps."bower-json" or []); deps = [ - self.by-version."deep-extend"."0.2.6" - self.by-version."graceful-fs"."2.0.1" + self.by-version."deep-extend"."0.2.8" + self.by-version."graceful-fs"."2.0.3" self.by-version."intersect"."0.0.3" ]; peerDependencies = [ @@ -1112,7 +1567,7 @@ by-spec."bower-logger"."0.2.1" = self.by-version."bower-logger"."0.2.1"; by-version."bower-logger"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "bower-logger-0.2.1"; + name = "node-bower-logger-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.1.tgz"; @@ -1129,11 +1584,30 @@ passthru.names = [ "bower-logger" ]; }; by-spec."bower-logger"."~0.2.1" = - self.by-version."bower-logger"."0.2.1"; + self.by-version."bower-logger"."0.2.2"; + by-version."bower-logger"."0.2.2" = lib.makeOverridable self.buildNodePackage { + name = "node-bower-logger-0.2.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz"; + name = "bower-logger-0.2.2.tgz"; + sha1 = "39be07e979b2fc8e03a94634205ed9422373d381"; + }) + ]; + buildInputs = + (self.nativeDeps."bower-logger" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "bower-logger" ]; + }; + by-spec."bower-logger"."~0.2.2" = + self.by-version."bower-logger"."0.2.2"; by-spec."bower-registry-client"."~0.1.4" = self.by-version."bower-registry-client"."0.1.6"; by-version."bower-registry-client"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "bower-registry-client-0.1.6"; + name = "node-bower-registry-client-0.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz"; @@ -1144,13 +1618,13 @@ buildInputs = (self.nativeDeps."bower-registry-client" or []); deps = [ - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."bower-config"."0.4.5" - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" self.by-version."lru-cache"."2.3.1" self.by-version."request"."2.27.0" self.by-version."request-replay"."0.2.0" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."mkdirp"."0.3.5" ]; peerDependencies = [ @@ -1158,14 +1632,14 @@ passthru.names = [ "bower-registry-client" ]; }; by-spec."bower2nix"."*" = - self.by-version."bower2nix"."3.0.0"; - by-version."bower2nix"."3.0.0" = lib.makeOverridable self.buildNodePackage { - name = "bower2nix-3.0.0"; + self.by-version."bower2nix"."2.1.0"; + by-version."bower2nix"."2.1.0" = lib.makeOverridable self.buildNodePackage { + name = "bower2nix-2.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/bower2nix/-/bower2nix-3.0.0.tgz"; - name = "bower2nix-3.0.0.tgz"; - sha1 = "afe3c676baff67b86e06f5514a325be45b317184"; + url = "http://registry.npmjs.org/bower2nix/-/bower2nix-2.1.0.tgz"; + name = "bower2nix-2.1.0.tgz"; + sha1 = "213f507a729b20a1c3cb48f995a034f9c05f53e6"; }) ]; buildInputs = @@ -1174,6 +1648,9 @@ self.by-version."temp"."0.6.0" self.by-version."fs.extra"."1.2.1" self.by-version."bower-json"."0.4.0" + self.by-version."bower-endpoint-parser"."0.2.1" + self.by-version."bower-logger"."0.2.1" + self.by-version."bower"."1.3.2" self.by-version."argparse"."0.1.15" self.by-version."clone"."0.1.11" self.by-version."semver"."2.2.1" @@ -1183,11 +1660,11 @@ ]; passthru.names = [ "bower2nix" ]; }; - "bower2nix" = self.by-version."bower2nix"."3.0.0"; + "bower2nix" = self.by-version."bower2nix"."2.1.0"; by-spec."broadway"."0.2.9" = self.by-version."broadway"."0.2.9"; by-version."broadway"."0.2.9" = lib.makeOverridable self.buildNodePackage { - name = "broadway-0.2.9"; + name = "node-broadway-0.2.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/broadway/-/broadway-0.2.9.tgz"; @@ -1210,33 +1687,142 @@ }; by-spec."broadway"."0.2.x" = self.by-version."broadway"."0.2.9"; - by-spec."browserchannel"."*" = - self.by-version."browserchannel"."1.0.8"; - by-version."browserchannel"."1.0.8" = lib.makeOverridable self.buildNodePackage { - name = "browserchannel-1.0.8"; + by-spec."browser-pack"."~2.0.0" = + self.by-version."browser-pack"."2.0.1"; + by-version."browser-pack"."2.0.1" = lib.makeOverridable self.buildNodePackage { + name = "browser-pack-2.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.8.tgz"; - name = "browserchannel-1.0.8.tgz"; - sha1 = "96da83d139d8943f5bd616c334f148bd008dbac4"; + url = "http://registry.npmjs.org/browser-pack/-/browser-pack-2.0.1.tgz"; + name = "browser-pack-2.0.1.tgz"; + sha1 = "5d1c527f56c582677411c4db2a128648ff6bf150"; + }) + ]; + buildInputs = + (self.nativeDeps."browser-pack" or []); + deps = [ + self.by-version."JSONStream"."0.6.4" + self.by-version."through"."2.3.4" + self.by-version."combine-source-map"."0.3.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "browser-pack" ]; + }; + by-spec."browser-resolve"."~1.2.1" = + self.by-version."browser-resolve"."1.2.2"; + by-version."browser-resolve"."1.2.2" = lib.makeOverridable self.buildNodePackage { + name = "node-browser-resolve-1.2.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.2.tgz"; + name = "browser-resolve-1.2.2.tgz"; + sha1 = "83b1eaed8f120b906f56078e134669db0a4a5c11"; + }) + ]; + buildInputs = + (self.nativeDeps."browser-resolve" or []); + deps = [ + self.by-version."resolve"."0.6.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "browser-resolve" ]; + }; + by-spec."browser-resolve"."~1.2.2" = + self.by-version."browser-resolve"."1.2.2"; + by-spec."browserchannel"."*" = + self.by-version."browserchannel"."1.2.0"; + by-version."browserchannel"."1.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-browserchannel-1.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.2.0.tgz"; + name = "browserchannel-1.2.0.tgz"; + sha1 = "207ce6eb844e00febfdf32084f10d4757cbcf97c"; }) ]; buildInputs = (self.nativeDeps."browserchannel" or []); deps = [ self.by-version."hat"."0.0.3" - self.by-version."connect"."2.12.0" - self.by-version."request"."2.31.0" + self.by-version."connect"."2.14.4" + self.by-version."request"."2.34.0" + self.by-version."ascii-json"."0.2.0" ]; peerDependencies = [ ]; passthru.names = [ "browserchannel" ]; }; - "browserchannel" = self.by-version."browserchannel"."1.0.8"; + "browserchannel" = self.by-version."browserchannel"."1.2.0"; + by-spec."browserify"."~3.38.0" = + self.by-version."browserify"."3.38.1"; + by-version."browserify"."3.38.1" = lib.makeOverridable self.buildNodePackage { + name = "browserify-3.38.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/browserify/-/browserify-3.38.1.tgz"; + name = "browserify-3.38.1.tgz"; + sha1 = "4790937ec5b01f1c340e83521e36c4e3aaf3d7ba"; + }) + ]; + buildInputs = + (self.nativeDeps."browserify" or []); + deps = [ + self.by-version."JSONStream"."0.7.2" + self.by-version."assert"."1.1.1" + self.by-version."browser-pack"."2.0.1" + self.by-version."browser-resolve"."1.2.2" + self.by-version."buffer"."2.1.12" + self.by-version."builtins"."0.0.3" + self.by-version."commondir"."0.0.1" + self.by-version."concat-stream"."1.4.5" + self.by-version."console-browserify"."1.0.3" + self.by-version."constants-browserify"."0.0.1" + self.by-version."crypto-browserify"."1.0.9" + self.by-version."deep-equal"."0.1.2" + self.by-version."defined"."0.0.0" + self.by-version."deps-sort"."0.1.1" + self.by-version."derequire"."0.8.0" + self.by-version."domain-browser"."1.1.1" + self.by-version."duplexer"."0.1.1" + self.by-version."events"."1.0.0" + self.by-version."glob"."3.2.9" + self.by-version."http-browserify"."1.3.2" + self.by-version."https-browserify"."0.0.0" + self.by-version."inherits"."2.0.1" + self.by-version."insert-module-globals"."5.0.1" + self.by-version."module-deps"."1.8.1" + self.by-version."os-browserify"."0.1.2" + self.by-version."parents"."0.0.2" + self.by-version."path-browserify"."0.0.0" + self.by-version."punycode"."1.2.4" + self.by-version."querystring-es3"."0.2.0" + self.by-version."resolve"."0.6.2" + self.by-version."shallow-copy"."0.0.1" + self.by-version."shell-quote"."0.0.1" + self.by-version."stream-browserify"."0.1.3" + self.by-version."stream-combiner"."0.0.4" + self.by-version."string_decoder"."0.0.1" + self.by-version."subarg"."0.0.1" + self.by-version."syntax-error"."1.1.0" + self.by-version."through2"."0.4.1" + self.by-version."timers-browserify"."1.0.1" + self.by-version."tty-browserify"."0.0.0" + self.by-version."umd"."2.0.0" + self.by-version."url"."0.7.9" + self.by-version."util"."0.10.3" + self.by-version."vm-browserify"."0.0.4" + self.by-version."zlib-browserify"."0.0.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "browserify" ]; + }; by-spec."bson"."0.1.8" = self.by-version."bson"."0.1.8"; by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage { - name = "bson-0.1.8"; + name = "node-bson-0.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz"; @@ -1255,7 +1841,7 @@ by-spec."bson"."0.2.2" = self.by-version."bson"."0.2.2"; by-version."bson"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "bson-0.2.2"; + name = "node-bson-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/bson/-/bson-0.2.2.tgz"; @@ -1274,12 +1860,12 @@ by-spec."bson"."0.2.5" = self.by-version."bson"."0.2.5"; by-version."bson"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "bson-0.2.5"; + name = "node-bson-0.2.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/bson/-/bson-0.2.5.tgz"; name = "bson-0.2.5.tgz"; - sha1 = "835b266883fc91e00e440efa2a905e9ac8c6c9f9"; + sha1 = "500d26d883ddc8e02f2c88011627636111c105c5"; }) ]; buildInputs = @@ -1290,10 +1876,51 @@ ]; passthru.names = [ "bson" ]; }; + by-spec."bson"."0.2.7" = + self.by-version."bson"."0.2.7"; + by-version."bson"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "node-bson-0.2.7"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/bson/-/bson-0.2.7.tgz"; + name = "bson-0.2.7.tgz"; + sha1 = "6793161c40e5a9757091d7ee7d52a4717950236b"; + }) + ]; + buildInputs = + (self.nativeDeps."bson" or []); + deps = [ + self.by-version."nan"."0.8.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "bson" ]; + }; + by-spec."buffer"."~2.1.4" = + self.by-version."buffer"."2.1.12"; + by-version."buffer"."2.1.12" = lib.makeOverridable self.buildNodePackage { + name = "node-buffer-2.1.12"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/buffer/-/buffer-2.1.12.tgz"; + name = "buffer-2.1.12.tgz"; + sha1 = "da6270d276406da92cdf357b5fb09e1edc547f22"; + }) + ]; + buildInputs = + (self.nativeDeps."buffer" or []); + deps = [ + self.by-version."base64-js"."0.0.6" + self.by-version."ieee754"."1.1.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "buffer" ]; + }; by-spec."buffer-crc32"."0.1.1" = self.by-version."buffer-crc32"."0.1.1"; by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "buffer-crc32-0.1.1"; + name = "node-buffer-crc32-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz"; @@ -1312,7 +1939,7 @@ by-spec."buffer-crc32"."0.2.1" = self.by-version."buffer-crc32"."0.2.1"; by-version."buffer-crc32"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "buffer-crc32-0.2.1"; + name = "node-buffer-crc32-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz"; @@ -1333,7 +1960,7 @@ by-spec."buffers"."~0.1.1" = self.by-version."buffers"."0.1.1"; by-version."buffers"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "buffers-0.1.1"; + name = "node-buffers-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz"; @@ -1350,14 +1977,14 @@ passthru.names = [ "buffers" ]; }; by-spec."buffertools"."*" = - self.by-version."buffertools"."2.0.0"; - by-version."buffertools"."2.0.0" = lib.makeOverridable self.buildNodePackage { - name = "buffertools-2.0.0"; + self.by-version."buffertools"."2.1.2"; + by-version."buffertools"."2.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-buffertools-2.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/buffertools/-/buffertools-2.0.0.tgz"; - name = "buffertools-2.0.0.tgz"; - sha1 = "925a0333a6b089e86a58c0c25c9dda8d515b25e8"; + url = "http://registry.npmjs.org/buffertools/-/buffertools-2.1.2.tgz"; + name = "buffertools-2.1.2.tgz"; + sha1 = "d667afc1ef8b9932e90a25f2e3a66a929d42daab"; }) ]; buildInputs = @@ -1368,11 +1995,11 @@ ]; passthru.names = [ "buffertools" ]; }; - "buffertools" = self.by-version."buffertools"."2.0.0"; + "buffertools" = self.by-version."buffertools"."2.1.2"; by-spec."buffertools".">=1.1.1 <2.0.0" = self.by-version."buffertools"."1.1.1"; by-version."buffertools"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "buffertools-1.1.1"; + name = "node-buffertools-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz"; @@ -1388,6 +2015,25 @@ ]; passthru.names = [ "buffertools" ]; }; + by-spec."builtins"."~0.0.3" = + self.by-version."builtins"."0.0.3"; + by-version."builtins"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-builtins-0.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/builtins/-/builtins-0.0.3.tgz"; + name = "builtins-0.0.3.tgz"; + sha1 = "5d006166da71610bc2bcf73019f0f0cc43309755"; + }) + ]; + buildInputs = + (self.nativeDeps."builtins" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "builtins" ]; + }; by-spec."bunyan"."0.21.1" = self.by-version."bunyan"."0.21.1"; by-version."bunyan"."0.21.1" = lib.makeOverridable self.buildNodePackage { @@ -1412,7 +2058,7 @@ by-spec."bytebuffer".">=2.2 <3" = self.by-version."bytebuffer"."2.3.1"; by-version."bytebuffer"."2.3.1" = lib.makeOverridable self.buildNodePackage { - name = "bytebuffer-2.3.1"; + name = "node-bytebuffer-2.3.1"; src = [ (self.patchSource fetchurl { url = "http://registry.npmjs.org/bytebuffer/-/bytebuffer-2.3.1.tgz"; @@ -1432,7 +2078,7 @@ by-spec."bytes"."0.1.0" = self.by-version."bytes"."0.1.0"; by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "bytes-0.1.0"; + name = "node-bytes-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz"; @@ -1451,7 +2097,7 @@ by-spec."bytes"."0.2.0" = self.by-version."bytes"."0.2.0"; by-version."bytes"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "bytes-0.2.0"; + name = "node-bytes-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz"; @@ -1470,7 +2116,7 @@ by-spec."bytes"."0.2.1" = self.by-version."bytes"."0.2.1"; by-version."bytes"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "bytes-0.2.1"; + name = "node-bytes-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz"; @@ -1486,8 +2132,48 @@ ]; passthru.names = [ "bytes" ]; }; + by-spec."bytes"."0.3.0" = + self.by-version."bytes"."0.3.0"; + by-version."bytes"."0.3.0" = lib.makeOverridable self.buildNodePackage { + name = "node-bytes-0.3.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz"; + name = "bytes-0.3.0.tgz"; + sha1 = "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935"; + }) + ]; + buildInputs = + (self.nativeDeps."bytes" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "bytes" ]; + }; + by-spec."bytes"."~0.2.0" = + self.by-version."bytes"."0.2.1"; by-spec."bytes"."~0.2.1" = self.by-version."bytes"."0.2.1"; + by-spec."callsite"."~1.0.0" = + self.by-version."callsite"."1.0.0"; + by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-callsite-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz"; + name = "callsite-1.0.0.tgz"; + sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20"; + }) + ]; + buildInputs = + (self.nativeDeps."callsite" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "callsite" ]; + }; by-spec."cardinal"."~0.4.0" = self.by-version."cardinal"."0.4.4"; by-version."cardinal"."0.4.4" = lib.makeOverridable self.buildNodePackage { @@ -1502,7 +2188,7 @@ buildInputs = (self.nativeDeps."cardinal" or []); deps = [ - self.by-version."redeyed"."0.4.2" + self.by-version."redeyed"."0.4.4" self.by-version."ansicolors"."0.2.1" ]; peerDependencies = [ @@ -1510,14 +2196,14 @@ passthru.names = [ "cardinal" ]; }; by-spec."chai"."*" = - self.by-version."chai"."1.8.1"; - by-version."chai"."1.8.1" = lib.makeOverridable self.buildNodePackage { - name = "chai-1.8.1"; + self.by-version."chai"."1.9.1"; + by-version."chai"."1.9.1" = lib.makeOverridable self.buildNodePackage { + name = "node-chai-1.9.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/chai/-/chai-1.8.1.tgz"; - name = "chai-1.8.1.tgz"; - sha1 = "cc77866d5e7ebca2bd75144b1edc370a88785f72"; + url = "http://registry.npmjs.org/chai/-/chai-1.9.1.tgz"; + name = "chai-1.9.1.tgz"; + sha1 = "3711bb6706e1568f34c0b36098bf8f19455c81ae"; }) ]; buildInputs = @@ -1530,11 +2216,11 @@ ]; passthru.names = [ "chai" ]; }; - "chai" = self.by-version."chai"."1.8.1"; + "chai" = self.by-version."chai"."1.9.1"; by-spec."chainsaw"."~0.1.0" = self.by-version."chainsaw"."0.1.0"; by-version."chainsaw"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "chainsaw-0.1.0"; + name = "node-chainsaw-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz"; @@ -1551,75 +2237,10 @@ ]; passthru.names = [ "chainsaw" ]; }; - by-spec."chalk"."~0.1.1" = - self.by-version."chalk"."0.1.1"; - by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "chalk-0.1.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz"; - name = "chalk-0.1.1.tgz"; - sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0"; - }) - ]; - buildInputs = - (self.nativeDeps."chalk" or []); - deps = [ - self.by-version."has-color"."0.1.2" - self.by-version."ansi-styles"."0.1.2" - ]; - peerDependencies = [ - ]; - passthru.names = [ "chalk" ]; - }; - by-spec."chalk"."~0.2.0" = - self.by-version."chalk"."0.2.1"; - by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "chalk-0.2.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz"; - name = "chalk-0.2.1.tgz"; - sha1 = "7613e1575145b21386483f7f485aa5ffa8cbd10c"; - }) - ]; - buildInputs = - (self.nativeDeps."chalk" or []); - deps = [ - self.by-version."has-color"."0.1.2" - self.by-version."ansi-styles"."0.2.0" - ]; - peerDependencies = [ - ]; - passthru.names = [ "chalk" ]; - }; - by-spec."chalk"."~0.2.1" = - self.by-version."chalk"."0.2.1"; - by-spec."chalk"."~0.3.0" = - self.by-version."chalk"."0.3.0"; - by-version."chalk"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "chalk-0.3.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/chalk/-/chalk-0.3.0.tgz"; - name = "chalk-0.3.0.tgz"; - sha1 = "1c98437737f1199ebcc1d4c48fd41b9f9c8e8f23"; - }) - ]; - buildInputs = - (self.nativeDeps."chalk" or []); - deps = [ - self.by-version."has-color"."0.1.2" - self.by-version."ansi-styles"."0.2.0" - ]; - peerDependencies = [ - ]; - passthru.names = [ "chalk" ]; - }; - by-spec."chalk"."~0.4.0" = + by-spec."chalk"."^0.4.0" = self.by-version."chalk"."0.4.0"; by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "chalk-0.4.0"; + name = "node-chalk-0.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"; @@ -1630,7 +2251,7 @@ buildInputs = (self.nativeDeps."chalk" or []); deps = [ - self.by-version."has-color"."0.1.2" + self.by-version."has-color"."0.1.6" self.by-version."ansi-styles"."1.0.0" self.by-version."strip-ansi"."0.1.1" ]; @@ -1638,10 +2259,75 @@ ]; passthru.names = [ "chalk" ]; }; + by-spec."chalk"."~0.1.1" = + self.by-version."chalk"."0.1.1"; + by-version."chalk"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-chalk-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz"; + name = "chalk-0.1.1.tgz"; + sha1 = "fe6d90ae2c270424720c87ed92d36490b7d36ea0"; + }) + ]; + buildInputs = + (self.nativeDeps."chalk" or []); + deps = [ + self.by-version."has-color"."0.1.6" + self.by-version."ansi-styles"."0.1.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "chalk" ]; + }; + by-spec."chalk"."~0.2.0" = + self.by-version."chalk"."0.2.1"; + by-version."chalk"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-chalk-0.2.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz"; + name = "chalk-0.2.1.tgz"; + sha1 = "7613e1575145b21386483f7f485aa5ffa8cbd10c"; + }) + ]; + buildInputs = + (self.nativeDeps."chalk" or []); + deps = [ + self.by-version."has-color"."0.1.6" + self.by-version."ansi-styles"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "chalk" ]; + }; + by-spec."chalk"."~0.3.0" = + self.by-version."chalk"."0.3.0"; + by-version."chalk"."0.3.0" = lib.makeOverridable self.buildNodePackage { + name = "node-chalk-0.3.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/chalk/-/chalk-0.3.0.tgz"; + name = "chalk-0.3.0.tgz"; + sha1 = "1c98437737f1199ebcc1d4c48fd41b9f9c8e8f23"; + }) + ]; + buildInputs = + (self.nativeDeps."chalk" or []); + deps = [ + self.by-version."has-color"."0.1.6" + self.by-version."ansi-styles"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "chalk" ]; + }; + by-spec."chalk"."~0.4.0" = + self.by-version."chalk"."0.4.0"; by-spec."character-parser"."1.2.0" = self.by-version."character-parser"."1.2.0"; by-version."character-parser"."1.2.0" = lib.makeOverridable self.buildNodePackage { - name = "character-parser-1.2.0"; + name = "node-character-parser-1.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz"; @@ -1660,7 +2346,7 @@ by-spec."cheerio"."~0.12.0" = self.by-version."cheerio"."0.12.4"; by-version."cheerio"."0.12.4" = lib.makeOverridable self.buildNodePackage { - name = "cheerio-0.12.4"; + name = "node-cheerio-0.12.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/cheerio/-/cheerio-0.12.4.tgz"; @@ -1674,18 +2360,16 @@ self.by-version."cheerio-select"."0.0.3" self.by-version."htmlparser2"."3.1.4" self.by-version."underscore"."1.4.4" - self.by-version."entities"."0.3.0" + self.by-version."entities"."0.5.0" ]; peerDependencies = [ ]; passthru.names = [ "cheerio" ]; }; - by-spec."cheerio"."~0.12.1" = - self.by-version."cheerio"."0.12.4"; by-spec."cheerio"."~0.13.0" = self.by-version."cheerio"."0.13.1"; by-version."cheerio"."0.13.1" = lib.makeOverridable self.buildNodePackage { - name = "cheerio-0.13.1"; + name = "node-cheerio-0.13.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/cheerio/-/cheerio-0.13.1.tgz"; @@ -1698,8 +2382,8 @@ deps = [ self.by-version."htmlparser2"."3.4.0" self.by-version."underscore"."1.5.2" - self.by-version."entities"."0.3.0" - self.by-version."CSSselect"."0.4.0" + self.by-version."entities"."0.5.0" + self.by-version."CSSselect"."0.4.1" ]; peerDependencies = [ ]; @@ -1708,7 +2392,7 @@ by-spec."cheerio-select"."*" = self.by-version."cheerio-select"."0.0.3"; by-version."cheerio-select"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "cheerio-select-0.0.3"; + name = "node-cheerio-select-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/cheerio-select/-/cheerio-select-0.0.3.tgz"; @@ -1719,7 +2403,7 @@ buildInputs = (self.nativeDeps."cheerio-select" or []); deps = [ - self.by-version."CSSselect"."0.4.0" + self.by-version."CSSselect"."0.7.0" ]; peerDependencies = [ ]; @@ -1728,7 +2412,7 @@ by-spec."child-process-close"."~0.1.1" = self.by-version."child-process-close"."0.1.1"; by-version."child-process-close"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "child-process-close-0.1.1"; + name = "node-child-process-close-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz"; @@ -1747,7 +2431,7 @@ by-spec."chmodr"."~0.1.0" = self.by-version."chmodr"."0.1.0"; by-version."chmodr"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "chmodr-0.1.0"; + name = "node-chmodr-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz"; @@ -1763,20 +2447,22 @@ ]; passthru.names = [ "chmodr" ]; }; - by-spec."chokidar"."~0.8.0" = - self.by-version."chokidar"."0.8.1"; - by-version."chokidar"."0.8.1" = lib.makeOverridable self.buildNodePackage { - name = "chokidar-0.8.1"; + by-spec."chokidar".">=0.8.2" = + self.by-version."chokidar"."0.8.2"; + by-version."chokidar"."0.8.2" = lib.makeOverridable self.buildNodePackage { + name = "node-chokidar-0.8.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz"; - name = "chokidar-0.8.1.tgz"; - sha1 = "8ee0c99ef48420902fded73b862eac2dd75da4a6"; + url = "http://registry.npmjs.org/chokidar/-/chokidar-0.8.2.tgz"; + name = "chokidar-0.8.2.tgz"; + sha1 = "767e2509aaa040fd8a23cc46225a783dc1bfc899"; }) ]; buildInputs = (self.nativeDeps."chokidar" or []); deps = [ + self.by-version."fsevents"."0.2.0" + self.by-version."recursive-readdir"."0.0.2" ]; peerDependencies = [ ]; @@ -1785,7 +2471,7 @@ by-spec."chownr"."0" = self.by-version."chownr"."0.0.1"; by-version."chownr"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "chownr-0.0.1"; + name = "node-chownr-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz"; @@ -1801,10 +2487,30 @@ ]; passthru.names = [ "chownr" ]; }; + by-spec."circular-json"."0.1.x" = + self.by-version."circular-json"."0.1.6"; + by-version."circular-json"."0.1.6" = lib.makeOverridable self.buildNodePackage { + name = "node-circular-json-0.1.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/circular-json/-/circular-json-0.1.6.tgz"; + name = "circular-json-0.1.6.tgz"; + sha1 = "fd692b65f8bce4f2900bea14f74ad681ab294c7f"; + }) + ]; + buildInputs = + (self.nativeDeps."circular-json" or []); + deps = [ + self.by-version."wru"."0.2.7" + ]; + peerDependencies = [ + ]; + passthru.names = [ "circular-json" ]; + }; by-spec."class-extend"."~0.1.0" = self.by-version."class-extend"."0.1.1"; by-version."class-extend"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "class-extend-0.1.1"; + name = "node-class-extend-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/class-extend/-/class-extend-0.1.1.tgz"; @@ -1821,32 +2527,32 @@ ]; passthru.names = [ "class-extend" ]; }; - by-spec."clean-css"."2.0.x" = - self.by-version."clean-css"."2.0.6"; - by-version."clean-css"."2.0.6" = lib.makeOverridable self.buildNodePackage { - name = "clean-css-2.0.6"; + by-spec."clean-css"."2.1.x" = + self.by-version."clean-css"."2.1.8"; + by-version."clean-css"."2.1.8" = lib.makeOverridable self.buildNodePackage { + name = "clean-css-2.1.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/clean-css/-/clean-css-2.0.6.tgz"; - name = "clean-css-2.0.6.tgz"; - sha1 = "89f98241ec4026500db7ea3b2e725f9ffaa01ed3"; + url = "http://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz"; + name = "clean-css-2.1.8.tgz"; + sha1 = "2b4b2fd60f32441096216ae25a21faa74580dc83"; }) ]; buildInputs = (self.nativeDeps."clean-css" or []); deps = [ - self.by-version."commander"."2.0.0" + self.by-version."commander"."2.1.0" ]; peerDependencies = [ ]; passthru.names = [ "clean-css" ]; }; - by-spec."clean-css"."~2.0.0" = - self.by-version."clean-css"."2.0.6"; + by-spec."clean-css"."~2.1.0" = + self.by-version."clean-css"."2.1.8"; by-spec."cli"."0.4.x" = self.by-version."cli"."0.4.5"; by-version."cli"."0.4.5" = lib.makeOverridable self.buildNodePackage { - name = "cli-0.4.5"; + name = "node-cli-0.4.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/cli/-/cli-0.4.5.tgz"; @@ -1857,16 +2563,16 @@ buildInputs = (self.nativeDeps."cli" or []); deps = [ - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; passthru.names = [ "cli" ]; }; - by-spec."cli-color"."~0.2.2" = + by-spec."cli-color"."*" = self.by-version."cli-color"."0.2.3"; by-version."cli-color"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "cli-color-0.2.3"; + name = "node-cli-color-0.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz"; @@ -1884,10 +2590,34 @@ ]; passthru.names = [ "cli-color" ]; }; + by-spec."cli-color"."~0.2.2" = + self.by-version."cli-color"."0.2.3"; + by-spec."cli-color"."~0.2.3" = + self.by-version."cli-color"."0.2.3"; + by-spec."cli-log"."~0.0.8" = + self.by-version."cli-log"."0.0.8"; + by-version."cli-log"."0.0.8" = lib.makeOverridable self.buildNodePackage { + name = "node-cli-log-0.0.8"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cli-log/-/cli-log-0.0.8.tgz"; + name = "cli-log-0.0.8.tgz"; + sha1 = "af738d7f5fcda8aab21bd4dbcd904ee5137c1ad0"; + }) + ]; + buildInputs = + (self.nativeDeps."cli-log" or []); + deps = [ + self.by-version."cli-color"."0.2.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "cli-log" ]; + }; by-spec."cliff"."0.1.8" = self.by-version."cliff"."0.1.8"; by-version."cliff"."0.1.8" = lib.makeOverridable self.buildNodePackage { - name = "cliff-0.1.8"; + name = "node-cliff-0.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz"; @@ -1909,7 +2639,7 @@ by-spec."clone"."0.1.11" = self.by-version."clone"."0.1.11"; by-version."clone"."0.1.11" = lib.makeOverridable self.buildNodePackage { - name = "clone-0.1.11"; + name = "node-clone-0.1.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/clone/-/clone-0.1.11.tgz"; @@ -1928,7 +2658,7 @@ by-spec."clone"."0.1.5" = self.by-version."clone"."0.1.5"; by-version."clone"."0.1.5" = lib.makeOverridable self.buildNodePackage { - name = "clone-0.1.5"; + name = "node-clone-0.1.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz"; @@ -1947,7 +2677,7 @@ by-spec."clone"."0.1.6" = self.by-version."clone"."0.1.6"; by-version."clone"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "clone-0.1.6"; + name = "node-clone-0.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz"; @@ -1966,7 +2696,7 @@ by-spec."cmd-shim"."~1.1.1" = self.by-version."cmd-shim"."1.1.1"; by-version."cmd-shim"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "cmd-shim-1.1.1"; + name = "node-cmd-shim-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz"; @@ -1978,13 +2708,34 @@ (self.nativeDeps."cmd-shim" or []); deps = [ self.by-version."mkdirp"."0.3.5" - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" ]; peerDependencies = [ ]; passthru.names = [ "cmd-shim" ]; }; by-spec."coffee-script"."*" = + self.by-version."coffee-script"."1.7.1"; + by-version."coffee-script"."1.7.1" = lib.makeOverridable self.buildNodePackage { + name = "coffee-script-1.7.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz"; + name = "coffee-script-1.7.1.tgz"; + sha1 = "62996a861780c75e6d5069d13822723b73404bfc"; + }) + ]; + buildInputs = + (self.nativeDeps."coffee-script" or []); + deps = [ + self.by-version."mkdirp"."0.3.5" + ]; + peerDependencies = [ + ]; + passthru.names = [ "coffee-script" ]; + }; + "coffee-script" = self.by-version."coffee-script"."1.7.1"; + by-spec."coffee-script"."1.6.3" = self.by-version."coffee-script"."1.6.3"; by-version."coffee-script"."1.6.3" = lib.makeOverridable self.buildNodePackage { name = "coffee-script-1.6.3"; @@ -2003,13 +2754,10 @@ ]; passthru.names = [ "coffee-script" ]; }; - "coffee-script" = self.by-version."coffee-script"."1.6.3"; - by-spec."coffee-script"."1.6.3" = - self.by-version."coffee-script"."1.6.3"; by-spec."coffee-script".">= 0.0.1" = - self.by-version."coffee-script"."1.6.3"; + self.by-version."coffee-script"."1.7.1"; by-spec."coffee-script".">=1.2.0" = - self.by-version."coffee-script"."1.6.3"; + self.by-version."coffee-script"."1.7.1"; by-spec."coffee-script"."~1.3.3" = self.by-version."coffee-script"."1.3.3"; by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage { @@ -2029,45 +2777,67 @@ ]; passthru.names = [ "coffee-script" ]; }; - by-spec."coffee-script"."~1.6" = - self.by-version."coffee-script"."1.6.3"; - by-spec."coffee-script-redux"."git+https://github.com/michaelficarra/CoffeeScriptRedux.git#9895cd1641fdf3a2424e662ab7583726bb0e35b3" = - self.by-version."coffee-script-redux"."2.0.0-beta4"; - by-version."coffee-script-redux"."2.0.0-beta4" = lib.makeOverridable self.buildNodePackage { - name = "coffee-script-redux-2.0.0-beta4"; + by-spec."coffee-script-redux"."=2.0.0-beta8" = + self.by-version."coffee-script-redux"."2.0.0-beta8"; + by-version."coffee-script-redux"."2.0.0-beta8" = lib.makeOverridable self.buildNodePackage { + name = "coffee-script-redux-2.0.0-beta8"; src = [ - (fetchgit { - url = "https://github.com/michaelficarra/CoffeeScriptRedux.git"; - rev = "9895cd1641fdf3a2424e662ab7583726bb0e35b3"; - sha256 = "d70e659aa7cdb50a98959dec0e2a8c916200e31cb770f04faa2ae92a55d1e66d"; + (self.patchSource fetchurl { + url = "http://registry.npmjs.org/coffee-script-redux/-/coffee-script-redux-2.0.0-beta8.tgz"; + name = "coffee-script-redux-2.0.0-beta8.tgz"; + sha1 = "0fd7b8417340dd0d339e8f6fd8b4b8716956e8d5"; }) ]; buildInputs = (self.nativeDeps."coffee-script-redux" or []); deps = [ self.by-version."StringScanner"."0.0.3" - self.by-version."jedediah"."0.1.1" + self.by-version."nopt"."2.1.2" + self.by-version."esmangle"."0.0.17" + self.by-version."source-map"."0.1.11" + self.by-version."escodegen"."0.0.28" + self.by-version."cscodegen"."0.1.0" ]; peerDependencies = [ ]; passthru.names = [ "coffee-script-redux" ]; }; - by-spec."color"."~0.4.4" = - self.by-version."color"."0.4.4"; - by-version."color"."0.4.4" = lib.makeOverridable self.buildNodePackage { - name = "color-0.4.4"; + by-spec."collections"."^2.0.0" = + self.by-version."collections"."2.0.1"; + by-version."collections"."2.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-collections-2.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/color/-/color-0.4.4.tgz"; - name = "color-0.4.4.tgz"; - sha1 = "f8bae8a848854616328704e64ce4a94ab336b7b5"; + url = "http://registry.npmjs.org/collections/-/collections-2.0.1.tgz"; + name = "collections-2.0.1.tgz"; + sha1 = "ee201b142bd1ee5b37a95d62fe13062d87d83db0"; + }) + ]; + buildInputs = + (self.nativeDeps."collections" or []); + deps = [ + self.by-version."weak-map"."1.0.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "collections" ]; + }; + by-spec."color"."~0.5.0" = + self.by-version."color"."0.5.0"; + by-version."color"."0.5.0" = lib.makeOverridable self.buildNodePackage { + name = "node-color-0.5.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/color/-/color-0.5.0.tgz"; + name = "color-0.5.0.tgz"; + sha1 = "4d283d8bfe4cbc7006de6b6d25a3c26f00e3ee6d"; }) ]; buildInputs = (self.nativeDeps."color" or []); deps = [ self.by-version."color-convert"."0.2.1" - self.by-version."color-string"."0.1.2" + self.by-version."color-string"."0.1.3" ]; peerDependencies = [ ]; @@ -2076,7 +2846,7 @@ by-spec."color-convert"."0.2.x" = self.by-version."color-convert"."0.2.1"; by-version."color-convert"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "color-convert-0.2.1"; + name = "node-color-convert-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz"; @@ -2093,14 +2863,14 @@ passthru.names = [ "color-convert" ]; }; by-spec."color-string"."0.1.x" = - self.by-version."color-string"."0.1.2"; - by-version."color-string"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "color-string-0.1.2"; + self.by-version."color-string"."0.1.3"; + by-version."color-string"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-color-string-0.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/color-string/-/color-string-0.1.2.tgz"; - name = "color-string-0.1.2.tgz"; - sha1 = "a413fb7dd137162d5d4ea784cbeb36d931ad9b4a"; + url = "http://registry.npmjs.org/color-string/-/color-string-0.1.3.tgz"; + name = "color-string-0.1.3.tgz"; + sha1 = "e865d2e3e59f665c3af0de14383f6bf0705685f3"; }) ]; buildInputs = @@ -2115,7 +2885,7 @@ by-spec."colors"."0.5.x" = self.by-version."colors"."0.5.1"; by-version."colors"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "colors-0.5.1"; + name = "node-colors-0.5.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/colors/-/colors-0.5.1.tgz"; @@ -2134,7 +2904,7 @@ by-spec."colors"."0.6.x" = self.by-version."colors"."0.6.2"; by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "colors-0.6.2"; + name = "node-colors-0.6.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz"; @@ -2159,7 +2929,7 @@ by-spec."colour"."*" = self.by-version."colour"."0.7.1"; by-version."colour"."0.7.1" = lib.makeOverridable self.buildNodePackage { - name = "colour-0.7.1"; + name = "node-colour-0.7.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/colour/-/colour-0.7.1.tgz"; @@ -2175,10 +2945,51 @@ ]; passthru.names = [ "colour" ]; }; + by-spec."columnify"."0.1.2" = + self.by-version."columnify"."0.1.2"; + by-version."columnify"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-columnify-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/columnify/-/columnify-0.1.2.tgz"; + name = "columnify-0.1.2.tgz"; + sha1 = "ab1a1f1e37b26ba4b87c6920fb717fe51c827042"; + }) + ]; + buildInputs = + (self.nativeDeps."columnify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "columnify" ]; + }; + by-spec."combine-source-map"."~0.3.0" = + self.by-version."combine-source-map"."0.3.0"; + by-version."combine-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage { + name = "node-combine-source-map-0.3.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz"; + name = "combine-source-map-0.3.0.tgz"; + sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7"; + }) + ]; + buildInputs = + (self.nativeDeps."combine-source-map" or []); + deps = [ + self.by-version."inline-source-map"."0.3.0" + self.by-version."convert-source-map"."0.3.3" + self.by-version."source-map"."0.1.33" + ]; + peerDependencies = [ + ]; + passthru.names = [ "combine-source-map" ]; + }; by-spec."combined-stream"."~0.0.4" = self.by-version."combined-stream"."0.0.4"; by-version."combined-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "combined-stream-0.0.4"; + name = "node-combined-stream-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz"; @@ -2195,29 +3006,10 @@ ]; passthru.names = [ "combined-stream" ]; }; - by-spec."commander"."*" = - self.by-version."commander"."2.1.0"; - by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "commander-2.1.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz"; - name = "commander-2.1.0.tgz"; - sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781"; - }) - ]; - buildInputs = - (self.nativeDeps."commander" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "commander" ]; - }; by-spec."commander"."0.6.1" = self.by-version."commander"."0.6.1"; by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage { - name = "commander-0.6.1"; + name = "node-commander-0.6.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz"; @@ -2233,10 +3025,30 @@ ]; passthru.names = [ "commander" ]; }; + by-spec."commander"."1.3.1" = + self.by-version."commander"."1.3.1"; + by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-1.3.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commander/-/commander-1.3.1.tgz"; + name = "commander-1.3.1.tgz"; + sha1 = "02443e02db96f4b32b674225451abb6e9510000e"; + }) + ]; + buildInputs = + (self.nativeDeps."commander" or []); + deps = [ + self.by-version."keypress"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "commander" ]; + }; by-spec."commander"."1.3.2" = self.by-version."commander"."1.3.2"; by-version."commander"."1.3.2" = lib.makeOverridable self.buildNodePackage { - name = "commander-1.3.2"; + name = "node-commander-1.3.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/commander/-/commander-1.3.2.tgz"; @@ -2256,7 +3068,7 @@ by-spec."commander"."2.0.0" = self.by-version."commander"."2.0.0"; by-version."commander"."2.0.0" = lib.makeOverridable self.buildNodePackage { - name = "commander-2.0.0"; + name = "node-commander-2.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/commander/-/commander-2.0.0.tgz"; @@ -2272,16 +3084,119 @@ ]; passthru.names = [ "commander" ]; }; - by-spec."commander"."2.0.x" = - self.by-version."commander"."2.0.0"; by-spec."commander"."2.1.0" = self.by-version."commander"."2.1.0"; + by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-2.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz"; + name = "commander-2.1.0.tgz"; + sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781"; + }) + ]; + buildInputs = + (self.nativeDeps."commander" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "commander" ]; + }; + by-spec."commander"."2.1.x" = + self.by-version."commander"."2.1.0"; by-spec."commander"."~0.6.1" = self.by-version."commander"."0.6.1"; + by-spec."commander"."~2.1.0" = + self.by-version."commander"."2.1.0"; + by-spec."commondir"."0.0.1" = + self.by-version."commondir"."0.0.1"; + by-version."commondir"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-commondir-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz"; + name = "commondir-0.0.1.tgz"; + sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2"; + }) + ]; + buildInputs = + (self.nativeDeps."commondir" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "commondir" ]; + }; + by-spec."compressible"."1.0.0" = + self.by-version."compressible"."1.0.0"; + by-version."compressible"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-compressible-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz"; + name = "compressible-1.0.0.tgz"; + sha1 = "f83e49c1cb61421753545125a8011d68b492427d"; + }) + ]; + buildInputs = + (self.nativeDeps."compressible" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "compressible" ]; + }; + by-spec."compression"."1.0.0" = + self.by-version."compression"."1.0.0"; + by-version."compression"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-compression-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/compression/-/compression-1.0.0.tgz"; + name = "compression-1.0.0.tgz"; + sha1 = "8aeb85d48db5145d38bc8b181b6352d8eab26020"; + }) + ]; + buildInputs = + (self.nativeDeps."compression" or []); + deps = [ + self.by-version."bytes"."0.2.1" + self.by-version."negotiator"."0.3.0" + self.by-version."compressible"."1.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "compression" ]; + }; + by-spec."concat-stream"."^1.4.1" = + self.by-version."concat-stream"."1.4.5"; + by-version."concat-stream"."1.4.5" = lib.makeOverridable self.buildNodePackage { + name = "node-concat-stream-1.4.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.5.tgz"; + name = "concat-stream-1.4.5.tgz"; + sha1 = "cbf6ffd17c15d58f0baeacbb47d927cf566446a6"; + }) + ]; + buildInputs = + (self.nativeDeps."concat-stream" or []); + deps = [ + self.by-version."inherits"."2.0.1" + self.by-version."typedarray"."0.0.5" + self.by-version."readable-stream"."1.1.12" + ]; + peerDependencies = [ + ]; + passthru.names = [ "concat-stream" ]; + }; + by-spec."concat-stream"."~1.4.1" = + self.by-version."concat-stream"."1.4.5"; by-spec."config"."0.4.15" = self.by-version."config"."0.4.15"; by-version."config"."0.4.15" = lib.makeOverridable self.buildNodePackage { - name = "config-0.4.15"; + name = "node-config-0.4.15"; src = [ (fetchurl { url = "http://registry.npmjs.org/config/-/config-0.4.15.tgz"; @@ -2293,7 +3208,7 @@ (self.nativeDeps."config" or []); deps = [ self.by-version."js-yaml"."0.3.7" - self.by-version."coffee-script"."1.6.3" + self.by-version."coffee-script"."1.7.1" self.by-version."vows"."0.7.0" ]; peerDependencies = [ @@ -2303,7 +3218,7 @@ by-spec."config-chain"."~1.1.1" = self.by-version."config-chain"."1.1.8"; by-version."config-chain"."1.1.8" = lib.makeOverridable self.buildNodePackage { - name = "config-chain-1.1.8"; + name = "node-config-chain-1.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz"; @@ -2323,34 +3238,37 @@ }; by-spec."config-chain"."~1.1.8" = self.by-version."config-chain"."1.1.8"; - by-spec."configstore"."~0.1.0" = - self.by-version."configstore"."0.1.7"; - by-version."configstore"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "configstore-0.1.7"; + by-spec."configstore"."~0.2.1" = + self.by-version."configstore"."0.2.3"; + by-version."configstore"."0.2.3" = lib.makeOverridable self.buildNodePackage { + name = "node-configstore-0.2.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/configstore/-/configstore-0.1.7.tgz"; - name = "configstore-0.1.7.tgz"; - sha1 = "57dc701bc2a51eb804d6e1733c8abb9d82a5cede"; + url = "http://registry.npmjs.org/configstore/-/configstore-0.2.3.tgz"; + name = "configstore-0.2.3.tgz"; + sha1 = "b1bdc4ad823a25423dc15d220fcc1ae1d7efab02"; }) ]; buildInputs = (self.nativeDeps."configstore" or []); deps = [ - self.by-version."lodash"."2.4.1" self.by-version."mkdirp"."0.3.5" - self.by-version."js-yaml"."2.1.3" + self.by-version."js-yaml"."3.0.2" self.by-version."osenv"."0.0.3" - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" + self.by-version."uuid"."1.4.1" + self.by-version."object-assign"."0.1.2" ]; peerDependencies = [ ]; passthru.names = [ "configstore" ]; }; + by-spec."configstore"."~0.2.2" = + self.by-version."configstore"."0.2.3"; by-spec."connect"."1.x" = self.by-version."connect"."1.9.2"; by-version."connect"."1.9.2" = lib.makeOverridable self.buildNodePackage { - name = "connect-1.9.2"; + name = "node-connect-1.9.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz"; @@ -2372,7 +3290,7 @@ by-spec."connect"."2.11.0" = self.by-version."connect"."2.11.0"; by-version."connect"."2.11.0" = lib.makeOverridable self.buildNodePackage { - name = "connect-2.11.0"; + name = "node-connect-2.11.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-2.11.0.tgz"; @@ -2392,7 +3310,7 @@ self.by-version."fresh"."0.2.0" self.by-version."pause"."0.0.1" self.by-version."uid2"."0.0.3" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."methods"."0.0.1" self.by-version."raw-body"."0.0.3" self.by-version."negotiator"."0.3.0" @@ -2402,10 +3320,178 @@ ]; passthru.names = [ "connect" ]; }; - by-spec."connect"."2.12.0" = + by-spec."connect"."2.14.1" = + self.by-version."connect"."2.14.1"; + by-version."connect"."2.14.1" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-2.14.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.14.1.tgz"; + name = "connect-2.14.1.tgz"; + sha1 = "e6fd676a5735ca703a89eb970f3d283fadecc2c7"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."basic-auth-connect"."1.0.0" + self.by-version."cookie-parser"."1.0.1" + self.by-version."cookie-signature"."1.0.3" + self.by-version."compression"."1.0.0" + self.by-version."connect-timeout"."1.0.0" + self.by-version."csurf"."1.0.0" + self.by-version."errorhandler"."1.0.0" + self.by-version."express-session"."1.0.2" + self.by-version."fresh"."0.2.2" + self.by-version."method-override"."1.0.0" + self.by-version."morgan"."1.0.0" + self.by-version."qs"."0.6.6" + self.by-version."response-time"."1.0.0" + self.by-version."serve-index"."1.0.1" + self.by-version."serve-static"."1.0.2" + self.by-version."static-favicon"."1.0.0" + self.by-version."vhost"."1.0.0" + self.by-version."bytes"."0.2.1" + self.by-version."pause"."0.0.1" + self.by-version."debug"."0.8.1" + self.by-version."raw-body"."1.1.3" + self.by-version."multiparty"."2.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; + by-spec."connect"."2.3.x" = + self.by-version."connect"."2.3.9"; + by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-2.3.9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz"; + name = "connect-2.3.9.tgz"; + sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."qs"."0.4.2" + self.by-version."formidable"."1.0.11" + self.by-version."crc"."0.2.0" + self.by-version."cookie"."0.0.4" + self.by-version."bytes"."0.1.0" + self.by-version."send"."0.0.3" + self.by-version."fresh"."0.1.0" + self.by-version."debug"."0.8.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; + by-spec."connect"."2.7.5" = + self.by-version."connect"."2.7.5"; + by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-2.7.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz"; + name = "connect-2.7.5.tgz"; + sha1 = "139111b4b03f0533a524927a88a646ae467b2c02"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."qs"."0.5.1" + self.by-version."formidable"."1.0.11" + self.by-version."cookie-signature"."1.0.0" + self.by-version."buffer-crc32"."0.1.1" + self.by-version."cookie"."0.0.5" + self.by-version."send"."0.1.0" + self.by-version."bytes"."0.2.0" + self.by-version."fresh"."0.1.0" + self.by-version."pause"."0.0.1" + self.by-version."debug"."0.8.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; + by-spec."connect"."2.7.6" = + self.by-version."connect"."2.7.6"; + by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-2.7.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz"; + name = "connect-2.7.6.tgz"; + sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."qs"."0.5.1" + self.by-version."formidable"."1.0.11" + self.by-version."cookie-signature"."1.0.1" + self.by-version."buffer-crc32"."0.1.1" + self.by-version."cookie"."0.0.5" + self.by-version."send"."0.1.0" + self.by-version."bytes"."0.2.0" + self.by-version."fresh"."0.1.0" + self.by-version."pause"."0.0.1" + self.by-version."debug"."0.8.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; + by-spec."connect"."~2" = + self.by-version."connect"."2.14.4"; + by-version."connect"."2.14.4" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-2.14.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.14.4.tgz"; + name = "connect-2.14.4.tgz"; + sha1 = "40e74de3947a5278035c12f21535604555609a5a"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."basic-auth-connect"."1.0.0" + self.by-version."cookie-parser"."1.0.1" + self.by-version."cookie-signature"."1.0.3" + self.by-version."compression"."1.0.0" + self.by-version."connect-timeout"."1.0.0" + self.by-version."csurf"."1.1.0" + self.by-version."errorhandler"."1.0.0" + self.by-version."express-session"."1.0.2" + self.by-version."fresh"."0.2.2" + self.by-version."method-override"."1.0.0" + self.by-version."morgan"."1.0.0" + self.by-version."qs"."0.6.6" + self.by-version."response-time"."1.0.0" + self.by-version."setimmediate"."1.0.1" + self.by-version."serve-index"."1.0.1" + self.by-version."serve-static"."1.0.4" + self.by-version."static-favicon"."1.0.2" + self.by-version."vhost"."1.0.0" + self.by-version."bytes"."0.3.0" + self.by-version."pause"."0.0.1" + self.by-version."debug"."0.8.1" + self.by-version."raw-body"."1.1.3" + self.by-version."multiparty"."2.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; + by-spec."connect"."~2.12.0" = self.by-version."connect"."2.12.0"; by-version."connect"."2.12.0" = lib.makeOverridable self.buildNodePackage { - name = "connect-2.12.0"; + name = "node-connect-2.12.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz"; @@ -2426,7 +3512,7 @@ self.by-version."fresh"."0.2.0" self.by-version."pause"."0.0.1" self.by-version."uid2"."0.0.3" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."methods"."0.1.0" self.by-version."raw-body"."1.1.2" self.by-version."negotiator"."0.3.0" @@ -2436,99 +3522,10 @@ ]; passthru.names = [ "connect" ]; }; - by-spec."connect"."2.3.x" = - self.by-version."connect"."2.3.9"; - by-version."connect"."2.3.9" = lib.makeOverridable self.buildNodePackage { - name = "connect-2.3.9"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz"; - name = "connect-2.3.9.tgz"; - sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52"; - }) - ]; - buildInputs = - (self.nativeDeps."connect" or []); - deps = [ - self.by-version."qs"."0.4.2" - self.by-version."formidable"."1.0.11" - self.by-version."crc"."0.2.0" - self.by-version."cookie"."0.0.4" - self.by-version."bytes"."0.1.0" - self.by-version."send"."0.0.3" - self.by-version."fresh"."0.1.0" - self.by-version."debug"."0.7.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "connect" ]; - }; - by-spec."connect"."2.7.5" = - self.by-version."connect"."2.7.5"; - by-version."connect"."2.7.5" = lib.makeOverridable self.buildNodePackage { - name = "connect-2.7.5"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz"; - name = "connect-2.7.5.tgz"; - sha1 = "139111b4b03f0533a524927a88a646ae467b2c02"; - }) - ]; - buildInputs = - (self.nativeDeps."connect" or []); - deps = [ - self.by-version."qs"."0.5.1" - self.by-version."formidable"."1.0.11" - self.by-version."cookie-signature"."1.0.0" - self.by-version."buffer-crc32"."0.1.1" - self.by-version."cookie"."0.0.5" - self.by-version."send"."0.1.0" - self.by-version."bytes"."0.2.0" - self.by-version."fresh"."0.1.0" - self.by-version."pause"."0.0.1" - self.by-version."debug"."0.7.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "connect" ]; - }; - by-spec."connect"."2.7.6" = - self.by-version."connect"."2.7.6"; - by-version."connect"."2.7.6" = lib.makeOverridable self.buildNodePackage { - name = "connect-2.7.6"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz"; - name = "connect-2.7.6.tgz"; - sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738"; - }) - ]; - buildInputs = - (self.nativeDeps."connect" or []); - deps = [ - self.by-version."qs"."0.5.1" - self.by-version."formidable"."1.0.11" - self.by-version."cookie-signature"."1.0.1" - self.by-version."buffer-crc32"."0.1.1" - self.by-version."cookie"."0.0.5" - self.by-version."send"."0.1.0" - self.by-version."bytes"."0.2.0" - self.by-version."fresh"."0.1.0" - self.by-version."pause"."0.0.1" - self.by-version."debug"."0.7.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "connect" ]; - }; - by-spec."connect"."~2" = - self.by-version."connect"."2.12.0"; - by-spec."connect"."~2.12.0" = - self.by-version."connect"."2.12.0"; by-spec."connect-flash"."*" = self.by-version."connect-flash"."0.1.1"; by-version."connect-flash"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "connect-flash-0.1.1"; + name = "node-connect-flash-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz"; @@ -2548,7 +3545,7 @@ by-spec."connect-flash"."0.1.0" = self.by-version."connect-flash"."0.1.0"; by-version."connect-flash"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "connect-flash-0.1.0"; + name = "node-connect-flash-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz"; @@ -2567,7 +3564,7 @@ by-spec."connect-jade-static"."*" = self.by-version."connect-jade-static"."0.1.3"; by-version."connect-jade-static"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "connect-jade-static-0.1.3"; + name = "node-connect-jade-static-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.1.3.tgz"; @@ -2578,7 +3575,7 @@ buildInputs = (self.nativeDeps."connect-jade-static" or []); deps = [ - self.by-version."jade"."1.1.4" + self.by-version."jade"."1.3.1" ]; peerDependencies = [ ]; @@ -2588,7 +3585,7 @@ by-spec."connect-mongo"."*" = self.by-version."connect-mongo"."0.4.0"; by-version."connect-mongo"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "connect-mongo-0.4.0"; + name = "node-connect-mongo-0.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.4.0.tgz"; @@ -2606,10 +3603,30 @@ passthru.names = [ "connect-mongo" ]; }; "connect-mongo" = self.by-version."connect-mongo"."0.4.0"; + by-spec."connect-timeout"."1.0.0" = + self.by-version."connect-timeout"."1.0.0"; + by-version."connect-timeout"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-connect-timeout-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect-timeout/-/connect-timeout-1.0.0.tgz"; + name = "connect-timeout-1.0.0.tgz"; + sha1 = "12054799f90bb9566f8b274efe7842d6465d10bb"; + }) + ]; + buildInputs = + (self.nativeDeps."connect-timeout" or []); + deps = [ + self.by-version."debug"."0.8.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect-timeout" ]; + }; by-spec."connection-parse"."0.0.x" = self.by-version."connection-parse"."0.0.7"; by-version."connection-parse"."0.0.7" = lib.makeOverridable self.buildNodePackage { - name = "connection-parse-0.0.7"; + name = "node-connection-parse-0.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz"; @@ -2628,7 +3645,7 @@ by-spec."console-browserify"."0.1.x" = self.by-version."console-browserify"."0.1.6"; by-version."console-browserify"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "console-browserify-0.1.6"; + name = "node-console-browserify-0.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz"; @@ -2644,10 +3661,29 @@ ]; passthru.names = [ "console-browserify" ]; }; + by-spec."console-browserify"."~1.0.1" = + self.by-version."console-browserify"."1.0.3"; + by-version."console-browserify"."1.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-console-browserify-1.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.0.3.tgz"; + name = "console-browserify-1.0.3.tgz"; + sha1 = "d3898d2c3a93102f364197f8874b4f92b5286a8e"; + }) + ]; + buildInputs = + (self.nativeDeps."console-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "console-browserify" ]; + }; by-spec."constantinople"."~1.0.1" = self.by-version."constantinople"."1.0.2"; by-version."constantinople"."1.0.2" = lib.makeOverridable self.buildNodePackage { - name = "constantinople-1.0.2"; + name = "node-constantinople-1.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.2.tgz"; @@ -2658,7 +3694,7 @@ buildInputs = (self.nativeDeps."constantinople" or []); deps = [ - self.by-version."uglify-js"."2.4.8" + self.by-version."uglify-js"."2.4.13" ]; peerDependencies = [ ]; @@ -2666,10 +3702,68 @@ }; by-spec."constantinople"."~1.0.2" = self.by-version."constantinople"."1.0.2"; + by-spec."constantinople"."~2.0.0" = + self.by-version."constantinople"."2.0.0"; + by-version."constantinople"."2.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-constantinople-2.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/constantinople/-/constantinople-2.0.0.tgz"; + name = "constantinople-2.0.0.tgz"; + sha1 = "0558c3f340095a43acf2386149e5537074330e49"; + }) + ]; + buildInputs = + (self.nativeDeps."constantinople" or []); + deps = [ + self.by-version."uglify-js"."2.4.13" + ]; + peerDependencies = [ + ]; + passthru.names = [ "constantinople" ]; + }; + by-spec."constants-browserify"."~0.0.1" = + self.by-version."constants-browserify"."0.0.1"; + by-version."constants-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-constants-browserify-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz"; + name = "constants-browserify-0.0.1.tgz"; + sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2"; + }) + ]; + buildInputs = + (self.nativeDeps."constants-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "constants-browserify" ]; + }; + by-spec."convert-source-map"."~0.3.0" = + self.by-version."convert-source-map"."0.3.3"; + by-version."convert-source-map"."0.3.3" = lib.makeOverridable self.buildNodePackage { + name = "node-convert-source-map-0.3.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.3.tgz"; + name = "convert-source-map-0.3.3.tgz"; + sha1 = "f77f130ded4e611d313a1bcf78f988990831c69b"; + }) + ]; + buildInputs = + (self.nativeDeps."convert-source-map" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "convert-source-map" ]; + }; by-spec."cookie"."0.0.4" = self.by-version."cookie"."0.0.4"; by-version."cookie"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "cookie-0.0.4"; + name = "node-cookie-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz"; @@ -2688,7 +3782,7 @@ by-spec."cookie"."0.0.5" = self.by-version."cookie"."0.0.5"; by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "cookie-0.0.5"; + name = "node-cookie-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz"; @@ -2707,7 +3801,7 @@ by-spec."cookie"."0.1.0" = self.by-version."cookie"."0.1.0"; by-version."cookie"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "cookie-0.1.0"; + name = "node-cookie-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz"; @@ -2723,10 +3817,29 @@ ]; passthru.names = [ "cookie" ]; }; + by-spec."cookie"."0.1.1" = + self.by-version."cookie"."0.1.1"; + by-version."cookie"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-cookie-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cookie/-/cookie-0.1.1.tgz"; + name = "cookie-0.1.1.tgz"; + sha1 = "cbd4b537aa65f800b6c66ead2520ba8d6afbdf54"; + }) + ]; + buildInputs = + (self.nativeDeps."cookie" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "cookie" ]; + }; by-spec."cookie-jar"."~0.2.0" = self.by-version."cookie-jar"."0.2.0"; by-version."cookie-jar"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "cookie-jar-0.2.0"; + name = "node-cookie-jar-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz"; @@ -2745,7 +3858,7 @@ by-spec."cookie-jar"."~0.3.0" = self.by-version."cookie-jar"."0.3.0"; by-version."cookie-jar"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "cookie-jar-0.3.0"; + name = "node-cookie-jar-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz"; @@ -2761,10 +3874,33 @@ ]; passthru.names = [ "cookie-jar" ]; }; + by-spec."cookie-parser"."1.0.1" = + self.by-version."cookie-parser"."1.0.1"; + by-version."cookie-parser"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-cookie-parser-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz"; + name = "cookie-parser-1.0.1.tgz"; + sha1 = "17bd622c9717cd0858a912a9fef4c0362360a7b0"; + }) + ]; + buildInputs = + (self.nativeDeps."cookie-parser" or []); + deps = [ + self.by-version."cookie"."0.1.0" + self.by-version."cookie-signature"."1.0.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "cookie-parser" ]; + }; + by-spec."cookie-parser"."~1.0.1" = + self.by-version."cookie-parser"."1.0.1"; by-spec."cookie-signature"."1.0.0" = self.by-version."cookie-signature"."1.0.0"; by-version."cookie-signature"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "cookie-signature-1.0.0"; + name = "node-cookie-signature-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz"; @@ -2783,7 +3919,7 @@ by-spec."cookie-signature"."1.0.1" = self.by-version."cookie-signature"."1.0.1"; by-version."cookie-signature"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "cookie-signature-1.0.1"; + name = "node-cookie-signature-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz"; @@ -2799,10 +3935,29 @@ ]; passthru.names = [ "cookie-signature" ]; }; + by-spec."cookie-signature"."1.0.3" = + self.by-version."cookie-signature"."1.0.3"; + by-version."cookie-signature"."1.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-cookie-signature-1.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz"; + name = "cookie-signature-1.0.3.tgz"; + sha1 = "91cd997cc51fb641595738c69cda020328f50ff9"; + }) + ]; + buildInputs = + (self.nativeDeps."cookie-signature" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "cookie-signature" ]; + }; by-spec."cookiejar"."1.3.0" = self.by-version."cookiejar"."1.3.0"; by-version."cookiejar"."1.3.0" = lib.makeOverridable self.buildNodePackage { - name = "cookiejar-1.3.0"; + name = "node-cookiejar-1.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz"; @@ -2819,28 +3974,49 @@ passthru.names = [ "cookiejar" ]; }; by-spec."cookies".">= 0.2.2" = - self.by-version."cookies"."0.3.8"; - by-version."cookies"."0.3.8" = lib.makeOverridable self.buildNodePackage { - name = "cookies-0.3.8"; + self.by-version."cookies"."0.4.0"; + by-version."cookies"."0.4.0" = lib.makeOverridable self.buildNodePackage { + name = "node-cookies-0.4.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/cookies/-/cookies-0.3.8.tgz"; - name = "cookies-0.3.8.tgz"; - sha1 = "92fe50918f3d55aec4ae9d978bcddda2ada28ce9"; + url = "http://registry.npmjs.org/cookies/-/cookies-0.4.0.tgz"; + name = "cookies-0.4.0.tgz"; + sha1 = "c5d1f8b76217ed653135afe32bdad747c2fa9190"; }) ]; buildInputs = (self.nativeDeps."cookies" or []); deps = [ + self.by-version."keygrip"."1.0.0" ]; peerDependencies = [ ]; passthru.names = [ "cookies" ]; }; + by-spec."copy-paste"."~0.2.0" = + self.by-version."copy-paste"."0.2.0"; + by-version."copy-paste"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-copy-paste-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/copy-paste/-/copy-paste-0.2.0.tgz"; + name = "copy-paste-0.2.0.tgz"; + sha1 = "6a83a3a073fc144adfa83cd03adb8db35953c424"; + }) + ]; + buildInputs = + (self.nativeDeps."copy-paste" or []); + deps = [ + self.by-version."execSync"."1.0.1-pre" + ]; + peerDependencies = [ + ]; + passthru.names = [ "copy-paste" ]; + }; by-spec."core-util-is"."~1.0.0" = self.by-version."core-util-is"."1.0.1"; by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "core-util-is-1.0.1"; + name = "node-core-util-is-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"; @@ -2857,55 +4033,53 @@ passthru.names = [ "core-util-is" ]; }; by-spec."couch-login"."~0.1.15" = - self.by-version."couch-login"."0.1.19"; - by-version."couch-login"."0.1.19" = lib.makeOverridable self.buildNodePackage { - name = "couch-login-0.1.19"; + self.by-version."couch-login"."0.1.20"; + by-version."couch-login"."0.1.20" = lib.makeOverridable self.buildNodePackage { + name = "node-couch-login-0.1.20"; src = [ (fetchurl { - url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.19.tgz"; - name = "couch-login-0.1.19.tgz"; - sha1 = "5c472f64670dfb43fc381d290629b223edb64afa"; + url = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz"; + name = "couch-login-0.1.20.tgz"; + sha1 = "007c70ef80089dbae6f59eeeec37480799b39595"; }) ]; buildInputs = (self.nativeDeps."couch-login" or []); deps = [ - self.by-version."request"."2.31.0" + self.by-version."request"."2.34.0" ]; peerDependencies = [ ]; passthru.names = [ "couch-login" ]; }; - by-spec."couch-login"."~0.1.18" = - self.by-version."couch-login"."0.1.19"; by-spec."coveralls"."*" = - self.by-version."coveralls"."2.6.1"; - by-version."coveralls"."2.6.1" = lib.makeOverridable self.buildNodePackage { - name = "coveralls-2.6.1"; + self.by-version."coveralls"."2.10.0"; + by-version."coveralls"."2.10.0" = lib.makeOverridable self.buildNodePackage { + name = "coveralls-2.10.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/coveralls/-/coveralls-2.6.1.tgz"; - name = "coveralls-2.6.1.tgz"; - sha1 = "0de635bba15fd48f4fc557ae9ac21309c013d2de"; + url = "http://registry.npmjs.org/coveralls/-/coveralls-2.10.0.tgz"; + name = "coveralls-2.10.0.tgz"; + sha1 = "03f0c54070f30e0d336c79ef2b16a5c53728a7e5"; }) ]; buildInputs = (self.nativeDeps."coveralls" or []); deps = [ - self.by-version."yaml"."0.2.3" + self.by-version."js-yaml"."3.0.1" self.by-version."request"."2.16.2" - self.by-version."lcov-parse"."0.0.4" + self.by-version."lcov-parse"."0.0.6" self.by-version."log-driver"."1.2.1" ]; peerDependencies = [ ]; passthru.names = [ "coveralls" ]; }; - "coveralls" = self.by-version."coveralls"."2.6.1"; + "coveralls" = self.by-version."coveralls"."2.10.0"; by-spec."crc"."0.2.0" = self.by-version."crc"."0.2.0"; by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "crc-0.2.0"; + name = "node-crc-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz"; @@ -2924,7 +4098,7 @@ by-spec."crossroads"."~0.12.0" = self.by-version."crossroads"."0.12.0"; by-version."crossroads"."0.12.0" = lib.makeOverridable self.buildNodePackage { - name = "crossroads-0.12.0"; + name = "node-crossroads-0.12.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/crossroads/-/crossroads-0.12.0.tgz"; @@ -2944,7 +4118,7 @@ by-spec."cryptiles"."0.1.x" = self.by-version."cryptiles"."0.1.3"; by-version."cryptiles"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "cryptiles-0.1.3"; + name = "node-cryptiles-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz"; @@ -2964,7 +4138,7 @@ by-spec."cryptiles"."0.2.x" = self.by-version."cryptiles"."0.2.2"; by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "cryptiles-0.2.2"; + name = "node-cryptiles-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"; @@ -2984,7 +4158,7 @@ by-spec."crypto"."0.0.3" = self.by-version."crypto"."0.0.3"; by-version."crypto"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "crypto-0.0.3"; + name = "node-crypto-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz"; @@ -3000,10 +4174,48 @@ ]; passthru.names = [ "crypto" ]; }; + by-spec."crypto-browserify"."~1.0.9" = + self.by-version."crypto-browserify"."1.0.9"; + by-version."crypto-browserify"."1.0.9" = lib.makeOverridable self.buildNodePackage { + name = "node-crypto-browserify-1.0.9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz"; + name = "crypto-browserify-1.0.9.tgz"; + sha1 = "cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0"; + }) + ]; + buildInputs = + (self.nativeDeps."crypto-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "crypto-browserify" ]; + }; + by-spec."cscodegen"."git://github.com/michaelficarra/cscodegen.git#73fd7202ac086c26f18c9d56f025b18b3c6f5383" = + self.by-version."cscodegen"."0.1.0"; + by-version."cscodegen"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "cscodegen-0.1.0"; + src = [ + (fetchgit { + url = "git://github.com/michaelficarra/cscodegen.git"; + rev = "73fd7202ac086c26f18c9d56f025b18b3c6f5383"; + sha256 = "cb527b00ac305ebc6ab3f59ff4e99def7646b417fdd9e35f0186c8ee41cd0829"; + }) + ]; + buildInputs = + (self.nativeDeps."cscodegen" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "cscodegen" ]; + }; by-spec."css"."~1.0.8" = self.by-version."css"."1.0.8"; by-version."css"."1.0.8" = lib.makeOverridable self.buildNodePackage { - name = "css-1.0.8"; + name = "node-css-1.0.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/css/-/css-1.0.8.tgz"; @@ -3024,7 +4236,7 @@ by-spec."css-parse"."1.0.4" = self.by-version."css-parse"."1.0.4"; by-version."css-parse"."1.0.4" = lib.makeOverridable self.buildNodePackage { - name = "css-parse-1.0.4"; + name = "node-css-parse-1.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz"; @@ -3043,7 +4255,7 @@ by-spec."css-parse"."1.7.x" = self.by-version."css-parse"."1.7.0"; by-version."css-parse"."1.7.0" = lib.makeOverridable self.buildNodePackage { - name = "css-parse-1.7.0"; + name = "node-css-parse-1.7.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz"; @@ -3062,7 +4274,7 @@ by-spec."css-stringify"."1.0.5" = self.by-version."css-stringify"."1.0.5"; by-version."css-stringify"."1.0.5" = lib.makeOverridable self.buildNodePackage { - name = "css-stringify-1.0.5"; + name = "node-css-stringify-1.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz"; @@ -3078,29 +4290,51 @@ ]; passthru.names = [ "css-stringify" ]; }; - by-spec."cssom"."0.2.x" = - self.by-version."cssom"."0.2.5"; - by-version."cssom"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "cssom-0.2.5"; + by-spec."csurf"."1.0.0" = + self.by-version."csurf"."1.0.0"; + by-version."csurf"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-csurf-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz"; - name = "cssom-0.2.5.tgz"; - sha1 = "2682709b5902e7212df529116ff788cd5b254894"; + url = "http://registry.npmjs.org/csurf/-/csurf-1.0.0.tgz"; + name = "csurf-1.0.0.tgz"; + sha1 = "a68d5718b988032e270abf1f4b34f272753d745b"; }) ]; buildInputs = - (self.nativeDeps."cssom" or []); + (self.nativeDeps."csurf" or []); deps = [ + self.by-version."uid2"."0.0.3" ]; peerDependencies = [ ]; - passthru.names = [ "cssom" ]; + passthru.names = [ "csurf" ]; + }; + by-spec."csurf"."1.1.0" = + self.by-version."csurf"."1.1.0"; + by-version."csurf"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-csurf-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz"; + name = "csurf-1.1.0.tgz"; + sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2"; + }) + ]; + buildInputs = + (self.nativeDeps."csurf" or []); + deps = [ + self.by-version."uid2"."0.0.3" + self.by-version."scmp"."0.0.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "csurf" ]; }; by-spec."ctype"."0.5.0" = self.by-version."ctype"."0.5.0"; by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "ctype-0.5.0"; + name = "node-ctype-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz"; @@ -3119,7 +4353,7 @@ by-spec."ctype"."0.5.2" = self.by-version."ctype"."0.5.2"; by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage { - name = "ctype-0.5.2"; + name = "node-ctype-0.5.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"; @@ -3138,7 +4372,7 @@ by-spec."cycle"."1.0.x" = self.by-version."cycle"."1.0.3"; by-version."cycle"."1.0.3" = lib.makeOverridable self.buildNodePackage { - name = "cycle-1.0.3"; + name = "node-cycle-1.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"; @@ -3157,7 +4391,7 @@ by-spec."dargs"."~0.1.0" = self.by-version."dargs"."0.1.0"; by-version."dargs"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "dargs-0.1.0"; + name = "node-dargs-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/dargs/-/dargs-0.1.0.tgz"; @@ -3176,7 +4410,7 @@ by-spec."dateformat"."1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3"; by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "dateformat-1.0.2-1.2.3"; + name = "node-dateformat-1.0.2-1.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz"; @@ -3195,7 +4429,7 @@ by-spec."dateformat"."~1.0.6" = self.by-version."dateformat"."1.0.7-1.2.3"; by-version."dateformat"."1.0.7-1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "dateformat-1.0.7-1.2.3"; + name = "node-dateformat-1.0.7-1.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz"; @@ -3212,14 +4446,14 @@ passthru.names = [ "dateformat" ]; }; by-spec."debug"."*" = - self.by-version."debug"."0.7.4"; - by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage { - name = "debug-0.7.4"; + self.by-version."debug"."0.8.1"; + by-version."debug"."0.8.1" = lib.makeOverridable self.buildNodePackage { + name = "node-debug-0.8.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz"; - name = "debug-0.7.4.tgz"; - sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39"; + url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz"; + name = "debug-0.8.1.tgz"; + sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130"; }) ]; buildInputs = @@ -3233,7 +4467,7 @@ by-spec."debug"."0.5.0" = self.by-version."debug"."0.5.0"; by-version."debug"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "debug-0.5.0"; + name = "node-debug-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/debug/-/debug-0.5.0.tgz"; @@ -3249,15 +4483,15 @@ ]; passthru.names = [ "debug" ]; }; - by-spec."debug"."0.7.0" = - self.by-version."debug"."0.7.0"; - by-version."debug"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "debug-0.7.0"; + by-spec."debug"."0.7.4" = + self.by-version."debug"."0.7.4"; + by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage { + name = "node-debug-0.7.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz"; - name = "debug-0.7.0.tgz"; - sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08"; + url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz"; + name = "debug-0.7.4.tgz"; + sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39"; }) ]; buildInputs = @@ -3269,78 +4503,59 @@ passthru.names = [ "debug" ]; }; by-spec."debug".">= 0.7.3 < 1" = - self.by-version."debug"."0.7.4"; + self.by-version."debug"."0.8.1"; by-spec."debug"."~0.7.0" = self.by-version."debug"."0.7.4"; by-spec."debug"."~0.7.2" = self.by-version."debug"."0.7.4"; - by-spec."debug"."~0.7.3" = - self.by-version."debug"."0.7.4"; - by-spec."debuglog"."0.0.2" = - self.by-version."debuglog"."0.0.2"; - by-version."debuglog"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "debuglog-0.0.2"; + by-spec."debug"."~0.8" = + self.by-version."debug"."0.8.1"; + by-spec."decompress"."^0.2.0" = + self.by-version."decompress"."0.2.2"; + by-version."decompress"."0.2.2" = lib.makeOverridable self.buildNodePackage { + name = "node-decompress-0.2.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz"; - name = "debuglog-0.0.2.tgz"; - sha1 = "6c0dcf07e2c3f74524629b741668bd46c7b362eb"; - }) - ]; - buildInputs = - (self.nativeDeps."debuglog" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "debuglog" ]; - }; - by-spec."decompress"."~0.1.0" = - self.by-version."decompress"."0.1.5"; - by-version."decompress"."0.1.5" = lib.makeOverridable self.buildNodePackage { - name = "decompress-0.1.5"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/decompress/-/decompress-0.1.5.tgz"; - name = "decompress-0.1.5.tgz"; - sha1 = "0925d42a2164bead83f0822a7a2b4ad02e99c76c"; + url = "http://registry.npmjs.org/decompress/-/decompress-0.2.2.tgz"; + name = "decompress-0.2.2.tgz"; + sha1 = "12ab828b16f5990de645e48917774ef6045267c0"; }) ]; buildInputs = (self.nativeDeps."decompress" or []); deps = [ - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" + self.by-version."map-key"."0.1.1" self.by-version."mkdirp"."0.3.5" - self.by-version."mout"."0.6.0" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."stream-combiner"."0.0.4" self.by-version."tar"."0.1.19" - self.by-version."temp"."0.6.0" + self.by-version."tempfile"."0.1.3" ]; peerDependencies = [ ]; passthru.names = [ "decompress" ]; }; by-spec."decompress-zip"."~0.0.3" = - self.by-version."decompress-zip"."0.0.4"; - by-version."decompress-zip"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "decompress-zip-0.0.4"; + self.by-version."decompress-zip"."0.0.6"; + by-version."decompress-zip"."0.0.6" = lib.makeOverridable self.buildNodePackage { + name = "decompress-zip-0.0.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.4.tgz"; - name = "decompress-zip-0.0.4.tgz"; - sha1 = "c562431f76af8970afaf50226e42e1c47a57b086"; + url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.6.tgz"; + name = "decompress-zip-0.0.6.tgz"; + sha1 = "263ef05b304cdcd1172858af453561c53ae017bb"; }) ]; buildInputs = (self.nativeDeps."decompress-zip" or []); deps = [ - self.by-version."q"."0.9.7" + self.by-version."q"."1.0.1" self.by-version."mkpath"."0.1.0" self.by-version."binary"."0.3.0" self.by-version."touch"."0.0.2" - self.by-version."readable-stream"."1.1.10" - self.by-version."nopt"."2.1.2" + self.by-version."readable-stream"."1.1.12" + self.by-version."nopt"."2.2.0" ]; peerDependencies = [ ]; @@ -3349,7 +4564,7 @@ by-spec."deep-eql"."0.1.3" = self.by-version."deep-eql"."0.1.3"; by-version."deep-eql"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "deep-eql-0.1.3"; + name = "node-deep-eql-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"; @@ -3367,14 +4582,14 @@ passthru.names = [ "deep-eql" ]; }; by-spec."deep-equal"."*" = - self.by-version."deep-equal"."0.1.2"; - by-version."deep-equal"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "deep-equal-0.1.2"; + self.by-version."deep-equal"."0.2.1"; + by-version."deep-equal"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-deep-equal-0.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz"; - name = "deep-equal-0.1.2.tgz"; - sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce"; + url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz"; + name = "deep-equal-0.2.1.tgz"; + sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878"; }) ]; buildInputs = @@ -3388,7 +4603,7 @@ by-spec."deep-equal"."0.0.0" = self.by-version."deep-equal"."0.0.0"; by-version."deep-equal"."0.0.0" = lib.makeOverridable self.buildNodePackage { - name = "deep-equal-0.0.0"; + name = "node-deep-equal-0.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz"; @@ -3404,15 +4619,36 @@ ]; passthru.names = [ "deep-equal" ]; }; - by-spec."deep-extend"."~0.2.5" = - self.by-version."deep-extend"."0.2.6"; - by-version."deep-extend"."0.2.6" = lib.makeOverridable self.buildNodePackage { - name = "deep-extend-0.2.6"; + by-spec."deep-equal"."~0.0.0" = + self.by-version."deep-equal"."0.0.0"; + by-spec."deep-equal"."~0.1.0" = + self.by-version."deep-equal"."0.1.2"; + by-version."deep-equal"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-deep-equal-0.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.6.tgz"; - name = "deep-extend-0.2.6.tgz"; - sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250"; + url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz"; + name = "deep-equal-0.1.2.tgz"; + sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce"; + }) + ]; + buildInputs = + (self.nativeDeps."deep-equal" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "deep-equal" ]; + }; + by-spec."deep-extend"."~0.2.5" = + self.by-version."deep-extend"."0.2.8"; + by-version."deep-extend"."0.2.8" = lib.makeOverridable self.buildNodePackage { + name = "node-deep-extend-0.2.8"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz"; + name = "deep-extend-0.2.8.tgz"; + sha1 = "6d2893a805286e46d8243137c32fb991b50f4299"; }) ]; buildInputs = @@ -3423,12 +4659,51 @@ ]; passthru.names = [ "deep-extend" ]; }; - by-spec."deep-extend"."~0.2.6" = - self.by-version."deep-extend"."0.2.6"; + by-spec."deep-extend"."~0.2.8" = + self.by-version."deep-extend"."0.2.8"; + by-spec."deepmerge"."*" = + self.by-version."deepmerge"."0.2.7"; + by-version."deepmerge"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "node-deepmerge-0.2.7"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/deepmerge/-/deepmerge-0.2.7.tgz"; + name = "deepmerge-0.2.7.tgz"; + sha1 = "3a5ab8d37311c4d1aefb22209693afe0a91a0563"; + }) + ]; + buildInputs = + (self.nativeDeps."deepmerge" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "deepmerge" ]; + }; + "deepmerge" = self.by-version."deepmerge"."0.2.7"; + by-spec."defined"."~0.0.0" = + self.by-version."defined"."0.0.0"; + by-version."defined"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-defined-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/defined/-/defined-0.0.0.tgz"; + name = "defined-0.0.0.tgz"; + sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e"; + }) + ]; + buildInputs = + (self.nativeDeps."defined" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "defined" ]; + }; by-spec."delayed-stream"."0.0.5" = self.by-version."delayed-stream"."0.0.5"; by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "delayed-stream-0.0.5"; + name = "node-delayed-stream-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"; @@ -3444,10 +4719,75 @@ ]; passthru.names = [ "delayed-stream" ]; }; + by-spec."deps-sort"."~0.1.1" = + self.by-version."deps-sort"."0.1.1"; + by-version."deps-sort"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "deps-sort-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/deps-sort/-/deps-sort-0.1.1.tgz"; + name = "deps-sort-0.1.1.tgz"; + sha1 = "940d9da1f84a3891c7218ad240ec5ed6084bc8d6"; + }) + ]; + buildInputs = + (self.nativeDeps."deps-sort" or []); + deps = [ + self.by-version."through"."2.3.4" + self.by-version."JSONStream"."0.6.4" + self.by-version."minimist"."0.0.8" + ]; + peerDependencies = [ + ]; + passthru.names = [ "deps-sort" ]; + }; + by-spec."derequire"."~0.8.0" = + self.by-version."derequire"."0.8.0"; + by-version."derequire"."0.8.0" = lib.makeOverridable self.buildNodePackage { + name = "node-derequire-0.8.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/derequire/-/derequire-0.8.0.tgz"; + name = "derequire-0.8.0.tgz"; + sha1 = "c1f7f1da2cede44adede047378f03f444e9c4c0d"; + }) + ]; + buildInputs = + (self.nativeDeps."derequire" or []); + deps = [ + self.by-version."estraverse"."1.5.0" + self.by-version."esrefactor"."0.1.0" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + ]; + peerDependencies = [ + ]; + passthru.names = [ "derequire" ]; + }; + by-spec."detective"."~3.1.0" = + self.by-version."detective"."3.1.0"; + by-version."detective"."3.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-detective-3.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/detective/-/detective-3.1.0.tgz"; + name = "detective-3.1.0.tgz"; + sha1 = "77782444ab752b88ca1be2e9d0a0395f1da25eed"; + }) + ]; + buildInputs = + (self.nativeDeps."detective" or []); + deps = [ + self.by-version."escodegen"."1.1.0" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + ]; + peerDependencies = [ + ]; + passthru.names = [ "detective" ]; + }; by-spec."di"."~0.0.1" = self.by-version."di"."0.0.1"; by-version."di"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "di-0.0.1"; + name = "node-di-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/di/-/di-0.0.1.tgz"; @@ -3466,7 +4806,7 @@ by-spec."diff"."1.0.7" = self.by-version."diff"."1.0.7"; by-version."diff"."1.0.7" = lib.makeOverridable self.buildNodePackage { - name = "diff-1.0.7"; + name = "node-diff-1.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/diff/-/diff-1.0.7.tgz"; @@ -3485,7 +4825,7 @@ by-spec."diff"."~1.0.3" = self.by-version."diff"."1.0.8"; by-version."diff"."1.0.8" = lib.makeOverridable self.buildNodePackage { - name = "diff-1.0.8"; + name = "node-diff-1.0.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz"; @@ -3508,7 +4848,7 @@ by-spec."director"."1.1.10" = self.by-version."director"."1.1.10"; by-version."director"."1.1.10" = lib.makeOverridable self.buildNodePackage { - name = "director-1.1.10"; + name = "node-director-1.1.10"; src = [ (fetchurl { url = "http://registry.npmjs.org/director/-/director-1.1.10.tgz"; @@ -3527,7 +4867,7 @@ by-spec."dkim-signer"."~0.1.0" = self.by-version."dkim-signer"."0.1.0"; by-version."dkim-signer"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "dkim-signer-0.1.0"; + name = "node-dkim-signer-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.0.tgz"; @@ -3538,17 +4878,36 @@ buildInputs = (self.nativeDeps."dkim-signer" or []); deps = [ - self.by-version."punycode"."1.2.3" + self.by-version."punycode"."1.2.4" self.by-version."mimelib"."0.2.14" ]; peerDependencies = [ ]; passthru.names = [ "dkim-signer" ]; }; + by-spec."domain-browser"."~1.1.0" = + self.by-version."domain-browser"."1.1.1"; + by-version."domain-browser"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-domain-browser-1.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/domain-browser/-/domain-browser-1.1.1.tgz"; + name = "domain-browser-1.1.1.tgz"; + sha1 = "0123c1b9afe3bb7c8a9e856177b2059440957de0"; + }) + ]; + buildInputs = + (self.nativeDeps."domain-browser" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "domain-browser" ]; + }; by-spec."domelementtype"."1" = self.by-version."domelementtype"."1.1.1"; by-version."domelementtype"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "domelementtype-1.1.1"; + name = "node-domelementtype-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz"; @@ -3567,7 +4926,7 @@ by-spec."domhandler"."2.0" = self.by-version."domhandler"."2.0.3"; by-version."domhandler"."2.0.3" = lib.makeOverridable self.buildNodePackage { - name = "domhandler-2.0.3"; + name = "node-domhandler-2.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/domhandler/-/domhandler-2.0.3.tgz"; @@ -3587,7 +4946,7 @@ by-spec."domhandler"."2.1" = self.by-version."domhandler"."2.1.0"; by-version."domhandler"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "domhandler-2.1.0"; + name = "node-domhandler-2.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz"; @@ -3607,7 +4966,7 @@ by-spec."domhandler"."2.2" = self.by-version."domhandler"."2.2.0"; by-version."domhandler"."2.2.0" = lib.makeOverridable self.buildNodePackage { - name = "domhandler-2.2.0"; + name = "node-domhandler-2.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz"; @@ -3627,7 +4986,7 @@ by-spec."domutils"."1.1" = self.by-version."domutils"."1.1.6"; by-version."domutils"."1.1.6" = lib.makeOverridable self.buildNodePackage { - name = "domutils-1.1.6"; + name = "node-domutils-1.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz"; @@ -3647,7 +5006,7 @@ by-spec."domutils"."1.3" = self.by-version."domutils"."1.3.0"; by-version."domutils"."1.3.0" = lib.makeOverridable self.buildNodePackage { - name = "domutils-1.3.0"; + name = "node-domutils-1.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz"; @@ -3664,25 +5023,48 @@ ]; passthru.names = [ "domutils" ]; }; - by-spec."download"."~0.1.6" = - self.by-version."download"."0.1.7"; - by-version."download"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "download-0.1.7"; + by-spec."domutils"."1.4" = + self.by-version."domutils"."1.4.3"; + by-version."domutils"."1.4.3" = lib.makeOverridable self.buildNodePackage { + name = "node-domutils-1.4.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/download/-/download-0.1.7.tgz"; - name = "download-0.1.7.tgz"; - sha1 = "d2a941a878a6d2fdaba60588ffffadab32b788b4"; + url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz"; + name = "domutils-1.4.3.tgz"; + sha1 = "0865513796c6b306031850e175516baf80b72a6f"; + }) + ]; + buildInputs = + (self.nativeDeps."domutils" or []); + deps = [ + self.by-version."domelementtype"."1.1.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "domutils" ]; + }; + by-spec."download"."~0.1.6" = + self.by-version."download"."0.1.15"; + by-version."download"."0.1.15" = lib.makeOverridable self.buildNodePackage { + name = "download-0.1.15"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/download/-/download-0.1.15.tgz"; + name = "download-0.1.15.tgz"; + sha1 = "8dc3d49a131cd3714eb8fd614a155077d2c7f630"; }) ]; buildInputs = (self.nativeDeps."download" or []); deps = [ - self.by-version."decompress"."0.1.5" - self.by-version."each-async"."0.1.1" + self.by-version."decompress"."0.2.2" + self.by-version."each-async"."0.1.2" + self.by-version."get-stdin"."0.1.0" + self.by-version."get-urls"."0.1.1" self.by-version."mkdirp"."0.3.5" - self.by-version."request"."2.25.0" - self.by-version."through2"."0.1.0" + self.by-version."nopt"."2.2.0" + self.by-version."request"."2.34.0" + self.by-version."through2"."0.4.1" ]; peerDependencies = [ ]; @@ -3712,7 +5094,7 @@ by-spec."dtrace-provider"."0.2.8" = self.by-version."dtrace-provider"."0.2.8"; by-version."dtrace-provider"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "dtrace-provider-0.2.8"; + name = "node-dtrace-provider-0.2.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz"; @@ -3731,7 +5113,7 @@ by-spec."duplexer"."~0.1.1" = self.by-version."duplexer"."0.1.1"; by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "duplexer-0.1.1"; + name = "node-duplexer-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz"; @@ -3747,15 +5129,15 @@ ]; passthru.names = [ "duplexer" ]; }; - by-spec."each-async"."~0.1.1" = - self.by-version."each-async"."0.1.1"; - by-version."each-async"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "each-async-0.1.1"; + by-spec."each-async"."^0.1.1" = + self.by-version."each-async"."0.1.2"; + by-version."each-async"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-each-async-0.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/each-async/-/each-async-0.1.1.tgz"; - name = "each-async-0.1.1.tgz"; - sha1 = "32bcef7e3cdc741d630e29846348be4ecca624ff"; + url = "http://registry.npmjs.org/each-async/-/each-async-0.1.2.tgz"; + name = "each-async-0.1.2.tgz"; + sha1 = "d5b900bd92705ed5b8cad3307a6536adb0f134c6"; }) ]; buildInputs = @@ -3769,7 +5151,7 @@ by-spec."editor"."0.0.5" = self.by-version."editor"."0.0.5"; by-version."editor"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "editor-0.0.5"; + name = "node-editor-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/editor/-/editor-0.0.5.tgz"; @@ -3788,7 +5170,7 @@ by-spec."ejs"."0.8.3" = self.by-version."ejs"."0.8.3"; by-version."ejs"."0.8.3" = lib.makeOverridable self.buildNodePackage { - name = "ejs-0.8.3"; + name = "node-ejs-0.8.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz"; @@ -3807,7 +5189,7 @@ by-spec."emitter-component"."0.0.6" = self.by-version."emitter-component"."0.0.6"; by-version."emitter-component"."0.0.6" = lib.makeOverridable self.buildNodePackage { - name = "emitter-component-0.0.6"; + name = "node-emitter-component-0.0.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/emitter-component/-/emitter-component-0.0.6.tgz"; @@ -3826,7 +5208,7 @@ by-spec."emitter-component"."1.0.0" = self.by-version."emitter-component"."1.0.0"; by-version."emitter-component"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "emitter-component-1.0.0"; + name = "node-emitter-component-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz"; @@ -3845,7 +5227,7 @@ by-spec."encoding"."~0.1" = self.by-version."encoding"."0.1.7"; by-version."encoding"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "encoding-0.1.7"; + name = "node-encoding-0.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/encoding/-/encoding-0.1.7.tgz"; @@ -3863,14 +5245,14 @@ passthru.names = [ "encoding" ]; }; by-spec."entities"."0.x" = - self.by-version."entities"."0.3.0"; - by-version."entities"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "entities-0.3.0"; + self.by-version."entities"."0.5.0"; + by-version."entities"."0.5.0" = lib.makeOverridable self.buildNodePackage { + name = "node-entities-0.5.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/entities/-/entities-0.3.0.tgz"; - name = "entities-0.3.0.tgz"; - sha1 = "6ccead6010fee0c5a06f538d242792485cbfa256"; + url = "http://registry.npmjs.org/entities/-/entities-0.5.0.tgz"; + name = "entities-0.5.0.tgz"; + sha1 = "f611cb5ae221050e0012c66979503fd7ae19cc49"; }) ]; buildInputs = @@ -3881,10 +5263,52 @@ ]; passthru.names = [ "entities" ]; }; + by-spec."envify"."~1.2.0" = + self.by-version."envify"."1.2.1"; + by-version."envify"."1.2.1" = lib.makeOverridable self.buildNodePackage { + name = "envify-1.2.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/envify/-/envify-1.2.1.tgz"; + name = "envify-1.2.1.tgz"; + sha1 = "ac34e3676f9035d59518fef57d9914a24a18767a"; + }) + ]; + buildInputs = + (self.nativeDeps."envify" or []); + deps = [ + self.by-version."xtend"."2.1.2" + self.by-version."through"."2.3.4" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + self.by-version."jstransform"."3.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "envify" ]; + }; + by-spec."errorhandler"."1.0.0" = + self.by-version."errorhandler"."1.0.0"; + by-version."errorhandler"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-errorhandler-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/errorhandler/-/errorhandler-1.0.0.tgz"; + name = "errorhandler-1.0.0.tgz"; + sha1 = "d74b37e8dc38c99afb3f5a79edcebaea022d042a"; + }) + ]; + buildInputs = + (self.nativeDeps."errorhandler" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "errorhandler" ]; + }; by-spec."es5-ext"."~0.9.2" = self.by-version."es5-ext"."0.9.2"; by-version."es5-ext"."0.9.2" = lib.makeOverridable self.buildNodePackage { - name = "es5-ext-0.9.2"; + name = "node-es5-ext-0.9.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz"; @@ -3903,7 +5327,7 @@ by-spec."escape-html"."*" = self.by-version."escape-html"."1.0.1"; by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "escape-html-1.0.1"; + name = "node-escape-html-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"; @@ -3920,15 +5344,64 @@ passthru.names = [ "escape-html" ]; }; "escape-html" = self.by-version."escape-html"."1.0.1"; - by-spec."escodegen"."*" = - self.by-version."escodegen"."1.0.1"; - by-version."escodegen"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "escodegen-1.0.1"; + by-spec."escape-html"."1.0.1" = + self.by-version."escape-html"."1.0.1"; + by-spec."escodegen"."1.3.x" = + self.by-version."escodegen"."1.3.2"; + by-version."escodegen"."1.3.2" = lib.makeOverridable self.buildNodePackage { + name = "escodegen-1.3.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/escodegen/-/escodegen-1.0.1.tgz"; - name = "escodegen-1.0.1.tgz"; - sha1 = "84c92c4a07440271b90e6b78e620973bf721226e"; + url = "http://registry.npmjs.org/escodegen/-/escodegen-1.3.2.tgz"; + name = "escodegen-1.3.2.tgz"; + sha1 = "bb0f434dbd594f2060639a79b4b06259dd5372de"; + }) + ]; + buildInputs = + (self.nativeDeps."escodegen" or []); + deps = [ + self.by-version."esutils"."1.0.0" + self.by-version."estraverse"."1.5.0" + self.by-version."esprima"."1.1.1" + self.by-version."source-map"."0.1.33" + ]; + peerDependencies = [ + ]; + passthru.names = [ "escodegen" ]; + }; + by-spec."escodegen"."~ 0.0.28" = + self.by-version."escodegen"."0.0.28"; + by-version."escodegen"."0.0.28" = lib.makeOverridable self.buildNodePackage { + name = "escodegen-0.0.28"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz"; + name = "escodegen-0.0.28.tgz"; + sha1 = "0e4ff1715f328775d6cab51ac44a406cd7abffd3"; + }) + ]; + buildInputs = + (self.nativeDeps."escodegen" or []); + deps = [ + self.by-version."esprima"."1.0.4" + self.by-version."estraverse"."1.3.2" + self.by-version."source-map"."0.1.33" + ]; + peerDependencies = [ + ]; + passthru.names = [ "escodegen" ]; + }; + by-spec."escodegen"."~0.0.24" = + self.by-version."escodegen"."0.0.28"; + by-spec."escodegen"."~1.1.0" = + self.by-version."escodegen"."1.1.0"; + by-version."escodegen"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "escodegen-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz"; + name = "escodegen-1.1.0.tgz"; + sha1 = "c663923f6e20aad48d0c0fa49f31c6d4f49360cf"; }) ]; buildInputs = @@ -3937,37 +5410,98 @@ self.by-version."esprima"."1.0.4" self.by-version."estraverse"."1.5.0" self.by-version."esutils"."1.0.0" - self.by-version."source-map"."0.1.31" + self.by-version."source-map"."0.1.33" ]; peerDependencies = [ ]; passthru.names = [ "escodegen" ]; }; - by-spec."escodegen"."0.0.23" = - self.by-version."escodegen"."0.0.23"; - by-version."escodegen"."0.0.23" = lib.makeOverridable self.buildNodePackage { - name = "escodegen-0.0.23"; + by-spec."escope"."~ 1.0.0" = + self.by-version."escope"."1.0.1"; + by-version."escope"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-escope-1.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/escodegen/-/escodegen-0.0.23.tgz"; - name = "escodegen-0.0.23.tgz"; - sha1 = "9acf978164368e42276571f18839c823b3a844df"; + url = "http://registry.npmjs.org/escope/-/escope-1.0.1.tgz"; + name = "escope-1.0.1.tgz"; + sha1 = "59b04cdccb76555608499ed13502b9028fe73dd8"; }) ]; buildInputs = - (self.nativeDeps."escodegen" or []); + (self.nativeDeps."escope" or []); deps = [ - self.by-version."esprima"."1.0.4" - self.by-version."estraverse"."0.0.4" - self.by-version."source-map"."0.1.31" + self.by-version."estraverse"."1.5.0" ]; peerDependencies = [ ]; - passthru.names = [ "escodegen" ]; + passthru.names = [ "escope" ]; }; - by-spec."escodegen"."1.0.x" = - self.by-version."escodegen"."1.0.1"; - by-spec."esprima"."1.0.x" = + by-spec."escope"."~0.0.13" = + self.by-version."escope"."0.0.16"; + by-version."escope"."0.0.16" = lib.makeOverridable self.buildNodePackage { + name = "node-escope-0.0.16"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/escope/-/escope-0.0.16.tgz"; + name = "escope-0.0.16.tgz"; + sha1 = "418c7a0afca721dafe659193fd986283e746538f"; + }) + ]; + buildInputs = + (self.nativeDeps."escope" or []); + deps = [ + self.by-version."estraverse"."1.5.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "escope" ]; + }; + by-spec."esmangle"."~0.0.8" = + self.by-version."esmangle"."0.0.17"; + by-version."esmangle"."0.0.17" = lib.makeOverridable self.buildNodePackage { + name = "esmangle-0.0.17"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esmangle/-/esmangle-0.0.17.tgz"; + name = "esmangle-0.0.17.tgz"; + sha1 = "4c5c93607cde5d1276bad396e836229dba68d90c"; + }) + ]; + buildInputs = + (self.nativeDeps."esmangle" or []); + deps = [ + self.by-version."esprima"."1.0.4" + self.by-version."escope"."1.0.1" + self.by-version."escodegen"."0.0.28" + self.by-version."estraverse"."1.3.2" + self.by-version."source-map"."0.1.33" + self.by-version."esshorten"."0.0.2" + self.by-version."optimist"."0.6.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "esmangle" ]; + }; + by-spec."esprima"."1.1.x" = + self.by-version."esprima"."1.1.1"; + by-version."esprima"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "esprima-1.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz"; + name = "esprima-1.1.1.tgz"; + sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549"; + }) + ]; + buildInputs = + (self.nativeDeps."esprima" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "esprima" ]; + }; + by-spec."esprima"."~ 1.0.2" = self.by-version."esprima"."1.0.4"; by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage { name = "esprima-1.0.4"; @@ -3986,18 +5520,82 @@ ]; passthru.names = [ "esprima" ]; }; - by-spec."esprima"."~ 1.0.2" = - self.by-version."esprima"."1.0.4"; - by-spec."esprima"."~1.0.0" = - self.by-version."esprima"."1.0.4"; by-spec."esprima"."~1.0.2" = self.by-version."esprima"."1.0.4"; by-spec."esprima"."~1.0.4" = self.by-version."esprima"."1.0.4"; - by-spec."estraverse"."*" = + by-spec."esprima"."~1.1.1" = + self.by-version."esprima"."1.1.1"; + by-spec."esprima-fb"."3001.1.0-dev-harmony-fb" = + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"; + by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage { + name = "esprima-fb-3001.1.0-dev-harmony-fb"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz"; + name = "esprima-fb-3001.1.0-dev-harmony-fb.tgz"; + sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411"; + }) + ]; + buildInputs = + (self.nativeDeps."esprima-fb" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "esprima-fb" ]; + }; + by-spec."esprima-fb"."^3001.1.0-dev-harmony-fb" = + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"; + by-spec."esprima-fb"."~3001.1.0-dev-harmony-fb" = + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"; + by-spec."esrefactor"."~0.1.0" = + self.by-version."esrefactor"."0.1.0"; + by-version."esrefactor"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-esrefactor-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz"; + name = "esrefactor-0.1.0.tgz"; + sha1 = "d142795a282339ab81e936b5b7a21b11bf197b13"; + }) + ]; + buildInputs = + (self.nativeDeps."esrefactor" or []); + deps = [ + self.by-version."esprima"."1.0.4" + self.by-version."estraverse"."0.0.4" + self.by-version."escope"."0.0.16" + ]; + peerDependencies = [ + ]; + passthru.names = [ "esrefactor" ]; + }; + by-spec."esshorten"."~ 0.0.2" = + self.by-version."esshorten"."0.0.2"; + by-version."esshorten"."0.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-esshorten-0.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz"; + name = "esshorten-0.0.2.tgz"; + sha1 = "28a652f1efd40c8e227f8c6de7dbe6b560ee8129"; + }) + ]; + buildInputs = + (self.nativeDeps."esshorten" or []); + deps = [ + self.by-version."escope"."1.0.1" + self.by-version."estraverse"."1.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "esshorten" ]; + }; + by-spec."estraverse".">= 0.0.2" = self.by-version."estraverse"."1.5.0"; by-version."estraverse"."1.5.0" = lib.makeOverridable self.buildNodePackage { - name = "estraverse-1.5.0"; + name = "node-estraverse-1.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/estraverse/-/estraverse-1.5.0.tgz"; @@ -4013,10 +5611,48 @@ ]; passthru.names = [ "estraverse" ]; }; + by-spec."estraverse"."~ 1.2.0" = + self.by-version."estraverse"."1.2.0"; + by-version."estraverse"."1.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-estraverse-1.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz"; + name = "estraverse-1.2.0.tgz"; + sha1 = "6a3dc8a46a5d6766e5668639fc782976ce5660fd"; + }) + ]; + buildInputs = + (self.nativeDeps."estraverse" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "estraverse" ]; + }; + by-spec."estraverse"."~ 1.3.2" = + self.by-version."estraverse"."1.3.2"; + by-version."estraverse"."1.3.2" = lib.makeOverridable self.buildNodePackage { + name = "node-estraverse-1.3.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz"; + name = "estraverse-1.3.2.tgz"; + sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42"; + }) + ]; + buildInputs = + (self.nativeDeps."estraverse" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "estraverse" ]; + }; by-spec."estraverse"."~0.0.4" = self.by-version."estraverse"."0.0.4"; by-version."estraverse"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "estraverse-0.0.4"; + name = "node-estraverse-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz"; @@ -4032,12 +5668,14 @@ ]; passthru.names = [ "estraverse" ]; }; + by-spec."estraverse"."~1.3.0" = + self.by-version."estraverse"."1.3.2"; by-spec."estraverse"."~1.5.0" = self.by-version."estraverse"."1.5.0"; by-spec."esutils"."~1.0.0" = self.by-version."esutils"."1.0.0"; by-version."esutils"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "esutils-1.0.0"; + name = "node-esutils-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz"; @@ -4056,7 +5694,7 @@ by-spec."event-emitter"."~0.2.2" = self.by-version."event-emitter"."0.2.2"; by-version."event-emitter"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "event-emitter-0.2.2"; + name = "node-event-emitter-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz"; @@ -4076,7 +5714,7 @@ by-spec."event-stream"."~0.5" = self.by-version."event-stream"."0.5.3"; by-version."event-stream"."0.5.3" = lib.makeOverridable self.buildNodePackage { - name = "event-stream-0.5.3"; + name = "node-event-stream-0.5.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz"; @@ -4096,7 +5734,7 @@ by-spec."eventemitter2"."0.4.12" = self.by-version."eventemitter2"."0.4.12"; by-version."eventemitter2"."0.4.12" = lib.makeOverridable self.buildNodePackage { - name = "eventemitter2-0.4.12"; + name = "node-eventemitter2-0.4.12"; src = [ (fetchurl { url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz"; @@ -4115,7 +5753,7 @@ by-spec."eventemitter2"."~0.4.11" = self.by-version."eventemitter2"."0.4.13"; by-version."eventemitter2"."0.4.13" = lib.makeOverridable self.buildNodePackage { - name = "eventemitter2-0.4.13"; + name = "node-eventemitter2-0.4.13"; src = [ (fetchurl { url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz"; @@ -4133,10 +5771,29 @@ }; by-spec."eventemitter2"."~0.4.13" = self.by-version."eventemitter2"."0.4.13"; + by-spec."events"."~1.0.0" = + self.by-version."events"."1.0.0"; + by-version."events"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-events-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/events/-/events-1.0.0.tgz"; + name = "events-1.0.0.tgz"; + sha1 = "63c0f80c74d1435e8eb03b54306a9d8e8f6f9da0"; + }) + ]; + buildInputs = + (self.nativeDeps."events" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "events" ]; + }; by-spec."events.node".">= 0.4.0" = self.by-version."events.node"."0.4.9"; by-version."events.node"."0.4.9" = lib.makeOverridable self.buildNodePackage { - name = "events.node-0.4.9"; + name = "node-events.node-0.4.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz"; @@ -4155,7 +5812,7 @@ by-spec."everyauth"."0.4.5" = self.by-version."everyauth"."0.4.5"; by-version."everyauth"."0.4.5" = lib.makeOverridable self.buildNodePackage { - name = "everyauth-0.4.5"; + name = "node-everyauth-0.4.5"; src = [ (self.patchSource fetchurl { url = "http://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz"; @@ -4169,21 +5826,41 @@ self.by-version."oauth"."0.9.11" self.by-version."request"."2.9.203" self.by-version."connect"."2.3.9" - self.by-version."openid"."0.5.5" - self.by-version."xml2js"."0.4.1" + self.by-version."openid"."0.5.7" + self.by-version."xml2js"."0.4.2" self.by-version."node-swt"."0.1.1" self.by-version."node-wsfederation"."0.1.1" self.by-version."debug"."0.5.0" - self.by-version."express"."3.4.7" + self.by-version."express"."3.5.1" ]; peerDependencies = [ ]; passthru.names = [ "everyauth" ]; }; - by-spec."exit"."~0.1.1" = + by-spec."execSync"."~1.0.0" = + self.by-version."execSync"."1.0.1-pre"; + by-version."execSync"."1.0.1-pre" = lib.makeOverridable self.buildNodePackage { + name = "node-execSync-1.0.1-pre"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/execSync/-/execSync-1.0.1-pre.tgz"; + name = "execSync-1.0.1-pre.tgz"; + sha1 = "8fa8deb748eecdafe61feea49921bb9b7a410d1e"; + }) + ]; + buildInputs = + (self.nativeDeps."execSync" or []); + deps = [ + self.by-version."temp"."0.5.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "execSync" ]; + }; + by-spec."exit"."0.1.x" = self.by-version."exit"."0.1.2"; by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "exit-0.1.2"; + name = "node-exit-0.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz"; @@ -4199,38 +5876,45 @@ ]; passthru.names = [ "exit" ]; }; + by-spec."exit"."~0.1.1" = + self.by-version."exit"."0.1.2"; by-spec."express"."*" = - self.by-version."express"."3.4.7"; - by-version."express"."3.4.7" = lib.makeOverridable self.buildNodePackage { - name = "express-3.4.7"; + self.by-version."express"."4.0.0"; + by-version."express"."4.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-express-4.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/express/-/express-3.4.7.tgz"; - name = "express-3.4.7.tgz"; - sha1 = "3b939c47d2aa44dfecf77d50da2123c5bd313366"; + url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz"; + name = "express-4.0.0.tgz"; + sha1 = "274dc82933c9f574cc38a0ce5ea8172be9c6b094"; }) ]; buildInputs = (self.nativeDeps."express" or []); deps = [ - self.by-version."connect"."2.12.0" - self.by-version."commander"."1.3.2" - self.by-version."range-parser"."0.0.4" - self.by-version."mkdirp"."0.3.5" + self.by-version."parseurl"."1.0.1" + self.by-version."accepts"."1.0.0" + self.by-version."type-is"."1.0.0" + self.by-version."range-parser"."1.0.0" self.by-version."cookie"."0.1.0" self.by-version."buffer-crc32"."0.2.1" - self.by-version."fresh"."0.2.0" + self.by-version."fresh"."0.2.2" self.by-version."methods"."0.1.0" - self.by-version."send"."0.1.4" - self.by-version."cookie-signature"."1.0.1" - self.by-version."merge-descriptors"."0.0.1" - self.by-version."debug"."0.7.4" + self.by-version."send"."0.2.0" + self.by-version."cookie-signature"."1.0.3" + self.by-version."merge-descriptors"."0.0.2" + self.by-version."utils-merge"."1.0.0" + self.by-version."escape-html"."1.0.1" + self.by-version."qs"."0.6.6" + self.by-version."serve-static"."1.0.1" + self.by-version."path-to-regexp"."0.1.2" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; - "express" = self.by-version."express"."3.4.7"; + "express" = self.by-version."express"."4.0.0"; by-spec."express"."2.5.11" = self.by-version."express"."2.5.11"; by-version."express"."2.5.11" = lib.makeOverridable self.buildNodePackage { @@ -4278,7 +5962,7 @@ self.by-version."methods"."0.0.1" self.by-version."send"."0.1.0" self.by-version."cookie-signature"."1.0.1" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -4308,14 +5992,43 @@ self.by-version."methods"."0.1.0" self.by-version."send"."0.1.4" self.by-version."cookie-signature"."1.0.1" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; by-spec."express"."3.x" = - self.by-version."express"."3.4.7"; + self.by-version."express"."3.5.1"; + by-version."express"."3.5.1" = lib.makeOverridable self.buildNodePackage { + name = "express-3.5.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/express/-/express-3.5.1.tgz"; + name = "express-3.5.1.tgz"; + sha1 = "4b333e1117faca336a538f4c724140b9ce1a87e7"; + }) + ]; + buildInputs = + (self.nativeDeps."express" or []); + deps = [ + self.by-version."connect"."2.14.1" + self.by-version."commander"."1.3.2" + self.by-version."range-parser"."1.0.0" + self.by-version."mkdirp"."0.3.5" + self.by-version."cookie"."0.1.1" + self.by-version."buffer-crc32"."0.2.1" + self.by-version."fresh"."0.2.2" + self.by-version."methods"."0.1.0" + self.by-version."send"."0.2.0" + self.by-version."cookie-signature"."1.0.3" + self.by-version."merge-descriptors"."0.0.2" + self.by-version."debug"."0.8.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "express" ]; + }; by-spec."express"."~3.1.1" = self.by-version."express"."3.1.2"; by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage { @@ -4340,25 +6053,25 @@ self.by-version."methods"."0.0.1" self.by-version."send"."0.1.0" self.by-version."cookie-signature"."1.0.0" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; - by-spec."express"."~3.4" = - self.by-version."express"."3.4.7"; - by-spec."express"."~3.4.4" = - self.by-version."express"."3.4.7"; + by-spec."express"."~3.5" = + self.by-version."express"."3.5.1"; + by-spec."express"."~4.0.0-rc4" = + self.by-version."express"."4.0.0"; by-spec."express-form"."*" = - self.by-version."express-form"."0.10.1"; - by-version."express-form"."0.10.1" = lib.makeOverridable self.buildNodePackage { - name = "express-form-0.10.1"; + self.by-version."express-form"."0.12.1"; + by-version."express-form"."0.12.1" = lib.makeOverridable self.buildNodePackage { + name = "node-express-form-0.12.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/express-form/-/express-form-0.10.1.tgz"; - name = "express-form-0.10.1.tgz"; - sha1 = "542f43cf276c33f8ec8836b571aa3365505609a8"; + url = "http://registry.npmjs.org/express-form/-/express-form-0.12.1.tgz"; + name = "express-form-0.12.1.tgz"; + sha1 = "1b62e580303919799598e038fdfba8c65a2cd677"; }) ]; buildInputs = @@ -4366,18 +6079,18 @@ deps = [ self.by-version."validator"."0.4.28" self.by-version."object-additions"."0.5.1" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" ]; peerDependencies = [ - self.by-version."express"."3.4.7" + self.by-version."express"."3.5.1" ]; passthru.names = [ "express-form" ]; }; - "express-form" = self.by-version."express-form"."0.10.1"; + "express-form" = self.by-version."express-form"."0.12.1"; by-spec."express-partials"."0.0.6" = self.by-version."express-partials"."0.0.6"; by-version."express-partials"."0.0.6" = lib.makeOverridable self.buildNodePackage { - name = "express-partials-0.0.6"; + name = "node-express-partials-0.0.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz"; @@ -4393,10 +6106,37 @@ ]; passthru.names = [ "express-partials" ]; }; + by-spec."express-session"."1.0.2" = + self.by-version."express-session"."1.0.2"; + by-version."express-session"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-express-session-1.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/express-session/-/express-session-1.0.2.tgz"; + name = "express-session-1.0.2.tgz"; + sha1 = "004478c742561774411ceb79733155a56b6d49eb"; + }) + ]; + buildInputs = + (self.nativeDeps."express-session" or []); + deps = [ + self.by-version."utils-merge"."1.0.0" + self.by-version."cookie"."0.1.0" + self.by-version."cookie-signature"."1.0.3" + self.by-version."uid2"."0.0.3" + self.by-version."buffer-crc32"."0.2.1" + self.by-version."debug"."0.7.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "express-session" ]; + }; + by-spec."express-session"."~1.0.2" = + self.by-version."express-session"."1.0.2"; by-spec."extend"."*" = self.by-version."extend"."1.2.1"; by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage { - name = "extend-1.2.1"; + name = "node-extend-1.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz"; @@ -4413,10 +6153,12 @@ passthru.names = [ "extend" ]; }; "extend" = self.by-version."extend"."1.2.1"; + by-spec."extend"."~1.2.1" = + self.by-version."extend"."1.2.1"; by-spec."extract-opts"."~2.2.0" = self.by-version."extract-opts"."2.2.0"; by-version."extract-opts"."2.2.0" = lib.makeOverridable self.buildNodePackage { - name = "extract-opts-2.2.0"; + name = "node-extract-opts-2.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz"; @@ -4436,7 +6178,7 @@ by-spec."extsprintf"."1.0.0" = self.by-version."extsprintf"."1.0.0"; by-version."extsprintf"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "extsprintf-1.0.0"; + name = "node-extsprintf-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz"; @@ -4455,7 +6197,7 @@ by-spec."extsprintf"."1.0.2" = self.by-version."extsprintf"."1.0.2"; by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage { - name = "extsprintf-1.0.2"; + name = "node-extsprintf-1.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"; @@ -4474,7 +6216,7 @@ by-spec."eyes"."0.1.x" = self.by-version."eyes"."0.1.8"; by-version."eyes"."0.1.8" = lib.makeOverridable self.buildNodePackage { - name = "eyes-0.1.8"; + name = "node-eyes-0.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz"; @@ -4495,7 +6237,7 @@ by-spec."faye-websocket"."*" = self.by-version."faye-websocket"."0.7.2"; by-version."faye-websocket"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "faye-websocket-0.7.2"; + name = "node-faye-websocket-0.7.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.2.tgz"; @@ -4516,7 +6258,7 @@ by-spec."faye-websocket"."0.7.0" = self.by-version."faye-websocket"."0.7.0"; by-version."faye-websocket"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "faye-websocket-0.7.0"; + name = "node-faye-websocket-0.7.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.0.tgz"; @@ -4549,8 +6291,8 @@ deps = [ self.by-version."bower-endpoint-parser"."0.2.1" self.by-version."bower-logger"."0.2.1" - self.by-version."bower"."1.2.8" - self.by-version."glob"."3.2.8" + self.by-version."bower"."1.3.2" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; @@ -4560,14 +6302,14 @@ by-spec."fetch-bower".">=2 <3" = self.by-version."fetch-bower"."2.0.0"; by-spec."fields"."~0.1.11" = - self.by-version."fields"."0.1.11"; - by-version."fields"."0.1.11" = lib.makeOverridable self.buildNodePackage { - name = "fields-0.1.11"; + self.by-version."fields"."0.1.12"; + by-version."fields"."0.1.12" = lib.makeOverridable self.buildNodePackage { + name = "node-fields-0.1.12"; src = [ (fetchurl { - url = "http://registry.npmjs.org/fields/-/fields-0.1.11.tgz"; - name = "fields-0.1.11.tgz"; - sha1 = "d428e4a622c9f71d52f413fb2fde96cfdb51c520"; + url = "http://registry.npmjs.org/fields/-/fields-0.1.12.tgz"; + name = "fields-0.1.12.tgz"; + sha1 = "ded2dfe1e0aad3576aed554bfb8f65a7e7404bc1"; }) ]; buildInputs = @@ -4584,7 +6326,7 @@ by-spec."file-utils"."~0.1.1" = self.by-version."file-utils"."0.1.5"; by-version."file-utils"."0.1.5" = lib.makeOverridable self.buildNodePackage { - name = "file-utils-0.1.5"; + name = "node-file-utils-0.1.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz"; @@ -4597,20 +6339,22 @@ deps = [ self.by-version."lodash"."2.1.0" self.by-version."iconv-lite"."0.2.11" - self.by-version."rimraf"."2.2.5" - self.by-version."glob"."3.2.8" + self.by-version."rimraf"."2.2.6" + self.by-version."glob"."3.2.9" self.by-version."minimatch"."0.2.14" - self.by-version."findup-sync"."0.1.2" + self.by-version."findup-sync"."0.1.3" self.by-version."isbinaryfile"."0.1.9" ]; peerDependencies = [ ]; passthru.names = [ "file-utils" ]; }; + by-spec."file-utils"."~0.1.5" = + self.by-version."file-utils"."0.1.5"; by-spec."fileset"."0.1.x" = self.by-version."fileset"."0.1.5"; by-version."fileset"."0.1.5" = lib.makeOverridable self.buildNodePackage { - name = "fileset-0.1.5"; + name = "node-fileset-0.1.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz"; @@ -4622,21 +6366,21 @@ (self.nativeDeps."fileset" or []); deps = [ self.by-version."minimatch"."0.2.14" - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; passthru.names = [ "fileset" ]; }; by-spec."findit".">=1.1.0 <2.0.0" = - self.by-version."findit"."1.1.0"; - by-version."findit"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "findit-1.1.0"; + self.by-version."findit"."1.1.1"; + by-version."findit"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-findit-1.1.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/findit/-/findit-1.1.0.tgz"; - name = "findit-1.1.0.tgz"; - sha1 = "7104c60060f838d2298bd526b16add6ce733f9ac"; + url = "http://registry.npmjs.org/findit/-/findit-1.1.1.tgz"; + name = "findit-1.1.1.tgz"; + sha1 = "b460e2f7633d78ed2c217c77c4209ecacaf8262a"; }) ]; buildInputs = @@ -4648,49 +6392,49 @@ passthru.names = [ "findit" ]; }; by-spec."findup"."~0.1.3" = - self.by-version."findup"."0.1.3"; - by-version."findup"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "findup-0.1.3"; + self.by-version."findup"."0.1.5"; + by-version."findup"."0.1.5" = lib.makeOverridable self.buildNodePackage { + name = "findup-0.1.5"; src = [ - (self.patchSource fetchurl { - url = "http://registry.npmjs.org/findup/-/findup-0.1.3.tgz"; - name = "findup-0.1.3.tgz"; - sha1 = "df2b8ecf06fdaa9cc13dc4ba58bf950e3a176941"; + (fetchurl { + url = "http://registry.npmjs.org/findup/-/findup-0.1.5.tgz"; + name = "findup-0.1.5.tgz"; + sha1 = "8ad929a3393bac627957a7e5de4623b06b0e2ceb"; }) ]; buildInputs = (self.nativeDeps."findup" or []); deps = [ - self.by-version."nopt"."1.0.10" self.by-version."colors"."0.6.2" + self.by-version."commander"."2.1.0" ]; peerDependencies = [ ]; passthru.names = [ "findup" ]; }; by-spec."findup-sync"."~0.1.0" = - self.by-version."findup-sync"."0.1.2"; - by-version."findup-sync"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "findup-sync-0.1.2"; + self.by-version."findup-sync"."0.1.3"; + by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-findup-sync-0.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz"; - name = "findup-sync-0.1.2.tgz"; - sha1 = "da2b96ca9f800e5a13d0a11110f490b65f62e96d"; + url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz"; + name = "findup-sync-0.1.3.tgz"; + sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683"; }) ]; buildInputs = (self.nativeDeps."findup-sync" or []); deps = [ - self.by-version."glob"."3.1.21" - self.by-version."lodash"."1.0.1" + self.by-version."glob"."3.2.9" + self.by-version."lodash"."2.4.1" ]; peerDependencies = [ ]; passthru.names = [ "findup-sync" ]; }; by-spec."findup-sync"."~0.1.2" = - self.by-version."findup-sync"."0.1.2"; + self.by-version."findup-sync"."0.1.3"; by-spec."flatiron"."*" = self.by-version."flatiron"."0.3.11"; by-version."flatiron"."0.3.11" = lib.makeOverridable self.buildNodePackage { @@ -4720,7 +6464,7 @@ by-spec."follow-redirects"."0.0.3" = self.by-version."follow-redirects"."0.0.3"; by-version."follow-redirects"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "follow-redirects-0.0.3"; + name = "node-follow-redirects-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz"; @@ -4731,21 +6475,21 @@ buildInputs = (self.nativeDeps."follow-redirects" or []); deps = [ - self.by-version."underscore"."1.5.2" + self.by-version."underscore"."1.6.0" ]; peerDependencies = [ ]; passthru.names = [ "follow-redirects" ]; }; by-spec."forEachAsync"."~2.2" = - self.by-version."forEachAsync"."2.2.0"; - by-version."forEachAsync"."2.2.0" = lib.makeOverridable self.buildNodePackage { - name = "forEachAsync-2.2.0"; + self.by-version."forEachAsync"."2.2.1"; + by-version."forEachAsync"."2.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-forEachAsync-2.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.0.tgz"; - name = "forEachAsync-2.2.0.tgz"; - sha1 = "093b32ce868cb69f5166dcf331fae074adc71cee"; + url = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.1.tgz"; + name = "forEachAsync-2.2.1.tgz"; + sha1 = "e3723f00903910e1eb4b1db3ad51b5c64a319fec"; }) ]; buildInputs = @@ -4757,34 +6501,15 @@ ]; passthru.names = [ "forEachAsync" ]; }; - by-spec."foreach"."~2.0.1" = - self.by-version."foreach"."2.0.4"; - by-version."foreach"."2.0.4" = lib.makeOverridable self.buildNodePackage { - name = "foreach-2.0.4"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/foreach/-/foreach-2.0.4.tgz"; - name = "foreach-2.0.4.tgz"; - sha1 = "cc5d0d8ae1d46cc9a555c2682f910977859935df"; - }) - ]; - buildInputs = - (self.nativeDeps."foreach" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "foreach" ]; - }; by-spec."forever"."*" = - self.by-version."forever"."0.10.11"; - by-version."forever"."0.10.11" = lib.makeOverridable self.buildNodePackage { - name = "forever-0.10.11"; + self.by-version."forever"."0.11.0"; + by-version."forever"."0.11.0" = lib.makeOverridable self.buildNodePackage { + name = "forever-0.11.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/forever/-/forever-0.10.11.tgz"; - name = "forever-0.10.11.tgz"; - sha1 = "925cae528c074a29c0119809ca08e382ef194ad0"; + url = "http://registry.npmjs.org/forever/-/forever-0.11.0.tgz"; + name = "forever-0.11.0.tgz"; + sha1 = "97de678915c64dacce2ccbfb94620723b308d44f"; }) ]; buildInputs = @@ -4796,22 +6521,22 @@ self.by-version."forever-monitor"."1.2.3" self.by-version."nconf"."0.6.9" self.by-version."nssocket"."0.5.1" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."pkginfo"."0.3.0" self.by-version."timespan"."2.3.0" self.by-version."watch"."0.8.0" self.by-version."utile"."0.2.1" - self.by-version."winston"."0.7.2" + self.by-version."winston"."0.7.3" ]; peerDependencies = [ ]; passthru.names = [ "forever" ]; }; - "forever" = self.by-version."forever"."0.10.11"; + "forever" = self.by-version."forever"."0.11.0"; by-spec."forever-agent"."~0.2.0" = self.by-version."forever-agent"."0.2.0"; by-version."forever-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "forever-agent-0.2.0"; + name = "node-forever-agent-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz"; @@ -4828,14 +6553,14 @@ passthru.names = [ "forever-agent" ]; }; by-spec."forever-agent"."~0.5.0" = - self.by-version."forever-agent"."0.5.0"; - by-version."forever-agent"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "forever-agent-0.5.0"; + self.by-version."forever-agent"."0.5.2"; + by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage { + name = "node-forever-agent-0.5.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz"; - name = "forever-agent-0.5.0.tgz"; - sha1 = "0c1647a74f3af12d76a07a99490ade7c7249c8f0"; + url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"; + name = "forever-agent-0.5.2.tgz"; + sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"; }) ]; buildInputs = @@ -4849,7 +6574,7 @@ by-spec."forever-monitor"."*" = self.by-version."forever-monitor"."1.2.3"; by-version."forever-monitor"."1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "forever-monitor-1.2.3"; + name = "node-forever-monitor-1.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.3.tgz"; @@ -4875,7 +6600,7 @@ by-spec."forever-monitor"."1.1.0" = self.by-version."forever-monitor"."1.1.0"; by-version."forever-monitor"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "forever-monitor-1.1.0"; + name = "node-forever-monitor-1.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz"; @@ -4899,32 +6624,10 @@ }; by-spec."forever-monitor"."1.2.3" = self.by-version."forever-monitor"."1.2.3"; - by-spec."form-data"."0.0.8" = - self.by-version."form-data"."0.0.8"; - by-version."form-data"."0.0.8" = lib.makeOverridable self.buildNodePackage { - name = "form-data-0.0.8"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/form-data/-/form-data-0.0.8.tgz"; - name = "form-data-0.0.8.tgz"; - sha1 = "0890cd1005c5ccecc0b9d24a88052c92442d0db5"; - }) - ]; - buildInputs = - (self.nativeDeps."form-data" or []); - deps = [ - self.by-version."combined-stream"."0.0.4" - self.by-version."mime"."1.2.11" - self.by-version."async"."0.2.9" - ]; - peerDependencies = [ - ]; - passthru.names = [ "form-data" ]; - }; by-spec."form-data"."~0.0.3" = self.by-version."form-data"."0.0.10"; by-version."form-data"."0.0.10" = lib.makeOverridable self.buildNodePackage { - name = "form-data-0.0.10"; + name = "node-form-data-0.0.10"; src = [ (fetchurl { url = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz"; @@ -4937,7 +6640,7 @@ deps = [ self.by-version."combined-stream"."0.0.4" self.by-version."mime"."1.2.11" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" ]; peerDependencies = [ ]; @@ -4946,7 +6649,7 @@ by-spec."form-data"."~0.1.0" = self.by-version."form-data"."0.1.2"; by-version."form-data"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "form-data-0.1.2"; + name = "node-form-data-0.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz"; @@ -4959,7 +6662,7 @@ deps = [ self.by-version."combined-stream"."0.0.4" self.by-version."mime"."1.2.11" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" ]; peerDependencies = [ ]; @@ -4968,7 +6671,7 @@ by-spec."formidable"."1.0.11" = self.by-version."formidable"."1.0.11"; by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage { - name = "formidable-1.0.11"; + name = "node-formidable-1.0.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz"; @@ -4987,7 +6690,7 @@ by-spec."formidable"."1.0.13" = self.by-version."formidable"."1.0.13"; by-version."formidable"."1.0.13" = lib.makeOverridable self.buildNodePackage { - name = "formidable-1.0.13"; + name = "node-formidable-1.0.13"; src = [ (fetchurl { url = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz"; @@ -5006,7 +6709,7 @@ by-spec."formidable"."1.0.14" = self.by-version."formidable"."1.0.14"; by-version."formidable"."1.0.14" = lib.makeOverridable self.buildNodePackage { - name = "formidable-1.0.14"; + name = "node-formidable-1.0.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"; @@ -5025,7 +6728,7 @@ by-spec."formidable"."1.0.9" = self.by-version."formidable"."1.0.9"; by-version."formidable"."1.0.9" = lib.makeOverridable self.buildNodePackage { - name = "formidable-1.0.9"; + name = "node-formidable-1.0.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz"; @@ -5046,7 +6749,7 @@ by-spec."fresh"."0.1.0" = self.by-version."fresh"."0.1.0"; by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "fresh-0.1.0"; + name = "node-fresh-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz"; @@ -5065,7 +6768,7 @@ by-spec."fresh"."0.2.0" = self.by-version."fresh"."0.2.0"; by-version."fresh"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "fresh-0.2.0"; + name = "node-fresh-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz"; @@ -5081,10 +6784,31 @@ ]; passthru.names = [ "fresh" ]; }; + by-spec."fresh"."0.2.2" = + self.by-version."fresh"."0.2.2"; + by-version."fresh"."0.2.2" = lib.makeOverridable self.buildNodePackage { + name = "node-fresh-0.2.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz"; + name = "fresh-0.2.2.tgz"; + sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77"; + }) + ]; + buildInputs = + (self.nativeDeps."fresh" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "fresh" ]; + }; + by-spec."fresh"."~0.2.1" = + self.by-version."fresh"."0.2.2"; by-spec."fs-extra"."~0.6.1" = self.by-version."fs-extra"."0.6.4"; by-version."fs-extra"."0.6.4" = lib.makeOverridable self.buildNodePackage { - name = "fs-extra-0.6.4"; + name = "node-fs-extra-0.6.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz"; @@ -5098,7 +6822,7 @@ self.by-version."ncp"."0.4.2" self.by-version."mkdirp"."0.3.5" self.by-version."jsonfile"."1.0.1" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" ]; peerDependencies = [ ]; @@ -5107,7 +6831,7 @@ by-spec."fs-walk"."*" = self.by-version."fs-walk"."0.0.1"; by-version."fs-walk"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "fs-walk-0.0.1"; + name = "node-fs-walk-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz"; @@ -5118,7 +6842,7 @@ buildInputs = (self.nativeDeps."fs-walk" or []); deps = [ - self.by-version."async"."0.2.9" + self.by-version."async"."0.7.0" ]; peerDependencies = [ ]; @@ -5128,7 +6852,7 @@ by-spec."fs.extra".">=1.2.0 <2.0.0" = self.by-version."fs.extra"."1.2.1"; by-version."fs.extra"."1.2.1" = lib.makeOverridable self.buildNodePackage { - name = "fs.extra-1.2.1"; + name = "node-fs.extra-1.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/fs.extra/-/fs.extra-1.2.1.tgz"; @@ -5149,10 +6873,30 @@ }; by-spec."fs.extra".">=1.2.1 <2" = self.by-version."fs.extra"."1.2.1"; + by-spec."fsevents"."0.2.0" = + self.by-version."fsevents"."0.2.0"; + by-version."fsevents"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-fsevents-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/fsevents/-/fsevents-0.2.0.tgz"; + name = "fsevents-0.2.0.tgz"; + sha1 = "1de161da042818f45bfbe11a853da8e5c6ca5d83"; + }) + ]; + buildInputs = + (self.nativeDeps."fsevents" or []); + deps = [ + self.by-version."nan"."0.8.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "fsevents" ]; + }; by-spec."fstream"."0" = self.by-version."fstream"."0.1.25"; by-version."fstream"."0.1.25" = lib.makeOverridable self.buildNodePackage { - name = "fstream-0.1.25"; + name = "node-fstream-0.1.25"; src = [ (fetchurl { url = "http://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz"; @@ -5163,9 +6907,9 @@ buildInputs = (self.nativeDeps."fstream" or []); deps = [ - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."mkdirp"."0.3.5" - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" self.by-version."inherits"."2.0.1" ]; peerDependencies = [ @@ -5183,7 +6927,7 @@ by-spec."fstream-ignore"."~0.0.5" = self.by-version."fstream-ignore"."0.0.7"; by-version."fstream-ignore"."0.0.7" = lib.makeOverridable self.buildNodePackage { - name = "fstream-ignore-0.0.7"; + name = "node-fstream-ignore-0.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz"; @@ -5207,7 +6951,7 @@ by-spec."fstream-npm"."~0.1.6" = self.by-version."fstream-npm"."0.1.6"; by-version."fstream-npm"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "fstream-npm-0.1.6"; + name = "node-fstream-npm-0.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.6.tgz"; @@ -5226,55 +6970,55 @@ passthru.names = [ "fstream-npm" ]; }; by-spec."generator-angular"."*" = - self.by-version."generator-angular"."0.7.1"; - by-version."generator-angular"."0.7.1" = lib.makeOverridable self.buildNodePackage { - name = "generator-angular-0.7.1"; + self.by-version."generator-angular"."0.8.0"; + by-version."generator-angular"."0.8.0" = lib.makeOverridable self.buildNodePackage { + name = "node-generator-angular-0.8.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.7.1.tgz"; - name = "generator-angular-0.7.1.tgz"; - sha1 = "51f9faed8d7c0e9d972004101cc1c16ecd1ebf65"; + url = "http://registry.npmjs.org/generator-angular/-/generator-angular-0.8.0.tgz"; + name = "generator-angular-0.8.0.tgz"; + sha1 = "c2115b1a7a304b884b7f8857cade77dc36b63d13"; }) ]; buildInputs = (self.nativeDeps."generator-angular" or []); deps = [ - self.by-version."yeoman-generator"."0.13.4" - self.by-version."chalk"."0.3.0" - self.by-version."wiredep"."0.4.2" + self.by-version."chalk"."0.4.0" + self.by-version."wiredep"."1.0.0" + self.by-version."yeoman-generator"."0.16.0" ]; peerDependencies = [ - self.by-version."generator-karma"."0.6.0" + self.by-version."generator-karma"."0.7.0" self.by-version."yo"."1.1.2" ]; passthru.names = [ "generator-angular" ]; }; - "generator-angular" = self.by-version."generator-angular"."0.7.1"; - by-spec."generator-karma"."~0.6.0" = - self.by-version."generator-karma"."0.6.0"; - by-version."generator-karma"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "generator-karma-0.6.0"; + "generator-angular" = self.by-version."generator-angular"."0.8.0"; + by-spec."generator-karma".">=0.6.0" = + self.by-version."generator-karma"."0.7.0"; + by-version."generator-karma"."0.7.0" = lib.makeOverridable self.buildNodePackage { + name = "node-generator-karma-0.7.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.6.0.tgz"; - name = "generator-karma-0.6.0.tgz"; - sha1 = "e89b6195c186771e8bdddde37441abb6ce07e1a0"; + url = "http://registry.npmjs.org/generator-karma/-/generator-karma-0.7.0.tgz"; + name = "generator-karma-0.7.0.tgz"; + sha1 = "aaa2b6d8905b687343fe6a10b15279afd984048d"; }) ]; buildInputs = (self.nativeDeps."generator-karma" or []); deps = [ - self.by-version."yeoman-generator"."0.13.4" + self.by-version."yeoman-generator"."0.16.0" ]; peerDependencies = [ self.by-version."yo"."1.1.2" ]; passthru.names = [ "generator-karma" ]; }; - by-spec."generator-mocha"."~0.1.1" = + by-spec."generator-mocha".">=0.1.0" = self.by-version."generator-mocha"."0.1.3"; by-version."generator-mocha"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "generator-mocha-0.1.3"; + name = "node-generator-mocha-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/generator-mocha/-/generator-mocha-0.1.3.tgz"; @@ -5293,21 +7037,22 @@ passthru.names = [ "generator-mocha" ]; }; by-spec."generator-webapp"."*" = - self.by-version."generator-webapp"."0.4.6"; - by-version."generator-webapp"."0.4.6" = lib.makeOverridable self.buildNodePackage { - name = "generator-webapp-0.4.6"; + self.by-version."generator-webapp"."0.4.9"; + by-version."generator-webapp"."0.4.9" = lib.makeOverridable self.buildNodePackage { + name = "node-generator-webapp-0.4.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.6.tgz"; - name = "generator-webapp-0.4.6.tgz"; - sha1 = "6f51516b615aaf807e221a8ac713845fd680648f"; + url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.9.tgz"; + name = "generator-webapp-0.4.9.tgz"; + sha1 = "df8aa10af9bac7fd59f4072b9cdf0f120e8bb611"; }) ]; buildInputs = (self.nativeDeps."generator-webapp" or []); deps = [ - self.by-version."yeoman-generator"."0.14.2" - self.by-version."cheerio"."0.12.4" + self.by-version."yeoman-generator"."0.16.0" + self.by-version."cheerio"."0.13.1" + self.by-version."chalk"."0.4.0" ]; peerDependencies = [ self.by-version."yo"."1.1.2" @@ -5315,7 +7060,45 @@ ]; passthru.names = [ "generator-webapp" ]; }; - "generator-webapp" = self.by-version."generator-webapp"."0.4.6"; + "generator-webapp" = self.by-version."generator-webapp"."0.4.9"; + by-spec."get-stdin"."^0.1.0" = + self.by-version."get-stdin"."0.1.0"; + by-version."get-stdin"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-get-stdin-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz"; + name = "get-stdin-0.1.0.tgz"; + sha1 = "5998af24aafc802d15c82c685657eeb8b10d4a91"; + }) + ]; + buildInputs = + (self.nativeDeps."get-stdin" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "get-stdin" ]; + }; + by-spec."get-urls"."^0.1.1" = + self.by-version."get-urls"."0.1.1"; + by-version."get-urls"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "get-urls-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/get-urls/-/get-urls-0.1.1.tgz"; + name = "get-urls-0.1.1.tgz"; + sha1 = "f94aa79c9e5d99cb843e44c5f67e24954e08fb59"; + }) + ]; + buildInputs = + (self.nativeDeps."get-urls" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "get-urls" ]; + }; by-spec."getmac"."~1.0.6" = self.by-version."getmac"."1.0.6"; by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage { @@ -5339,7 +7122,7 @@ by-spec."getobject"."~0.1.0" = self.by-version."getobject"."0.1.0"; by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "getobject-0.1.0"; + name = "node-getobject-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz"; @@ -5355,10 +7138,64 @@ ]; passthru.names = [ "getobject" ]; }; + by-spec."gh"."*" = + self.by-version."gh"."1.9.1"; + by-version."gh"."1.9.1" = lib.makeOverridable self.buildNodePackage { + name = "gh-1.9.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/gh/-/gh-1.9.1.tgz"; + name = "gh-1.9.1.tgz"; + sha1 = "1862071cddc13cfd31545c64256ab731bb334194"; + }) + ]; + buildInputs = + (self.nativeDeps."gh" or []); + deps = [ + self.by-version."async"."0.2.10" + self.by-version."cli-color"."0.2.3" + self.by-version."cli-log"."0.0.8" + self.by-version."github"."0.1.16" + self.by-version."copy-paste"."0.2.0" + self.by-version."handlebars"."1.3.0" + self.by-version."inquirer"."0.4.1" + self.by-version."moment"."2.5.1" + self.by-version."nopt"."2.2.0" + self.by-version."open"."0.0.5" + self.by-version."truncate"."1.0.2" + self.by-version."update-notifier"."0.1.8" + self.by-version."userhome"."0.1.0" + self.by-version."which"."1.0.5" + self.by-version."wordwrap"."0.0.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "gh" ]; + }; + "gh" = self.by-version."gh"."1.9.1"; + by-spec."github"."~0.1.15" = + self.by-version."github"."0.1.16"; + by-version."github"."0.1.16" = lib.makeOverridable self.buildNodePackage { + name = "node-github-0.1.16"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/github/-/github-0.1.16.tgz"; + name = "github-0.1.16.tgz"; + sha1 = "895d2a85b0feb7980d89ac0ce4f44dcaa03f17b5"; + }) + ]; + buildInputs = + (self.nativeDeps."github" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "github" ]; + }; by-spec."github-flavored-markdown".">= 0.0.1" = self.by-version."github-flavored-markdown"."1.0.1"; by-version."github-flavored-markdown"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "github-flavored-markdown-1.0.1"; + name = "node-github-flavored-markdown-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/github-flavored-markdown/-/github-flavored-markdown-1.0.1.tgz"; @@ -5377,7 +7214,7 @@ by-spec."github-url-from-git"."1.1.1" = self.by-version."github-url-from-git"."1.1.1"; by-version."github-url-from-git"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "github-url-from-git-1.1.1"; + name = "node-github-url-from-git-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz"; @@ -5398,7 +7235,7 @@ by-spec."github-url-from-username-repo"."0.0.2" = self.by-version."github-url-from-username-repo"."0.0.2"; by-version."github-url-from-username-repo"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "github-url-from-username-repo-0.0.2"; + name = "node-github-url-from-username-repo-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.0.2.tgz"; @@ -5415,14 +7252,14 @@ passthru.names = [ "github-url-from-username-repo" ]; }; by-spec."glob"."3" = - self.by-version."glob"."3.2.8"; - by-version."glob"."3.2.8" = lib.makeOverridable self.buildNodePackage { - name = "glob-3.2.8"; + self.by-version."glob"."3.2.9"; + by-version."glob"."3.2.9" = lib.makeOverridable self.buildNodePackage { + name = "node-glob-3.2.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/glob/-/glob-3.2.8.tgz"; - name = "glob-3.2.8.tgz"; - sha1 = "5506f4311721bcc618c7d8dba144188750307073"; + url = "http://registry.npmjs.org/glob/-/glob-3.2.9.tgz"; + name = "glob-3.2.9.tgz"; + sha1 = "56af2289aa43d07d7702666480373eb814d91d40"; }) ]; buildInputs = @@ -5438,7 +7275,7 @@ by-spec."glob"."3.2.3" = self.by-version."glob"."3.2.3"; by-version."glob"."3.2.3" = lib.makeOverridable self.buildNodePackage { - name = "glob-3.2.3"; + name = "node-glob-3.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz"; @@ -5450,7 +7287,7 @@ (self.nativeDeps."glob" or []); deps = [ self.by-version."minimatch"."0.2.14" - self.by-version."graceful-fs"."2.0.1" + self.by-version."graceful-fs"."2.0.3" self.by-version."inherits"."2.0.1" ]; peerDependencies = [ @@ -5458,17 +7295,17 @@ passthru.names = [ "glob" ]; }; by-spec."glob"."3.2.x" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob"."3.x" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob".">= 3.1.4" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob".">=3.2.7 <4" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob"."~3.1.21" = self.by-version."glob"."3.1.21"; by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage { - name = "glob-3.1.21"; + name = "node-glob-3.1.21"; src = [ (fetchurl { url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz"; @@ -5488,22 +7325,26 @@ passthru.names = [ "glob" ]; }; by-spec."glob"."~3.2.0" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob"."~3.2.1" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob"."~3.2.6" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; by-spec."glob"."~3.2.7" = - self.by-version."glob"."3.2.8"; + self.by-version."glob"."3.2.9"; + by-spec."glob"."~3.2.8" = + self.by-version."glob"."3.2.9"; + by-spec."glob"."~3.2.9" = + self.by-version."glob"."3.2.9"; by-spec."graceful-fs"."2" = - self.by-version."graceful-fs"."2.0.1"; - by-version."graceful-fs"."2.0.1" = lib.makeOverridable self.buildNodePackage { - name = "graceful-fs-2.0.1"; + self.by-version."graceful-fs"."2.0.3"; + by-version."graceful-fs"."2.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-graceful-fs-2.0.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz"; - name = "graceful-fs-2.0.1.tgz"; - sha1 = "7fd6e0a4837c35d0cc15330294d9584a3898cf84"; + url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz"; + name = "graceful-fs-2.0.3.tgz"; + sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0"; }) ]; buildInputs = @@ -5517,7 +7358,7 @@ by-spec."graceful-fs"."~1" = self.by-version."graceful-fs"."1.2.3"; by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "graceful-fs-1.2.3"; + name = "node-graceful-fs-1.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"; @@ -5536,7 +7377,7 @@ by-spec."graceful-fs"."~1.1" = self.by-version."graceful-fs"."1.1.14"; by-version."graceful-fs"."1.1.14" = lib.makeOverridable self.buildNodePackage { - name = "graceful-fs-1.1.14"; + name = "node-graceful-fs-1.1.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz"; @@ -5555,20 +7396,22 @@ by-spec."graceful-fs"."~1.2.0" = self.by-version."graceful-fs"."1.2.3"; by-spec."graceful-fs"."~2" = - self.by-version."graceful-fs"."2.0.1"; + self.by-version."graceful-fs"."2.0.3"; by-spec."graceful-fs"."~2.0.0" = - self.by-version."graceful-fs"."2.0.1"; + self.by-version."graceful-fs"."2.0.3"; by-spec."graceful-fs"."~2.0.1" = - self.by-version."graceful-fs"."2.0.1"; + self.by-version."graceful-fs"."2.0.3"; + by-spec."graceful-fs"."~2.0.2" = + self.by-version."graceful-fs"."2.0.3"; by-spec."gridfs-stream"."*" = - self.by-version."gridfs-stream"."0.4.0"; - by-version."gridfs-stream"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "gridfs-stream-0.4.0"; + self.by-version."gridfs-stream"."0.4.1"; + by-version."gridfs-stream"."0.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-gridfs-stream-0.4.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.0.tgz"; - name = "gridfs-stream-0.4.0.tgz"; - sha1 = "f76f791e0d1b22649e11beeacddf8e62bd89ca2a"; + url = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.1.tgz"; + name = "gridfs-stream-0.4.1.tgz"; + sha1 = "1bcccb1b05b57946363b5e53fbe2bc95dd8877bb"; }) ]; buildInputs = @@ -5579,11 +7422,11 @@ ]; passthru.names = [ "gridfs-stream" ]; }; - "gridfs-stream" = self.by-version."gridfs-stream"."0.4.0"; + "gridfs-stream" = self.by-version."gridfs-stream"."0.4.1"; by-spec."growl"."1.7.x" = self.by-version."growl"."1.7.0"; by-version."growl"."1.7.0" = lib.makeOverridable self.buildNodePackage { - name = "growl-1.7.0"; + name = "node-growl-1.7.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz"; @@ -5600,14 +7443,14 @@ passthru.names = [ "growl" ]; }; by-spec."grunt"."0.4.x" = - self.by-version."grunt"."0.4.2"; - by-version."grunt"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "grunt-0.4.2"; + self.by-version."grunt"."0.4.4"; + by-version."grunt"."0.4.4" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-0.4.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz"; - name = "grunt-0.4.2.tgz"; - sha1 = "895b4f28a6102bffd41d365a65e8be2d6a293d93"; + url = "http://registry.npmjs.org/grunt/-/grunt-0.4.4.tgz"; + name = "grunt-0.4.4.tgz"; + sha1 = "f37fa46e2e52e37f9a0370542a74281c09c73f53"; }) ]; buildInputs = @@ -5618,34 +7461,37 @@ self.by-version."colors"."0.6.2" self.by-version."dateformat"."1.0.2-1.2.3" self.by-version."eventemitter2"."0.4.13" - self.by-version."findup-sync"."0.1.2" + self.by-version."findup-sync"."0.1.3" self.by-version."glob"."3.1.21" self.by-version."hooker"."0.2.3" self.by-version."iconv-lite"."0.2.11" self.by-version."minimatch"."0.2.14" self.by-version."nopt"."1.0.10" - self.by-version."rimraf"."2.0.3" + self.by-version."rimraf"."2.2.6" self.by-version."lodash"."0.9.2" self.by-version."underscore.string"."2.2.1" self.by-version."which"."1.0.5" self.by-version."js-yaml"."2.0.5" self.by-version."exit"."0.1.2" self.by-version."getobject"."0.1.0" + self.by-version."grunt-legacy-util"."0.1.2" ]; peerDependencies = [ ]; passthru.names = [ "grunt" ]; }; + by-spec."grunt"."^0.4.0" = + self.by-version."grunt"."0.4.4"; by-spec."grunt"."~0.4" = - self.by-version."grunt"."0.4.2"; + self.by-version."grunt"."0.4.4"; by-spec."grunt"."~0.4.0" = - self.by-version."grunt"."0.4.2"; + self.by-version."grunt"."0.4.4"; by-spec."grunt"."~0.4.1" = - self.by-version."grunt"."0.4.2"; + self.by-version."grunt"."0.4.4"; by-spec."grunt-bower-task"."*" = self.by-version."grunt-bower-task"."0.3.4"; by-version."grunt-bower-task"."0.3.4" = lib.makeOverridable self.buildNodePackage { - name = "grunt-bower-task-0.3.4"; + name = "node-grunt-bower-task-0.3.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/grunt-bower-task/-/grunt-bower-task-0.3.4.tgz"; @@ -5669,193 +7515,202 @@ }; "grunt-bower-task" = self.by-version."grunt-bower-task"."0.3.4"; by-spec."grunt-cli"."*" = - self.by-version."grunt-cli"."0.1.11"; - by-version."grunt-cli"."0.1.11" = lib.makeOverridable self.buildNodePackage { - name = "grunt-cli-0.1.11"; + self.by-version."grunt-cli"."0.1.13"; + by-version."grunt-cli"."0.1.13" = lib.makeOverridable self.buildNodePackage { + name = "grunt-cli-0.1.13"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.11.tgz"; - name = "grunt-cli-0.1.11.tgz"; - sha1 = "a0d785b7f8633983ecb5e6af8397feb6e39dd0a8"; + url = "http://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz"; + name = "grunt-cli-0.1.13.tgz"; + sha1 = "e9ebc4047631f5012d922770c39378133cad10f4"; }) ]; buildInputs = (self.nativeDeps."grunt-cli" or []); deps = [ self.by-version."nopt"."1.0.10" - self.by-version."findup-sync"."0.1.2" + self.by-version."findup-sync"."0.1.3" self.by-version."resolve"."0.3.1" ]; peerDependencies = [ ]; passthru.names = [ "grunt-cli" ]; }; - "grunt-cli" = self.by-version."grunt-cli"."0.1.11"; + "grunt-cli" = self.by-version."grunt-cli"."0.1.13"; by-spec."grunt-cli"."~0.1.7" = - self.by-version."grunt-cli"."0.1.11"; + self.by-version."grunt-cli"."0.1.13"; by-spec."grunt-contrib-cssmin"."*" = - self.by-version."grunt-contrib-cssmin"."0.7.0"; - by-version."grunt-contrib-cssmin"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "grunt-contrib-cssmin-0.7.0"; + self.by-version."grunt-contrib-cssmin"."0.9.0"; + by-version."grunt-contrib-cssmin"."0.9.0" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-contrib-cssmin-0.9.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz"; - name = "grunt-contrib-cssmin-0.7.0.tgz"; - sha1 = "a5735e9f1d263149e49fe035294e429d8c670bab"; + url = "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.9.0.tgz"; + name = "grunt-contrib-cssmin-0.9.0.tgz"; + sha1 = "27241f0160a8866659dab40dc8c2776c01ec7ce2"; }) ]; buildInputs = (self.nativeDeps."grunt-contrib-cssmin" or []); deps = [ - self.by-version."clean-css"."2.0.6" - self.by-version."grunt-lib-contrib"."0.6.1" + self.by-version."chalk"."0.4.0" + self.by-version."clean-css"."2.1.8" + self.by-version."maxmin"."0.1.0" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-contrib-cssmin" ]; }; - "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.7.0"; + "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.9.0"; by-spec."grunt-contrib-jshint"."*" = - self.by-version."grunt-contrib-jshint"."0.8.0"; - by-version."grunt-contrib-jshint"."0.8.0" = lib.makeOverridable self.buildNodePackage { - name = "grunt-contrib-jshint-0.8.0"; + self.by-version."grunt-contrib-jshint"."0.10.0"; + by-version."grunt-contrib-jshint"."0.10.0" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-contrib-jshint-0.10.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.8.0.tgz"; - name = "grunt-contrib-jshint-0.8.0.tgz"; - sha1 = "6bd52325dcce1d995dbbf648030c59e1a606acda"; + url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz"; + name = "grunt-contrib-jshint-0.10.0.tgz"; + sha1 = "57ebccca87e8f327af6645d8a3c586d4845e4d81"; }) ]; buildInputs = (self.nativeDeps."grunt-contrib-jshint" or []); deps = [ - self.by-version."jshint"."2.4.1" + self.by-version."jshint"."2.5.0" + self.by-version."hooker"."0.2.3" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-contrib-jshint" ]; }; - "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.8.0"; + "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.10.0"; by-spec."grunt-contrib-less"."*" = - self.by-version."grunt-contrib-less"."0.9.0"; - by-version."grunt-contrib-less"."0.9.0" = lib.makeOverridable self.buildNodePackage { - name = "grunt-contrib-less-0.9.0"; + self.by-version."grunt-contrib-less"."0.11.0"; + by-version."grunt-contrib-less"."0.11.0" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-contrib-less-0.11.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.9.0.tgz"; - name = "grunt-contrib-less-0.9.0.tgz"; - sha1 = "af1e6e76511c2bc328ef8d284058643ca5887675"; + url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.0.tgz"; + name = "grunt-contrib-less-0.11.0.tgz"; + sha1 = "601cbdda0591f7fde7fe50278cd904fedede90ed"; }) ]; buildInputs = (self.nativeDeps."grunt-contrib-less" or []); deps = [ - self.by-version."less"."1.6.1" - self.by-version."grunt-lib-contrib"."0.6.1" + self.by-version."less"."1.7.0" self.by-version."chalk"."0.4.0" + self.by-version."maxmin"."0.1.0" + self.by-version."lodash"."2.4.1" + self.by-version."async"."0.2.10" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-contrib-less" ]; }; - "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.9.0"; + "grunt-contrib-less" = self.by-version."grunt-contrib-less"."0.11.0"; by-spec."grunt-contrib-requirejs"."*" = - self.by-version."grunt-contrib-requirejs"."0.4.1"; - by-version."grunt-contrib-requirejs"."0.4.1" = lib.makeOverridable self.buildNodePackage { - name = "grunt-contrib-requirejs-0.4.1"; + self.by-version."grunt-contrib-requirejs"."0.4.3"; + by-version."grunt-contrib-requirejs"."0.4.3" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-contrib-requirejs-0.4.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.1.tgz"; - name = "grunt-contrib-requirejs-0.4.1.tgz"; - sha1 = "862ba167141b8a8f36af5444feab3272bb8cf4bd"; + url = "http://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-0.4.3.tgz"; + name = "grunt-contrib-requirejs-0.4.3.tgz"; + sha1 = "ac243dc312af5c85cd095169da1b3177bfe89c59"; }) ]; buildInputs = (self.nativeDeps."grunt-contrib-requirejs" or []); deps = [ - self.by-version."requirejs"."2.1.10" + self.by-version."requirejs"."2.1.11" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-contrib-requirejs" ]; }; - "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.1"; + "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."0.4.3"; by-spec."grunt-contrib-uglify"."*" = - self.by-version."grunt-contrib-uglify"."0.2.7"; - by-version."grunt-contrib-uglify"."0.2.7" = lib.makeOverridable self.buildNodePackage { - name = "grunt-contrib-uglify-0.2.7"; + self.by-version."grunt-contrib-uglify"."0.4.0"; + by-version."grunt-contrib-uglify"."0.4.0" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-contrib-uglify-0.4.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz"; - name = "grunt-contrib-uglify-0.2.7.tgz"; - sha1 = "e6bda51e0c40a1459f6cead423c65efd725a1bf7"; + url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.4.0.tgz"; + name = "grunt-contrib-uglify-0.4.0.tgz"; + sha1 = "6a4df3e85ccf4bbae484b0328cc71c9f102e80be"; }) ]; buildInputs = (self.nativeDeps."grunt-contrib-uglify" or []); deps = [ - self.by-version."uglify-js"."2.4.8" - self.by-version."grunt-lib-contrib"."0.6.1" + self.by-version."uglify-js"."2.4.13" + self.by-version."chalk"."0.4.0" + self.by-version."maxmin"."0.1.0" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-contrib-uglify" ]; }; - "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.2.7"; + "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.4.0"; by-spec."grunt-karma"."*" = - self.by-version."grunt-karma"."0.7.2"; - by-version."grunt-karma"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "grunt-karma-0.7.2"; + self.by-version."grunt-karma"."0.8.2"; + by-version."grunt-karma"."0.8.2" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-karma-0.8.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.7.2.tgz"; - name = "grunt-karma-0.7.2.tgz"; - sha1 = "1d041d9833671c2bca671cd66bd874c96b2a631e"; + url = "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.8.2.tgz"; + name = "grunt-karma-0.8.2.tgz"; + sha1 = "0f422d357e4556fb96ab68c6d9a2be46908f1c84"; }) ]; buildInputs = (self.nativeDeps."grunt-karma" or []); deps = [ - self.by-version."optimist"."0.6.0" + self.by-version."lodash"."2.4.1" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" - self.by-version."karma"."0.11.12" + self.by-version."grunt"."0.4.4" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "grunt-karma" ]; }; - "grunt-karma" = self.by-version."grunt-karma"."0.7.2"; - by-spec."grunt-lib-contrib"."~0.6.0" = - self.by-version."grunt-lib-contrib"."0.6.1"; - by-version."grunt-lib-contrib"."0.6.1" = lib.makeOverridable self.buildNodePackage { - name = "grunt-lib-contrib-0.6.1"; + "grunt-karma" = self.by-version."grunt-karma"."0.8.2"; + by-spec."grunt-legacy-util"."~0.1.2" = + self.by-version."grunt-legacy-util"."0.1.2"; + by-version."grunt-legacy-util"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-grunt-legacy-util-0.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz"; - name = "grunt-lib-contrib-0.6.1.tgz"; - sha1 = "3f56adb7da06e814795ee2415b0ebe5fb8903ebb"; + url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.1.2.tgz"; + name = "grunt-legacy-util-0.1.2.tgz"; + sha1 = "be84d337ef4a0137dc8566092a46528fd8957ebd"; }) ]; buildInputs = - (self.nativeDeps."grunt-lib-contrib" or []); + (self.nativeDeps."grunt-legacy-util" or []); deps = [ - self.by-version."zlib-browserify"."0.0.1" + self.by-version."hooker"."0.2.3" + self.by-version."async"."0.1.22" + self.by-version."lodash"."0.9.2" + self.by-version."exit"."0.1.2" + self.by-version."underscore.string"."2.2.1" + self.by-version."getobject"."0.1.0" + self.by-version."which"."1.0.5" ]; peerDependencies = [ ]; - passthru.names = [ "grunt-lib-contrib" ]; + passthru.names = [ "grunt-legacy-util" ]; }; - by-spec."grunt-lib-contrib"."~0.6.1" = - self.by-version."grunt-lib-contrib"."0.6.1"; by-spec."grunt-sed"."*" = self.by-version."grunt-sed"."0.1.1"; by-version."grunt-sed"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "grunt-sed-0.1.1"; + name = "node-grunt-sed-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz"; @@ -5866,10 +7721,10 @@ buildInputs = (self.nativeDeps."grunt-sed" or []); deps = [ - self.by-version."replace"."0.2.7" + self.by-version."replace"."0.2.9" ]; peerDependencies = [ - self.by-version."grunt"."0.4.2" + self.by-version."grunt"."0.4.4" ]; passthru.names = [ "grunt-sed" ]; }; @@ -5888,21 +7743,42 @@ buildInputs = (self.nativeDeps."guifi-earth" or []); deps = [ - self.by-version."coffee-script"."1.6.3" - self.by-version."jade"."1.1.4" - self.by-version."q"."1.0.0" - self.by-version."xml2js"."0.4.1" - self.by-version."msgpack"."0.2.1" + self.by-version."coffee-script"."1.7.1" + self.by-version."jade"."1.3.1" + self.by-version."q"."2.0.1" + self.by-version."xml2js"."0.4.2" + self.by-version."msgpack"."0.2.3" ]; peerDependencies = [ ]; passthru.names = [ "guifi-earth" ]; }; "guifi-earth" = self.by-version."guifi-earth"."0.2.1"; + by-spec."gzip-size"."^0.1.0" = + self.by-version."gzip-size"."0.1.1"; + by-version."gzip-size"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "gzip-size-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz"; + name = "gzip-size-0.1.1.tgz"; + sha1 = "ae33483b6fc8224e8342296de108ef93757f76e0"; + }) + ]; + buildInputs = + (self.nativeDeps."gzip-size" or []); + deps = [ + self.by-version."concat-stream"."1.4.5" + self.by-version."zlib-browserify"."0.0.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "gzip-size" ]; + }; by-spec."gzippo"."*" = self.by-version."gzippo"."0.2.0"; by-version."gzippo"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "gzippo-0.2.0"; + name = "node-gzippo-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz"; @@ -5913,14 +7789,37 @@ buildInputs = (self.nativeDeps."gzippo" or []); deps = [ - self.by-version."send"."0.1.4" + self.by-version."send"."0.2.0" ]; peerDependencies = [ ]; passthru.names = [ "gzippo" ]; }; "gzippo" = self.by-version."gzippo"."0.2.0"; - by-spec."handlebars"."1.0.x" = + by-spec."handlebars"."1.3.0" = + self.by-version."handlebars"."1.3.0"; + by-version."handlebars"."1.3.0" = lib.makeOverridable self.buildNodePackage { + name = "handlebars-1.3.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz"; + name = "handlebars-1.3.0.tgz"; + sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34"; + }) + ]; + buildInputs = + (self.nativeDeps."handlebars" or []); + deps = [ + self.by-version."optimist"."0.3.7" + self.by-version."uglify-js"."2.3.6" + ]; + peerDependencies = [ + ]; + passthru.names = [ "handlebars" ]; + }; + by-spec."handlebars"."1.3.x" = + self.by-version."handlebars"."1.3.0"; + by-spec."handlebars"."~1.0.11" = self.by-version."handlebars"."1.0.12"; by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage { name = "handlebars-1.0.12"; @@ -5941,38 +7840,17 @@ ]; passthru.names = [ "handlebars" ]; }; - by-spec."handlebars"."1.2.x" = - self.by-version."handlebars"."1.2.1"; - by-version."handlebars"."1.2.1" = lib.makeOverridable self.buildNodePackage { - name = "handlebars-1.2.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/handlebars/-/handlebars-1.2.1.tgz"; - name = "handlebars-1.2.1.tgz"; - sha1 = "0a9016379064f8957779bdc2812869120aba9d98"; - }) - ]; - buildInputs = - (self.nativeDeps."handlebars" or []); - deps = [ - self.by-version."optimist"."0.3.7" - self.by-version."uglify-js"."2.3.6" - ]; - peerDependencies = [ - ]; - passthru.names = [ "handlebars" ]; - }; - by-spec."handlebars"."~1.0.11" = - self.by-version."handlebars"."1.0.12"; + by-spec."handlebars"."~1.3.0" = + self.by-version."handlebars"."1.3.0"; by-spec."has-color"."~0.1.0" = - self.by-version."has-color"."0.1.2"; - by-version."has-color"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "has-color-0.1.2"; + self.by-version."has-color"."0.1.6"; + by-version."has-color"."0.1.6" = lib.makeOverridable self.buildNodePackage { + name = "node-has-color-0.1.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/has-color/-/has-color-0.1.2.tgz"; - name = "has-color-0.1.2.tgz"; - sha1 = "c4a523038912451262c745e0a663c38d948098b4"; + url = "http://registry.npmjs.org/has-color/-/has-color-0.1.6.tgz"; + name = "has-color-0.1.6.tgz"; + sha1 = "a77443bddb036c6df06e04a4493ce9f23533731b"; }) ]; buildInputs = @@ -5986,7 +7864,7 @@ by-spec."hasher"."~1.2.0" = self.by-version."hasher"."1.2.0"; by-version."hasher"."1.2.0" = lib.makeOverridable self.buildNodePackage { - name = "hasher-1.2.0"; + name = "node-hasher-1.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz"; @@ -6006,7 +7884,7 @@ by-spec."hashring"."1.0.1" = self.by-version."hashring"."1.0.1"; by-version."hashring"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "hashring-1.0.1"; + name = "node-hashring-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/hashring/-/hashring-1.0.1.tgz"; @@ -6027,7 +7905,7 @@ by-spec."hat"."*" = self.by-version."hat"."0.0.3"; by-version."hat"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "hat-0.0.3"; + name = "node-hat-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz"; @@ -6046,7 +7924,7 @@ by-spec."hawk"."~0.10.0" = self.by-version."hawk"."0.10.2"; by-version."hawk"."0.10.2" = lib.makeOverridable self.buildNodePackage { - name = "hawk-0.10.2"; + name = "node-hawk-0.10.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz"; @@ -6068,33 +7946,10 @@ }; by-spec."hawk"."~0.10.2" = self.by-version."hawk"."0.10.2"; - by-spec."hawk"."~0.13.0" = - self.by-version."hawk"."0.13.1"; - by-version."hawk"."0.13.1" = lib.makeOverridable self.buildNodePackage { - name = "hawk-0.13.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz"; - name = "hawk-0.13.1.tgz"; - sha1 = "3617958821f58311e4d7f6de291fca662b412ef4"; - }) - ]; - buildInputs = - (self.nativeDeps."hawk" or []); - deps = [ - self.by-version."hoek"."0.8.5" - self.by-version."boom"."0.4.2" - self.by-version."cryptiles"."0.2.2" - self.by-version."sntp"."0.2.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "hawk" ]; - }; by-spec."hawk"."~1.0.0" = self.by-version."hawk"."1.0.0"; by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "hawk-1.0.0"; + name = "node-hawk-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz"; @@ -6134,20 +7989,19 @@ passthru.names = [ "he" ]; }; by-spec."hipache"."*" = - self.by-version."hipache"."0.2.4"; - by-version."hipache"."0.2.4" = lib.makeOverridable self.buildNodePackage { - name = "hipache-0.2.4"; + self.by-version."hipache"."0.2.9"; + by-version."hipache"."0.2.9" = lib.makeOverridable self.buildNodePackage { + name = "hipache-0.2.9"; src = [ (self.patchSource fetchurl { - url = "http://registry.npmjs.org/hipache/-/hipache-0.2.4.tgz"; - name = "hipache-0.2.4.tgz"; - sha1 = "1d6a06bf88cac084b5fcd01959392c8b4889ec65"; + url = "http://registry.npmjs.org/hipache/-/hipache-0.2.9.tgz"; + name = "hipache-0.2.9.tgz"; + sha1 = "48a7fa7170be328b264d6e413bfb76d130e03b2a"; }) ]; buildInputs = (self.nativeDeps."hipache" or []); deps = [ - self.by-version."read-installed"."0.2.2" self.by-version."http-proxy"."0.10.3" self.by-version."redis"."0.8.6" self.by-version."lru-cache"."2.2.4" @@ -6157,11 +8011,11 @@ ]; passthru.names = [ "hipache" ]; }; - "hipache" = self.by-version."hipache"."0.2.4"; + "hipache" = self.by-version."hipache"."0.2.9"; by-spec."hiredis"."*" = self.by-version."hiredis"."0.1.16"; by-version."hiredis"."0.1.16" = lib.makeOverridable self.buildNodePackage { - name = "hiredis-0.1.16"; + name = "node-hiredis-0.1.16"; src = [ (fetchurl { url = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.16.tgz"; @@ -6172,7 +8026,7 @@ buildInputs = (self.nativeDeps."hiredis" or []); deps = [ - self.by-version."bindings"."1.1.1" + self.by-version."bindings"."1.2.0" ]; peerDependencies = [ ]; @@ -6181,7 +8035,7 @@ by-spec."hoek"."0.7.x" = self.by-version."hoek"."0.7.6"; by-version."hoek"."0.7.6" = lib.makeOverridable self.buildNodePackage { - name = "hoek-0.7.6"; + name = "node-hoek-0.7.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz"; @@ -6197,29 +8051,10 @@ ]; passthru.names = [ "hoek" ]; }; - by-spec."hoek"."0.8.x" = - self.by-version."hoek"."0.8.5"; - by-version."hoek"."0.8.5" = lib.makeOverridable self.buildNodePackage { - name = "hoek-0.8.5"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/hoek/-/hoek-0.8.5.tgz"; - name = "hoek-0.8.5.tgz"; - sha1 = "1e9fd770ef7ebe0274adfcb5b0806a025a5e4e9f"; - }) - ]; - buildInputs = - (self.nativeDeps."hoek" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "hoek" ]; - }; by-spec."hoek"."0.9.x" = self.by-version."hoek"."0.9.1"; by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage { - name = "hoek-0.9.1"; + name = "node-hoek-0.9.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"; @@ -6238,7 +8073,7 @@ by-spec."hooker"."~0.2.3" = self.by-version."hooker"."0.2.3"; by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "hooker-0.2.3"; + name = "node-hooker-0.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"; @@ -6257,7 +8092,7 @@ by-spec."hooks"."0.2.1" = self.by-version."hooks"."0.2.1"; by-version."hooks"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "hooks-0.2.1"; + name = "node-hooks-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz"; @@ -6276,7 +8111,7 @@ by-spec."htmlparser2"."3.1.4" = self.by-version."htmlparser2"."3.1.4"; by-version."htmlparser2"."3.1.4" = lib.makeOverridable self.buildNodePackage { - name = "htmlparser2-3.1.4"; + name = "node-htmlparser2-3.1.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.1.4.tgz"; @@ -6290,7 +8125,7 @@ self.by-version."domhandler"."2.0.3" self.by-version."domutils"."1.1.6" self.by-version."domelementtype"."1.1.1" - self.by-version."readable-stream"."1.0.24" + self.by-version."readable-stream"."1.0.26" ]; peerDependencies = [ ]; @@ -6299,7 +8134,7 @@ by-spec."htmlparser2"."3.3.x" = self.by-version."htmlparser2"."3.3.0"; by-version."htmlparser2"."3.3.0" = lib.makeOverridable self.buildNodePackage { - name = "htmlparser2-3.3.0"; + name = "node-htmlparser2-3.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz"; @@ -6313,7 +8148,7 @@ self.by-version."domhandler"."2.1.0" self.by-version."domutils"."1.1.6" self.by-version."domelementtype"."1.1.1" - self.by-version."readable-stream"."1.0.24" + self.by-version."readable-stream"."1.0.26" ]; peerDependencies = [ ]; @@ -6322,7 +8157,7 @@ by-spec."htmlparser2"."~3.4.0" = self.by-version."htmlparser2"."3.4.0"; by-version."htmlparser2"."3.4.0" = lib.makeOverridable self.buildNodePackage { - name = "htmlparser2-3.4.0"; + name = "node-htmlparser2-3.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz"; @@ -6336,7 +8171,7 @@ self.by-version."domhandler"."2.2.0" self.by-version."domutils"."1.3.0" self.by-version."domelementtype"."1.1.1" - self.by-version."readable-stream"."1.1.10" + self.by-version."readable-stream"."1.1.12" ]; peerDependencies = [ ]; @@ -6345,7 +8180,7 @@ by-spec."http-auth"."2.0.7" = self.by-version."http-auth"."2.0.7"; by-version."http-auth"."2.0.7" = lib.makeOverridable self.buildNodePackage { - name = "http-auth-2.0.7"; + name = "node-http-auth-2.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz"; @@ -6363,13 +8198,34 @@ ]; passthru.names = [ "http-auth" ]; }; - by-spec."http-proxy"."git://github.com/samalba/node-http-proxy" = + by-spec."http-browserify"."~1.3.1" = + self.by-version."http-browserify"."1.3.2"; + by-version."http-browserify"."1.3.2" = lib.makeOverridable self.buildNodePackage { + name = "node-http-browserify-1.3.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/http-browserify/-/http-browserify-1.3.2.tgz"; + name = "http-browserify-1.3.2.tgz"; + sha1 = "b562c34479349a690d7a6597df495aefa8c604f5"; + }) + ]; + buildInputs = + (self.nativeDeps."http-browserify" or []); + deps = [ + self.by-version."Base64"."0.2.1" + self.by-version."inherits"."2.0.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "http-browserify" ]; + }; + by-spec."http-proxy"."git+https://github.com/samalba/node-http-proxy.git" = self.by-version."http-proxy"."0.10.3"; by-version."http-proxy"."0.10.3" = lib.makeOverridable self.buildNodePackage { name = "http-proxy-0.10.3"; src = [ (fetchgit { - url = "git://github.com/samalba/node-http-proxy"; + url = "https://github.com/samalba/node-http-proxy.git"; rev = "8e277989d2d05edaee65e524fb4fba9142c52aa5"; sha256 = "8ce0e05c73e517eefc6d9bf8b61349351aee119c2fb60763f23170607cc0e41f"; }) @@ -6401,7 +8257,7 @@ (self.nativeDeps."http-proxy" or []); deps = [ self.by-version."colors"."0.6.2" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."pkginfo"."0.3.0" self.by-version."utile"."0.2.1" ]; @@ -6412,7 +8268,7 @@ by-spec."http-signature"."0.9.11" = self.by-version."http-signature"."0.9.11"; by-version."http-signature"."0.9.11" = lib.makeOverridable self.buildNodePackage { - name = "http-signature-0.9.11"; + name = "node-http-signature-0.9.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz"; @@ -6434,7 +8290,7 @@ by-spec."http-signature"."~0.10.0" = self.by-version."http-signature"."0.10.0"; by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage { - name = "http-signature-0.10.0"; + name = "node-http-signature-0.10.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz"; @@ -6453,12 +8309,29 @@ ]; passthru.names = [ "http-signature" ]; }; - by-spec."http-signature"."~0.9.11" = - self.by-version."http-signature"."0.9.11"; + by-spec."https-browserify"."~0.0.0" = + self.by-version."https-browserify"."0.0.0"; + by-version."https-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-https-browserify-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz"; + name = "https-browserify-0.0.0.tgz"; + sha1 = "b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd"; + }) + ]; + buildInputs = + (self.nativeDeps."https-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "https-browserify" ]; + }; by-spec."humanize"."~0.0.9" = self.by-version."humanize"."0.0.9"; by-version."humanize"."0.0.9" = lib.makeOverridable self.buildNodePackage { - name = "humanize-0.0.9"; + name = "node-humanize-0.0.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz"; @@ -6477,7 +8350,7 @@ by-spec."i"."0.3.x" = self.by-version."i"."0.3.2"; by-version."i"."0.3.2" = lib.makeOverridable self.buildNodePackage { - name = "i-0.3.2"; + name = "node-i-0.3.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/i/-/i-0.3.2.tgz"; @@ -6496,7 +8369,7 @@ by-spec."i18next"."*" = self.by-version."i18next"."1.7.1"; by-version."i18next"."1.7.1" = lib.makeOverridable self.buildNodePackage { - name = "i18next-1.7.1"; + name = "node-i18next-1.7.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/i18next/-/i18next-1.7.1.tgz"; @@ -6507,34 +8380,35 @@ buildInputs = (self.nativeDeps."i18next" or []); deps = [ - self.by-version."cookies"."0.3.8" + self.by-version."cookies"."0.4.0" ]; peerDependencies = [ ]; passthru.names = [ "i18next" ]; }; "i18next" = self.by-version."i18next"."1.7.1"; - by-spec."ibrik"."~1.0.1" = - self.by-version."ibrik"."1.0.1"; - by-version."ibrik"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "ibrik-1.0.1"; + by-spec."ibrik"."~1.1.1" = + self.by-version."ibrik"."1.1.1"; + by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "ibrik-1.1.1"; src = [ - (self.patchSource fetchurl { - url = "http://registry.npmjs.org/ibrik/-/ibrik-1.0.1.tgz"; - name = "ibrik-1.0.1.tgz"; - sha1 = "ba9c0cf9302c51a812dc4a92038b3de579c0aefb"; + (fetchurl { + url = "http://registry.npmjs.org/ibrik/-/ibrik-1.1.1.tgz"; + name = "ibrik-1.1.1.tgz"; + sha1 = "c9bd04c5137e967a2f0dbc9e4eb31dbfa04801b5"; }) ]; buildInputs = (self.nativeDeps."ibrik" or []); deps = [ - self.by-version."coffee-script-redux"."2.0.0-beta4" - self.by-version."istanbul"."0.2.3" - self.by-version."optimist"."0.6.0" - self.by-version."escodegen"."1.0.1" - self.by-version."mkdirp"."0.3.5" - self.by-version."which"."1.0.5" + self.by-version."lodash"."2.4.1" + self.by-version."coffee-script-redux"."2.0.0-beta8" + self.by-version."istanbul"."0.2.7" self.by-version."estraverse"."1.5.0" + self.by-version."escodegen"."1.1.0" + self.by-version."which"."1.0.5" + self.by-version."mkdirp"."0.3.5" + self.by-version."optimist"."0.6.1" ]; peerDependencies = [ ]; @@ -6543,7 +8417,7 @@ by-spec."iconv-lite"."~0.2.10" = self.by-version."iconv-lite"."0.2.11"; by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage { - name = "iconv-lite-0.2.11"; + name = "node-iconv-lite-0.2.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz"; @@ -6561,10 +8435,29 @@ }; by-spec."iconv-lite"."~0.2.11" = self.by-version."iconv-lite"."0.2.11"; - by-spec."indexof"."~0.0.1" = + by-spec."ieee754"."~1.1.1" = + self.by-version."ieee754"."1.1.3"; + by-version."ieee754"."1.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-ieee754-1.1.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/ieee754/-/ieee754-1.1.3.tgz"; + name = "ieee754-1.1.3.tgz"; + sha1 = "1d4baae872e15ba69f6ab7588a965e09d485ec50"; + }) + ]; + buildInputs = + (self.nativeDeps."ieee754" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "ieee754" ]; + }; + by-spec."indexof"."0.0.1" = self.by-version."indexof"."0.0.1"; by-version."indexof"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "indexof-0.0.1"; + name = "node-indexof-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz"; @@ -6583,7 +8476,7 @@ by-spec."inherits"."1" = self.by-version."inherits"."1.0.0"; by-version."inherits"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "inherits-1.0.0"; + name = "node-inherits-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"; @@ -6604,7 +8497,7 @@ by-spec."inherits"."2" = self.by-version."inherits"."2.0.1"; by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage { - name = "inherits-2.0.1"; + name = "node-inherits-2.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; @@ -6622,14 +8515,18 @@ }; by-spec."inherits"."2.0.1" = self.by-version."inherits"."2.0.1"; + by-spec."inherits"."^2.0.1" = + self.by-version."inherits"."2.0.1"; by-spec."inherits"."~1.0.0" = self.by-version."inherits"."1.0.0"; by-spec."inherits"."~2.0.0" = self.by-version."inherits"."2.0.1"; + by-spec."inherits"."~2.0.1" = + self.by-version."inherits"."2.0.1"; by-spec."ini"."1" = self.by-version."ini"."1.1.0"; by-version."ini"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "ini-1.1.0"; + name = "node-ini-1.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz"; @@ -6649,15 +8546,15 @@ self.by-version."ini"."1.1.0"; by-spec."ini"."~1.1.0" = self.by-version."ini"."1.1.0"; - by-spec."init-package-json"."0.0.14" = - self.by-version."init-package-json"."0.0.14"; - by-version."init-package-json"."0.0.14" = lib.makeOverridable self.buildNodePackage { - name = "init-package-json-0.0.14"; + by-spec."init-package-json"."0.0.15" = + self.by-version."init-package-json"."0.0.15"; + by-version."init-package-json"."0.0.15" = lib.makeOverridable self.buildNodePackage { + name = "node-init-package-json-0.0.15"; src = [ (fetchurl { - url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.14.tgz"; - name = "init-package-json-0.0.14.tgz"; - sha1 = "bd5f7b2d73b54957388cca3ce61190340c8a05b7"; + url = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.15.tgz"; + name = "init-package-json-0.0.15.tgz"; + sha1 = "d40f0201e4de6aa2b3fdc4208ae162766703ebed"; }) ]; buildInputs = @@ -6665,41 +8562,38 @@ deps = [ self.by-version."promzard"."0.2.1" self.by-version."read"."1.0.5" - self.by-version."read-package-json"."1.1.5" + self.by-version."read-package-json"."1.1.8" self.by-version."semver"."2.2.1" - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; passthru.names = [ "init-package-json" ]; }; - by-spec."inquirer"."~0.2.4" = - self.by-version."inquirer"."0.2.5"; - by-version."inquirer"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "inquirer-0.2.5"; + by-spec."inline-source-map"."~0.3.0" = + self.by-version."inline-source-map"."0.3.0"; + by-version."inline-source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage { + name = "node-inline-source-map-0.3.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/inquirer/-/inquirer-0.2.5.tgz"; - name = "inquirer-0.2.5.tgz"; - sha1 = "6b49a9cbe03de776122211f174ef9fe2822c08f6"; + url = "http://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz"; + name = "inline-source-map-0.3.0.tgz"; + sha1 = "ad2acca97d82fcb9d0a56221ee72e8043116424a"; }) ]; buildInputs = - (self.nativeDeps."inquirer" or []); + (self.nativeDeps."inline-source-map" or []); deps = [ - self.by-version."lodash"."1.2.1" - self.by-version."async"."0.2.9" - self.by-version."cli-color"."0.2.3" - self.by-version."mute-stream"."0.0.3" + self.by-version."source-map"."0.1.33" ]; peerDependencies = [ ]; - passthru.names = [ "inquirer" ]; + passthru.names = [ "inline-source-map" ]; }; by-spec."inquirer"."~0.3.0" = self.by-version."inquirer"."0.3.5"; by-version."inquirer"."0.3.5" = lib.makeOverridable self.buildNodePackage { - name = "inquirer-0.3.5"; + name = "node-inquirer-0.3.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz"; @@ -6711,7 +8605,7 @@ (self.nativeDeps."inquirer" or []); deps = [ self.by-version."lodash"."1.2.1" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."cli-color"."0.2.3" self.by-version."mute-stream"."0.0.3" ]; @@ -6722,49 +8616,77 @@ by-spec."inquirer"."~0.3.1" = self.by-version."inquirer"."0.3.5"; by-spec."inquirer"."~0.4.0" = - self.by-version."inquirer"."0.4.0"; - by-version."inquirer"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "inquirer-0.4.0"; + self.by-version."inquirer"."0.4.1"; + by-version."inquirer"."0.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-inquirer-0.4.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/inquirer/-/inquirer-0.4.0.tgz"; - name = "inquirer-0.4.0.tgz"; - sha1 = "62782d60c8a71d6328d8b4e9a5a71933cfda8f33"; + url = "http://registry.npmjs.org/inquirer/-/inquirer-0.4.1.tgz"; + name = "inquirer-0.4.1.tgz"; + sha1 = "6cf74eb1a347f97a1a207bea8ad1c987d0ff4b81"; }) ]; buildInputs = (self.nativeDeps."inquirer" or []); deps = [ self.by-version."lodash"."2.4.1" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."cli-color"."0.2.3" self.by-version."mute-stream"."0.0.4" self.by-version."through"."2.3.4" + self.by-version."readline2"."0.1.0" ]; peerDependencies = [ ]; passthru.names = [ "inquirer" ]; }; - by-spec."insight"."~0.3.0" = - self.by-version."insight"."0.3.0"; - by-version."insight"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "insight-0.3.0"; + by-spec."inquirer"."~0.4.1" = + self.by-version."inquirer"."0.4.1"; + by-spec."insert-module-globals"."~5.0.1" = + self.by-version."insert-module-globals"."5.0.1"; + by-version."insert-module-globals"."5.0.1" = lib.makeOverridable self.buildNodePackage { + name = "insert-module-globals-5.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/insight/-/insight-0.3.0.tgz"; - name = "insight-0.3.0.tgz"; - sha1 = "9d922133f560f7633abfc8f91451bda5e2cf2f71"; + url = "http://registry.npmjs.org/insert-module-globals/-/insert-module-globals-5.0.1.tgz"; + name = "insert-module-globals-5.0.1.tgz"; + sha1 = "eec9c0dfad30380e8eda313a094165dc2f2350d2"; + }) + ]; + buildInputs = + (self.nativeDeps."insert-module-globals" or []); + deps = [ + self.by-version."JSONStream"."0.7.2" + self.by-version."concat-stream"."1.4.5" + self.by-version."lexical-scope"."1.1.0" + self.by-version."process"."0.6.0" + self.by-version."through"."2.3.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "insert-module-globals" ]; + }; + by-spec."insight"."~0.3.0" = + self.by-version."insight"."0.3.1"; + by-version."insight"."0.3.1" = lib.makeOverridable self.buildNodePackage { + name = "node-insight-0.3.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/insight/-/insight-0.3.1.tgz"; + name = "insight-0.3.1.tgz"; + sha1 = "1a14f32c06115c0850338c38a253d707b611d448"; }) ]; buildInputs = (self.nativeDeps."insight" or []); deps = [ - self.by-version."chalk"."0.2.1" + self.by-version."chalk"."0.4.0" self.by-version."request"."2.27.0" - self.by-version."configstore"."0.1.7" - self.by-version."async"."0.2.9" - self.by-version."lodash"."1.3.1" - self.by-version."inquirer"."0.2.5" + self.by-version."configstore"."0.2.3" + self.by-version."async"."0.2.10" + self.by-version."inquirer"."0.4.1" + self.by-version."object-assign"."0.1.2" + self.by-version."lodash.debounce"."2.4.1" ]; peerDependencies = [ ]; @@ -6773,7 +8695,7 @@ by-spec."intersect"."~0.0.3" = self.by-version."intersect"."0.0.3"; by-version."intersect"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "intersect-0.0.3"; + name = "node-intersect-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz"; @@ -6792,7 +8714,7 @@ by-spec."ironhorse"."*" = self.by-version."ironhorse"."0.0.9"; by-version."ironhorse"."0.0.9" = lib.makeOverridable self.buildNodePackage { - name = "ironhorse-0.0.9"; + name = "node-ironhorse-0.0.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.9.tgz"; @@ -6804,20 +8726,20 @@ (self.nativeDeps."ironhorse" or []); deps = [ self.by-version."underscore"."1.5.2" - self.by-version."winston"."0.7.2" + self.by-version."winston"."0.7.3" self.by-version."nconf"."0.6.9" self.by-version."fs-walk"."0.0.1" - self.by-version."async"."0.2.9" - self.by-version."express"."3.4.7" - self.by-version."jade"."1.1.4" - self.by-version."passport"."0.1.18" + self.by-version."async"."0.7.0" + self.by-version."express"."4.0.0" + self.by-version."jade"."1.3.1" + self.by-version."passport"."0.2.0" self.by-version."passport-http"."0.2.2" - self.by-version."js-yaml"."3.0.1" - self.by-version."mongoose"."3.8.4" - self.by-version."gridfs-stream"."0.4.0" - self.by-version."temp"."0.6.0" - self.by-version."kue"."0.6.2" - self.by-version."redis"."0.10.0" + self.by-version."js-yaml"."3.0.2" + self.by-version."mongoose"."3.8.8" + self.by-version."gridfs-stream"."0.4.1" + self.by-version."temp"."0.7.0" + self.by-version."kue"."0.7.5" + self.by-version."redis"."0.10.1" self.by-version."hiredis"."0.1.16" ]; peerDependencies = [ @@ -6825,48 +8747,10 @@ passthru.names = [ "ironhorse" ]; }; "ironhorse" = self.by-version."ironhorse"."0.0.9"; - by-spec."is"."~0.2.6" = - self.by-version."is"."0.2.7"; - by-version."is"."0.2.7" = lib.makeOverridable self.buildNodePackage { - name = "is-0.2.7"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/is/-/is-0.2.7.tgz"; - name = "is-0.2.7.tgz"; - sha1 = "3b34a2c48f359972f35042849193ae7264b63562"; - }) - ]; - buildInputs = - (self.nativeDeps."is" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "is" ]; - }; - by-spec."is-object"."~0.1.2" = - self.by-version."is-object"."0.1.2"; - by-version."is-object"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "is-object-0.1.2"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz"; - name = "is-object-0.1.2.tgz"; - sha1 = "00efbc08816c33cfc4ac8251d132e10dc65098d7"; - }) - ]; - buildInputs = - (self.nativeDeps."is-object" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "is-object" ]; - }; by-spec."is-promise"."~1" = self.by-version."is-promise"."1.0.0"; by-version."is-promise"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "is-promise-1.0.0"; + name = "node-is-promise-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz"; @@ -6882,10 +8766,48 @@ ]; passthru.names = [ "is-promise" ]; }; + by-spec."is-root"."~0.1.0" = + self.by-version."is-root"."0.1.0"; + by-version."is-root"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-is-root-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/is-root/-/is-root-0.1.0.tgz"; + name = "is-root-0.1.0.tgz"; + sha1 = "825e394ab593df2d73c5d0092fce507270b53dcb"; + }) + ]; + buildInputs = + (self.nativeDeps."is-root" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "is-root" ]; + }; + by-spec."isarray"."0.0.1" = + self.by-version."isarray"."0.0.1"; + by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-isarray-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; + name = "isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }) + ]; + buildInputs = + (self.nativeDeps."isarray" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "isarray" ]; + }; by-spec."isbinaryfile"."~0.1.8" = self.by-version."isbinaryfile"."0.1.9"; by-version."isbinaryfile"."0.1.9" = lib.makeOverridable self.buildNodePackage { - name = "isbinaryfile-0.1.9"; + name = "node-isbinaryfile-0.1.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz"; @@ -6904,14 +8826,14 @@ by-spec."isbinaryfile"."~0.1.9" = self.by-version."isbinaryfile"."0.1.9"; by-spec."isbinaryfile"."~2.0.0" = - self.by-version."isbinaryfile"."2.0.0"; - by-version."isbinaryfile"."2.0.0" = lib.makeOverridable self.buildNodePackage { - name = "isbinaryfile-2.0.0"; + self.by-version."isbinaryfile"."2.0.1"; + by-version."isbinaryfile"."2.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-isbinaryfile-2.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.0.tgz"; - name = "isbinaryfile-2.0.0.tgz"; - sha1 = "309c09010811d04ebed7c8d026df443d565e9f26"; + url = "http://registry.npmjs.org/isbinaryfile/-/isbinaryfile-2.0.1.tgz"; + name = "isbinaryfile-2.0.1.tgz"; + sha1 = "b92369bfdaf616027133e077c5ba145f36699d55"; }) ]; buildInputs = @@ -6923,76 +8845,50 @@ passthru.names = [ "isbinaryfile" ]; }; by-spec."istanbul"."*" = - self.by-version."istanbul"."0.2.3"; - by-version."istanbul"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "istanbul-0.2.3"; + self.by-version."istanbul"."0.2.7"; + by-version."istanbul"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "istanbul-0.2.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.3.tgz"; - name = "istanbul-0.2.3.tgz"; - sha1 = "bbce67c1d540610e7021becda51d7cbbbecc68cc"; + url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.7.tgz"; + name = "istanbul-0.2.7.tgz"; + sha1 = "bb482e1d06a0fea00993a10b2ee266fc740642bc"; }) ]; buildInputs = (self.nativeDeps."istanbul" or []); deps = [ - self.by-version."esprima"."1.0.4" - self.by-version."escodegen"."1.0.1" - self.by-version."handlebars"."1.2.1" + self.by-version."esprima"."1.1.1" + self.by-version."escodegen"."1.3.2" + self.by-version."handlebars"."1.3.0" self.by-version."mkdirp"."0.3.5" - self.by-version."nopt"."2.1.2" + self.by-version."nopt"."2.2.0" self.by-version."fileset"."0.1.5" self.by-version."which"."1.0.5" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."abbrev"."1.0.4" self.by-version."wordwrap"."0.0.2" - self.by-version."resolve"."0.6.1" - self.by-version."js-yaml"."3.0.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "istanbul" ]; - }; - "istanbul" = self.by-version."istanbul"."0.2.3"; - by-spec."istanbul"."~0.1.45" = - self.by-version."istanbul"."0.1.46"; - by-version."istanbul"."0.1.46" = lib.makeOverridable self.buildNodePackage { - name = "istanbul-0.1.46"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/istanbul/-/istanbul-0.1.46.tgz"; - name = "istanbul-0.1.46.tgz"; - sha1 = "cefeb1c787d125a6db23bd0f63b0eb9390b0b40d"; - }) - ]; - buildInputs = - (self.nativeDeps."istanbul" or []); - deps = [ - self.by-version."esprima"."1.0.4" - self.by-version."escodegen"."0.0.23" - self.by-version."handlebars"."1.0.12" - self.by-version."mkdirp"."0.3.5" - self.by-version."nopt"."2.1.2" - self.by-version."fileset"."0.1.5" - self.by-version."which"."1.0.5" - self.by-version."async"."0.2.9" - self.by-version."abbrev"."1.0.4" - self.by-version."wordwrap"."0.0.2" - self.by-version."resolve"."0.5.1" + self.by-version."resolve"."0.6.2" + self.by-version."js-yaml"."3.0.2" ]; peerDependencies = [ ]; passthru.names = [ "istanbul" ]; }; + "istanbul" = self.by-version."istanbul"."0.2.7"; + by-spec."istanbul"."~0.2.3" = + self.by-version."istanbul"."0.2.7"; + by-spec."istanbul"."~0.2.4" = + self.by-version."istanbul"."0.2.7"; by-spec."jade"."*" = - self.by-version."jade"."1.1.4"; - by-version."jade"."1.1.4" = lib.makeOverridable self.buildNodePackage { - name = "jade-1.1.4"; + self.by-version."jade"."1.3.1"; + by-version."jade"."1.3.1" = lib.makeOverridable self.buildNodePackage { + name = "jade-1.3.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/jade/-/jade-1.1.4.tgz"; - name = "jade-1.1.4.tgz"; - sha1 = "7097f9f17577fa4a1f0b399925dba1752b91cbdc"; + url = "http://registry.npmjs.org/jade/-/jade-1.3.1.tgz"; + name = "jade-1.3.1.tgz"; + sha1 = "7483d848b8714dc50a40da98b0409790b374216b"; }) ]; buildInputs = @@ -7003,14 +8899,14 @@ self.by-version."transformers"."2.1.0" self.by-version."character-parser"."1.2.0" self.by-version."monocle"."1.1.51" - self.by-version."with"."2.0.0" - self.by-version."constantinople"."1.0.2" + self.by-version."with"."3.0.0" + self.by-version."constantinople"."2.0.0" ]; peerDependencies = [ ]; passthru.names = [ "jade" ]; }; - "jade" = self.by-version."jade"."1.1.4"; + "jade" = self.by-version."jade"."1.3.1"; by-spec."jade"."0.26.3" = self.by-version."jade"."0.26.3"; by-version."jade"."0.26.3" = lib.makeOverridable self.buildNodePackage { @@ -7053,8 +8949,34 @@ ]; passthru.names = [ "jade" ]; }; + by-spec."jade"."1.1.5" = + self.by-version."jade"."1.1.5"; + by-version."jade"."1.1.5" = lib.makeOverridable self.buildNodePackage { + name = "jade-1.1.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jade/-/jade-1.1.5.tgz"; + name = "jade-1.1.5.tgz"; + sha1 = "e884d3d3565807e280f5ba760f68addb176627a3"; + }) + ]; + buildInputs = + (self.nativeDeps."jade" or []); + deps = [ + self.by-version."commander"."2.1.0" + self.by-version."mkdirp"."0.3.5" + self.by-version."transformers"."2.1.0" + self.by-version."character-parser"."1.2.0" + self.by-version."monocle"."1.1.51" + self.by-version."with"."2.0.0" + self.by-version."constantinople"."1.0.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "jade" ]; + }; by-spec."jade".">= 0.0.1" = - self.by-version."jade"."1.1.4"; + self.by-version."jade"."1.3.1"; by-spec."jade"."~0.35.0" = self.by-version."jade"."0.35.0"; by-version."jade"."0.35.0" = lib.makeOverridable self.buildNodePackage { @@ -7082,54 +9004,35 @@ passthru.names = [ "jade" ]; }; by-spec."jayschema"."*" = - self.by-version."jayschema"."0.2.3"; - by-version."jayschema"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "jayschema-0.2.3"; + self.by-version."jayschema"."0.2.6"; + by-version."jayschema"."0.2.6" = lib.makeOverridable self.buildNodePackage { + name = "jayschema-0.2.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.3.tgz"; - name = "jayschema-0.2.3.tgz"; - sha1 = "8f2e99d7f9dabda8d171eef2093ce9054671790d"; + url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.6.tgz"; + name = "jayschema-0.2.6.tgz"; + sha1 = "c160e767cef66babda76b0fc34a06d4adc44965d"; }) ]; buildInputs = (self.nativeDeps."jayschema" or []); deps = [ - self.by-version."when"."2.2.1" + self.by-version."when"."2.8.0" ]; peerDependencies = [ ]; passthru.names = [ "jayschema" ]; }; - "jayschema" = self.by-version."jayschema"."0.2.3"; - by-spec."jedediah"."~0.1.0" = - self.by-version."jedediah"."0.1.1"; - by-version."jedediah"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "jedediah-0.1.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/jedediah/-/jedediah-0.1.1.tgz"; - name = "jedediah-0.1.1.tgz"; - sha1 = "51f33021ebec6847d844cb53bbc086ee38877f84"; - }) - ]; - buildInputs = - (self.nativeDeps."jedediah" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "jedediah" ]; - }; + "jayschema" = self.by-version."jayschema"."0.2.6"; by-spec."js-yaml"."*" = - self.by-version."js-yaml"."3.0.1"; - by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage { - name = "js-yaml-3.0.1"; + self.by-version."js-yaml"."3.0.2"; + by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage { + name = "js-yaml-3.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz"; - name = "js-yaml-3.0.1.tgz"; - sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe"; + url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.2.tgz"; + name = "js-yaml-3.0.2.tgz"; + sha1 = "9937865f8e897a5e894e73c2c5cf2e89b32eb771"; }) ]; buildInputs = @@ -7142,11 +9045,11 @@ ]; passthru.names = [ "js-yaml" ]; }; - "js-yaml" = self.by-version."js-yaml"."3.0.1"; + "js-yaml" = self.by-version."js-yaml"."3.0.2"; by-spec."js-yaml"."0.3.x" = self.by-version."js-yaml"."0.3.7"; by-version."js-yaml"."0.3.7" = lib.makeOverridable self.buildNodePackage { - name = "js-yaml-0.3.7"; + name = "node-js-yaml-0.3.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz"; @@ -7183,8 +9086,29 @@ ]; passthru.names = [ "js-yaml" ]; }; - by-spec."js-yaml"."3.x" = + by-spec."js-yaml"."3.0.1" = self.by-version."js-yaml"."3.0.1"; + by-version."js-yaml"."3.0.1" = lib.makeOverridable self.buildNodePackage { + name = "js-yaml-3.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz"; + name = "js-yaml-3.0.1.tgz"; + sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe"; + }) + ]; + buildInputs = + (self.nativeDeps."js-yaml" or []); + deps = [ + self.by-version."argparse"."0.1.15" + self.by-version."esprima"."1.0.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "js-yaml" ]; + }; + by-spec."js-yaml"."3.x" = + self.by-version."js-yaml"."3.0.2"; by-spec."js-yaml"."~2.0.5" = self.by-version."js-yaml"."2.0.5"; by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage { @@ -7206,27 +9130,8 @@ ]; passthru.names = [ "js-yaml" ]; }; - by-spec."js-yaml"."~2.1.0" = - self.by-version."js-yaml"."2.1.3"; - by-version."js-yaml"."2.1.3" = lib.makeOverridable self.buildNodePackage { - name = "js-yaml-2.1.3"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz"; - name = "js-yaml-2.1.3.tgz"; - sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c"; - }) - ]; - buildInputs = - (self.nativeDeps."js-yaml" or []); - deps = [ - self.by-version."argparse"."0.1.15" - self.by-version."esprima"."1.0.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "js-yaml" ]; - }; + by-spec."js-yaml"."~3.0.1" = + self.by-version."js-yaml"."3.0.2"; by-spec."jsesc"."0.4.3" = self.by-version."jsesc"."0.4.3"; by-version."jsesc"."0.4.3" = lib.makeOverridable self.buildNodePackage { @@ -7249,14 +9154,14 @@ by-spec."jsesc"."~0.4.3" = self.by-version."jsesc"."0.4.3"; by-spec."jshint"."*" = - self.by-version."jshint"."2.4.1"; - by-version."jshint"."2.4.1" = lib.makeOverridable self.buildNodePackage { - name = "jshint-2.4.1"; + self.by-version."jshint"."2.5.0"; + by-version."jshint"."2.5.0" = lib.makeOverridable self.buildNodePackage { + name = "jshint-2.5.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/jshint/-/jshint-2.4.1.tgz"; - name = "jshint-2.4.1.tgz"; - sha1 = "833f361a56577b80816b64f18434cce3b3942591"; + url = "http://registry.npmjs.org/jshint/-/jshint-2.5.0.tgz"; + name = "jshint-2.5.0.tgz"; + sha1 = "82fd1a235ffce75fad1b40b2a38bef47beac8c54"; }) ]; buildInputs = @@ -7268,18 +9173,20 @@ self.by-version."minimatch"."0.2.14" self.by-version."htmlparser2"."3.3.0" self.by-version."console-browserify"."0.1.6" + self.by-version."exit"."0.1.2" + self.by-version."strip-json-comments"."0.1.1" ]; peerDependencies = [ ]; passthru.names = [ "jshint" ]; }; - "jshint" = self.by-version."jshint"."2.4.1"; - by-spec."jshint"."~2.4.0" = - self.by-version."jshint"."2.4.1"; + "jshint" = self.by-version."jshint"."2.5.0"; + by-spec."jshint"."~2.5.0" = + self.by-version."jshint"."2.5.0"; by-spec."json-schema"."0.2.2" = self.by-version."json-schema"."0.2.2"; by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "json-schema-0.2.2"; + name = "node-json-schema-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz"; @@ -7298,7 +9205,7 @@ by-spec."json-stringify-safe"."~3.0.0" = self.by-version."json-stringify-safe"."3.0.0"; by-version."json-stringify-safe"."3.0.0" = lib.makeOverridable self.buildNodePackage { - name = "json-stringify-safe-3.0.0"; + name = "node-json-stringify-safe-3.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz"; @@ -7314,29 +9221,10 @@ ]; passthru.names = [ "json-stringify-safe" ]; }; - by-spec."json-stringify-safe"."~4.0.0" = - self.by-version."json-stringify-safe"."4.0.0"; - by-version."json-stringify-safe"."4.0.0" = lib.makeOverridable self.buildNodePackage { - name = "json-stringify-safe-4.0.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-4.0.0.tgz"; - name = "json-stringify-safe-4.0.0.tgz"; - sha1 = "77c271aaea54302e68efeaccb56abbf06a9b1a54"; - }) - ]; - buildInputs = - (self.nativeDeps."json-stringify-safe" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "json-stringify-safe" ]; - }; by-spec."json-stringify-safe"."~5.0.0" = self.by-version."json-stringify-safe"."5.0.0"; by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage { - name = "json-stringify-safe-5.0.0"; + name = "node-json-stringify-safe-5.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"; @@ -7355,7 +9243,7 @@ by-spec."jsonfile"."~1.0.1" = self.by-version."jsonfile"."1.0.1"; by-version."jsonfile"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "jsonfile-1.0.1"; + name = "node-jsonfile-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz"; @@ -7371,15 +9259,53 @@ ]; passthru.names = [ "jsonfile" ]; }; - by-spec."jsontool"."*" = - self.by-version."jsontool"."7.0.1"; - by-version."jsontool"."7.0.1" = lib.makeOverridable self.buildNodePackage { - name = "jsontool-7.0.1"; + by-spec."jsonify"."~0.0.0" = + self.by-version."jsonify"."0.0.0"; + by-version."jsonify"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-jsonify-0.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.1.tgz"; - name = "jsontool-7.0.1.tgz"; - sha1 = "d5a705e46e305d7377ede769707c072e6d957977"; + url = "http://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; + name = "jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }) + ]; + buildInputs = + (self.nativeDeps."jsonify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "jsonify" ]; + }; + by-spec."jsonparse"."0.0.5" = + self.by-version."jsonparse"."0.0.5"; + by-version."jsonparse"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-jsonparse-0.0.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz"; + name = "jsonparse-0.0.5.tgz"; + sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64"; + }) + ]; + buildInputs = + (self.nativeDeps."jsonparse" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "jsonparse" ]; + }; + by-spec."jsontool"."*" = + self.by-version."jsontool"."7.0.2"; + by-version."jsontool"."7.0.2" = lib.makeOverridable self.buildNodePackage { + name = "jsontool-7.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz"; + name = "jsontool-7.0.2.tgz"; + sha1 = "e29d3d1b0766ba4e179a18a96578b904dca43207"; }) ]; buildInputs = @@ -7390,11 +9316,11 @@ ]; passthru.names = [ "jsontool" ]; }; - "jsontool" = self.by-version."jsontool"."7.0.1"; + "jsontool" = self.by-version."jsontool"."7.0.2"; by-spec."jsprim"."0.3.0" = self.by-version."jsprim"."0.3.0"; by-version."jsprim"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "jsprim-0.3.0"; + name = "node-jsprim-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz"; @@ -7413,10 +9339,32 @@ ]; passthru.names = [ "jsprim" ]; }; + by-spec."jstransform"."~3.0.0" = + self.by-version."jstransform"."3.0.0"; + by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-jstransform-3.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz"; + name = "jstransform-3.0.0.tgz"; + sha1 = "a2591ab6cee8d97bf3be830dbfa2313b87cd640b"; + }) + ]; + buildInputs = + (self.nativeDeps."jstransform" or []); + deps = [ + self.by-version."base62"."0.1.1" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + self.by-version."source-map"."0.1.31" + ]; + peerDependencies = [ + ]; + passthru.names = [ "jstransform" ]; + }; by-spec."junk"."~0.2.0" = self.by-version."junk"."0.2.2"; by-version."junk"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "junk-0.2.2"; + name = "node-junk-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/junk/-/junk-0.2.2.tgz"; @@ -7433,14 +9381,14 @@ passthru.names = [ "junk" ]; }; by-spec."karma"."*" = - self.by-version."karma"."0.11.12"; - by-version."karma"."0.11.12" = lib.makeOverridable self.buildNodePackage { - name = "karma-0.11.12"; + self.by-version."karma"."0.12.9"; + by-version."karma"."0.12.9" = lib.makeOverridable self.buildNodePackage { + name = "karma-0.12.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma/-/karma-0.11.12.tgz"; - name = "karma-0.11.12.tgz"; - sha1 = "a3474cb3b5e305c7182729a5d98f259c09d2af77"; + url = "http://registry.npmjs.org/karma/-/karma-0.12.9.tgz"; + name = "karma-0.12.9.tgz"; + sha1 = "9431735e50fcbd8ca04963a0e4da0b6550b41998"; }) ]; buildInputs = @@ -7448,45 +9396,44 @@ deps = [ self.by-version."di"."0.0.1" self.by-version."socket.io"."0.9.16" - self.by-version."chokidar"."0.8.1" - self.by-version."glob"."3.2.8" + self.by-version."chokidar"."0.8.2" + self.by-version."glob"."3.2.9" self.by-version."minimatch"."0.2.14" self.by-version."http-proxy"."0.10.4" - self.by-version."optimist"."0.6.0" - self.by-version."coffee-script"."1.6.3" - self.by-version."rimraf"."2.2.5" + self.by-version."optimist"."0.6.1" + self.by-version."rimraf"."2.2.6" self.by-version."q"."0.9.7" self.by-version."colors"."0.6.2" self.by-version."lodash"."2.4.1" self.by-version."mime"."1.2.11" - self.by-version."log4js"."0.6.9" - self.by-version."useragent"."2.0.7" - self.by-version."graceful-fs"."2.0.1" + self.by-version."log4js"."0.6.13" + self.by-version."useragent"."2.0.8" + self.by-version."graceful-fs"."2.0.3" self.by-version."connect"."2.12.0" - self.by-version."source-map"."0.1.31" + self.by-version."source-map"."0.1.33" ]; peerDependencies = [ ]; passthru.names = [ "karma" ]; }; - "karma" = self.by-version."karma"."0.11.12"; + "karma" = self.by-version."karma"."0.12.9"; by-spec."karma".">=0.11.11" = - self.by-version."karma"."0.11.12"; + self.by-version."karma"."0.12.9"; by-spec."karma".">=0.9" = - self.by-version."karma"."0.11.12"; + self.by-version."karma"."0.12.9"; by-spec."karma".">=0.9.3" = - self.by-version."karma"."0.11.12"; - by-spec."karma"."~0.11.0" = - self.by-version."karma"."0.11.12"; + self.by-version."karma"."0.12.9"; + by-spec."karma"."~0.12.0" = + self.by-version."karma"."0.12.9"; by-spec."karma-chrome-launcher"."*" = - self.by-version."karma-chrome-launcher"."0.1.2"; - by-version."karma-chrome-launcher"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "karma-chrome-launcher-0.1.2"; + self.by-version."karma-chrome-launcher"."0.1.3"; + by-version."karma-chrome-launcher"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-chrome-launcher-0.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz"; - name = "karma-chrome-launcher-0.1.2.tgz"; - sha1 = "f7154d03be01f4c246368d56d43d7232e14ccce6"; + url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.3.tgz"; + name = "karma-chrome-launcher-0.1.3.tgz"; + sha1 = "b7f82dd9c83c84d26355bf31159739706973a3ec"; }) ]; buildInputs = @@ -7494,44 +9441,44 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.12" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-chrome-launcher" ]; }; - "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.2"; + "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.3"; by-spec."karma-coverage"."*" = - self.by-version."karma-coverage"."0.1.4"; - by-version."karma-coverage"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "karma-coverage-0.1.4"; + self.by-version."karma-coverage"."0.2.1"; + by-version."karma-coverage"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-coverage-0.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.1.4.tgz"; - name = "karma-coverage-0.1.4.tgz"; - sha1 = "53766bad4dc2aa26dcc1be95ded7809be8032d8e"; + url = "http://registry.npmjs.org/karma-coverage/-/karma-coverage-0.2.1.tgz"; + name = "karma-coverage-0.2.1.tgz"; + sha1 = "3b1bce268711a631e008e108930906eceae0a623"; }) ]; buildInputs = (self.nativeDeps."karma-coverage" or []); deps = [ - self.by-version."istanbul"."0.1.46" - self.by-version."ibrik"."1.0.1" + self.by-version."istanbul"."0.2.7" + self.by-version."ibrik"."1.1.1" self.by-version."dateformat"."1.0.7-1.2.3" ]; peerDependencies = [ - self.by-version."karma"."0.11.12" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-coverage" ]; }; - "karma-coverage" = self.by-version."karma-coverage"."0.1.4"; + "karma-coverage" = self.by-version."karma-coverage"."0.2.1"; by-spec."karma-junit-reporter"."*" = - self.by-version."karma-junit-reporter"."0.2.1"; - by-version."karma-junit-reporter"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "karma-junit-reporter-0.2.1"; + self.by-version."karma-junit-reporter"."0.2.2"; + by-version."karma-junit-reporter"."0.2.2" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-junit-reporter-0.2.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz"; - name = "karma-junit-reporter-0.2.1.tgz"; - sha1 = "ae125962683a0d1286dc7768fbf66a8f02e448fc"; + url = "http://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.2.tgz"; + name = "karma-junit-reporter-0.2.2.tgz"; + sha1 = "4cdd4e21affd3e090e7ba73e3c766ea9e13c45ba"; }) ]; buildInputs = @@ -7540,20 +9487,20 @@ self.by-version."xmlbuilder"."0.4.2" ]; peerDependencies = [ - self.by-version."karma"."0.11.12" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-junit-reporter" ]; }; - "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.1"; + "karma-junit-reporter" = self.by-version."karma-junit-reporter"."0.2.2"; by-spec."karma-mocha"."*" = - self.by-version."karma-mocha"."0.1.1"; - by-version."karma-mocha"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "karma-mocha-0.1.1"; + self.by-version."karma-mocha"."0.1.3"; + by-version."karma-mocha"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-mocha-0.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.1.tgz"; - name = "karma-mocha-0.1.1.tgz"; - sha1 = "5edddb3e2d2c6fd47e9ad26f0af1595fe852c756"; + url = "http://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.3.tgz"; + name = "karma-mocha-0.1.3.tgz"; + sha1 = "396e44be8ddb4abf28bfca0387924c3aeddbce1a"; }) ]; buildInputs = @@ -7561,16 +9508,16 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.12" - self.by-version."mocha"."1.17.0" + self.by-version."karma"."0.12.9" + self.by-version."mocha"."1.18.2" ]; passthru.names = [ "karma-mocha" ]; }; - "karma-mocha" = self.by-version."karma-mocha"."0.1.1"; + "karma-mocha" = self.by-version."karma-mocha"."0.1.3"; by-spec."karma-requirejs"."*" = self.by-version."karma-requirejs"."0.2.1"; by-version."karma-requirejs"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "karma-requirejs-0.2.1"; + name = "node-karma-requirejs-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/karma-requirejs/-/karma-requirejs-0.2.1.tgz"; @@ -7583,53 +9530,53 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.11.12" - self.by-version."requirejs"."2.1.10" + self.by-version."karma"."0.12.9" + self.by-version."requirejs"."2.1.11" ]; passthru.names = [ "karma-requirejs" ]; }; "karma-requirejs" = self.by-version."karma-requirejs"."0.2.1"; by-spec."karma-sauce-launcher"."*" = - self.by-version."karma-sauce-launcher"."0.2.0"; - by-version."karma-sauce-launcher"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "karma-sauce-launcher-0.2.0"; + self.by-version."karma-sauce-launcher"."0.2.7"; + by-version."karma-sauce-launcher"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-sauce-launcher-0.2.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz"; - name = "karma-sauce-launcher-0.2.0.tgz"; - sha1 = "0994da49a1774be876ff1b107fd47e8768e3ead0"; + url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.7.tgz"; + name = "karma-sauce-launcher-0.2.7.tgz"; + sha1 = "a87a0b2e3612b298f3f6c2a96839940af85ac849"; }) ]; buildInputs = (self.nativeDeps."karma-sauce-launcher" or []); deps = [ - self.by-version."wd"."0.2.8" - self.by-version."sauce-connect-launcher"."0.2.2" + self.by-version."wd"."0.2.17" + self.by-version."sauce-connect-launcher"."0.4.2" self.by-version."q"."0.9.7" self.by-version."saucelabs"."0.1.1" ]; peerDependencies = [ - self.by-version."karma"."0.11.12" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-sauce-launcher" ]; }; - "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.0"; - by-spec."keen.io"."0.0.3" = - self.by-version."keen.io"."0.0.3"; - by-version."keen.io"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "keen.io-0.0.3"; + "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.7"; + by-spec."keen.io"."~0.0.4" = + self.by-version."keen.io"."0.0.4"; + by-version."keen.io"."0.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-keen.io-0.0.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/keen.io/-/keen.io-0.0.3.tgz"; - name = "keen.io-0.0.3.tgz"; - sha1 = "2d6ae2baa6d24b618f378b2a44413e1283fbcb63"; + url = "http://registry.npmjs.org/keen.io/-/keen.io-0.0.4.tgz"; + name = "keen.io-0.0.4.tgz"; + sha1 = "041caa79371a6bec51288e222f3bb2e05c7e6b25"; }) ]; buildInputs = (self.nativeDeps."keen.io" or []); deps = [ self.by-version."superagent"."0.13.0" - self.by-version."underscore"."1.4.4" + self.by-version."underscore"."1.5.2" ]; peerDependencies = [ ]; @@ -7638,7 +9585,7 @@ by-spec."keep-alive-agent"."0.0.1" = self.by-version."keep-alive-agent"."0.0.1"; by-version."keep-alive-agent"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "keep-alive-agent-0.0.1"; + name = "node-keep-alive-agent-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz"; @@ -7657,7 +9604,7 @@ by-spec."kerberos"."0.0.3" = self.by-version."kerberos"."0.0.3"; by-version."kerberos"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "kerberos-0.0.3"; + name = "node-kerberos-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz"; @@ -7676,7 +9623,7 @@ by-spec."kew"."~0.1.7" = self.by-version."kew"."0.1.7"; by-version."kew"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "kew-0.1.7"; + name = "node-kew-0.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/kew/-/kew-0.1.7.tgz"; @@ -7692,10 +9639,29 @@ ]; passthru.names = [ "kew" ]; }; + by-spec."keygrip"."~1.0.0" = + self.by-version."keygrip"."1.0.0"; + by-version."keygrip"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-keygrip-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/keygrip/-/keygrip-1.0.0.tgz"; + name = "keygrip-1.0.0.tgz"; + sha1 = "b771120e8e697b8692b76866a84cdff3912fc379"; + }) + ]; + buildInputs = + (self.nativeDeps."keygrip" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "keygrip" ]; + }; by-spec."keypress"."0.1.x" = self.by-version."keypress"."0.1.0"; by-version."keypress"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "keypress-0.1.0"; + name = "node-keypress-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz"; @@ -7713,15 +9679,34 @@ }; by-spec."keypress"."~0.1.0" = self.by-version."keypress"."0.1.0"; - by-spec."knox"."*" = - self.by-version."knox"."0.8.8"; - by-version."knox"."0.8.8" = lib.makeOverridable self.buildNodePackage { - name = "knox-0.8.8"; + by-spec."knockout"."~3.1.0" = + self.by-version."knockout"."3.1.0"; + by-version."knockout"."3.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-knockout-3.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/knox/-/knox-0.8.8.tgz"; - name = "knox-0.8.8.tgz"; - sha1 = "aeeadd22b0a4b1e4d858a15174af2da060ab6774"; + url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz"; + name = "knockout-3.1.0.tgz"; + sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5"; + }) + ]; + buildInputs = + (self.nativeDeps."knockout" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "knockout" ]; + }; + by-spec."knox"."*" = + self.by-version."knox"."0.8.9"; + by-version."knox"."0.8.9" = lib.makeOverridable self.buildNodePackage { + name = "node-knox-0.8.9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/knox/-/knox-0.8.9.tgz"; + name = "knox-0.8.9.tgz"; + sha1 = "b96ec0b4ec1be75d8006f80cb302bfa818d7001c"; }) ]; buildInputs = @@ -7736,37 +9721,37 @@ ]; passthru.names = [ "knox" ]; }; - "knox" = self.by-version."knox"."0.8.8"; + "knox" = self.by-version."knox"."0.8.9"; by-spec."kue"."*" = - self.by-version."kue"."0.6.2"; - by-version."kue"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "kue-0.6.2"; + self.by-version."kue"."0.7.5"; + by-version."kue"."0.7.5" = lib.makeOverridable self.buildNodePackage { + name = "node-kue-0.7.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/kue/-/kue-0.6.2.tgz"; - name = "kue-0.6.2.tgz"; - sha1 = "9a6a95081842cf4ee3da5c61770bc23616a943f2"; + url = "http://registry.npmjs.org/kue/-/kue-0.7.5.tgz"; + name = "kue-0.7.5.tgz"; + sha1 = "d815a8a35b22dd28df3f54f0b874403a257dc807"; }) ]; buildInputs = (self.nativeDeps."kue" or []); deps = [ - self.by-version."redis"."0.7.2" + self.by-version."redis"."0.10.1" self.by-version."express"."3.1.2" - self.by-version."jade"."0.26.3" - self.by-version."stylus"."0.27.2" + self.by-version."jade"."1.1.5" + self.by-version."stylus"."0.42.2" self.by-version."nib"."0.5.0" - self.by-version."reds"."0.1.4" + self.by-version."reds"."0.2.4" ]; peerDependencies = [ ]; passthru.names = [ "kue" ]; }; - "kue" = self.by-version."kue"."0.6.2"; + "kue" = self.by-version."kue"."0.7.5"; by-spec."lazy"."~1.0.11" = self.by-version."lazy"."1.0.11"; by-version."lazy"."1.0.11" = lib.makeOverridable self.buildNodePackage { - name = "lazy-1.0.11"; + name = "node-lazy-1.0.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz"; @@ -7782,15 +9767,35 @@ ]; passthru.names = [ "lazy" ]; }; - by-spec."lcov-parse"."0.0.4" = - self.by-version."lcov-parse"."0.0.4"; - by-version."lcov-parse"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "lcov-parse-0.0.4"; + by-spec."lazystream"."~0.1.0" = + self.by-version."lazystream"."0.1.0"; + by-version."lazystream"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-lazystream-0.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.4.tgz"; - name = "lcov-parse-0.0.4.tgz"; - sha1 = "3853a4f132f04581db0e74c180542d90f0d1c66b"; + url = "http://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz"; + name = "lazystream-0.1.0.tgz"; + sha1 = "1b25d63c772a4c20f0a5ed0a9d77f484b6e16920"; + }) + ]; + buildInputs = + (self.nativeDeps."lazystream" or []); + deps = [ + self.by-version."readable-stream"."1.0.26" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lazystream" ]; + }; + by-spec."lcov-parse"."0.0.6" = + self.by-version."lcov-parse"."0.0.6"; + by-version."lcov-parse"."0.0.6" = lib.makeOverridable self.buildNodePackage { + name = "node-lcov-parse-0.0.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz"; + name = "lcov-parse-0.0.6.tgz"; + sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175"; }) ]; buildInputs = @@ -7815,41 +9820,63 @@ buildInputs = (self.nativeDeps."lcov-result-merger" or []); deps = [ - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; passthru.names = [ "lcov-result-merger" ]; }; "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2"; - by-spec."less"."~1.6.0" = - self.by-version."less"."1.6.1"; - by-version."less"."1.6.1" = lib.makeOverridable self.buildNodePackage { - name = "less-1.6.1"; + by-spec."less"."^1.7.0" = + self.by-version."less"."1.7.0"; + by-version."less"."1.7.0" = lib.makeOverridable self.buildNodePackage { + name = "less-1.7.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/less/-/less-1.6.1.tgz"; - name = "less-1.6.1.tgz"; - sha1 = "54e5e8d7b4fc43a14f8a32aaf0bae2d45ac287ca"; + url = "http://registry.npmjs.org/less/-/less-1.7.0.tgz"; + name = "less-1.7.0.tgz"; + sha1 = "6f1293bac1f402c932c2ce21ba7337f7c635ba84"; }) ]; buildInputs = (self.nativeDeps."less" or []); deps = [ self.by-version."mime"."1.2.11" - self.by-version."request"."2.31.0" + self.by-version."request"."2.34.0" self.by-version."mkdirp"."0.3.5" - self.by-version."clean-css"."2.0.6" - self.by-version."source-map"."0.1.31" + self.by-version."clean-css"."2.1.8" + self.by-version."source-map"."0.1.33" ]; peerDependencies = [ ]; passthru.names = [ "less" ]; }; + by-spec."less"."~1.7.0" = + self.by-version."less"."1.7.0"; + by-spec."lexical-scope"."~1.1.0" = + self.by-version."lexical-scope"."1.1.0"; + by-version."lexical-scope"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-lexical-scope-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz"; + name = "lexical-scope-1.1.0.tgz"; + sha1 = "899f36c4ec9c5af19736361aae290a6ef2af0800"; + }) + ]; + buildInputs = + (self.nativeDeps."lexical-scope" or []); + deps = [ + self.by-version."astw"."1.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lexical-scope" ]; + }; by-spec."libxmljs"."~0.8.1" = self.by-version."libxmljs"."0.8.1"; by-version."libxmljs"."0.8.1" = lib.makeOverridable self.buildNodePackage { - name = "libxmljs-0.8.1"; + name = "node-libxmljs-0.8.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/libxmljs/-/libxmljs-0.8.1.tgz"; @@ -7867,14 +9894,14 @@ passthru.names = [ "libxmljs" ]; }; by-spec."libyaml"."*" = - self.by-version."libyaml"."0.2.2"; - by-version."libyaml"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "libyaml-0.2.2"; + self.by-version."libyaml"."0.2.3"; + by-version."libyaml"."0.2.3" = lib.makeOverridable self.buildNodePackage { + name = "node-libyaml-0.2.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.2.tgz"; - name = "libyaml-0.2.2.tgz"; - sha1 = "a22d5f699911b6b622d6dc323fb62320c877c9c8"; + url = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.3.tgz"; + name = "libyaml-0.2.3.tgz"; + sha1 = "c07e7fefcad6e09218ebf9ff814bbd520172add6"; }) ]; buildInputs = @@ -7885,11 +9912,11 @@ ]; passthru.names = [ "libyaml" ]; }; - "libyaml" = self.by-version."libyaml"."0.2.2"; + "libyaml" = self.by-version."libyaml"."0.2.3"; by-spec."lockfile"."~0.4.0" = self.by-version."lockfile"."0.4.2"; by-version."lockfile"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "lockfile-0.4.2"; + name = "node-lockfile-0.4.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz"; @@ -7905,10 +9932,31 @@ ]; passthru.names = [ "lockfile" ]; }; + by-spec."lockfile"."~0.4.2" = + self.by-version."lockfile"."0.4.2"; + by-spec."lodash"."^2.4.1" = + self.by-version."lodash"."2.4.1"; + by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"; + name = "lodash-2.4.1.tgz"; + sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash" ]; + }; by-spec."lodash"."~0.10.0" = self.by-version."lodash"."0.10.0"; by-version."lodash"."0.10.0" = lib.makeOverridable self.buildNodePackage { - name = "lodash-0.10.0"; + name = "node-lodash-0.10.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-0.10.0.tgz"; @@ -7927,7 +9975,7 @@ by-spec."lodash"."~0.9.2" = self.by-version."lodash"."0.9.2"; by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage { - name = "lodash-0.9.2"; + name = "node-lodash-0.9.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"; @@ -7943,29 +9991,10 @@ ]; passthru.names = [ "lodash" ]; }; - by-spec."lodash"."~1.0.1" = - self.by-version."lodash"."1.0.1"; - by-version."lodash"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "lodash-1.0.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz"; - name = "lodash-1.0.1.tgz"; - sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc"; - }) - ]; - buildInputs = - (self.nativeDeps."lodash" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "lodash" ]; - }; by-spec."lodash"."~1.2.1" = self.by-version."lodash"."1.2.1"; by-version."lodash"."1.2.1" = lib.makeOverridable self.buildNodePackage { - name = "lodash-1.2.1"; + name = "node-lodash-1.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz"; @@ -7984,7 +10013,7 @@ by-spec."lodash"."~1.3.0" = self.by-version."lodash"."1.3.1"; by-version."lodash"."1.3.1" = lib.makeOverridable self.buildNodePackage { - name = "lodash-1.3.1"; + name = "node-lodash-1.3.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz"; @@ -8005,7 +10034,7 @@ by-spec."lodash"."~2.1.0" = self.by-version."lodash"."2.1.0"; by-version."lodash"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "lodash-2.1.0"; + name = "node-lodash-2.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz"; @@ -8024,7 +10053,7 @@ by-spec."lodash"."~2.2.1" = self.by-version."lodash"."2.2.1"; by-version."lodash"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "lodash-2.2.1"; + name = "node-lodash-2.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/lodash/-/lodash-2.2.1.tgz"; @@ -8040,48 +10069,213 @@ ]; passthru.names = [ "lodash" ]; }; - by-spec."lodash"."~2.3.0" = - self.by-version."lodash"."2.3.0"; - by-version."lodash"."2.3.0" = lib.makeOverridable self.buildNodePackage { - name = "lodash-2.3.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/lodash/-/lodash-2.3.0.tgz"; - name = "lodash-2.3.0.tgz"; - sha1 = "dfbdac99cf87a59a022c474730570d8716c267dd"; - }) - ]; - buildInputs = - (self.nativeDeps."lodash" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "lodash" ]; - }; by-spec."lodash"."~2.4.1" = self.by-version."lodash"."2.4.1"; - by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage { - name = "lodash-2.4.1"; + by-spec."lodash-node"."~2.4.1" = + self.by-version."lodash-node"."2.4.1"; + by-version."lodash-node"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash-node-2.4.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"; - name = "lodash-2.4.1.tgz"; - sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420"; + url = "http://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz"; + name = "lodash-node-2.4.1.tgz"; + sha1 = "ea82f7b100c733d1a42af76801e506105e2a80ec"; }) ]; buildInputs = - (self.nativeDeps."lodash" or []); + (self.nativeDeps."lodash-node" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "lodash" ]; + passthru.names = [ "lodash-node" ]; + }; + by-spec."lodash._isnative"."~2.4.1" = + self.by-version."lodash._isnative"."2.4.1"; + by-version."lodash._isnative"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash._isnative-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"; + name = "lodash._isnative-2.4.1.tgz"; + sha1 = "3ea6404b784a7be836c7b57580e1cdf79b14832c"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash._isnative" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash._isnative" ]; + }; + by-spec."lodash._objecttypes"."~2.4.1" = + self.by-version."lodash._objecttypes"."2.4.1"; + by-version."lodash._objecttypes"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash._objecttypes-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"; + name = "lodash._objecttypes-2.4.1.tgz"; + sha1 = "7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash._objecttypes" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash._objecttypes" ]; + }; + by-spec."lodash._shimkeys"."~2.4.1" = + self.by-version."lodash._shimkeys"."2.4.1"; + by-version."lodash._shimkeys"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash._shimkeys-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz"; + name = "lodash._shimkeys-2.4.1.tgz"; + sha1 = "6e9cc9666ff081f0b5a6c978b83e242e6949d203"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash._shimkeys" or []); + deps = [ + self.by-version."lodash._objecttypes"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash._shimkeys" ]; + }; + by-spec."lodash.debounce"."~2.4.1" = + self.by-version."lodash.debounce"."2.4.1"; + by-version."lodash.debounce"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.debounce-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz"; + name = "lodash.debounce-2.4.1.tgz"; + sha1 = "d8cead246ec4b926e8b85678fc396bfeba8cc6fc"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.debounce" or []); + deps = [ + self.by-version."lodash.isfunction"."2.4.1" + self.by-version."lodash.isobject"."2.4.1" + self.by-version."lodash.now"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.debounce" ]; + }; + by-spec."lodash.defaults"."~2.4.1" = + self.by-version."lodash.defaults"."2.4.1"; + by-version."lodash.defaults"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.defaults-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz"; + name = "lodash.defaults-2.4.1.tgz"; + sha1 = "a7e8885f05e68851144b6e12a8f3678026bc4c54"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.defaults" or []); + deps = [ + self.by-version."lodash.keys"."2.4.1" + self.by-version."lodash._objecttypes"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.defaults" ]; + }; + by-spec."lodash.isfunction"."~2.4.1" = + self.by-version."lodash.isfunction"."2.4.1"; + by-version."lodash.isfunction"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.isfunction-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz"; + name = "lodash.isfunction-2.4.1.tgz"; + sha1 = "2cfd575c73e498ab57e319b77fa02adef13a94d1"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.isfunction" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.isfunction" ]; + }; + by-spec."lodash.isobject"."~2.4.1" = + self.by-version."lodash.isobject"."2.4.1"; + by-version."lodash.isobject"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.isobject-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"; + name = "lodash.isobject-2.4.1.tgz"; + sha1 = "5a2e47fe69953f1ee631a7eba1fe64d2d06558f5"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.isobject" or []); + deps = [ + self.by-version."lodash._objecttypes"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.isobject" ]; + }; + by-spec."lodash.keys"."~2.4.1" = + self.by-version."lodash.keys"."2.4.1"; + by-version."lodash.keys"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.keys-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"; + name = "lodash.keys-2.4.1.tgz"; + sha1 = "48dea46df8ff7632b10d706b8acb26591e2b3727"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.keys" or []); + deps = [ + self.by-version."lodash._isnative"."2.4.1" + self.by-version."lodash.isobject"."2.4.1" + self.by-version."lodash._shimkeys"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.keys" ]; + }; + by-spec."lodash.now"."~2.4.1" = + self.by-version."lodash.now"."2.4.1"; + by-version."lodash.now"."2.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash.now-2.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz"; + name = "lodash.now-2.4.1.tgz"; + sha1 = "6872156500525185faf96785bb7fe7fe15b562c6"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash.now" or []); + deps = [ + self.by-version."lodash._isnative"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash.now" ]; }; by-spec."log-driver"."1.2.1" = self.by-version."log-driver"."1.2.1"; by-version."log-driver"."1.2.1" = lib.makeOverridable self.buildNodePackage { - name = "log-driver-1.2.1"; + name = "node-log-driver-1.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/log-driver/-/log-driver-1.2.1.tgz"; @@ -8098,14 +10292,14 @@ passthru.names = [ "log-driver" ]; }; by-spec."log4js"."~0.6.3" = - self.by-version."log4js"."0.6.9"; - by-version."log4js"."0.6.9" = lib.makeOverridable self.buildNodePackage { - name = "log4js-0.6.9"; + self.by-version."log4js"."0.6.13"; + by-version."log4js"."0.6.13" = lib.makeOverridable self.buildNodePackage { + name = "node-log4js-0.6.13"; src = [ (fetchurl { - url = "http://registry.npmjs.org/log4js/-/log4js-0.6.9.tgz"; - name = "log4js-0.6.9.tgz"; - sha1 = "2e327189c1c0dec17448ec5255f58cd0fddf4596"; + url = "http://registry.npmjs.org/log4js/-/log4js-0.6.13.tgz"; + name = "log4js-0.6.13.tgz"; + sha1 = "42676b039cc89881e374093ae16f29a42e607234"; }) ]; buildInputs = @@ -8113,7 +10307,7 @@ deps = [ self.by-version."async"."0.1.15" self.by-version."semver"."1.1.4" - self.by-version."readable-stream"."1.0.24" + self.by-version."readable-stream"."1.0.26" ]; peerDependencies = [ ]; @@ -8122,7 +10316,7 @@ by-spec."long"."*" = self.by-version."long"."1.1.2"; by-version."long"."1.1.2" = lib.makeOverridable self.buildNodePackage { - name = "long-1.1.2"; + name = "node-long-1.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/long/-/long-1.1.2.tgz"; @@ -8139,14 +10333,14 @@ passthru.names = [ "long" ]; }; by-spec."longjohn"."~0.2.2" = - self.by-version."longjohn"."0.2.2"; - by-version."longjohn"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "longjohn-0.2.2"; + self.by-version."longjohn"."0.2.4"; + by-version."longjohn"."0.2.4" = lib.makeOverridable self.buildNodePackage { + name = "node-longjohn-0.2.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.2.tgz"; - name = "longjohn-0.2.2.tgz"; - sha1 = "f1110be9407b2dfc13713cb5b57cb69ef843c4d9"; + url = "http://registry.npmjs.org/longjohn/-/longjohn-0.2.4.tgz"; + name = "longjohn-0.2.4.tgz"; + sha1 = "48436a1f359e7666f678e2170ee1f43bba8f8b4c"; }) ]; buildInputs = @@ -8160,7 +10354,7 @@ by-spec."lru-cache"."2" = self.by-version."lru-cache"."2.5.0"; by-version."lru-cache"."2.5.0" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-2.5.0"; + name = "node-lru-cache-2.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"; @@ -8179,7 +10373,7 @@ by-spec."lru-cache"."2.2.0" = self.by-version."lru-cache"."2.2.0"; by-version."lru-cache"."2.2.0" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-2.2.0"; + name = "node-lru-cache-2.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz"; @@ -8198,7 +10392,7 @@ by-spec."lru-cache"."2.2.x" = self.by-version."lru-cache"."2.2.4"; by-version."lru-cache"."2.2.4" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-2.2.4"; + name = "node-lru-cache-2.2.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz"; @@ -8217,7 +10411,7 @@ by-spec."lru-cache"."2.3.0" = self.by-version."lru-cache"."2.3.0"; by-version."lru-cache"."2.3.0" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-2.3.0"; + name = "node-lru-cache-2.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz"; @@ -8236,7 +10430,7 @@ by-spec."lru-cache"."~1.0.2" = self.by-version."lru-cache"."1.0.6"; by-version."lru-cache"."1.0.6" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-1.0.6"; + name = "node-lru-cache-1.0.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz"; @@ -8255,7 +10449,7 @@ by-spec."lru-cache"."~2.3.0" = self.by-version."lru-cache"."2.3.1"; by-version."lru-cache"."2.3.1" = lib.makeOverridable self.buildNodePackage { - name = "lru-cache-2.3.1"; + name = "node-lru-cache-2.3.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz"; @@ -8273,24 +10467,43 @@ }; by-spec."lru-cache"."~2.5.0" = self.by-version."lru-cache"."2.5.0"; - by-spec."mailcomposer".">= 0.1.27" = - self.by-version."mailcomposer"."0.2.7"; - by-version."mailcomposer"."0.2.7" = lib.makeOverridable self.buildNodePackage { - name = "mailcomposer-0.2.7"; + by-spec."lsmod"."~0.0.3" = + self.by-version."lsmod"."0.0.3"; + by-version."lsmod"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-lsmod-0.0.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.7.tgz"; - name = "mailcomposer-0.2.7.tgz"; - sha1 = "173ba58e9bca0e4c43ca25f44f2dfecf16ef98aa"; + url = "http://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz"; + name = "lsmod-0.0.3.tgz"; + sha1 = "17e13d4e1ae91750ea5653548cd89e7147ad0244"; + }) + ]; + buildInputs = + (self.nativeDeps."lsmod" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lsmod" ]; + }; + by-spec."mailcomposer".">= 0.1.27" = + self.by-version."mailcomposer"."0.2.9"; + by-version."mailcomposer"."0.2.9" = lib.makeOverridable self.buildNodePackage { + name = "node-mailcomposer-0.2.9"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.9.tgz"; + name = "mailcomposer-0.2.9.tgz"; + sha1 = "2b6417a4fb5de8ffcaf1a27e1b024463903f908e"; }) ]; buildInputs = (self.nativeDeps."mailcomposer" or []); deps = [ self.by-version."mimelib"."0.2.14" - self.by-version."mime"."1.2.9" + self.by-version."mime"."1.2.11" self.by-version."he"."0.3.6" - self.by-version."punycode"."1.2.3" + self.by-version."punycode"."1.2.4" self.by-version."follow-redirects"."0.0.3" self.by-version."dkim-signer"."0.1.0" ]; @@ -8298,6 +10511,50 @@ ]; passthru.names = [ "mailcomposer" ]; }; + by-spec."map-key"."^0.1.1" = + self.by-version."map-key"."0.1.1"; + by-version."map-key"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-map-key-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/map-key/-/map-key-0.1.1.tgz"; + name = "map-key-0.1.1.tgz"; + sha1 = "cf0d6ad80ae145477d25904c9eb44b23ac471c8b"; + }) + ]; + buildInputs = + (self.nativeDeps."map-key" or []); + deps = [ + self.by-version."mout"."0.9.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "map-key" ]; + }; + by-spec."maxmin"."^0.1.0" = + self.by-version."maxmin"."0.1.0"; + by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-maxmin-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz"; + name = "maxmin-0.1.0.tgz"; + sha1 = "95d81c5289e3a9d30f7fc7dc559c024e5030c9d0"; + }) + ]; + buildInputs = + (self.nativeDeps."maxmin" or []); + deps = [ + self.by-version."gzip-size"."0.1.1" + self.by-version."pretty-bytes"."0.1.0" + self.by-version."chalk"."0.4.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "maxmin" ]; + }; + by-spec."maxmin"."~0.1.0" = + self.by-version."maxmin"."0.1.0"; by-spec."meat"."*" = self.by-version."meat"."0.2.5"; by-version."meat"."0.2.5" = lib.makeOverridable self.buildNodePackage { @@ -8327,7 +10584,7 @@ by-spec."memoizee"."~0.2.5" = self.by-version."memoizee"."0.2.6"; by-version."memoizee"."0.2.6" = lib.makeOverridable self.buildNodePackage { - name = "memoizee-0.2.6"; + name = "node-memoizee-0.2.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz"; @@ -8346,15 +10603,15 @@ ]; passthru.names = [ "memoizee" ]; }; - by-spec."merge-descriptors"."0.0.1" = - self.by-version."merge-descriptors"."0.0.1"; - by-version."merge-descriptors"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "merge-descriptors-0.0.1"; + by-spec."merge-descriptors"."0.0.2" = + self.by-version."merge-descriptors"."0.0.2"; + by-version."merge-descriptors"."0.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-merge-descriptors-0.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz"; - name = "merge-descriptors-0.0.1.tgz"; - sha1 = "2ff0980c924cf81d0b5d1fb601177cb8bb56c0d0"; + url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz"; + name = "merge-descriptors-0.0.2.tgz"; + sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7"; }) ]; buildInputs = @@ -8365,10 +10622,49 @@ ]; passthru.names = [ "merge-descriptors" ]; }; + by-spec."method-override"."1.0.0" = + self.by-version."method-override"."1.0.0"; + by-version."method-override"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-method-override-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/method-override/-/method-override-1.0.0.tgz"; + name = "method-override-1.0.0.tgz"; + sha1 = "9e5bfbd80f3b9e043801dd3fe60bbab0f15b5f61"; + }) + ]; + buildInputs = + (self.nativeDeps."method-override" or []); + deps = [ + self.by-version."methods"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "method-override" ]; + }; + by-spec."methods"."*" = + self.by-version."methods"."0.1.0"; + by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-methods-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz"; + name = "methods-0.1.0.tgz"; + sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f"; + }) + ]; + buildInputs = + (self.nativeDeps."methods" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "methods" ]; + }; by-spec."methods"."0.0.1" = self.by-version."methods"."0.0.1"; by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "methods-0.0.1"; + name = "node-methods-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz"; @@ -8386,27 +10682,10 @@ }; by-spec."methods"."0.1.0" = self.by-version."methods"."0.1.0"; - by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "methods-0.1.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz"; - name = "methods-0.1.0.tgz"; - sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f"; - }) - ]; - buildInputs = - (self.nativeDeps."methods" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "methods" ]; - }; by-spec."mime"."*" = self.by-version."mime"."1.2.11"; by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage { - name = "mime-1.2.11"; + name = "node-mime-1.2.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz"; @@ -8422,10 +10701,12 @@ ]; passthru.names = [ "mime" ]; }; + by-spec."mime"."1.2.11" = + self.by-version."mime"."1.2.11"; by-spec."mime"."1.2.4" = self.by-version."mime"."1.2.4"; by-version."mime"."1.2.4" = lib.makeOverridable self.buildNodePackage { - name = "mime-1.2.4"; + name = "node-mime-1.2.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz"; @@ -8444,7 +10725,7 @@ by-spec."mime"."1.2.5" = self.by-version."mime"."1.2.5"; by-version."mime"."1.2.5" = lib.makeOverridable self.buildNodePackage { - name = "mime-1.2.5"; + name = "node-mime-1.2.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz"; @@ -8463,7 +10744,7 @@ by-spec."mime"."1.2.6" = self.by-version."mime"."1.2.6"; by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage { - name = "mime-1.2.6"; + name = "node-mime-1.2.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz"; @@ -8482,7 +10763,7 @@ by-spec."mime"."1.2.9" = self.by-version."mime"."1.2.9"; by-version."mime"."1.2.9" = lib.makeOverridable self.buildNodePackage { - name = "mime-1.2.9"; + name = "node-mime-1.2.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz"; @@ -8513,7 +10794,7 @@ by-spec."mimelib"."~0.2.14" = self.by-version."mimelib"."0.2.14"; by-version."mimelib"."0.2.14" = lib.makeOverridable self.buildNodePackage { - name = "mimelib-0.2.14"; + name = "node-mimelib-0.2.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz"; @@ -8525,7 +10806,7 @@ (self.nativeDeps."mimelib" or []); deps = [ self.by-version."encoding"."0.1.7" - self.by-version."addressparser"."0.2.0" + self.by-version."addressparser"."0.2.1" ]; peerDependencies = [ ]; @@ -8534,7 +10815,7 @@ by-spec."minimatch"."0" = self.by-version."minimatch"."0.2.14"; by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage { - name = "minimatch-0.2.14"; + name = "node-minimatch-0.2.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz"; @@ -8555,7 +10836,7 @@ by-spec."minimatch"."0.0.x" = self.by-version."minimatch"."0.0.5"; by-version."minimatch"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "minimatch-0.0.5"; + name = "node-minimatch-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz"; @@ -8593,14 +10874,14 @@ by-spec."minimatch"."~0.2.9" = self.by-version."minimatch"."0.2.14"; by-spec."minimist"."~0.0.1" = - self.by-version."minimist"."0.0.5"; - by-version."minimist"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "minimist-0.0.5"; + self.by-version."minimist"."0.0.8"; + by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage { + name = "node-minimist-0.0.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz"; - name = "minimist-0.0.5.tgz"; - sha1 = "d7aa327bcecf518f9106ac6b8f003fa3bcea8566"; + url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + name = "minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; }) ]; buildInputs = @@ -8611,10 +10892,14 @@ ]; passthru.names = [ "minimist" ]; }; + by-spec."minimist"."~0.0.5" = + self.by-version."minimist"."0.0.8"; + by-spec."minimist"."~0.0.7" = + self.by-version."minimist"."0.0.8"; by-spec."ministyle"."~0.1.3" = self.by-version."ministyle"."0.1.3"; by-version."ministyle"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "ministyle-0.1.3"; + name = "node-ministyle-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/ministyle/-/ministyle-0.1.3.tgz"; @@ -8633,7 +10918,7 @@ by-spec."miniwrite"."~0.1.3" = self.by-version."miniwrite"."0.1.3"; by-version."miniwrite"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "miniwrite-0.1.3"; + name = "node-miniwrite-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/miniwrite/-/miniwrite-0.1.3.tgz"; @@ -8653,7 +10938,7 @@ by-spec."mkdirp"."*" = self.by-version."mkdirp"."0.3.5"; by-version."mkdirp"."0.3.5" = lib.makeOverridable self.buildNodePackage { - name = "mkdirp-0.3.5"; + name = "node-mkdirp-0.3.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"; @@ -8677,7 +10962,7 @@ by-spec."mkdirp"."0.3.0" = self.by-version."mkdirp"."0.3.0"; by-version."mkdirp"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "mkdirp-0.3.0"; + name = "node-mkdirp-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"; @@ -8699,6 +10984,8 @@ self.by-version."mkdirp"."0.3.5"; by-spec."mkdirp"."0.x.x" = self.by-version."mkdirp"."0.3.5"; + by-spec."mkdirp"."^0.3.5" = + self.by-version."mkdirp"."0.3.5"; by-spec."mkdirp"."~0.3.3" = self.by-version."mkdirp"."0.3.5"; by-spec."mkdirp"."~0.3.4" = @@ -8708,7 +10995,7 @@ by-spec."mkpath"."~0.1.0" = self.by-version."mkpath"."0.1.0"; by-version."mkpath"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "mkpath-0.1.0"; + name = "node-mkpath-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz"; @@ -8725,14 +11012,14 @@ passthru.names = [ "mkpath" ]; }; by-spec."mocha"."*" = - self.by-version."mocha"."1.17.0"; - by-version."mocha"."1.17.0" = lib.makeOverridable self.buildNodePackage { - name = "mocha-1.17.0"; + self.by-version."mocha"."1.18.2"; + by-version."mocha"."1.18.2" = lib.makeOverridable self.buildNodePackage { + name = "mocha-1.18.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mocha/-/mocha-1.17.0.tgz"; - name = "mocha-1.17.0.tgz"; - sha1 = "583d12a9f21775b6d37d104ac7db05d557fa5d50"; + url = "http://registry.npmjs.org/mocha/-/mocha-1.18.2.tgz"; + name = "mocha-1.18.2.tgz"; + sha1 = "800848f8f7884c61eefcfa2a27304ba9e5446d0b"; }) ]; buildInputs = @@ -8742,7 +11029,7 @@ self.by-version."growl"."1.7.0" self.by-version."jade"."0.26.3" self.by-version."diff"."1.0.7" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."mkdirp"."0.3.5" self.by-version."glob"."3.2.3" ]; @@ -8750,11 +11037,11 @@ ]; passthru.names = [ "mocha" ]; }; - "mocha" = self.by-version."mocha"."1.17.0"; + "mocha" = self.by-version."mocha"."1.18.2"; by-spec."mocha-unfunk-reporter"."*" = self.by-version."mocha-unfunk-reporter"."0.4.0"; by-version."mocha-unfunk-reporter"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "mocha-unfunk-reporter-0.4.0"; + name = "node-mocha-unfunk-reporter-0.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz"; @@ -8766,7 +11053,7 @@ (self.nativeDeps."mocha-unfunk-reporter" or []); deps = [ self.by-version."jsesc"."0.4.3" - self.by-version."unfunk-diff"."0.0.1" + self.by-version."unfunk-diff"."0.0.2" self.by-version."miniwrite"."0.1.3" self.by-version."ministyle"."0.1.3" ]; @@ -8775,10 +11062,37 @@ passthru.names = [ "mocha-unfunk-reporter" ]; }; "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0"; + by-spec."module-deps"."~1.8.0" = + self.by-version."module-deps"."1.8.1"; + by-version."module-deps"."1.8.1" = lib.makeOverridable self.buildNodePackage { + name = "module-deps-1.8.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/module-deps/-/module-deps-1.8.1.tgz"; + name = "module-deps-1.8.1.tgz"; + sha1 = "9d603b286f87cf62aad9e3f7b65a2f8bfa21de5b"; + }) + ]; + buildInputs = + (self.nativeDeps."module-deps" or []); + deps = [ + self.by-version."JSONStream"."0.7.2" + self.by-version."browser-resolve"."1.2.2" + self.by-version."concat-stream"."1.4.5" + self.by-version."detective"."3.1.0" + self.by-version."minimist"."0.0.8" + self.by-version."parents"."0.0.2" + self.by-version."resolve"."0.6.2" + self.by-version."through"."2.3.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "module-deps" ]; + }; by-spec."moment"."2.1.0" = self.by-version."moment"."2.1.0"; by-version."moment"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "moment-2.1.0"; + name = "node-moment-2.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz"; @@ -8797,7 +11111,7 @@ by-spec."moment"."~2.4.0" = self.by-version."moment"."2.4.0"; by-version."moment"."2.4.0" = lib.makeOverridable self.buildNodePackage { - name = "moment-2.4.0"; + name = "node-moment-2.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/moment/-/moment-2.4.0.tgz"; @@ -8813,32 +11127,51 @@ ]; passthru.names = [ "moment" ]; }; - by-spec."mongodb"."*" = - self.by-version."mongodb"."1.4.0-rc4"; - by-version."mongodb"."1.4.0-rc4" = lib.makeOverridable self.buildNodePackage { - name = "mongodb-1.4.0-rc4"; + by-spec."moment"."~2.5.1" = + self.by-version."moment"."2.5.1"; + by-version."moment"."2.5.1" = lib.makeOverridable self.buildNodePackage { + name = "node-moment-2.5.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.0-rc4.tgz"; - name = "mongodb-1.4.0-rc4.tgz"; - sha1 = "0d17168ec9b4e51a13300d4528478273b632aec5"; + url = "http://registry.npmjs.org/moment/-/moment-2.5.1.tgz"; + name = "moment-2.5.1.tgz"; + sha1 = "7146a3900533064ca799d5e792f4e480ee0e82bc"; + }) + ]; + buildInputs = + (self.nativeDeps."moment" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "moment" ]; + }; + by-spec."mongodb"."*" = + self.by-version."mongodb"."1.4.1"; + by-version."mongodb"."1.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-mongodb-1.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.1.tgz"; + name = "mongodb-1.4.1.tgz"; + sha1 = "6b37d2c90c2a70ee12fbf7289a45f694f9530b79"; }) ]; buildInputs = (self.nativeDeps."mongodb" or []); deps = [ - self.by-version."bson"."0.2.5" + self.by-version."bson"."0.2.7" self.by-version."kerberos"."0.0.3" ]; peerDependencies = [ ]; passthru.names = [ "mongodb" ]; }; - "mongodb" = self.by-version."mongodb"."1.4.0-rc4"; + "mongodb" = self.by-version."mongodb"."1.4.1"; by-spec."mongodb"."1.2.14" = self.by-version."mongodb"."1.2.14"; by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage { - name = "mongodb-1.2.14"; + name = "node-mongodb-1.2.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz"; @@ -8858,7 +11191,7 @@ by-spec."mongodb"."1.3.19" = self.by-version."mongodb"."1.3.19"; by-version."mongodb"."1.3.19" = lib.makeOverridable self.buildNodePackage { - name = "mongodb-1.3.19"; + name = "node-mongodb-1.3.19"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz"; @@ -8879,7 +11212,7 @@ by-spec."mongodb"."1.3.23" = self.by-version."mongodb"."1.3.23"; by-version."mongodb"."1.3.23" = lib.makeOverridable self.buildNodePackage { - name = "mongodb-1.3.23"; + name = "node-mongodb-1.3.23"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.23.tgz"; @@ -8900,14 +11233,14 @@ by-spec."mongodb"."1.3.x" = self.by-version."mongodb"."1.3.23"; by-spec."mongoose"."*" = - self.by-version."mongoose"."3.8.4"; - by-version."mongoose"."3.8.4" = lib.makeOverridable self.buildNodePackage { - name = "mongoose-3.8.4"; + self.by-version."mongoose"."3.8.8"; + by-version."mongoose"."3.8.8" = lib.makeOverridable self.buildNodePackage { + name = "node-mongoose-3.8.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.4.tgz"; - name = "mongoose-3.8.4.tgz"; - sha1 = "7ad48944d16213eb16c14ec5fbd25cf90d8c586c"; + url = "http://registry.npmjs.org/mongoose/-/mongoose-3.8.8.tgz"; + name = "mongoose-3.8.8.tgz"; + sha1 = "ab046f1fa17b0bdf090a04b6d034d87d240a47c2"; }) ]; buildInputs = @@ -8921,7 +11254,7 @@ self.by-version."mpromise"."0.4.3" self.by-version."mpath"."0.1.1" self.by-version."regexp-clone"."0.0.1" - self.by-version."mquery"."0.4.1" + self.by-version."mquery"."0.5.3" ]; peerDependencies = [ ]; @@ -8930,7 +11263,7 @@ by-spec."mongoose"."3.6.7" = self.by-version."mongoose"."3.6.7"; by-version."mongoose"."3.6.7" = lib.makeOverridable self.buildNodePackage { - name = "mongoose-3.6.7"; + name = "node-mongoose-3.6.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz"; @@ -8956,7 +11289,7 @@ by-spec."mongoose"."3.6.x" = self.by-version."mongoose"."3.6.20"; by-version."mongoose"."3.6.20" = lib.makeOverridable self.buildNodePackage { - name = "mongoose-3.6.20"; + name = "node-mongoose-3.6.20"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz"; @@ -8984,7 +11317,7 @@ by-spec."mongoose-lifecycle"."1.0.0" = self.by-version."mongoose-lifecycle"."1.0.0"; by-version."mongoose-lifecycle"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "mongoose-lifecycle-1.0.0"; + name = "node-mongoose-lifecycle-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz"; @@ -9003,7 +11336,7 @@ by-spec."mongoose-schema-extend"."*" = self.by-version."mongoose-schema-extend"."0.1.7"; by-version."mongoose-schema-extend"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "mongoose-schema-extend-0.1.7"; + name = "node-mongoose-schema-extend-0.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.7.tgz"; @@ -9014,7 +11347,7 @@ buildInputs = (self.nativeDeps."mongoose-schema-extend" or []); deps = [ - self.by-version."owl-deepcopy"."0.0.2" + self.by-version."owl-deepcopy"."0.0.4" ]; peerDependencies = [ ]; @@ -9024,7 +11357,7 @@ by-spec."monocle"."1.1.50" = self.by-version."monocle"."1.1.50"; by-version."monocle"."1.1.50" = lib.makeOverridable self.buildNodePackage { - name = "monocle-1.1.50"; + name = "node-monocle-1.1.50"; src = [ (fetchurl { url = "http://registry.npmjs.org/monocle/-/monocle-1.1.50.tgz"; @@ -9044,7 +11377,7 @@ by-spec."monocle"."1.1.51" = self.by-version."monocle"."1.1.51"; by-version."monocle"."1.1.51" = lib.makeOverridable self.buildNodePackage { - name = "monocle-1.1.51"; + name = "node-monocle-1.1.51"; src = [ (fetchurl { url = "http://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz"; @@ -9061,10 +11394,49 @@ ]; passthru.names = [ "monocle" ]; }; + by-spec."morgan"."1.0.0" = + self.by-version."morgan"."1.0.0"; + by-version."morgan"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-morgan-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/morgan/-/morgan-1.0.0.tgz"; + name = "morgan-1.0.0.tgz"; + sha1 = "83cf74b9f2d841901f1a9a6b8fa7a468d2e47a8d"; + }) + ]; + buildInputs = + (self.nativeDeps."morgan" or []); + deps = [ + self.by-version."bytes"."0.2.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "morgan" ]; + }; + by-spec."mout"."^0.9.0" = + self.by-version."mout"."0.9.1"; + by-version."mout"."0.9.1" = lib.makeOverridable self.buildNodePackage { + name = "node-mout-0.9.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/mout/-/mout-0.9.1.tgz"; + name = "mout-0.9.1.tgz"; + sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477"; + }) + ]; + buildInputs = + (self.nativeDeps."mout" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "mout" ]; + }; by-spec."mout"."~0.6.0" = self.by-version."mout"."0.6.0"; by-version."mout"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "mout-0.6.0"; + name = "node-mout-0.6.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/mout/-/mout-0.6.0.tgz"; @@ -9083,7 +11455,7 @@ by-spec."mout"."~0.7.0" = self.by-version."mout"."0.7.1"; by-version."mout"."0.7.1" = lib.makeOverridable self.buildNodePackage { - name = "mout-0.7.1"; + name = "node-mout-0.7.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/mout/-/mout-0.7.1.tgz"; @@ -9099,10 +11471,12 @@ ]; passthru.names = [ "mout" ]; }; + by-spec."mout"."~0.9.0" = + self.by-version."mout"."0.9.1"; by-spec."mpath"."0.1.1" = self.by-version."mpath"."0.1.1"; by-version."mpath"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "mpath-0.1.1"; + name = "node-mpath-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz"; @@ -9121,7 +11495,7 @@ by-spec."mpromise"."0.2.1" = self.by-version."mpromise"."0.2.1"; by-version."mpromise"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "mpromise-0.2.1"; + name = "node-mpromise-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz"; @@ -9141,7 +11515,7 @@ by-spec."mpromise"."0.4.3" = self.by-version."mpromise"."0.4.3"; by-version."mpromise"."0.4.3" = lib.makeOverridable self.buildNodePackage { - name = "mpromise-0.4.3"; + name = "node-mpromise-0.4.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/mpromise/-/mpromise-0.4.3.tgz"; @@ -9157,23 +11531,22 @@ ]; passthru.names = [ "mpromise" ]; }; - by-spec."mquery"."0.4.1" = - self.by-version."mquery"."0.4.1"; - by-version."mquery"."0.4.1" = lib.makeOverridable self.buildNodePackage { - name = "mquery-0.4.1"; + by-spec."mquery"."0.5.3" = + self.by-version."mquery"."0.5.3"; + by-version."mquery"."0.5.3" = lib.makeOverridable self.buildNodePackage { + name = "node-mquery-0.5.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mquery/-/mquery-0.4.1.tgz"; - name = "mquery-0.4.1.tgz"; - sha1 = "c4626dd29203f3991abe9ddba88781256ad42fdf"; + url = "http://registry.npmjs.org/mquery/-/mquery-0.5.3.tgz"; + name = "mquery-0.5.3.tgz"; + sha1 = "b8a04d096ecf90bf17a81cc39b80dd4e5abcecec"; }) ]; buildInputs = (self.nativeDeps."mquery" or []); deps = [ self.by-version."sliced"."0.0.5" - self.by-version."debug"."0.7.0" - self.by-version."mongodb"."1.3.19" + self.by-version."debug"."0.7.4" self.by-version."regexp-clone"."0.0.1" ]; peerDependencies = [ @@ -9183,7 +11556,7 @@ by-spec."ms"."0.1.0" = self.by-version."ms"."0.1.0"; by-version."ms"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "ms-0.1.0"; + name = "node-ms-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz"; @@ -9200,14 +11573,14 @@ passthru.names = [ "ms" ]; }; by-spec."msgpack".">= 0.0.1" = - self.by-version."msgpack"."0.2.1"; - by-version."msgpack"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "msgpack-0.2.1"; + self.by-version."msgpack"."0.2.3"; + by-version."msgpack"."0.2.3" = lib.makeOverridable self.buildNodePackage { + name = "msgpack-0.2.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.1.tgz"; - name = "msgpack-0.2.1.tgz"; - sha1 = "5da246daa2138b4163640e486c00c4f3961e92ac"; + url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.3.tgz"; + name = "msgpack-0.2.3.tgz"; + sha1 = "0739ab7eaa0a5ba0ff7da2061c72ab806b6afe5f"; }) ]; buildInputs = @@ -9221,7 +11594,7 @@ by-spec."multiparty"."2.2.0" = self.by-version."multiparty"."2.2.0"; by-version."multiparty"."2.2.0" = lib.makeOverridable self.buildNodePackage { - name = "multiparty-2.2.0"; + name = "node-multiparty-2.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz"; @@ -9232,7 +11605,7 @@ buildInputs = (self.nativeDeps."multiparty" or []); deps = [ - self.by-version."readable-stream"."1.1.10" + self.by-version."readable-stream"."1.1.12" self.by-version."stream-counter"."0.2.0" ]; peerDependencies = [ @@ -9242,7 +11615,7 @@ by-spec."muri"."0.3.1" = self.by-version."muri"."0.3.1"; by-version."muri"."0.3.1" = lib.makeOverridable self.buildNodePackage { - name = "muri-0.3.1"; + name = "node-muri-0.3.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz"; @@ -9261,7 +11634,7 @@ by-spec."mute-stream"."0.0.3" = self.by-version."mute-stream"."0.0.3"; by-version."mute-stream"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "mute-stream-0.0.3"; + name = "node-mute-stream-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz"; @@ -9280,7 +11653,7 @@ by-spec."mute-stream"."0.0.4" = self.by-version."mute-stream"."0.0.4"; by-version."mute-stream"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "mute-stream-0.0.4"; + name = "node-mute-stream-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz"; @@ -9301,7 +11674,7 @@ by-spec."mv"."0.0.5" = self.by-version."mv"."0.0.5"; by-version."mv"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "mv-0.0.5"; + name = "node-mv-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz"; @@ -9320,7 +11693,7 @@ by-spec."nan"."~0.3.0" = self.by-version."nan"."0.3.2"; by-version."nan"."0.3.2" = lib.makeOverridable self.buildNodePackage { - name = "nan-0.3.2"; + name = "node-nan-0.3.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz"; @@ -9339,7 +11712,7 @@ by-spec."nan"."~0.6.0" = self.by-version."nan"."0.6.0"; by-version."nan"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "nan-0.6.0"; + name = "node-nan-0.6.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/nan/-/nan-0.6.0.tgz"; @@ -9355,15 +11728,34 @@ ]; passthru.names = [ "nan" ]; }; - by-spec."natural"."0.0.69" = - self.by-version."natural"."0.0.69"; - by-version."natural"."0.0.69" = lib.makeOverridable self.buildNodePackage { - name = "natural-0.0.69"; + by-spec."nan"."~0.8.0" = + self.by-version."nan"."0.8.0"; + by-version."nan"."0.8.0" = lib.makeOverridable self.buildNodePackage { + name = "node-nan-0.8.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/natural/-/natural-0.0.69.tgz"; - name = "natural-0.0.69.tgz"; - sha1 = "60d9ce23797a54ec211600eb721cc66779b954d3"; + url = "http://registry.npmjs.org/nan/-/nan-0.8.0.tgz"; + name = "nan-0.8.0.tgz"; + sha1 = "022a8fa5e9fe8420964ac1fb3dc94e17f449f5fd"; + }) + ]; + buildInputs = + (self.nativeDeps."nan" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "nan" ]; + }; + by-spec."natural"."0.1.17" = + self.by-version."natural"."0.1.17"; + by-version."natural"."0.1.17" = lib.makeOverridable self.buildNodePackage { + name = "node-natural-0.1.17"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/natural/-/natural-0.1.17.tgz"; + name = "natural-0.1.17.tgz"; + sha1 = "0ff654cd30aeb2aa298ab0580e6f7ea9f40954e0"; }) ]; buildInputs = @@ -9371,7 +11763,7 @@ deps = [ self.by-version."sylvester"."0.0.21" self.by-version."apparatus"."0.0.8" - self.by-version."underscore"."1.5.2" + self.by-version."underscore"."1.6.0" ]; peerDependencies = [ ]; @@ -9380,7 +11772,7 @@ by-spec."nconf"."*" = self.by-version."nconf"."0.6.9"; by-version."nconf"."0.6.9" = lib.makeOverridable self.buildNodePackage { - name = "nconf-0.6.9"; + name = "node-nconf-0.6.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz"; @@ -9449,7 +11841,7 @@ by-spec."negotiator"."0.2.5" = self.by-version."negotiator"."0.2.5"; by-version."negotiator"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "negotiator-0.2.5"; + name = "node-negotiator-0.2.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz"; @@ -9468,7 +11860,7 @@ by-spec."negotiator"."0.3.0" = self.by-version."negotiator"."0.3.0"; by-version."negotiator"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "negotiator-0.3.0"; + name = "node-negotiator-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz"; @@ -9484,10 +11876,31 @@ ]; passthru.names = [ "negotiator" ]; }; + by-spec."negotiator"."0.4.2" = + self.by-version."negotiator"."0.4.2"; + by-version."negotiator"."0.4.2" = lib.makeOverridable self.buildNodePackage { + name = "node-negotiator-0.4.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz"; + name = "negotiator-0.4.2.tgz"; + sha1 = "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37"; + }) + ]; + buildInputs = + (self.nativeDeps."negotiator" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "negotiator" ]; + }; + by-spec."negotiator"."~0.3.0" = + self.by-version."negotiator"."0.3.0"; by-spec."net-ping"."1.1.7" = self.by-version."net-ping"."1.1.7"; by-version."net-ping"."1.1.7" = lib.makeOverridable self.buildNodePackage { - name = "net-ping-1.1.7"; + name = "node-net-ping-1.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz"; @@ -9507,7 +11920,7 @@ by-spec."next-tick"."0.1.x" = self.by-version."next-tick"."0.1.0"; by-version."next-tick"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "next-tick-0.1.0"; + name = "node-next-tick-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz"; @@ -9526,7 +11939,7 @@ by-spec."nib"."0.5.0" = self.by-version."nib"."0.5.0"; by-version."nib"."0.5.0" = lib.makeOverridable self.buildNodePackage { - name = "nib-0.5.0"; + name = "node-nib-0.5.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz"; @@ -9543,30 +11956,31 @@ passthru.names = [ "nib" ]; }; by-spec."nijs"."*" = - self.by-version."nijs"."0.0.12"; - by-version."nijs"."0.0.12" = lib.makeOverridable self.buildNodePackage { - name = "nijs-0.0.12"; + self.by-version."nijs"."0.0.14"; + by-version."nijs"."0.0.14" = lib.makeOverridable self.buildNodePackage { + name = "nijs-0.0.14"; src = [ (fetchurl { - url = "http://registry.npmjs.org/nijs/-/nijs-0.0.12.tgz"; - name = "nijs-0.0.12.tgz"; - sha1 = "23bb40746b409e8556f9a4fe97ca314410a685df"; + url = "http://registry.npmjs.org/nijs/-/nijs-0.0.14.tgz"; + name = "nijs-0.0.14.tgz"; + sha1 = "e4851865ee94567e33c7c7e6d7d92c031e8f1eab"; }) ]; buildInputs = (self.nativeDeps."nijs" or []); deps = [ self.by-version."optparse"."1.0.5" + self.by-version."slasp"."0.0.3" ]; peerDependencies = [ ]; passthru.names = [ "nijs" ]; }; - "nijs" = self.by-version."nijs"."0.0.12"; + "nijs" = self.by-version."nijs"."0.0.14"; by-spec."node-appc"."0.2.0" = self.by-version."node-appc"."0.2.0"; by-version."node-appc"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "node-appc-0.2.0"; + name = "node-node-appc-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-appc/-/node-appc-0.2.0.tgz"; @@ -9577,21 +11991,21 @@ buildInputs = (self.nativeDeps."node-appc" or []); deps = [ - self.by-version."adm-zip"."0.4.3" - self.by-version."async"."0.2.9" + self.by-version."adm-zip"."0.4.4" + self.by-version."async"."0.2.10" self.by-version."colors"."0.6.2" self.by-version."diff"."1.0.8" self.by-version."dox"."0.4.4" self.by-version."jade"."0.35.0" self.by-version."node-uuid"."1.4.1" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."request"."2.27.0" self.by-version."semver"."2.1.0" self.by-version."sprintf"."0.1.3" self.by-version."temp"."0.6.0" - self.by-version."wrench"."1.5.4" + self.by-version."wrench"."1.5.8" self.by-version."uglify-js"."2.3.6" - self.by-version."xmldom"."0.1.17" + self.by-version."xmldom"."0.1.19" ]; peerDependencies = [ ]; @@ -9600,7 +12014,7 @@ by-spec."node-expat"."*" = self.by-version."node-expat"."2.1.4"; by-version."node-expat"."2.1.4" = lib.makeOverridable self.buildNodePackage { - name = "node-expat-2.1.4"; + name = "node-node-expat-2.1.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-expat/-/node-expat-2.1.4.tgz"; @@ -9619,29 +12033,29 @@ }; "node-expat" = self.by-version."node-expat"."2.1.4"; by-spec."node-gyp"."*" = - self.by-version."node-gyp"."0.12.2"; - by-version."node-gyp"."0.12.2" = lib.makeOverridable self.buildNodePackage { - name = "node-gyp-0.12.2"; + self.by-version."node-gyp"."0.13.0"; + by-version."node-gyp"."0.13.0" = lib.makeOverridable self.buildNodePackage { + name = "node-gyp-0.13.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.12.2.tgz"; - name = "node-gyp-0.12.2.tgz"; - sha1 = "bdca7e7025feb308ddd7fd3434300e47703ec57a"; + url = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.13.0.tgz"; + name = "node-gyp-0.13.0.tgz"; + sha1 = "84e216991a64ce5f03d50c95518bd72ca9e10f1e"; }) ]; buildInputs = (self.nativeDeps."node-gyp" or []); deps = [ - self.by-version."glob"."3.2.8" - self.by-version."graceful-fs"."2.0.1" + self.by-version."glob"."3.2.9" + self.by-version."graceful-fs"."2.0.3" self.by-version."fstream"."0.1.25" self.by-version."minimatch"."0.2.14" self.by-version."mkdirp"."0.3.5" - self.by-version."nopt"."2.1.2" + self.by-version."nopt"."2.2.0" self.by-version."npmlog"."0.0.6" self.by-version."osenv"."0.0.3" - self.by-version."request"."2.31.0" - self.by-version."rimraf"."2.2.5" + self.by-version."request"."2.34.0" + self.by-version."rimraf"."2.2.6" self.by-version."semver"."2.2.1" self.by-version."tar"."0.1.19" self.by-version."which"."1.0.5" @@ -9650,40 +12064,43 @@ ]; passthru.names = [ "node-gyp" ]; }; - "node-gyp" = self.by-version."node-gyp"."0.12.2"; - by-spec."node-gyp"."~0.12.0" = - self.by-version."node-gyp"."0.12.2"; + "node-gyp" = self.by-version."node-gyp"."0.13.0"; + by-spec."node-gyp"."~0.13.0" = + self.by-version."node-gyp"."0.13.0"; by-spec."node-inspector"."*" = - self.by-version."node-inspector"."0.7.0-1"; - by-version."node-inspector"."0.7.0-1" = lib.makeOverridable self.buildNodePackage { - name = "node-inspector-0.7.0-1"; + self.by-version."node-inspector"."0.7.3"; + by-version."node-inspector"."0.7.3" = lib.makeOverridable self.buildNodePackage { + name = "node-inspector-0.7.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.0-1.tgz"; - name = "node-inspector-0.7.0-1.tgz"; - sha1 = "13964415403ee7642fd7554f87c2c7a51af64090"; + url = "http://registry.npmjs.org/node-inspector/-/node-inspector-0.7.3.tgz"; + name = "node-inspector-0.7.3.tgz"; + sha1 = "988317f9a7e645d1bb78e40bb2289db82a077e73"; }) ]; buildInputs = (self.nativeDeps."node-inspector" or []); deps = [ - self.by-version."socket.io"."0.9.16" - self.by-version."express"."3.4.7" - self.by-version."async"."0.2.9" - self.by-version."glob"."3.2.8" - self.by-version."rc"."0.3.2" - self.by-version."strong-data-uri"."0.1.0" - self.by-version."debug"."0.7.4" + self.by-version."express"."3.5.1" + self.by-version."async"."0.4.1" + self.by-version."glob"."3.2.9" + self.by-version."rc"."0.3.4" + self.by-version."strong-data-uri"."0.1.1" + self.by-version."debug"."0.8.1" + self.by-version."ws"."0.4.31" + self.by-version."opener"."1.3.0" + self.by-version."yargs"."1.1.3" + self.by-version."which"."1.0.5" ]; peerDependencies = [ ]; passthru.names = [ "node-inspector" ]; }; - "node-inspector" = self.by-version."node-inspector"."0.7.0-1"; + "node-inspector" = self.by-version."node-inspector"."0.7.3"; by-spec."node-protobuf"."*" = self.by-version."node-protobuf"."1.0.10"; by-version."node-protobuf"."1.0.10" = lib.makeOverridable self.buildNodePackage { - name = "node-protobuf-1.0.10"; + name = "node-node-protobuf-1.0.10"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-protobuf/-/node-protobuf-1.0.10.tgz"; @@ -9703,7 +12120,7 @@ by-spec."node-swt".">=0.1.1" = self.by-version."node-swt"."0.1.1"; by-version."node-swt"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "node-swt-0.1.1"; + name = "node-node-swt-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz"; @@ -9722,7 +12139,7 @@ by-spec."node-syslog"."1.1.7" = self.by-version."node-syslog"."1.1.7"; by-version."node-syslog"."1.1.7" = lib.makeOverridable self.buildNodePackage { - name = "node-syslog-1.1.7"; + name = "node-node-syslog-1.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-syslog/-/node-syslog-1.1.7.tgz"; @@ -9741,7 +12158,7 @@ by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" = self.by-version."node-uptime"."3.2.0"; by-version."node-uptime"."3.2.0" = lib.makeOverridable self.buildNodePackage { - name = "node-uptime-3.2.0"; + name = "node-node-uptime-3.2.0"; src = [ (fetchurl { url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7"; @@ -9775,7 +12192,7 @@ by-spec."node-uuid"."*" = self.by-version."node-uuid"."1.4.1"; by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage { - name = "node-uuid-1.4.1"; + name = "node-node-uuid-1.4.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"; @@ -9795,7 +12212,7 @@ by-spec."node-uuid"."1.3.3" = self.by-version."node-uuid"."1.3.3"; by-version."node-uuid"."1.3.3" = lib.makeOverridable self.buildNodePackage { - name = "node-uuid-1.3.3"; + name = "node-node-uuid-1.3.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz"; @@ -9814,7 +12231,7 @@ by-spec."node-uuid"."1.4.0" = self.by-version."node-uuid"."1.4.0"; by-version."node-uuid"."1.4.0" = lib.makeOverridable self.buildNodePackage { - name = "node-uuid-1.4.0"; + name = "node-node-uuid-1.4.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz"; @@ -9839,7 +12256,7 @@ by-spec."node-wsfederation".">=0.1.1" = self.by-version."node-wsfederation"."0.1.1"; by-version."node-wsfederation"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "node-wsfederation-0.1.1"; + name = "node-node-wsfederation-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz"; @@ -9850,7 +12267,7 @@ buildInputs = (self.nativeDeps."node-wsfederation" or []); deps = [ - self.by-version."xml2js"."0.4.1" + self.by-version."xml2js"."0.4.2" ]; peerDependencies = [ ]; @@ -9859,7 +12276,7 @@ by-spec."node.extend"."1.0.0" = self.by-version."node.extend"."1.0.0"; by-version."node.extend"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "node.extend-1.0.0"; + name = "node-node.extend-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz"; @@ -9889,40 +12306,40 @@ buildInputs = (self.nativeDeps."nodemailer" or []); deps = [ - self.by-version."mailcomposer"."0.2.7" - self.by-version."simplesmtp"."0.3.18" - self.by-version."optimist"."0.6.0" + self.by-version."mailcomposer"."0.2.9" + self.by-version."simplesmtp"."0.3.24" + self.by-version."optimist"."0.6.1" ]; peerDependencies = [ ]; passthru.names = [ "nodemailer" ]; }; by-spec."nodemon"."*" = - self.by-version."nodemon"."1.0.8"; - by-version."nodemon"."1.0.8" = lib.makeOverridable self.buildNodePackage { - name = "nodemon-1.0.8"; + self.by-version."nodemon"."1.0.17"; + by-version."nodemon"."1.0.17" = lib.makeOverridable self.buildNodePackage { + name = "nodemon-1.0.17"; src = [ (fetchurl { - url = "http://registry.npmjs.org/nodemon/-/nodemon-1.0.8.tgz"; - name = "nodemon-1.0.8.tgz"; - sha1 = "fa737c8f0f331ee77c23f993ce3205615f0d27f9"; + url = "http://registry.npmjs.org/nodemon/-/nodemon-1.0.17.tgz"; + name = "nodemon-1.0.17.tgz"; + sha1 = "910a3f3cb66c06a3499498455cf4e0119f75799c"; }) ]; buildInputs = (self.nativeDeps."nodemon" or []); deps = [ - self.by-version."update-notifier"."0.1.7" + self.by-version."update-notifier"."0.1.8" self.by-version."minimatch"."0.2.14" ]; peerDependencies = [ ]; passthru.names = [ "nodemon" ]; }; - "nodemon" = self.by-version."nodemon"."1.0.8"; + "nodemon" = self.by-version."nodemon"."1.0.17"; by-spec."nomnom"."1.6.x" = self.by-version."nomnom"."1.6.2"; by-version."nomnom"."1.6.2" = lib.makeOverridable self.buildNodePackage { - name = "nomnom-1.6.2"; + name = "node-nomnom-1.6.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz"; @@ -9941,14 +12358,14 @@ passthru.names = [ "nomnom" ]; }; by-spec."nopt"."2" = - self.by-version."nopt"."2.1.2"; - by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage { - name = "nopt-2.1.2"; + self.by-version."nopt"."2.2.0"; + by-version."nopt"."2.2.0" = lib.makeOverridable self.buildNodePackage { + name = "nopt-2.2.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz"; - name = "nopt-2.1.2.tgz"; - sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af"; + url = "http://registry.npmjs.org/nopt/-/nopt-2.2.0.tgz"; + name = "nopt-2.2.0.tgz"; + sha1 = "3d106676f3607ac466af9bf82bd707b1501d3bd5"; }) ]; buildInputs = @@ -9980,17 +12397,19 @@ ]; passthru.names = [ "nopt" ]; }; - by-spec."nopt"."2.1.x" = - self.by-version."nopt"."2.1.2"; - by-spec."nopt"."https://github.com/Filirom1/nopt/tarball/master#pull-request-in-progress" = + by-spec."nopt"."2.2.x" = + self.by-version."nopt"."2.2.0"; + by-spec."nopt"."^2.2.0" = + self.by-version."nopt"."2.2.0"; + by-spec."nopt"."~1.0.10" = self.by-version."nopt"."1.0.10"; by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage { name = "nopt-1.0.10"; src = [ (fetchurl { - url = "https://github.com/Filirom1/nopt/tarball/master#pull-request-in-progress"; + url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz"; name = "nopt-1.0.10.tgz"; - sha256 = "94daa53a0ab7668be12931b7b551c924c913d1efef7f2a05e60704c9b90a7bad"; + sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee"; }) ]; buildInputs = @@ -10002,21 +12421,39 @@ ]; passthru.names = [ "nopt" ]; }; - by-spec."nopt"."~1.0.10" = - self.by-version."nopt"."1.0.10"; by-spec."nopt"."~2.1.1" = self.by-version."nopt"."2.1.2"; - by-spec."nopt"."~2.1.2" = - self.by-version."nopt"."2.1.2"; - by-spec."normalize-package-data"."~0.2.7" = - self.by-version."normalize-package-data"."0.2.8"; - by-version."normalize-package-data"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "normalize-package-data-0.2.8"; + by-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage { + name = "nopt-2.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.8.tgz"; - name = "normalize-package-data-0.2.8.tgz"; - sha1 = "95dc1bcb54c8d46b3be345c05afbab27e48e2f69"; + url = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz"; + name = "nopt-2.1.2.tgz"; + sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af"; + }) + ]; + buildInputs = + (self.nativeDeps."nopt" or []); + deps = [ + self.by-version."abbrev"."1.0.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "nopt" ]; + }; + by-spec."nopt"."~2.1.2" = + self.by-version."nopt"."2.1.2"; + by-spec."nopt"."~2.2.0" = + self.by-version."nopt"."2.2.0"; + by-spec."normalize-package-data"."~0.2.9" = + self.by-version."normalize-package-data"."0.2.12"; + by-version."normalize-package-data"."0.2.12" = lib.makeOverridable self.buildNodePackage { + name = "node-normalize-package-data-0.2.12"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.12.tgz"; + name = "normalize-package-data-0.2.12.tgz"; + sha1 = "c8284cf0cb0466ea60ee64276b9070722c1da768"; }) ]; buildInputs = @@ -10031,77 +12468,99 @@ passthru.names = [ "normalize-package-data" ]; }; by-spec."npm"."*" = - self.by-version."npm"."1.3.23"; - by-version."npm"."1.3.23" = lib.makeOverridable self.buildNodePackage { - name = "npm-1.3.23"; + self.by-version."npm"."1.4.6"; + by-version."npm"."1.4.6" = lib.makeOverridable self.buildNodePackage { + name = "npm-1.4.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/npm/-/npm-1.3.23.tgz"; - name = "npm-1.3.23.tgz"; - sha1 = "8463ddbc060169b48890d639c4be9c839b8a0f3d"; + url = "http://registry.npmjs.org/npm/-/npm-1.4.6.tgz"; + name = "npm-1.4.6.tgz"; + sha1 = "0e151bce38e72cf2206a6299fa5164123f04256e"; }) ]; buildInputs = (self.nativeDeps."npm" or []); deps = [ - self.by-version."semver"."2.2.1" - self.by-version."ini"."1.1.0" - self.by-version."slide"."1.1.5" self.by-version."abbrev"."1.0.4" - self.by-version."graceful-fs"."2.0.1" - self.by-version."minimatch"."0.2.14" - self.by-version."nopt"."2.1.2" - self.by-version."rimraf"."2.2.5" - self.by-version."request"."2.30.0" - self.by-version."which"."1.0.5" - self.by-version."tar"."0.1.19" - self.by-version."fstream"."0.1.25" - self.by-version."block-stream"."0.0.7" - self.by-version."mkdirp"."0.3.5" - self.by-version."read"."1.0.5" - self.by-version."lru-cache"."2.5.0" - self.by-version."node-gyp"."0.12.2" - self.by-version."fstream-npm"."0.1.6" - self.by-version."uid-number"."0.0.3" - self.by-version."archy"."0.0.2" - self.by-version."chownr"."0.0.1" - self.by-version."npmlog"."0.0.6" self.by-version."ansi"."0.2.1" - self.by-version."npm-registry-client"."0.3.3" - self.by-version."read-package-json"."1.1.5" - self.by-version."read-installed"."0.2.5" - self.by-version."glob"."3.2.8" - self.by-version."init-package-json"."0.0.14" - self.by-version."osenv"."0.0.3" - self.by-version."lockfile"."0.4.2" - self.by-version."retry"."0.6.0" - self.by-version."once"."1.3.0" - self.by-version."npmconf"."0.1.12" - self.by-version."opener"."1.3.0" - self.by-version."chmodr"."0.1.0" - self.by-version."cmd-shim"."1.1.1" - self.by-version."sha"."1.2.3" - self.by-version."editor"."0.0.5" - self.by-version."child-process-close"."0.1.1" - self.by-version."npm-user-validate"."0.0.3" - self.by-version."github-url-from-git"."1.1.1" - self.by-version."github-url-from-username-repo"."0.0.2" - self.by-version."text-table"."0.2.0" self.by-version."ansicolors"."0.3.2" self.by-version."ansistyles"."0.1.3" - self.by-version."path-is-inside"."1.0.0" + self.by-version."archy"."0.0.2" + self.by-version."block-stream"."0.0.7" + self.by-version."child-process-close"."0.1.1" + self.by-version."chmodr"."0.1.0" + self.by-version."chownr"."0.0.1" + self.by-version."cmd-shim"."1.1.1" + self.by-version."columnify"."0.1.2" + self.by-version."editor"."0.0.5" + self.by-version."fstream"."0.1.25" + self.by-version."fstream-npm"."0.1.6" + self.by-version."github-url-from-git"."1.1.1" + self.by-version."github-url-from-username-repo"."0.0.2" + self.by-version."glob"."3.2.9" + self.by-version."graceful-fs"."2.0.3" + self.by-version."ini"."1.1.0" + self.by-version."init-package-json"."0.0.15" + self.by-version."lockfile"."0.4.2" + self.by-version."lru-cache"."2.5.0" + self.by-version."minimatch"."0.2.14" + self.by-version."mkdirp"."0.3.5" + self.by-version."node-gyp"."0.13.0" + self.by-version."nopt"."2.2.0" + self.by-version."npm-install-checks"."1.0.0" + self.by-version."npm-registry-client"."0.4.7" + self.by-version."npm-user-validate"."0.0.3" + self.by-version."npmconf"."0.1.14" + self.by-version."npmlog"."0.0.6" + self.by-version."once"."1.3.0" + self.by-version."opener"."1.3.0" + self.by-version."osenv"."0.0.3" + self.by-version."path-is-inside"."1.0.1" + self.by-version."read"."1.0.5" + self.by-version."read-installed"."2.0.2" + self.by-version."read-package-json"."1.1.8" + self.by-version."request"."2.30.0" + self.by-version."retry"."0.6.0" + self.by-version."rimraf"."2.2.6" + self.by-version."semver"."2.2.1" + self.by-version."sha"."1.2.3" + self.by-version."slide"."1.1.5" + self.by-version."sorted-object"."1.0.0" + self.by-version."tar"."0.1.19" + self.by-version."text-table"."0.2.0" + self.by-version."uid-number"."0.0.5" + self.by-version."which"."1.0.5" ]; peerDependencies = [ ]; passthru.names = [ "npm" ]; }; - "npm" = self.by-version."npm"."1.3.23"; - by-spec."npm"."~1.3.14" = - self.by-version."npm"."1.3.23"; + "npm" = self.by-version."npm"."1.4.6"; + by-spec."npm-install-checks"."~1.0.0" = + self.by-version."npm-install-checks"."1.0.0"; + by-version."npm-install-checks"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-npm-install-checks-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.0.tgz"; + name = "npm-install-checks-1.0.0.tgz"; + sha1 = "7e1469b5e0c693b2ae2a8830b5fc4e7bf76c88fd"; + }) + ]; + buildInputs = + (self.nativeDeps."npm-install-checks" or []); + deps = [ + self.by-version."npmlog"."0.0.6" + self.by-version."semver"."2.2.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "npm-install-checks" ]; + }; by-spec."npm-registry-client"."0.2.27" = self.by-version."npm-registry-client"."0.2.27"; by-version."npm-registry-client"."0.2.27" = lib.makeOverridable self.buildNodePackage { - name = "npm-registry-client-0.2.27"; + name = "node-npm-registry-client-0.2.27"; src = [ (fetchurl { url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz"; @@ -10112,54 +12571,55 @@ buildInputs = (self.nativeDeps."npm-registry-client" or []); deps = [ - self.by-version."request"."2.31.0" - self.by-version."graceful-fs"."2.0.1" + self.by-version."request"."2.34.0" + self.by-version."graceful-fs"."2.0.3" self.by-version."semver"."2.0.11" self.by-version."slide"."1.1.5" self.by-version."chownr"."0.0.1" self.by-version."mkdirp"."0.3.5" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."retry"."0.6.0" - self.by-version."couch-login"."0.1.19" + self.by-version."couch-login"."0.1.20" self.by-version."npmlog"."0.0.6" ]; peerDependencies = [ ]; passthru.names = [ "npm-registry-client" ]; }; - by-spec."npm-registry-client"."~0.3.2" = - self.by-version."npm-registry-client"."0.3.3"; - by-version."npm-registry-client"."0.3.3" = lib.makeOverridable self.buildNodePackage { - name = "npm-registry-client-0.3.3"; + by-spec."npm-registry-client"."~0.4.5" = + self.by-version."npm-registry-client"."0.4.7"; + by-version."npm-registry-client"."0.4.7" = lib.makeOverridable self.buildNodePackage { + name = "node-npm-registry-client-0.4.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.3.3.tgz"; - name = "npm-registry-client-0.3.3.tgz"; - sha1 = "da08bb681fb24aa5c988ca71f8c10f27f09daf4a"; + url = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.4.7.tgz"; + name = "npm-registry-client-0.4.7.tgz"; + sha1 = "f4369b59890da7882527eb7c427dd95d43707afb"; }) ]; buildInputs = (self.nativeDeps."npm-registry-client" or []); deps = [ - self.by-version."request"."2.31.0" - self.by-version."graceful-fs"."2.0.1" + self.by-version."request"."2.34.0" + self.by-version."graceful-fs"."2.0.3" self.by-version."semver"."2.2.1" self.by-version."slide"."1.1.5" self.by-version."chownr"."0.0.1" self.by-version."mkdirp"."0.3.5" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."retry"."0.6.0" - self.by-version."couch-login"."0.1.19" self.by-version."npmlog"."0.0.6" ]; peerDependencies = [ ]; passthru.names = [ "npm-registry-client" ]; }; + by-spec."npm-registry-client"."~0.4.7" = + self.by-version."npm-registry-client"."0.4.7"; by-spec."npm-user-validate"."0.0.3" = self.by-version."npm-user-validate"."0.0.3"; by-version."npm-user-validate"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "npm-user-validate-0.0.3"; + name = "node-npm-user-validate-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz"; @@ -10176,14 +12636,14 @@ passthru.names = [ "npm-user-validate" ]; }; by-spec."npm2nix"."*" = - self.by-version."npm2nix"."5.4.2"; - by-version."npm2nix"."5.4.2" = lib.makeOverridable self.buildNodePackage { - name = "npm2nix-5.4.2"; + self.by-version."npm2nix"."5.6.0"; + by-version."npm2nix"."5.6.0" = lib.makeOverridable self.buildNodePackage { + name = "npm2nix-5.6.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.4.2.tgz"; - name = "npm2nix-5.4.2.tgz"; - sha1 = "03184775d310c75117c82303eecb50f6b26f93d0"; + url = "http://registry.npmjs.org/npm2nix/-/npm2nix-5.6.0.tgz"; + name = "npm2nix-5.6.0.tgz"; + sha1 = "75680a36a24fe7f434a18199552cd3e7a576e875"; }) ]; buildInputs = @@ -10196,17 +12656,17 @@ self.by-version."tar"."0.1.17" self.by-version."temp"."0.6.0" self.by-version."fs.extra"."1.2.1" - self.by-version."findit"."1.1.0" + self.by-version."findit"."1.1.1" ]; peerDependencies = [ ]; passthru.names = [ "npm2nix" ]; }; - "npm2nix" = self.by-version."npm2nix"."5.4.2"; + "npm2nix" = self.by-version."npm2nix"."5.6.0"; by-spec."npmconf"."0.0.24" = self.by-version."npmconf"."0.0.24"; by-version."npmconf"."0.0.24" = lib.makeOverridable self.buildNodePackage { - name = "npmconf-0.0.24"; + name = "node-npmconf-0.0.24"; src = [ (fetchurl { url = "http://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz"; @@ -10222,7 +12682,7 @@ self.by-version."once"."1.1.1" self.by-version."mkdirp"."0.3.5" self.by-version."osenv"."0.0.3" - self.by-version."nopt"."2.1.2" + self.by-version."nopt"."2.2.0" self.by-version."semver"."1.1.4" self.by-version."ini"."1.1.0" ]; @@ -10233,7 +12693,7 @@ by-spec."npmconf"."0.1.1" = self.by-version."npmconf"."0.1.1"; by-version."npmconf"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "npmconf-0.1.1"; + name = "node-npmconf-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz"; @@ -10249,7 +12709,7 @@ self.by-version."once"."1.1.1" self.by-version."mkdirp"."0.3.5" self.by-version."osenv"."0.0.3" - self.by-version."nopt"."2.1.2" + self.by-version."nopt"."2.2.0" self.by-version."semver"."2.2.1" self.by-version."ini"."1.1.0" ]; @@ -10257,15 +12717,15 @@ ]; passthru.names = [ "npmconf" ]; }; - by-spec."npmconf"."~0.1.2" = - self.by-version."npmconf"."0.1.12"; - by-version."npmconf"."0.1.12" = lib.makeOverridable self.buildNodePackage { - name = "npmconf-0.1.12"; + by-spec."npmconf"."~0.1.13" = + self.by-version."npmconf"."0.1.14"; + by-version."npmconf"."0.1.14" = lib.makeOverridable self.buildNodePackage { + name = "node-npmconf-0.1.14"; src = [ (fetchurl { - url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.12.tgz"; - name = "npmconf-0.1.12.tgz"; - sha1 = "7b89bbbb93fbbc449d7fac109e8164b47d105e90"; + url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.14.tgz"; + name = "npmconf-0.1.14.tgz"; + sha1 = "aea4bc12c5a84191a32cd350e325da4fe8b127e7"; }) ]; buildInputs = @@ -10276,7 +12736,7 @@ self.by-version."once"."1.3.0" self.by-version."mkdirp"."0.3.5" self.by-version."osenv"."0.0.3" - self.by-version."nopt"."2.1.2" + self.by-version."nopt"."2.2.0" self.by-version."semver"."2.2.1" self.by-version."ini"."1.1.0" ]; @@ -10284,12 +12744,12 @@ ]; passthru.names = [ "npmconf" ]; }; - by-spec."npmconf"."~0.1.7" = - self.by-version."npmconf"."0.1.12"; + by-spec."npmconf"."~0.1.2" = + self.by-version."npmconf"."0.1.14"; by-spec."npmlog"."*" = self.by-version."npmlog"."0.0.6"; by-version."npmlog"."0.0.6" = lib.makeOverridable self.buildNodePackage { - name = "npmlog-0.0.6"; + name = "node-npmlog-0.0.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.6.tgz"; @@ -10313,7 +12773,7 @@ by-spec."nssocket"."~0.5.1" = self.by-version."nssocket"."0.5.1"; by-version."nssocket"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "nssocket-0.5.1"; + name = "node-nssocket-0.5.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz"; @@ -10331,15 +12791,35 @@ ]; passthru.names = [ "nssocket" ]; }; + by-spec."nth-check"."~1.0.0" = + self.by-version."nth-check"."1.0.0"; + by-version."nth-check"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-nth-check-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/nth-check/-/nth-check-1.0.0.tgz"; + name = "nth-check-1.0.0.tgz"; + sha1 = "02fc1277aa2bf8e6083be456104d6a646101a49d"; + }) + ]; + buildInputs = + (self.nativeDeps."nth-check" or []); + deps = [ + self.by-version."boolbase"."1.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "nth-check" ]; + }; by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" = self.by-version."oauth"."0.9.11"; by-version."oauth"."0.9.11" = lib.makeOverridable self.buildNodePackage { - name = "oauth-0.9.11"; + name = "node-oauth-0.9.11"; src = [ (fetchurl { url = "https://github.com/ciaranj/node-oauth/tarball/master"; name = "oauth-0.9.11.tgz"; - sha256 = "ea86c233c1a77e52a97107b40978a909a99dd59c4751e7f4d342274c1d6a55a4"; + sha256 = "14cc7a064e3eda0948ac8db72fae140cb7b0fdbe031375d02cd6d0359c8b8faa"; }) ]; buildInputs = @@ -10353,7 +12833,7 @@ by-spec."oauth-sign"."~0.2.0" = self.by-version."oauth-sign"."0.2.0"; by-version."oauth-sign"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "oauth-sign-0.2.0"; + name = "node-oauth-sign-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz"; @@ -10372,7 +12852,7 @@ by-spec."oauth-sign"."~0.3.0" = self.by-version."oauth-sign"."0.3.0"; by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "oauth-sign-0.3.0"; + name = "node-oauth-sign-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"; @@ -10391,7 +12871,7 @@ by-spec."object-additions".">= 0.5.0" = self.by-version."object-additions"."0.5.1"; by-version."object-additions"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "object-additions-0.5.1"; + name = "node-object-additions-0.5.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz"; @@ -10407,23 +12887,41 @@ ]; passthru.names = [ "object-additions" ]; }; - by-spec."object-keys"."~0.2.0" = - self.by-version."object-keys"."0.2.0"; - by-version."object-keys"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "object-keys-0.2.0"; + by-spec."object-assign"."~0.1.1" = + self.by-version."object-assign"."0.1.2"; + by-version."object-assign"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-object-assign-0.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz"; - name = "object-keys-0.2.0.tgz"; - sha1 = "cddec02998b091be42bf1035ae32e49f1cb6ea67"; + url = "http://registry.npmjs.org/object-assign/-/object-assign-0.1.2.tgz"; + name = "object-assign-0.1.2.tgz"; + sha1 = "036992f073aff7b2db83d06b3fb3155a5ccac37f"; + }) + ]; + buildInputs = + (self.nativeDeps."object-assign" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "object-assign" ]; + }; + by-spec."object-assign"."~0.1.2" = + self.by-version."object-assign"."0.1.2"; + by-spec."object-keys"."~0.4.0" = + self.by-version."object-keys"."0.4.0"; + by-version."object-keys"."0.4.0" = lib.makeOverridable self.buildNodePackage { + name = "node-object-keys-0.4.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"; + name = "object-keys-0.4.0.tgz"; + sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336"; }) ]; buildInputs = (self.nativeDeps."object-keys" or []); deps = [ - self.by-version."foreach"."2.0.4" - self.by-version."indexof"."0.0.1" - self.by-version."is"."0.2.7" ]; peerDependencies = [ ]; @@ -10432,7 +12930,7 @@ by-spec."once"."1.1.1" = self.by-version."once"."1.1.1"; by-version."once"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "once-1.1.1"; + name = "node-once-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/once/-/once-1.1.1.tgz"; @@ -10453,7 +12951,7 @@ by-spec."once"."~1.3.0" = self.by-version."once"."1.3.0"; by-version."once"."1.3.0" = lib.makeOverridable self.buildNodePackage { - name = "once-1.3.0"; + name = "node-once-1.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/once/-/once-1.3.0.tgz"; @@ -10472,7 +12970,7 @@ by-spec."open"."0.0.2" = self.by-version."open"."0.0.2"; by-version."open"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "open-0.0.2"; + name = "node-open-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/open/-/open-0.0.2.tgz"; @@ -10491,7 +12989,7 @@ by-spec."open"."0.0.4" = self.by-version."open"."0.0.4"; by-version."open"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "open-0.0.4"; + name = "node-open-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/open/-/open-0.0.4.tgz"; @@ -10508,7 +13006,26 @@ passthru.names = [ "open" ]; }; by-spec."open"."~0.0.3" = - self.by-version."open"."0.0.4"; + self.by-version."open"."0.0.5"; + by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-open-0.0.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz"; + name = "open-0.0.5.tgz"; + sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"; + }) + ]; + buildInputs = + (self.nativeDeps."open" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "open" ]; + }; + by-spec."open"."~0.0.4" = + self.by-version."open"."0.0.5"; by-spec."opener"."~1.3.0" = self.by-version."opener"."1.3.0"; by-version."opener"."1.3.0" = lib.makeOverridable self.buildNodePackage { @@ -10529,14 +13046,14 @@ passthru.names = [ "opener" ]; }; by-spec."openid".">=0.2.0" = - self.by-version."openid"."0.5.5"; - by-version."openid"."0.5.5" = lib.makeOverridable self.buildNodePackage { - name = "openid-0.5.5"; + self.by-version."openid"."0.5.7"; + by-version."openid"."0.5.7" = lib.makeOverridable self.buildNodePackage { + name = "node-openid-0.5.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/openid/-/openid-0.5.5.tgz"; - name = "openid-0.5.5.tgz"; - sha1 = "a4ce534ca82d68f81ccf45109fc92b4547b2cdd1"; + url = "http://registry.npmjs.org/openid/-/openid-0.5.7.tgz"; + name = "openid-0.5.7.tgz"; + sha1 = "cb92228f7b887bd5af0a444db42b67db785b0e9b"; }) ]; buildInputs = @@ -10548,31 +13065,31 @@ passthru.names = [ "openid" ]; }; by-spec."optimist"."*" = - self.by-version."optimist"."0.6.0"; - by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "optimist-0.6.0"; + self.by-version."optimist"."0.6.1"; + by-version."optimist"."0.6.1" = lib.makeOverridable self.buildNodePackage { + name = "node-optimist-0.6.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz"; - name = "optimist-0.6.0.tgz"; - sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200"; + url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"; + name = "optimist-0.6.1.tgz"; + sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; }) ]; buildInputs = (self.nativeDeps."optimist" or []); deps = [ self.by-version."wordwrap"."0.0.2" - self.by-version."minimist"."0.0.5" + self.by-version."minimist"."0.0.8" ]; peerDependencies = [ ]; passthru.names = [ "optimist" ]; }; - "optimist" = self.by-version."optimist"."0.6.0"; + "optimist" = self.by-version."optimist"."0.6.1"; by-spec."optimist"."0.2" = self.by-version."optimist"."0.2.8"; by-version."optimist"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "optimist-0.2.8"; + name = "node-optimist-0.2.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz"; @@ -10592,7 +13109,7 @@ by-spec."optimist"."0.3.x" = self.by-version."optimist"."0.3.7"; by-version."optimist"."0.3.7" = lib.makeOverridable self.buildNodePackage { - name = "optimist-0.3.7"; + name = "node-optimist-0.3.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz"; @@ -10611,20 +13128,39 @@ }; by-spec."optimist"."0.6.0" = self.by-version."optimist"."0.6.0"; + by-version."optimist"."0.6.0" = lib.makeOverridable self.buildNodePackage { + name = "node-optimist-0.6.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz"; + name = "optimist-0.6.0.tgz"; + sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200"; + }) + ]; + buildInputs = + (self.nativeDeps."optimist" or []); + deps = [ + self.by-version."wordwrap"."0.0.2" + self.by-version."minimist"."0.0.8" + ]; + peerDependencies = [ + ]; + passthru.names = [ "optimist" ]; + }; by-spec."optimist"."0.6.x" = - self.by-version."optimist"."0.6.0"; + self.by-version."optimist"."0.6.1"; by-spec."optimist"."~0.3" = self.by-version."optimist"."0.3.7"; - by-spec."optimist"."~0.3.4" = - self.by-version."optimist"."0.3.7"; by-spec."optimist"."~0.3.5" = self.by-version."optimist"."0.3.7"; by-spec."optimist"."~0.6.0" = - self.by-version."optimist"."0.6.0"; + self.by-version."optimist"."0.6.1"; + by-spec."optimist"."~0.6.1" = + self.by-version."optimist"."0.6.1"; by-spec."options".">=0.0.5" = self.by-version."options"."0.0.5"; by-version."options"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "options-0.0.5"; + name = "node-options-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/options/-/options-0.0.5.tgz"; @@ -10643,7 +13179,7 @@ by-spec."optjs"."*" = self.by-version."optjs"."3.2.1-boom"; by-version."optjs"."3.2.1-boom" = lib.makeOverridable self.buildNodePackage { - name = "optjs-3.2.1-boom"; + name = "node-optjs-3.2.1-boom"; src = [ (fetchurl { url = "http://registry.npmjs.org/optjs/-/optjs-3.2.1-boom.tgz"; @@ -10662,7 +13198,7 @@ by-spec."optparse"."*" = self.by-version."optparse"."1.0.5"; by-version."optparse"."1.0.5" = lib.makeOverridable self.buildNodePackage { - name = "optparse-1.0.5"; + name = "node-optparse-1.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz"; @@ -10681,10 +13217,29 @@ "optparse" = self.by-version."optparse"."1.0.5"; by-spec."optparse".">= 1.0.3" = self.by-version."optparse"."1.0.5"; + by-spec."os-browserify"."~0.1.1" = + self.by-version."os-browserify"."0.1.2"; + by-version."os-browserify"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-os-browserify-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz"; + name = "os-browserify-0.1.2.tgz"; + sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54"; + }) + ]; + buildInputs = + (self.nativeDeps."os-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "os-browserify" ]; + }; by-spec."osenv"."0" = self.by-version."osenv"."0.0.3"; by-version."osenv"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "osenv-0.0.3"; + name = "node-osenv-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz"; @@ -10702,15 +13257,17 @@ }; by-spec."osenv"."0.0.3" = self.by-version."osenv"."0.0.3"; + by-spec."osenv"."~0.0.3" = + self.by-version."osenv"."0.0.3"; by-spec."owl-deepcopy"."*" = - self.by-version."owl-deepcopy"."0.0.2"; - by-version."owl-deepcopy"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "owl-deepcopy-0.0.2"; + self.by-version."owl-deepcopy"."0.0.4"; + by-version."owl-deepcopy"."0.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-owl-deepcopy-0.0.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz"; - name = "owl-deepcopy-0.0.2.tgz"; - sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88"; + url = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz"; + name = "owl-deepcopy-0.0.4.tgz"; + sha1 = "665f3aeafab74302d98ecaeeb7b3e764ae21f369"; }) ]; buildInputs = @@ -10721,13 +13278,13 @@ ]; passthru.names = [ "owl-deepcopy" ]; }; - "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.2"; + "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.4"; by-spec."owl-deepcopy"."~0.0.1" = - self.by-version."owl-deepcopy"."0.0.2"; + self.by-version."owl-deepcopy"."0.0.4"; by-spec."p-throttler"."~0.0.1" = self.by-version."p-throttler"."0.0.1"; by-version."p-throttler"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "p-throttler-0.0.1"; + name = "node-p-throttler-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz"; @@ -10744,10 +13301,72 @@ ]; passthru.names = [ "p-throttler" ]; }; + by-spec."parents"."0.0.2" = + self.by-version."parents"."0.0.2"; + by-version."parents"."0.0.2" = lib.makeOverridable self.buildNodePackage { + name = "parents-0.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/parents/-/parents-0.0.2.tgz"; + name = "parents-0.0.2.tgz"; + sha1 = "67147826e497d40759aaf5ba4c99659b6034d302"; + }) + ]; + buildInputs = + (self.nativeDeps."parents" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "parents" ]; + }; + by-spec."parents"."~0.0.1" = + self.by-version."parents"."0.0.2"; + by-spec."parseurl"."1.0.1" = + self.by-version."parseurl"."1.0.1"; + by-version."parseurl"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-parseurl-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz"; + name = "parseurl-1.0.1.tgz"; + sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4"; + }) + ]; + buildInputs = + (self.nativeDeps."parseurl" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "parseurl" ]; + }; by-spec."passport"."*" = + self.by-version."passport"."0.2.0"; + by-version."passport"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-passport-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/passport/-/passport-0.2.0.tgz"; + name = "passport-0.2.0.tgz"; + sha1 = "ae5ebc5611300d51fdc44032c7ca442a548dbca5"; + }) + ]; + buildInputs = + (self.nativeDeps."passport" or []); + deps = [ + self.by-version."passport-strategy"."1.0.0" + self.by-version."pause"."0.0.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "passport" ]; + }; + "passport" = self.by-version."passport"."0.2.0"; + by-spec."passport"."~0.1.3" = self.by-version."passport"."0.1.18"; by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage { - name = "passport-0.1.18"; + name = "node-passport-0.1.18"; src = [ (fetchurl { url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz"; @@ -10765,36 +13384,12 @@ ]; passthru.names = [ "passport" ]; }; - "passport" = self.by-version."passport"."0.1.18"; - by-spec."passport"."0.1.17" = - self.by-version."passport"."0.1.17"; - by-version."passport"."0.1.17" = lib.makeOverridable self.buildNodePackage { - name = "passport-0.1.17"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz"; - name = "passport-0.1.17.tgz"; - sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc"; - }) - ]; - buildInputs = - (self.nativeDeps."passport" or []); - deps = [ - self.by-version."pkginfo"."0.2.3" - self.by-version."pause"."0.0.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "passport" ]; - }; - by-spec."passport"."~0.1.1" = - self.by-version."passport"."0.1.18"; - by-spec."passport"."~0.1.3" = - self.by-version."passport"."0.1.18"; + by-spec."passport"."~0.2.0" = + self.by-version."passport"."0.2.0"; by-spec."passport-http"."*" = self.by-version."passport-http"."0.2.2"; by-version."passport-http"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "passport-http-0.2.2"; + name = "node-passport-http-0.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz"; @@ -10814,38 +13409,75 @@ }; "passport-http" = self.by-version."passport-http"."0.2.2"; by-spec."passport-local"."*" = - self.by-version."passport-local"."0.1.6"; - by-version."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "passport-local-0.1.6"; + self.by-version."passport-local"."1.0.0"; + by-version."passport-local"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-passport-local-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz"; - name = "passport-local-0.1.6.tgz"; - sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db"; + url = "http://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz"; + name = "passport-local-1.0.0.tgz"; + sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee"; }) ]; buildInputs = (self.nativeDeps."passport-local" or []); deps = [ - self.by-version."pkginfo"."0.2.3" - self.by-version."passport"."0.1.18" + self.by-version."passport-strategy"."1.0.0" ]; peerDependencies = [ ]; passthru.names = [ "passport-local" ]; }; - "passport-local" = self.by-version."passport-local"."0.1.6"; - by-spec."passport-local"."0.1.6" = - self.by-version."passport-local"."0.1.6"; - by-spec."path-is-inside"."~1.0.0" = - self.by-version."path-is-inside"."1.0.0"; - by-version."path-is-inside"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "path-is-inside-1.0.0"; + "passport-local" = self.by-version."passport-local"."1.0.0"; + by-spec."passport-local"."~1.0.0" = + self.by-version."passport-local"."1.0.0"; + by-spec."passport-strategy"."1.x.x" = + self.by-version."passport-strategy"."1.0.0"; + by-version."passport-strategy"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-passport-strategy-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.0.tgz"; - name = "path-is-inside-1.0.0.tgz"; - sha1 = "8ec1c42a4c1a039e3e75f6e9e6029bd0c699016e"; + url = "http://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz"; + name = "passport-strategy-1.0.0.tgz"; + sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4"; + }) + ]; + buildInputs = + (self.nativeDeps."passport-strategy" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "passport-strategy" ]; + }; + by-spec."path-browserify"."~0.0.0" = + self.by-version."path-browserify"."0.0.0"; + by-version."path-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-path-browserify-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz"; + name = "path-browserify-0.0.0.tgz"; + sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a"; + }) + ]; + buildInputs = + (self.nativeDeps."path-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "path-browserify" ]; + }; + by-spec."path-is-inside"."~1.0.0" = + self.by-version."path-is-inside"."1.0.1"; + by-version."path-is-inside"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-path-is-inside-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"; + name = "path-is-inside-1.0.1.tgz"; + sha1 = "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89"; }) ]; buildInputs = @@ -10856,10 +13488,29 @@ ]; passthru.names = [ "path-is-inside" ]; }; + by-spec."path-to-regexp"."0.1.2" = + self.by-version."path-to-regexp"."0.1.2"; + by-version."path-to-regexp"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-path-to-regexp-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.tgz"; + name = "path-to-regexp-0.1.2.tgz"; + sha1 = "9b2b151f9cc3018c9eea50ca95729e05781712b4"; + }) + ]; + buildInputs = + (self.nativeDeps."path-to-regexp" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "path-to-regexp" ]; + }; by-spec."pause"."0.0.1" = self.by-version."pause"."0.0.1"; by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "pause-0.0.1"; + name = "node-pause-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz"; @@ -10876,14 +13527,14 @@ passthru.names = [ "pause" ]; }; by-spec."phantomjs"."~1.9.1-2" = - self.by-version."phantomjs"."1.9.2-6"; - by-version."phantomjs"."1.9.2-6" = lib.makeOverridable self.buildNodePackage { - name = "phantomjs-1.9.2-6"; + self.by-version."phantomjs"."1.9.7-3"; + by-version."phantomjs"."1.9.7-3" = lib.makeOverridable self.buildNodePackage { + name = "phantomjs-1.9.7-3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.2-6.tgz"; - name = "phantomjs-1.9.2-6.tgz"; - sha1 = "71db87e5275489570560a744dbaa649c2f9da0a0"; + url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-3.tgz"; + name = "phantomjs-1.9.7-3.tgz"; + sha1 = "5deffc801452c4a44e65b02c26e8672617b9bdbf"; }) ]; buildInputs = @@ -10894,7 +13545,7 @@ self.by-version."ncp"."0.4.2" self.by-version."npmconf"."0.0.24" self.by-version."mkdirp"."0.3.5" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."which"."1.0.5" ]; peerDependencies = [ @@ -10904,7 +13555,7 @@ by-spec."pkginfo"."0.2.x" = self.by-version."pkginfo"."0.2.3"; by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "pkginfo-0.2.3"; + name = "node-pkginfo-0.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz"; @@ -10923,7 +13574,7 @@ by-spec."pkginfo"."0.3.0" = self.by-version."pkginfo"."0.3.0"; by-version."pkginfo"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "pkginfo-0.3.0"; + name = "node-pkginfo-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz"; @@ -10944,14 +13595,14 @@ by-spec."pkginfo"."0.x.x" = self.by-version."pkginfo"."0.3.0"; by-spec."plist-native"."*" = - self.by-version."plist-native"."0.2.2"; - by-version."plist-native"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "plist-native-0.2.2"; + self.by-version."plist-native"."0.2.3"; + by-version."plist-native"."0.2.3" = lib.makeOverridable self.buildNodePackage { + name = "node-plist-native-0.2.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.2.tgz"; - name = "plist-native-0.2.2.tgz"; - sha1 = "6abde856b07a52f0d6bc027f7750f4d97ff93858"; + url = "http://registry.npmjs.org/plist-native/-/plist-native-0.2.3.tgz"; + name = "plist-native-0.2.3.tgz"; + sha1 = "76843a2da80d587b75dcbcc1634c6f3968a2af17"; }) ]; buildInputs = @@ -10963,11 +13614,11 @@ ]; passthru.names = [ "plist-native" ]; }; - "plist-native" = self.by-version."plist-native"."0.2.2"; + "plist-native" = self.by-version."plist-native"."0.2.3"; by-spec."policyfile"."0.0.4" = self.by-version."policyfile"."0.0.4"; by-version."policyfile"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "policyfile-0.0.4"; + name = "node-policyfile-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz"; @@ -10986,7 +13637,7 @@ by-spec."posix"."*" = self.by-version."posix"."1.0.3"; by-version."posix"."1.0.3" = lib.makeOverridable self.buildNodePackage { - name = "posix-1.0.3"; + name = "node-posix-1.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/posix/-/posix-1.0.3.tgz"; @@ -11006,7 +13657,7 @@ by-spec."posix-getopt"."1.0.0" = self.by-version."posix-getopt"."1.0.0"; by-version."posix-getopt"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "posix-getopt-1.0.0"; + name = "node-posix-getopt-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz"; @@ -11022,10 +13673,67 @@ ]; passthru.names = [ "posix-getopt" ]; }; + by-spec."pretty-bytes"."^0.1.0" = + self.by-version."pretty-bytes"."0.1.0"; + by-version."pretty-bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "pretty-bytes-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.0.tgz"; + name = "pretty-bytes-0.1.0.tgz"; + sha1 = "2cad1cdd7838fe59018ae5e0ccf7cae741942f8e"; + }) + ]; + buildInputs = + (self.nativeDeps."pretty-bytes" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "pretty-bytes" ]; + }; + by-spec."process"."~0.5.1" = + self.by-version."process"."0.5.2"; + by-version."process"."0.5.2" = lib.makeOverridable self.buildNodePackage { + name = "node-process-0.5.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/process/-/process-0.5.2.tgz"; + name = "process-0.5.2.tgz"; + sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf"; + }) + ]; + buildInputs = + (self.nativeDeps."process" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "process" ]; + }; + by-spec."process"."~0.6.0" = + self.by-version."process"."0.6.0"; + by-version."process"."0.6.0" = lib.makeOverridable self.buildNodePackage { + name = "node-process-0.6.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/process/-/process-0.6.0.tgz"; + name = "process-0.6.0.tgz"; + sha1 = "7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f"; + }) + ]; + buildInputs = + (self.nativeDeps."process" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "process" ]; + }; by-spec."promise"."~2.0" = self.by-version."promise"."2.0.0"; by-version."promise"."2.0.0" = lib.makeOverridable self.buildNodePackage { - name = "promise-2.0.0"; + name = "node-promise-2.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz"; @@ -11045,7 +13753,7 @@ by-spec."prompt"."0.2.11" = self.by-version."prompt"."0.2.11"; by-version."prompt"."0.2.11" = lib.makeOverridable self.buildNodePackage { - name = "prompt-0.2.11"; + name = "node-prompt-0.2.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz"; @@ -11069,7 +13777,7 @@ by-spec."promptly"."~0.2.0" = self.by-version."promptly"."0.2.0"; by-version."promptly"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "promptly-0.2.0"; + name = "node-promptly-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz"; @@ -11089,7 +13797,7 @@ by-spec."promzard"."~0.2.0" = self.by-version."promzard"."0.2.1"; by-version."promzard"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "promzard-0.2.1"; + name = "node-promzard-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/promzard/-/promzard-0.2.1.tgz"; @@ -11109,7 +13817,7 @@ by-spec."proto-list"."~1.2.1" = self.by-version."proto-list"."1.2.2"; by-version."proto-list"."1.2.2" = lib.makeOverridable self.buildNodePackage { - name = "proto-list-1.2.2"; + name = "node-proto-list-1.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz"; @@ -11126,14 +13834,14 @@ passthru.names = [ "proto-list" ]; }; by-spec."protobufjs".">= 1.1.4" = - self.by-version."protobufjs"."2.0.3"; - by-version."protobufjs"."2.0.3" = lib.makeOverridable self.buildNodePackage { - name = "protobufjs-2.0.3"; + self.by-version."protobufjs"."2.0.5"; + by-version."protobufjs"."2.0.5" = lib.makeOverridable self.buildNodePackage { + name = "protobufjs-2.0.5"; src = [ (self.patchSource fetchurl { - url = "http://registry.npmjs.org/protobufjs/-/protobufjs-2.0.3.tgz"; - name = "protobufjs-2.0.3.tgz"; - sha1 = "a33bfa95cee12b182ef08c6f3e0a0b296167a67f"; + url = "http://registry.npmjs.org/protobufjs/-/protobufjs-2.0.5.tgz"; + name = "protobufjs-2.0.5.tgz"; + sha1 = "7f351178c959b333d2327b773325ca4b2627a242"; }) ]; buildInputs = @@ -11149,7 +13857,7 @@ by-spec."ps-tree"."0.0.x" = self.by-version."ps-tree"."0.0.3"; by-version."ps-tree"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "ps-tree-0.0.3"; + name = "node-ps-tree-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz"; @@ -11167,14 +13875,33 @@ passthru.names = [ "ps-tree" ]; }; by-spec."punycode".">=0.2.0" = - self.by-version."punycode"."1.2.3"; - by-version."punycode"."1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "punycode-1.2.3"; + self.by-version."punycode"."1.2.4"; + by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage { + name = "node-punycode-1.2.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/punycode/-/punycode-1.2.3.tgz"; - name = "punycode-1.2.3.tgz"; - sha1 = "b4e304471082d783c73b3bafabf2fd9b6a486266"; + url = "http://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"; + name = "punycode-1.2.4.tgz"; + sha1 = "54008ac972aec74175def9cba6df7fa9d3918740"; + }) + ]; + buildInputs = + (self.nativeDeps."punycode" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "punycode" ]; + }; + by-spec."punycode".">=1.0.0 <1.1.0" = + self.by-version."punycode"."1.0.0"; + by-version."punycode"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-punycode-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/punycode/-/punycode-1.0.0.tgz"; + name = "punycode-1.0.0.tgz"; + sha1 = "ce9e6c6e9c1db5827174fceb12ff4938700a1bd3"; }) ]; buildInputs = @@ -11186,21 +13913,43 @@ passthru.names = [ "punycode" ]; }; by-spec."punycode"."~1.2.3" = - self.by-version."punycode"."1.2.3"; + self.by-version."punycode"."1.2.4"; + by-spec."pure-css"."git://github.com/yui/pure.git#v0.5.0-rc-1" = + self.by-version."pure-css"."0.5.0-rc-1"; + by-version."pure-css"."0.5.0-rc-1" = lib.makeOverridable self.buildNodePackage { + name = "node-pure-0.5.0-rc-1"; + src = [ + (fetchgit { + url = "git://github.com/yui/pure.git"; + rev = "f5ce3ae4b48ce252adac7b6ddac50c9518729a2d"; + sha256 = "049ac2ef812771852978d11cd5aecac2dd561e97bb16ad89c79eb1e10aa57672"; + }) + ]; + buildInputs = + (self.nativeDeps."pure" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "pure" ]; + }; + "pure-css" = self.by-version."pure-css"."0.5.0-rc-1"; by-spec."q".">= 0.0.1" = - self.by-version."q"."1.0.0"; - by-version."q"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "q-1.0.0"; + self.by-version."q"."2.0.1"; + by-version."q"."2.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-q-2.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/q/-/q-1.0.0.tgz"; - name = "q-1.0.0.tgz"; - sha1 = "dc1f92c4587be54f7853b29dc28e6d243a88498d"; + url = "http://registry.npmjs.org/q/-/q-2.0.1.tgz"; + name = "q-2.0.1.tgz"; + sha1 = "ae9dc1edd970e72820a1ca716ecc1b0fc96c1c5a"; }) ]; buildInputs = (self.nativeDeps."q" or []); deps = [ + self.by-version."asap"."1.0.0" + self.by-version."collections"."2.0.1" ]; peerDependencies = [ ]; @@ -11209,7 +13958,7 @@ by-spec."q"."~0.9.2" = self.by-version."q"."0.9.7"; by-version."q"."0.9.7" = lib.makeOverridable self.buildNodePackage { - name = "q-0.9.7"; + name = "node-q-0.9.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/q/-/q-0.9.7.tgz"; @@ -11229,10 +13978,29 @@ self.by-version."q"."0.9.7"; by-spec."q"."~0.9.7" = self.by-version."q"."0.9.7"; + by-spec."q"."~1.0.0" = + self.by-version."q"."1.0.1"; + by-version."q"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-q-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/q/-/q-1.0.1.tgz"; + name = "q-1.0.1.tgz"; + sha1 = "11872aeedee89268110b10a718448ffb10112a14"; + }) + ]; + buildInputs = + (self.nativeDeps."q" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "q" ]; + }; by-spec."qs"."0.4.2" = self.by-version."qs"."0.4.2"; by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.4.2"; + name = "node-qs-0.4.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz"; @@ -11253,7 +14021,7 @@ by-spec."qs"."0.5.1" = self.by-version."qs"."0.5.1"; by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.5.1"; + name = "node-qs-0.5.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz"; @@ -11272,7 +14040,7 @@ by-spec."qs"."0.5.2" = self.by-version."qs"."0.5.2"; by-version."qs"."0.5.2" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.5.2"; + name = "node-qs-0.5.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.5.2.tgz"; @@ -11291,7 +14059,7 @@ by-spec."qs"."0.5.5" = self.by-version."qs"."0.5.5"; by-version."qs"."0.5.5" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.5.5"; + name = "node-qs-0.5.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz"; @@ -11310,7 +14078,7 @@ by-spec."qs"."0.6.5" = self.by-version."qs"."0.6.5"; by-version."qs"."0.6.5" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.6.5"; + name = "node-qs-0.6.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz"; @@ -11329,7 +14097,7 @@ by-spec."qs"."0.6.6" = self.by-version."qs"."0.6.6"; by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.6.6"; + name = "node-qs-0.6.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz"; @@ -11350,7 +14118,7 @@ by-spec."qs"."~0.5.0" = self.by-version."qs"."0.5.6"; by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage { - name = "qs-0.5.6"; + name = "node-qs-0.5.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz"; @@ -11370,10 +14138,50 @@ self.by-version."qs"."0.5.6"; by-spec."qs"."~0.6.0" = self.by-version."qs"."0.6.6"; + by-spec."qs"."~0.6.6" = + self.by-version."qs"."0.6.6"; + by-spec."querystring".">=0.1.0 <0.2.0" = + self.by-version."querystring"."0.1.0"; + by-version."querystring"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-querystring-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/querystring/-/querystring-0.1.0.tgz"; + name = "querystring-0.1.0.tgz"; + sha1 = "cb76a26cda0a10a94163fcdb3e132827f04b7b10"; + }) + ]; + buildInputs = + (self.nativeDeps."querystring" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "querystring" ]; + }; + by-spec."querystring-es3"."0.2.0" = + self.by-version."querystring-es3"."0.2.0"; + by-version."querystring-es3"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-querystring-es3-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.0.tgz"; + name = "querystring-es3-0.2.0.tgz"; + sha1 = "c365a08a69c443accfeb3a9deab35e3f0abaa476"; + }) + ]; + buildInputs = + (self.nativeDeps."querystring-es3" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "querystring-es3" ]; + }; by-spec."rai"."~0.1" = self.by-version."rai"."0.1.9"; by-version."rai"."0.1.9" = lib.makeOverridable self.buildNodePackage { - name = "rai-0.1.9"; + name = "node-rai-0.1.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/rai/-/rai-0.1.9.tgz"; @@ -11392,7 +14200,7 @@ by-spec."range-parser"."0.0.4" = self.by-version."range-parser"."0.0.4"; by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "range-parser-0.0.4"; + name = "node-range-parser-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz"; @@ -11408,22 +14216,45 @@ ]; passthru.names = [ "range-parser" ]; }; - by-spec."raven"."~0.6.0" = - self.by-version."raven"."0.6.0"; - by-version."raven"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "raven-0.6.0"; + by-spec."range-parser"."1.0.0" = + self.by-version."range-parser"."1.0.0"; + by-version."range-parser"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-range-parser-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/raven/-/raven-0.6.0.tgz"; - name = "raven-0.6.0.tgz"; - sha1 = "440aa58143e95760cb7b73b7b23b3429ca9b5576"; + url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz"; + name = "range-parser-1.0.0.tgz"; + sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0"; + }) + ]; + buildInputs = + (self.nativeDeps."range-parser" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "range-parser" ]; + }; + by-spec."range-parser"."~1.0.0" = + self.by-version."range-parser"."1.0.0"; + by-spec."raven"."~0.6.3" = + self.by-version."raven"."0.6.3"; + by-version."raven"."0.6.3" = lib.makeOverridable self.buildNodePackage { + name = "raven-0.6.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/raven/-/raven-0.6.3.tgz"; + name = "raven-0.6.3.tgz"; + sha1 = "3e7c72d45e0dff93ecc54978661331755c637320"; }) ]; buildInputs = (self.nativeDeps."raven" or []); deps = [ - self.by-version."node-uuid"."1.4.0" - self.by-version."raw-stacktrace"."1.0.0" + self.by-version."node-uuid"."1.4.1" + self.by-version."stack-trace"."0.0.7" + self.by-version."lsmod"."0.0.3" + self.by-version."cookie"."0.1.0" ]; peerDependencies = [ ]; @@ -11432,7 +14263,7 @@ by-spec."raw-body"."0.0.3" = self.by-version."raw-body"."0.0.3"; by-version."raw-body"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "raw-body-0.0.3"; + name = "node-raw-body-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz"; @@ -11451,7 +14282,7 @@ by-spec."raw-body"."1.1.2" = self.by-version."raw-body"."1.1.2"; by-version."raw-body"."1.1.2" = lib.makeOverridable self.buildNodePackage { - name = "raw-body-1.1.2"; + name = "node-raw-body-1.1.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz"; @@ -11468,10 +14299,32 @@ ]; passthru.names = [ "raw-body" ]; }; + by-spec."raw-body"."1.1.3" = + self.by-version."raw-body"."1.1.3"; + by-version."raw-body"."1.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-raw-body-1.1.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.3.tgz"; + name = "raw-body-1.1.3.tgz"; + sha1 = "3d2f91e2449259cc67b8c3ce9f061db5b987935b"; + }) + ]; + buildInputs = + (self.nativeDeps."raw-body" or []); + deps = [ + self.by-version."bytes"."0.2.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "raw-body" ]; + }; + by-spec."raw-body"."~1.1.2" = + self.by-version."raw-body"."1.1.3"; by-spec."raw-socket"."*" = self.by-version."raw-socket"."1.2.2"; by-version."raw-socket"."1.2.2" = lib.makeOverridable self.buildNodePackage { - name = "raw-socket-1.2.2"; + name = "node-raw-socket-1.2.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz"; @@ -11487,31 +14340,10 @@ ]; passthru.names = [ "raw-socket" ]; }; - by-spec."raw-stacktrace"."1.0.0" = - self.by-version."raw-stacktrace"."1.0.0"; - by-version."raw-stacktrace"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "raw-stacktrace-1.0.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/raw-stacktrace/-/raw-stacktrace-1.0.0.tgz"; - name = "raw-stacktrace-1.0.0.tgz"; - sha1 = "f308881f17667785a9acd7c8fbd442e1b2acf1db"; - }) - ]; - buildInputs = - (self.nativeDeps."raw-stacktrace" or []); - deps = [ - self.by-version."traceback"."0.3.0" - self.by-version."underscore"."1.5.2" - ]; - peerDependencies = [ - ]; - passthru.names = [ "raw-stacktrace" ]; - }; by-spec."rbytes"."*" = self.by-version."rbytes"."1.0.0"; by-version."rbytes"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "rbytes-1.0.0"; + name = "node-rbytes-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz"; @@ -11529,33 +14361,54 @@ }; "rbytes" = self.by-version."rbytes"."1.0.0"; by-spec."rc"."~0.3.0" = - self.by-version."rc"."0.3.2"; - by-version."rc"."0.3.2" = lib.makeOverridable self.buildNodePackage { - name = "rc-0.3.2"; + self.by-version."rc"."0.3.4"; + by-version."rc"."0.3.4" = lib.makeOverridable self.buildNodePackage { + name = "rc-0.3.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/rc/-/rc-0.3.2.tgz"; - name = "rc-0.3.2.tgz"; - sha1 = "cd8f895690f764621ccec110516b225286e8f69f"; + url = "http://registry.npmjs.org/rc/-/rc-0.3.4.tgz"; + name = "rc-0.3.4.tgz"; + sha1 = "01101660fb38363c22afbddfad46ecdb92b42df9"; }) ]; buildInputs = (self.nativeDeps."rc" or []); deps = [ - self.by-version."optimist"."0.3.7" - self.by-version."deep-extend"."0.2.6" + self.by-version."minimist"."0.0.8" + self.by-version."deep-extend"."0.2.8" self.by-version."ini"."1.1.0" ]; peerDependencies = [ ]; passthru.names = [ "rc" ]; }; - by-spec."rc"."~0.3.1" = - self.by-version."rc"."0.3.2"; + by-spec."rc"."~0.3.4" = + self.by-version."rc"."0.3.4"; + by-spec."react"."*" = + self.by-version."react"."0.10.0"; + by-version."react"."0.10.0" = lib.makeOverridable self.buildNodePackage { + name = "node-react-0.10.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/react/-/react-0.10.0.tgz"; + name = "react-0.10.0.tgz"; + sha1 = "8c82753593d3f325ca99d820f7400ab02f1ee1f8"; + }) + ]; + buildInputs = + (self.nativeDeps."react" or []); + deps = [ + ]; + peerDependencies = [ + self.by-version."envify"."1.2.1" + ]; + passthru.names = [ "react" ]; + }; + "react" = self.by-version."react"."0.10.0"; by-spec."read"."1" = self.by-version."read"."1.0.5"; by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage { - name = "read-1.0.5"; + name = "node-read-1.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/read/-/read-1.0.5.tgz"; @@ -11578,127 +14431,112 @@ self.by-version."read"."1.0.5"; by-spec."read"."~1.0.4" = self.by-version."read"."1.0.5"; - by-spec."read-installed"."0.2.2" = - self.by-version."read-installed"."0.2.2"; - by-version."read-installed"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "read-installed-0.2.2"; + by-spec."read-installed"."~2.0.1" = + self.by-version."read-installed"."2.0.2"; + by-version."read-installed"."2.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-read-installed-2.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.2.tgz"; - name = "read-installed-0.2.2.tgz"; - sha1 = "f570ac84fb29c75f16faa3940a8c1e602c8eecab"; + url = "http://registry.npmjs.org/read-installed/-/read-installed-2.0.2.tgz"; + name = "read-installed-2.0.2.tgz"; + sha1 = "e69e7e1946af932b2fa454465639ebea4d63773c"; }) ]; buildInputs = (self.nativeDeps."read-installed" or []); deps = [ + self.by-version."read-package-json"."1.1.8" self.by-version."semver"."2.2.1" self.by-version."slide"."1.1.5" - self.by-version."read-package-json"."1.1.5" - self.by-version."graceful-fs"."1.2.3" - ]; - peerDependencies = [ - ]; - passthru.names = [ "read-installed" ]; - }; - by-spec."read-installed"."~0.2.2" = - self.by-version."read-installed"."0.2.5"; - by-version."read-installed"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "read-installed-0.2.5"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.5.tgz"; - name = "read-installed-0.2.5.tgz"; - sha1 = "134df8b326d8b54b11e18f7dd8c81bf5e976ef86"; - }) - ]; - buildInputs = - (self.nativeDeps."read-installed" or []); - deps = [ - self.by-version."semver"."2.2.1" - self.by-version."slide"."1.1.5" - self.by-version."read-package-json"."1.1.5" - self.by-version."graceful-fs"."2.0.1" + self.by-version."util-extend"."1.0.1" + self.by-version."graceful-fs"."2.0.3" ]; peerDependencies = [ ]; passthru.names = [ "read-installed" ]; }; by-spec."read-package-json"."1" = - self.by-version."read-package-json"."1.1.5"; - by-version."read-package-json"."1.1.5" = lib.makeOverridable self.buildNodePackage { - name = "read-package-json-1.1.5"; + self.by-version."read-package-json"."1.1.8"; + by-version."read-package-json"."1.1.8" = lib.makeOverridable self.buildNodePackage { + name = "node-read-package-json-1.1.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.5.tgz"; - name = "read-package-json-1.1.5.tgz"; - sha1 = "f6a7a5820cc958ff02495badc55f7fe49a7677a1"; + url = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.8.tgz"; + name = "read-package-json-1.1.8.tgz"; + sha1 = "234928819444283fd63f9d93ce03ba00668e94f9"; }) ]; buildInputs = (self.nativeDeps."read-package-json" or []); deps = [ - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" self.by-version."lru-cache"."2.5.0" - self.by-version."normalize-package-data"."0.2.8" - self.by-version."graceful-fs"."2.0.1" + self.by-version."normalize-package-data"."0.2.12" + self.by-version."graceful-fs"."2.0.3" ]; peerDependencies = [ ]; passthru.names = [ "read-package-json" ]; }; - by-spec."read-package-json"."~1.1.4" = - self.by-version."read-package-json"."1.1.5"; + by-spec."read-package-json"."~1.1.8" = + self.by-version."read-package-json"."1.1.8"; by-spec."readable-stream"."1.0" = - self.by-version."readable-stream"."1.0.24"; - by-version."readable-stream"."1.0.24" = lib.makeOverridable self.buildNodePackage { - name = "readable-stream-1.0.24"; + self.by-version."readable-stream"."1.0.26"; + by-version."readable-stream"."1.0.26" = lib.makeOverridable self.buildNodePackage { + name = "node-readable-stream-1.0.26"; src = [ (fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.24.tgz"; - name = "readable-stream-1.0.24.tgz"; - sha1 = "b5659d5772cd06992dffe5a3bee2eec480f1c2fe"; + url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz"; + name = "readable-stream-1.0.26.tgz"; + sha1 = "12a9c4415f6a85374abe18b7831ba52d43105766"; }) ]; buildInputs = (self.nativeDeps."readable-stream" or []); deps = [ + self.by-version."string_decoder"."0.10.25" ]; peerDependencies = [ ]; passthru.names = [ "readable-stream" ]; }; by-spec."readable-stream"."1.1" = - self.by-version."readable-stream"."1.1.10"; - by-version."readable-stream"."1.1.10" = lib.makeOverridable self.buildNodePackage { - name = "readable-stream-1.1.10"; + self.by-version."readable-stream"."1.1.12"; + by-version."readable-stream"."1.1.12" = lib.makeOverridable self.buildNodePackage { + name = "node-readable-stream-1.1.12"; src = [ (fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.10.tgz"; - name = "readable-stream-1.1.10.tgz"; - sha1 = "c616cbc30aa586724b7401c37de33b0b5c0c6429"; + url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.12.tgz"; + name = "readable-stream-1.1.12.tgz"; + sha1 = "960d442bbf5f6690b6b20550413931021af8e506"; }) ]; buildInputs = (self.nativeDeps."readable-stream" or []); deps = [ self.by-version."core-util-is"."1.0.1" - self.by-version."debuglog"."0.0.2" + self.by-version."isarray"."0.0.1" + self.by-version."string_decoder"."0.10.25" + self.by-version."inherits"."2.0.1" ]; peerDependencies = [ ]; passthru.names = [ "readable-stream" ]; }; + by-spec."readable-stream"."~1.0.17" = + self.by-version."readable-stream"."1.0.26"; by-spec."readable-stream"."~1.0.2" = - self.by-version."readable-stream"."1.0.24"; + self.by-version."readable-stream"."1.0.26"; + by-spec."readable-stream"."~1.0.24" = + self.by-version."readable-stream"."1.0.26"; by-spec."readable-stream"."~1.1.8" = - self.by-version."readable-stream"."1.1.10"; + self.by-version."readable-stream"."1.1.12"; by-spec."readable-stream"."~1.1.9" = - self.by-version."readable-stream"."1.1.10"; + self.by-version."readable-stream"."1.1.12"; by-spec."readdirp"."~0.2.3" = self.by-version."readdirp"."0.2.5"; by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "readdirp-0.2.5"; + name = "node-readdirp-0.2.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz"; @@ -11715,15 +14553,56 @@ ]; passthru.names = [ "readdirp" ]; }; - by-spec."redeyed"."~0.4.0" = - self.by-version."redeyed"."0.4.2"; - by-version."redeyed"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "redeyed-0.4.2"; + by-spec."readline2"."~0.1.0" = + self.by-version."readline2"."0.1.0"; + by-version."readline2"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-readline2-0.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.2.tgz"; - name = "redeyed-0.4.2.tgz"; - sha1 = "f0133b990cb972bdbcf2d2dce0aec36595f419bc"; + url = "http://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz"; + name = "readline2-0.1.0.tgz"; + sha1 = "6a272ef89731225b448e4c6799b6e50d5be12b98"; + }) + ]; + buildInputs = + (self.nativeDeps."readline2" or []); + deps = [ + self.by-version."mute-stream"."0.0.4" + self.by-version."lodash"."2.4.1" + self.by-version."chalk"."0.4.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "readline2" ]; + }; + by-spec."recursive-readdir"."0.0.2" = + self.by-version."recursive-readdir"."0.0.2"; + by-version."recursive-readdir"."0.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-recursive-readdir-0.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz"; + name = "recursive-readdir-0.0.2.tgz"; + sha1 = "0bc47dc4838e646dccfba0507b5e57ffbff35f7c"; + }) + ]; + buildInputs = + (self.nativeDeps."recursive-readdir" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "recursive-readdir" ]; + }; + by-spec."redeyed"."~0.4.0" = + self.by-version."redeyed"."0.4.4"; + by-version."redeyed"."0.4.4" = lib.makeOverridable self.buildNodePackage { + name = "node-redeyed-0.4.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz"; + name = "redeyed-0.4.4.tgz"; + sha1 = "37e990a6f2b21b2a11c2e6a48fd4135698cba97f"; }) ]; buildInputs = @@ -11736,14 +14615,14 @@ passthru.names = [ "redeyed" ]; }; by-spec."redis"."*" = - self.by-version."redis"."0.10.0"; - by-version."redis"."0.10.0" = lib.makeOverridable self.buildNodePackage { - name = "redis-0.10.0"; + self.by-version."redis"."0.10.1"; + by-version."redis"."0.10.1" = lib.makeOverridable self.buildNodePackage { + name = "node-redis-0.10.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/redis/-/redis-0.10.0.tgz"; - name = "redis-0.10.0.tgz"; - sha1 = "76864475f71a745cbc3bbb27d794a6d01a96505c"; + url = "http://registry.npmjs.org/redis/-/redis-0.10.1.tgz"; + name = "redis-0.10.1.tgz"; + sha1 = "4f09258931d961377239fdbd495e1d99a263a8ec"; }) ]; buildInputs = @@ -11754,11 +14633,11 @@ ]; passthru.names = [ "redis" ]; }; - "redis" = self.by-version."redis"."0.10.0"; + "redis" = self.by-version."redis"."0.10.1"; by-spec."redis"."0.7.2" = self.by-version."redis"."0.7.2"; by-version."redis"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "redis-0.7.2"; + name = "node-redis-0.7.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz"; @@ -11778,7 +14657,7 @@ by-spec."redis"."0.7.3" = self.by-version."redis"."0.7.3"; by-version."redis"."0.7.3" = lib.makeOverridable self.buildNodePackage { - name = "redis-0.7.3"; + name = "node-redis-0.7.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz"; @@ -11797,7 +14676,7 @@ by-spec."redis"."0.8.x" = self.by-version."redis"."0.8.6"; by-version."redis"."0.8.6" = lib.makeOverridable self.buildNodePackage { - name = "redis-0.8.6"; + name = "node-redis-0.8.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/redis/-/redis-0.8.6.tgz"; @@ -11813,24 +14692,24 @@ ]; passthru.names = [ "redis" ]; }; - by-spec."redis".">= 0.6.6" = - self.by-version."redis"."0.10.0"; - by-spec."reds"."0.1.4" = - self.by-version."reds"."0.1.4"; - by-version."reds"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "reds-0.1.4"; + by-spec."redis"."~0.10.0" = + self.by-version."redis"."0.10.1"; + by-spec."reds"."~0.2.4" = + self.by-version."reds"."0.2.4"; + by-version."reds"."0.2.4" = lib.makeOverridable self.buildNodePackage { + name = "node-reds-0.2.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz"; - name = "reds-0.1.4.tgz"; - sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee"; + url = "http://registry.npmjs.org/reds/-/reds-0.2.4.tgz"; + name = "reds-0.2.4.tgz"; + sha1 = "a82dcaaa52319635bc6eee3ef9c1ac074411de3c"; }) ]; buildInputs = (self.nativeDeps."reds" or []); deps = [ - self.by-version."natural"."0.0.69" - self.by-version."redis"."0.10.0" + self.by-version."natural"."0.1.17" + self.by-version."redis"."0.7.2" ]; peerDependencies = [ ]; @@ -11839,7 +14718,7 @@ by-spec."reduce-component"."1.0.1" = self.by-version."reduce-component"."1.0.1"; by-version."reduce-component"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "reduce-component-1.0.1"; + name = "node-reduce-component-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz"; @@ -11858,7 +14737,7 @@ by-spec."regexp-clone"."0.0.1" = self.by-version."regexp-clone"."0.0.1"; by-version."regexp-clone"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "regexp-clone-0.0.1"; + name = "node-regexp-clone-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz"; @@ -11875,14 +14754,14 @@ passthru.names = [ "regexp-clone" ]; }; by-spec."replace"."~0.2.4" = - self.by-version."replace"."0.2.7"; - by-version."replace"."0.2.7" = lib.makeOverridable self.buildNodePackage { - name = "replace-0.2.7"; + self.by-version."replace"."0.2.9"; + by-version."replace"."0.2.9" = lib.makeOverridable self.buildNodePackage { + name = "replace-0.2.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/replace/-/replace-0.2.7.tgz"; - name = "replace-0.2.7.tgz"; - sha1 = "e22d08a9e2e6764337bb530166a4dd89c2558fda"; + url = "http://registry.npmjs.org/replace/-/replace-0.2.9.tgz"; + name = "replace-0.2.9.tgz"; + sha1 = "64428de4451717e8cc34965d2d133dd86dace404"; }) ]; buildInputs = @@ -11897,14 +14776,14 @@ passthru.names = [ "replace" ]; }; by-spec."request"."2" = - self.by-version."request"."2.31.0"; - by-version."request"."2.31.0" = lib.makeOverridable self.buildNodePackage { - name = "request-2.31.0"; + self.by-version."request"."2.34.0"; + by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage { + name = "node-request-2.34.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.31.0.tgz"; - name = "request-2.31.0.tgz"; - sha1 = "4c8ac967c9a4b9410cb4ba1a61fdb644267eeeff"; + url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz"; + name = "request-2.34.0.tgz"; + sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae"; }) ]; buildInputs = @@ -11912,10 +14791,10 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."node-uuid"."1.4.1" self.by-version."mime"."1.2.11" - self.by-version."tough-cookie"."0.9.15" + self.by-version."tough-cookie"."0.12.1" self.by-version."form-data"."0.1.2" self.by-version."tunnel-agent"."0.3.0" self.by-version."http-signature"."0.10.0" @@ -11928,13 +14807,13 @@ passthru.names = [ "request" ]; }; by-spec."request"."2 >=2.20.0" = - self.by-version."request"."2.31.0"; + self.by-version."request"."2.34.0"; by-spec."request"."2 >=2.25.0" = - self.by-version."request"."2.31.0"; + self.by-version."request"."2.34.0"; by-spec."request"."2.16.2" = self.by-version."request"."2.16.2"; by-version."request"."2.16.2" = lib.makeOverridable self.buildNodePackage { - name = "request-2.16.2"; + name = "node-request-2.16.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/request/-/request-2.16.2.tgz"; @@ -11964,7 +14843,7 @@ by-spec."request"."2.16.x" = self.by-version."request"."2.16.6"; by-version."request"."2.16.6" = lib.makeOverridable self.buildNodePackage { - name = "request-2.16.6"; + name = "node-request-2.16.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/request/-/request-2.16.6.tgz"; @@ -11994,7 +14873,7 @@ by-spec."request"."2.9.x" = self.by-version."request"."2.9.203"; by-version."request"."2.9.203" = lib.makeOverridable self.buildNodePackage { - name = "request-2.9.203"; + name = "node-request-2.9.203"; src = [ (fetchurl { url = "http://registry.npmjs.org/request/-/request-2.9.203.tgz"; @@ -12010,76 +14889,16 @@ ]; passthru.names = [ "request" ]; }; - by-spec."request".">=2.12.0" = - self.by-version."request"."2.31.0"; + by-spec."request".">=2.33.0" = + self.by-version."request"."2.34.0"; + by-spec."request"."^2.34.0" = + self.by-version."request"."2.34.0"; by-spec."request"."~2" = - self.by-version."request"."2.31.0"; - by-spec."request"."~2.21.0" = - self.by-version."request"."2.21.0"; - by-version."request"."2.21.0" = lib.makeOverridable self.buildNodePackage { - name = "request-2.21.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.21.0.tgz"; - name = "request-2.21.0.tgz"; - sha1 = "5728ab9c45e5a87c99daccd530298b6673a868d7"; - }) - ]; - buildInputs = - (self.nativeDeps."request" or []); - deps = [ - self.by-version."qs"."0.6.6" - self.by-version."json-stringify-safe"."4.0.0" - self.by-version."forever-agent"."0.5.0" - self.by-version."tunnel-agent"."0.3.0" - self.by-version."http-signature"."0.9.11" - self.by-version."hawk"."0.13.1" - self.by-version."aws-sign"."0.3.0" - self.by-version."oauth-sign"."0.3.0" - self.by-version."cookie-jar"."0.3.0" - self.by-version."node-uuid"."1.4.1" - self.by-version."mime"."1.2.11" - self.by-version."form-data"."0.0.8" - ]; - peerDependencies = [ - ]; - passthru.names = [ "request" ]; - }; - by-spec."request"."~2.25.0" = - self.by-version."request"."2.25.0"; - by-version."request"."2.25.0" = lib.makeOverridable self.buildNodePackage { - name = "request-2.25.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.25.0.tgz"; - name = "request-2.25.0.tgz"; - sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9"; - }) - ]; - buildInputs = - (self.nativeDeps."request" or []); - deps = [ - self.by-version."qs"."0.6.6" - self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" - self.by-version."tunnel-agent"."0.3.0" - self.by-version."http-signature"."0.10.0" - self.by-version."hawk"."1.0.0" - self.by-version."aws-sign"."0.3.0" - self.by-version."oauth-sign"."0.3.0" - self.by-version."cookie-jar"."0.3.0" - self.by-version."node-uuid"."1.4.1" - self.by-version."mime"."1.2.11" - self.by-version."form-data"."0.1.2" - ]; - peerDependencies = [ - ]; - passthru.names = [ "request" ]; - }; + self.by-version."request"."2.34.0"; by-spec."request"."~2.27.0" = self.by-version."request"."2.27.0"; by-version."request"."2.27.0" = lib.makeOverridable self.buildNodePackage { - name = "request-2.27.0"; + name = "node-request-2.27.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz"; @@ -12092,7 +14911,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."tunnel-agent"."0.3.0" self.by-version."http-signature"."0.10.0" self.by-version."hawk"."1.0.0" @@ -12110,7 +14929,7 @@ by-spec."request"."~2.30.0" = self.by-version."request"."2.30.0"; by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage { - name = "request-2.30.0"; + name = "node-request-2.30.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz"; @@ -12123,7 +14942,7 @@ deps = [ self.by-version."qs"."0.6.6" self.by-version."json-stringify-safe"."5.0.0" - self.by-version."forever-agent"."0.5.0" + self.by-version."forever-agent"."0.5.2" self.by-version."node-uuid"."1.4.1" self.by-version."mime"."1.2.11" self.by-version."tough-cookie"."0.9.15" @@ -12138,10 +14957,41 @@ ]; passthru.names = [ "request" ]; }; + by-spec."request"."~2.33.0" = + self.by-version."request"."2.33.0"; + by-version."request"."2.33.0" = lib.makeOverridable self.buildNodePackage { + name = "node-request-2.33.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/request/-/request-2.33.0.tgz"; + name = "request-2.33.0.tgz"; + sha1 = "5167878131726070ec633752ea230a2379dc65ff"; + }) + ]; + buildInputs = + (self.nativeDeps."request" or []); + deps = [ + self.by-version."qs"."0.6.6" + self.by-version."json-stringify-safe"."5.0.0" + self.by-version."forever-agent"."0.5.2" + self.by-version."node-uuid"."1.4.1" + self.by-version."mime"."1.2.11" + self.by-version."tough-cookie"."0.12.1" + self.by-version."form-data"."0.1.2" + self.by-version."tunnel-agent"."0.3.0" + self.by-version."http-signature"."0.10.0" + self.by-version."oauth-sign"."0.3.0" + self.by-version."hawk"."1.0.0" + self.by-version."aws-sign2"."0.5.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "request" ]; + }; by-spec."request-progress"."~0.3.0" = self.by-version."request-progress"."0.3.1"; by-version."request-progress"."0.3.1" = lib.makeOverridable self.buildNodePackage { - name = "request-progress-0.3.1"; + name = "node-request-progress-0.3.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz"; @@ -12161,7 +15011,7 @@ by-spec."request-replay"."~0.2.0" = self.by-version."request-replay"."0.2.0"; by-version."request-replay"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "request-replay-0.2.0"; + name = "node-request-replay-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz"; @@ -12179,14 +15029,14 @@ passthru.names = [ "request-replay" ]; }; by-spec."requirejs"."~2.1" = - self.by-version."requirejs"."2.1.10"; - by-version."requirejs"."2.1.10" = lib.makeOverridable self.buildNodePackage { - name = "requirejs-2.1.10"; + self.by-version."requirejs"."2.1.11"; + by-version."requirejs"."2.1.11" = lib.makeOverridable self.buildNodePackage { + name = "requirejs-2.1.11"; src = [ (fetchurl { - url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.10.tgz"; - name = "requirejs-2.1.10.tgz"; - sha1 = "1e1d7f608790e532a422c6199dad2abe15484b54"; + url = "http://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz"; + name = "requirejs-2.1.11.tgz"; + sha1 = "0eafaa6b46ca9b5b1e13406f119c020190a24442"; }) ]; buildInputs = @@ -12198,30 +15048,11 @@ passthru.names = [ "requirejs" ]; }; by-spec."requirejs"."~2.1.0" = - self.by-version."requirejs"."2.1.10"; - by-spec."resolve"."0.5.x" = - self.by-version."resolve"."0.5.1"; - by-version."resolve"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "resolve-0.5.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/resolve/-/resolve-0.5.1.tgz"; - name = "resolve-0.5.1.tgz"; - sha1 = "15e4a222c4236bcd4cf85454412c2d0fb6524576"; - }) - ]; - buildInputs = - (self.nativeDeps."resolve" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "resolve" ]; - }; - by-spec."resolve"."0.6.x" = + self.by-version."requirejs"."2.1.11"; + by-spec."resolve"."0.6.1" = self.by-version."resolve"."0.6.1"; by-version."resolve"."0.6.1" = lib.makeOverridable self.buildNodePackage { - name = "resolve-0.6.1"; + name = "node-resolve-0.6.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz"; @@ -12237,10 +15068,29 @@ ]; passthru.names = [ "resolve" ]; }; - by-spec."resolve"."~0.3.1" = + by-spec."resolve"."0.6.x" = + self.by-version."resolve"."0.6.2"; + by-version."resolve"."0.6.2" = lib.makeOverridable self.buildNodePackage { + name = "node-resolve-0.6.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/resolve/-/resolve-0.6.2.tgz"; + name = "resolve-0.6.2.tgz"; + sha1 = "7404e59e3c02980aa172272186521db3cf0a15f5"; + }) + ]; + buildInputs = + (self.nativeDeps."resolve" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "resolve" ]; + }; + by-spec."resolve"."~0.3.0" = self.by-version."resolve"."0.3.1"; by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage { - name = "resolve-0.3.1"; + name = "node-resolve-0.3.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz"; @@ -12256,6 +15106,31 @@ ]; passthru.names = [ "resolve" ]; }; + by-spec."resolve"."~0.3.1" = + self.by-version."resolve"."0.3.1"; + by-spec."resolve"."~0.6.0" = + self.by-version."resolve"."0.6.2"; + by-spec."resolve"."~0.6.1" = + self.by-version."resolve"."0.6.2"; + by-spec."response-time"."1.0.0" = + self.by-version."response-time"."1.0.0"; + by-version."response-time"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-response-time-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/response-time/-/response-time-1.0.0.tgz"; + name = "response-time-1.0.0.tgz"; + sha1 = "c2bc8d08f3c359f97eae1d6da86eead175fabdc9"; + }) + ]; + buildInputs = + (self.nativeDeps."response-time" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "response-time" ]; + }; by-spec."restify"."2.4.1" = self.by-version."restify"."2.4.1"; by-version."restify"."2.4.1" = lib.makeOverridable self.buildNodePackage { @@ -12293,30 +15168,30 @@ passthru.names = [ "restify" ]; }; by-spec."rethinkdb"."*" = - self.by-version."rethinkdb"."1.11.0-1"; - by-version."rethinkdb"."1.11.0-1" = lib.makeOverridable self.buildNodePackage { - name = "rethinkdb-1.11.0-1"; + self.by-version."rethinkdb"."1.12.0-0"; + by-version."rethinkdb"."1.12.0-0" = lib.makeOverridable self.buildNodePackage { + name = "node-rethinkdb-1.12.0-0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.11.0-1.tgz"; - name = "rethinkdb-1.11.0-1.tgz"; - sha1 = "beab3376b9efa9ecf7f2fbf39c58ce80c8bd5dfd"; + url = "http://registry.npmjs.org/rethinkdb/-/rethinkdb-1.12.0-0.tgz"; + name = "rethinkdb-1.12.0-0.tgz"; + sha1 = "cad01e869bd12dcd09f235c5ec8f5ccf26cc6f81"; }) ]; buildInputs = (self.nativeDeps."rethinkdb" or []); deps = [ - self.by-version."protobufjs"."2.0.3" + self.by-version."protobufjs"."2.0.5" ]; peerDependencies = [ ]; passthru.names = [ "rethinkdb" ]; }; - "rethinkdb" = self.by-version."rethinkdb"."1.11.0-1"; + "rethinkdb" = self.by-version."rethinkdb"."1.12.0-0"; by-spec."retry"."0.6.0" = self.by-version."retry"."0.6.0"; by-version."retry"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "retry-0.6.0"; + name = "node-retry-0.6.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz"; @@ -12337,7 +15212,7 @@ by-spec."revalidator"."0.1.x" = self.by-version."revalidator"."0.1.6"; by-version."revalidator"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "revalidator-0.1.6"; + name = "node-revalidator-0.1.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.6.tgz"; @@ -12353,10 +15228,33 @@ ]; passthru.names = [ "revalidator" ]; }; + by-spec."rfile"."~1.0" = + self.by-version."rfile"."1.0.0"; + by-version."rfile"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-rfile-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz"; + name = "rfile-1.0.0.tgz"; + sha1 = "59708cf90ca1e74c54c3cfc5c36fdb9810435261"; + }) + ]; + buildInputs = + (self.nativeDeps."rfile" or []); + deps = [ + self.by-version."callsite"."1.0.0" + self.by-version."resolve"."0.3.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "rfile" ]; + }; + by-spec."rfile"."~1.0.0" = + self.by-version."rfile"."1.0.0"; by-spec."rimraf"."1.x.x" = self.by-version."rimraf"."1.0.9"; by-version."rimraf"."1.0.9" = lib.makeOverridable self.buildNodePackage { - name = "rimraf-1.0.9"; + name = "node-rimraf-1.0.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz"; @@ -12373,14 +15271,14 @@ passthru.names = [ "rimraf" ]; }; by-spec."rimraf"."2" = - self.by-version."rimraf"."2.2.5"; - by-version."rimraf"."2.2.5" = lib.makeOverridable self.buildNodePackage { - name = "rimraf-2.2.5"; + self.by-version."rimraf"."2.2.6"; + by-version."rimraf"."2.2.6" = lib.makeOverridable self.buildNodePackage { + name = "rimraf-2.2.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.5.tgz"; - name = "rimraf-2.2.5.tgz"; - sha1 = "4e5c4f667b121afa806d0c5b58920996f9478aa0"; + url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz"; + name = "rimraf-2.2.6.tgz"; + sha1 = "c59597569b14d956ad29cacc42bdddf5f0ea4f4c"; }) ]; buildInputs = @@ -12392,13 +15290,15 @@ passthru.names = [ "rimraf" ]; }; by-spec."rimraf"."2.x.x" = - self.by-version."rimraf"."2.2.5"; + self.by-version."rimraf"."2.2.6"; + by-spec."rimraf"."^2.2.2" = + self.by-version."rimraf"."2.2.6"; by-spec."rimraf"."~2" = - self.by-version."rimraf"."2.2.5"; + self.by-version."rimraf"."2.2.6"; by-spec."rimraf"."~2.0.2" = self.by-version."rimraf"."2.0.3"; by-version."rimraf"."2.0.3" = lib.makeOverridable self.buildNodePackage { - name = "rimraf-2.0.3"; + name = "node-rimraf-2.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz"; @@ -12415,12 +15315,10 @@ ]; passthru.names = [ "rimraf" ]; }; - by-spec."rimraf"."~2.0.3" = - self.by-version."rimraf"."2.0.3"; by-spec."rimraf"."~2.1.4" = self.by-version."rimraf"."2.1.4"; by-version."rimraf"."2.1.4" = lib.makeOverridable self.buildNodePackage { - name = "rimraf-2.1.4"; + name = "node-rimraf-2.1.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz"; @@ -12438,26 +15336,49 @@ passthru.names = [ "rimraf" ]; }; by-spec."rimraf"."~2.2.0" = - self.by-version."rimraf"."2.2.5"; + self.by-version."rimraf"."2.2.6"; by-spec."rimraf"."~2.2.2" = - self.by-version."rimraf"."2.2.5"; + self.by-version."rimraf"."2.2.6"; by-spec."rimraf"."~2.2.5" = - self.by-version."rimraf"."2.2.5"; - by-spec."s3http"."*" = - self.by-version."s3http"."0.0.4"; - by-version."s3http"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "s3http-0.0.4"; + self.by-version."rimraf"."2.2.6"; + by-spec."rimraf"."~2.2.6" = + self.by-version."rimraf"."2.2.6"; + by-spec."ruglify"."~1.0.0" = + self.by-version."ruglify"."1.0.0"; + by-version."ruglify"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-ruglify-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/s3http/-/s3http-0.0.4.tgz"; - name = "s3http-0.0.4.tgz"; - sha1 = "e7cc4b7e9f9bacaa7ee3a5af81917fd0ca8ce8da"; + url = "http://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz"; + name = "ruglify-1.0.0.tgz"; + sha1 = "dc8930e2a9544a274301cc9972574c0d0986b675"; + }) + ]; + buildInputs = + (self.nativeDeps."ruglify" or []); + deps = [ + self.by-version."rfile"."1.0.0" + self.by-version."uglify-js"."2.2.5" + ]; + peerDependencies = [ + ]; + passthru.names = [ "ruglify" ]; + }; + by-spec."s3http"."*" = + self.by-version."s3http"."0.0.5"; + by-version."s3http"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "s3http-0.0.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz"; + name = "s3http-0.0.5.tgz"; + sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198"; }) ]; buildInputs = (self.nativeDeps."s3http" or []); deps = [ - self.by-version."aws-sdk"."1.17.2" + self.by-version."aws-sdk"."1.18.0" self.by-version."commander"."2.0.0" self.by-version."http-auth"."2.0.7" self.by-version."express"."3.4.4" @@ -12470,24 +15391,25 @@ ]; passthru.names = [ "s3http" ]; }; - "s3http" = self.by-version."s3http"."0.0.4"; - by-spec."sauce-connect-launcher"."~0.2.2" = - self.by-version."sauce-connect-launcher"."0.2.2"; - by-version."sauce-connect-launcher"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "sauce-connect-launcher-0.2.2"; + "s3http" = self.by-version."s3http"."0.0.5"; + by-spec."sauce-connect-launcher"."~0.4.0" = + self.by-version."sauce-connect-launcher"."0.4.2"; + by-version."sauce-connect-launcher"."0.4.2" = lib.makeOverridable self.buildNodePackage { + name = "node-sauce-connect-launcher-0.4.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.2.2.tgz"; - name = "sauce-connect-launcher-0.2.2.tgz"; - sha1 = "cfd951c8b488af38d384aef14920261482e2e05a"; + url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.4.2.tgz"; + name = "sauce-connect-launcher-0.4.2.tgz"; + sha1 = "a24b9fde59e3b29ca2011174c5c08ef8f74e44b9"; }) ]; buildInputs = (self.nativeDeps."sauce-connect-launcher" or []); deps = [ self.by-version."lodash"."1.3.1" - self.by-version."async"."0.2.9" - self.by-version."adm-zip"."0.4.3" + self.by-version."async"."0.2.10" + self.by-version."adm-zip"."0.4.4" + self.by-version."rimraf"."2.2.6" ]; peerDependencies = [ ]; @@ -12496,7 +15418,7 @@ by-spec."saucelabs"."~0.1.0" = self.by-version."saucelabs"."0.1.1"; by-version."saucelabs"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "saucelabs-0.1.1"; + name = "node-saucelabs-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz"; @@ -12515,7 +15437,7 @@ by-spec."sax"."0.5.x" = self.by-version."sax"."0.5.8"; by-version."sax"."0.5.8" = lib.makeOverridable self.buildNodePackage { - name = "sax-0.5.8"; + name = "node-sax-0.5.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz"; @@ -12534,7 +15456,7 @@ by-spec."sax".">=0.4.2" = self.by-version."sax"."0.6.0"; by-version."sax"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "sax-0.6.0"; + name = "node-sax-0.6.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/sax/-/sax-0.6.0.tgz"; @@ -12550,15 +15472,34 @@ ]; passthru.names = [ "sax" ]; }; - by-spec."selenium-webdriver"."*" = - self.by-version."selenium-webdriver"."2.39.0"; - by-version."selenium-webdriver"."2.39.0" = lib.makeOverridable self.buildNodePackage { - name = "selenium-webdriver-2.39.0"; + by-spec."scmp"."~0.0.3" = + self.by-version."scmp"."0.0.3"; + by-version."scmp"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-scmp-0.0.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.39.0.tgz"; - name = "selenium-webdriver-2.39.0.tgz"; - sha1 = "546225f2f4f53f1f490a3077e5f14092fad3d205"; + url = "http://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz"; + name = "scmp-0.0.3.tgz"; + sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073"; + }) + ]; + buildInputs = + (self.nativeDeps."scmp" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "scmp" ]; + }; + by-spec."selenium-webdriver"."*" = + self.by-version."selenium-webdriver"."2.41.0"; + by-version."selenium-webdriver"."2.41.0" = lib.makeOverridable self.buildNodePackage { + name = "node-selenium-webdriver-2.41.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.41.0.tgz"; + name = "selenium-webdriver-2.41.0.tgz"; + sha1 = "d084dfbc73bdf33aedc7d731eaab028affad7f16"; }) ]; buildInputs = @@ -12569,7 +15510,7 @@ ]; passthru.names = [ "selenium-webdriver" ]; }; - "selenium-webdriver" = self.by-version."selenium-webdriver"."2.39.0"; + "selenium-webdriver" = self.by-version."selenium-webdriver"."2.41.0"; by-spec."semver"."*" = self.by-version."semver"."2.2.1"; by-version."semver"."2.2.1" = lib.makeOverridable self.buildNodePackage { @@ -12683,23 +15624,23 @@ by-spec."semver"."~2.2.1" = self.by-version."semver"."2.2.1"; by-spec."send"."*" = - self.by-version."send"."0.1.4"; - by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "send-0.1.4"; + self.by-version."send"."0.2.0"; + by-version."send"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-send-0.2.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz"; - name = "send-0.1.4.tgz"; - sha1 = "be70d8d1be01de61821af13780b50345a4f71abd"; + url = "http://registry.npmjs.org/send/-/send-0.2.0.tgz"; + name = "send-0.2.0.tgz"; + sha1 = "067abf45cff8bffb29cbdb7439725b32388a2c58"; }) ]; buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."mime"."1.2.11" - self.by-version."fresh"."0.2.0" - self.by-version."range-parser"."0.0.4" + self.by-version."fresh"."0.2.2" + self.by-version."range-parser"."1.0.0" ]; peerDependencies = [ ]; @@ -12708,7 +15649,7 @@ by-spec."send"."0.0.3" = self.by-version."send"."0.0.3"; by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "send-0.0.3"; + name = "node-send-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz"; @@ -12719,7 +15660,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."mime"."1.2.6" self.by-version."fresh"."0.1.0" self.by-version."range-parser"."0.0.4" @@ -12731,7 +15672,7 @@ by-spec."send"."0.1.0" = self.by-version."send"."0.1.0"; by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "send-0.1.0"; + name = "node-send-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz"; @@ -12742,7 +15683,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."mime"."1.2.6" self.by-version."fresh"."0.1.0" self.by-version."range-parser"."0.0.4" @@ -12753,10 +15694,33 @@ }; by-spec."send"."0.1.4" = self.by-version."send"."0.1.4"; - by-spec."sequence"."*" = + by-version."send"."0.1.4" = lib.makeOverridable self.buildNodePackage { + name = "node-send-0.1.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/send/-/send-0.1.4.tgz"; + name = "send-0.1.4.tgz"; + sha1 = "be70d8d1be01de61821af13780b50345a4f71abd"; + }) + ]; + buildInputs = + (self.nativeDeps."send" or []); + deps = [ + self.by-version."debug"."0.8.1" + self.by-version."mime"."1.2.11" + self.by-version."fresh"."0.2.0" + self.by-version."range-parser"."0.0.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "send" ]; + }; + by-spec."send"."0.2.0" = + self.by-version."send"."0.2.0"; + by-spec."sequence"."2.2.1" = self.by-version."sequence"."2.2.1"; by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "sequence-2.2.1"; + name = "node-sequence-2.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz"; @@ -12772,12 +15736,115 @@ ]; passthru.names = [ "sequence" ]; }; - by-spec."sequence".">= 2.2.1" = + by-spec."sequence"."2.x" = self.by-version."sequence"."2.2.1"; + by-spec."serve-index"."1.0.1" = + self.by-version."serve-index"."1.0.1"; + by-version."serve-index"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-serve-index-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/serve-index/-/serve-index-1.0.1.tgz"; + name = "serve-index-1.0.1.tgz"; + sha1 = "2782ee8ede6cccaae54957962c4715e8ce1921a6"; + }) + ]; + buildInputs = + (self.nativeDeps."serve-index" or []); + deps = [ + self.by-version."batch"."0.5.0" + self.by-version."negotiator"."0.4.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "serve-index" ]; + }; + by-spec."serve-static"."1.0.1" = + self.by-version."serve-static"."1.0.1"; + by-version."serve-static"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-serve-static-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz"; + name = "serve-static-1.0.1.tgz"; + sha1 = "10dcbfd44b3e0291a131fc9ab4ab25a9f5a78a42"; + }) + ]; + buildInputs = + (self.nativeDeps."serve-static" or []); + deps = [ + self.by-version."send"."0.1.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "serve-static" ]; + }; + by-spec."serve-static"."1.0.2" = + self.by-version."serve-static"."1.0.2"; + by-version."serve-static"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-serve-static-1.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.2.tgz"; + name = "serve-static-1.0.2.tgz"; + sha1 = "4129f6727b09fb031134fa6d185683e30bfbef54"; + }) + ]; + buildInputs = + (self.nativeDeps."serve-static" or []); + deps = [ + self.by-version."send"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "serve-static" ]; + }; + by-spec."serve-static"."1.0.4" = + self.by-version."serve-static"."1.0.4"; + by-version."serve-static"."1.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-serve-static-1.0.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.4.tgz"; + name = "serve-static-1.0.4.tgz"; + sha1 = "426fedebe77bad21f373f1efcae09746639fba06"; + }) + ]; + buildInputs = + (self.nativeDeps."serve-static" or []); + deps = [ + self.by-version."parseurl"."1.0.1" + self.by-version."send"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "serve-static" ]; + }; + by-spec."serve-static"."~1.0.3" = + self.by-version."serve-static"."1.0.4"; + by-spec."setimmediate"."1.0.1" = + self.by-version."setimmediate"."1.0.1"; + by-version."setimmediate"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-setimmediate-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz"; + name = "setimmediate-1.0.1.tgz"; + sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7"; + }) + ]; + buildInputs = + (self.nativeDeps."setimmediate" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "setimmediate" ]; + }; by-spec."sha"."~1.2.1" = self.by-version."sha"."1.2.3"; by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage { - name = "sha-1.2.3"; + name = "node-sha-1.2.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/sha/-/sha-1.2.3.tgz"; @@ -12788,13 +15855,74 @@ buildInputs = (self.nativeDeps."sha" or []); deps = [ - self.by-version."graceful-fs"."2.0.1" - self.by-version."readable-stream"."1.0.24" + self.by-version."graceful-fs"."2.0.3" + self.by-version."readable-stream"."1.0.26" ]; peerDependencies = [ ]; passthru.names = [ "sha" ]; }; + by-spec."shallow-copy"."0.0.1" = + self.by-version."shallow-copy"."0.0.1"; + by-version."shallow-copy"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-shallow-copy-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz"; + name = "shallow-copy-0.0.1.tgz"; + sha1 = "415f42702d73d810330292cc5ee86eae1a11a170"; + }) + ]; + buildInputs = + (self.nativeDeps."shallow-copy" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "shallow-copy" ]; + }; + by-spec."shell-quote"."~0.0.1" = + self.by-version."shell-quote"."0.0.1"; + by-version."shell-quote"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-shell-quote-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz"; + name = "shell-quote-0.0.1.tgz"; + sha1 = "1a41196f3c0333c482323593d6886ecf153dd986"; + }) + ]; + buildInputs = + (self.nativeDeps."shell-quote" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "shell-quote" ]; + }; + by-spec."shell-quote"."~1.4.1" = + self.by-version."shell-quote"."1.4.1"; + by-version."shell-quote"."1.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-shell-quote-1.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/shell-quote/-/shell-quote-1.4.1.tgz"; + name = "shell-quote-1.4.1.tgz"; + sha1 = "ae18442b536a08c720239b079d2f228acbedee40"; + }) + ]; + buildInputs = + (self.nativeDeps."shell-quote" or []); + deps = [ + self.by-version."jsonify"."0.0.0" + self.by-version."array-filter"."0.0.1" + self.by-version."array-reduce"."0.0.0" + self.by-version."array-map"."0.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "shell-quote" ]; + }; by-spec."shelljs"."0.1.x" = self.by-version."shelljs"."0.1.4"; by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage { @@ -12814,8 +15942,6 @@ ]; passthru.names = [ "shelljs" ]; }; - by-spec."shelljs"."~0.1.4" = - self.by-version."shelljs"."0.1.4"; by-spec."shelljs"."~0.2.6" = self.by-version."shelljs"."0.2.6"; by-version."shelljs"."0.2.6" = lib.makeOverridable self.buildNodePackage { @@ -12836,14 +15962,14 @@ passthru.names = [ "shelljs" ]; }; by-spec."should"."*" = - self.by-version."should"."2.1.1"; - by-version."should"."2.1.1" = lib.makeOverridable self.buildNodePackage { - name = "should-2.1.1"; + self.by-version."should"."3.3.0"; + by-version."should"."3.3.0" = lib.makeOverridable self.buildNodePackage { + name = "node-should-3.3.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/should/-/should-2.1.1.tgz"; - name = "should-2.1.1.tgz"; - sha1 = "c648b13a8b464465c2f838ea0c93f12e4ae06c6b"; + url = "http://registry.npmjs.org/should/-/should-3.3.0.tgz"; + name = "should-3.3.0.tgz"; + sha1 = "88b1adeab97d8811e0e479e3b93d7f1c1bd5bbca"; }) ]; buildInputs = @@ -12854,11 +15980,11 @@ ]; passthru.names = [ "should" ]; }; - "should" = self.by-version."should"."2.1.1"; + "should" = self.by-version."should"."3.3.0"; by-spec."sigmund"."~1.0.0" = self.by-version."sigmund"."1.0.0"; by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "sigmund-1.0.0"; + name = "node-sigmund-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"; @@ -12877,7 +16003,7 @@ by-spec."signals"."<2.0" = self.by-version."signals"."1.0.0"; by-version."signals"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "signals-1.0.0"; + name = "node-signals-1.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/signals/-/signals-1.0.0.tgz"; @@ -12900,7 +16026,7 @@ by-spec."simple-lru-cache"."0.0.x" = self.by-version."simple-lru-cache"."0.0.1"; by-version."simple-lru-cache"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "simple-lru-cache-0.0.1"; + name = "node-simple-lru-cache-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.1.tgz"; @@ -12917,14 +16043,14 @@ passthru.names = [ "simple-lru-cache" ]; }; by-spec."simplesmtp".">= 0.1.22" = - self.by-version."simplesmtp"."0.3.18"; - by-version."simplesmtp"."0.3.18" = lib.makeOverridable self.buildNodePackage { - name = "simplesmtp-0.3.18"; + self.by-version."simplesmtp"."0.3.24"; + by-version."simplesmtp"."0.3.24" = lib.makeOverridable self.buildNodePackage { + name = "node-simplesmtp-0.3.24"; src = [ (fetchurl { - url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.18.tgz"; - name = "simplesmtp-0.3.18.tgz"; - sha1 = "54493d7d5b59b23b061b981655be8d001167a978"; + url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.24.tgz"; + name = "simplesmtp-0.3.24.tgz"; + sha1 = "7423226b0735a8dbf87c07c3888f33ba2135a0e7"; }) ]; buildInputs = @@ -12937,10 +16063,32 @@ ]; passthru.names = [ "simplesmtp" ]; }; + by-spec."slasp"."*" = + self.by-version."slasp"."0.0.3"; + by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-slasp-0.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/slasp/-/slasp-0.0.3.tgz"; + name = "slasp-0.0.3.tgz"; + sha1 = "fb9aba74f30fc2f012d0ff2d34d4b5c678c11f9f"; + }) + ]; + buildInputs = + (self.nativeDeps."slasp" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "slasp" ]; + }; + "slasp" = self.by-version."slasp"."0.0.3"; + by-spec."slasp"."0.0.3" = + self.by-version."slasp"."0.0.3"; by-spec."sliced"."0.0.3" = self.by-version."sliced"."0.0.3"; by-version."sliced"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "sliced-0.0.3"; + name = "node-sliced-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz"; @@ -12959,7 +16107,7 @@ by-spec."sliced"."0.0.4" = self.by-version."sliced"."0.0.4"; by-version."sliced"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "sliced-0.0.4"; + name = "node-sliced-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz"; @@ -12978,7 +16126,7 @@ by-spec."sliced"."0.0.5" = self.by-version."sliced"."0.0.5"; by-version."sliced"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "sliced-0.0.5"; + name = "node-sliced-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz"; @@ -12997,7 +16145,7 @@ by-spec."slide"."~1.1.3" = self.by-version."slide"."1.1.5"; by-version."slide"."1.1.5" = lib.makeOverridable self.buildNodePackage { - name = "slide-1.1.5"; + name = "node-slide-1.1.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/slide/-/slide-1.1.5.tgz"; @@ -13016,14 +16164,14 @@ by-spec."slide"."~1.1.5" = self.by-version."slide"."1.1.5"; by-spec."smartdc"."*" = - self.by-version."smartdc"."7.1.2"; - by-version."smartdc"."7.1.2" = lib.makeOverridable self.buildNodePackage { - name = "smartdc-7.1.2"; + self.by-version."smartdc"."7.2.1"; + by-version."smartdc"."7.2.1" = lib.makeOverridable self.buildNodePackage { + name = "smartdc-7.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/smartdc/-/smartdc-7.1.2.tgz"; - name = "smartdc-7.1.2.tgz"; - sha1 = "11228af972ed5014d3798202ecc370e02f007872"; + url = "http://registry.npmjs.org/smartdc/-/smartdc-7.2.1.tgz"; + name = "smartdc-7.2.1.tgz"; + sha1 = "6fce690557f6b563c061d6adee161d6b33d06148"; }) ]; buildInputs = @@ -13041,11 +16189,11 @@ ]; passthru.names = [ "smartdc" ]; }; - "smartdc" = self.by-version."smartdc"."7.1.2"; + "smartdc" = self.by-version."smartdc"."7.2.1"; by-spec."smartdc-auth"."1.0.1" = self.by-version."smartdc-auth"."1.0.1"; by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "smartdc-auth-1.0.1"; + name = "node-smartdc-auth-1.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.1.tgz"; @@ -13069,7 +16217,7 @@ by-spec."sntp"."0.1.x" = self.by-version."sntp"."0.1.4"; by-version."sntp"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "sntp-0.1.4"; + name = "node-sntp-0.1.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz"; @@ -13089,7 +16237,7 @@ by-spec."sntp"."0.2.x" = self.by-version."sntp"."0.2.4"; by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage { - name = "sntp-0.2.4"; + name = "node-sntp-0.2.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"; @@ -13109,7 +16257,7 @@ by-spec."socket.io"."0.9.14" = self.by-version."socket.io"."0.9.14"; by-version."socket.io"."0.9.14" = lib.makeOverridable self.buildNodePackage { - name = "socket.io-0.9.14"; + name = "node-socket.io-0.9.14"; src = [ (fetchurl { url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz"; @@ -13129,10 +16277,10 @@ ]; passthru.names = [ "socket.io" ]; }; - by-spec."socket.io"."0.9.16" = + by-spec."socket.io"."~0.9.13" = self.by-version."socket.io"."0.9.16"; by-version."socket.io"."0.9.16" = lib.makeOverridable self.buildNodePackage { - name = "socket.io-0.9.16"; + name = "node-socket.io-0.9.16"; src = [ (fetchurl { url = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz"; @@ -13152,14 +16300,12 @@ ]; passthru.names = [ "socket.io" ]; }; - by-spec."socket.io"."~0.9.13" = - self.by-version."socket.io"."0.9.16"; - by-spec."socket.io"."~0.9.14" = + by-spec."socket.io"."~0.9.16" = self.by-version."socket.io"."0.9.16"; by-spec."socket.io-client"."0.9.11" = self.by-version."socket.io-client"."0.9.11"; by-version."socket.io-client"."0.9.11" = lib.makeOverridable self.buildNodePackage { - name = "socket.io-client-0.9.11"; + name = "node-socket.io-client-0.9.11"; src = [ (fetchurl { url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz"; @@ -13182,7 +16328,7 @@ by-spec."socket.io-client"."0.9.16" = self.by-version."socket.io-client"."0.9.16"; by-version."socket.io-client"."0.9.16" = lib.makeOverridable self.buildNodePackage { - name = "socket.io-client-0.9.16"; + name = "node-socket.io-client-0.9.16"; src = [ (fetchurl { url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz"; @@ -13205,7 +16351,7 @@ by-spec."sockjs"."*" = self.by-version."sockjs"."0.3.8"; by-version."sockjs"."0.3.8" = lib.makeOverridable self.buildNodePackage { - name = "sockjs-0.3.8"; + name = "node-sockjs-0.3.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.8.tgz"; @@ -13224,10 +16370,70 @@ passthru.names = [ "sockjs" ]; }; "sockjs" = self.by-version."sockjs"."0.3.8"; + by-spec."sorted-object"."~1.0.0" = + self.by-version."sorted-object"."1.0.0"; + by-version."sorted-object"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-sorted-object-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"; + name = "sorted-object-1.0.0.tgz"; + sha1 = "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05"; + }) + ]; + buildInputs = + (self.nativeDeps."sorted-object" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "sorted-object" ]; + }; by-spec."source-map"."*" = + self.by-version."source-map"."0.1.33"; + by-version."source-map"."0.1.33" = lib.makeOverridable self.buildNodePackage { + name = "node-source-map-0.1.33"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/source-map/-/source-map-0.1.33.tgz"; + name = "source-map-0.1.33.tgz"; + sha1 = "c659297a73af18c073b0aa2e7cc91e316b5c570c"; + }) + ]; + buildInputs = + (self.nativeDeps."source-map" or []); + deps = [ + self.by-version."amdefine"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "source-map" ]; + }; + "source-map" = self.by-version."source-map"."0.1.33"; + by-spec."source-map"."0.1.11" = + self.by-version."source-map"."0.1.11"; + by-version."source-map"."0.1.11" = lib.makeOverridable self.buildNodePackage { + name = "node-source-map-0.1.11"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/source-map/-/source-map-0.1.11.tgz"; + name = "source-map-0.1.11.tgz"; + sha1 = "2eef2fd65a74c179880ae5ee6975d99ce21eb7b4"; + }) + ]; + buildInputs = + (self.nativeDeps."source-map" or []); + deps = [ + self.by-version."amdefine"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "source-map" ]; + }; + by-spec."source-map"."0.1.31" = self.by-version."source-map"."0.1.31"; by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage { - name = "source-map-0.1.31"; + name = "node-source-map-0.1.31"; src = [ (fetchurl { url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz"; @@ -13244,21 +16450,24 @@ ]; passthru.names = [ "source-map" ]; }; - "source-map" = self.by-version."source-map"."0.1.31"; by-spec."source-map"."0.1.x" = - self.by-version."source-map"."0.1.31"; + self.by-version."source-map"."0.1.33"; by-spec."source-map".">= 0.1.2" = - self.by-version."source-map"."0.1.31"; + self.by-version."source-map"."0.1.33"; + by-spec."source-map"."~ 0.1.8" = + self.by-version."source-map"."0.1.33"; by-spec."source-map"."~0.1.30" = - self.by-version."source-map"."0.1.31"; + self.by-version."source-map"."0.1.33"; by-spec."source-map"."~0.1.31" = - self.by-version."source-map"."0.1.31"; + self.by-version."source-map"."0.1.33"; + by-spec."source-map"."~0.1.33" = + self.by-version."source-map"."0.1.33"; by-spec."source-map"."~0.1.7" = - self.by-version."source-map"."0.1.31"; + self.by-version."source-map"."0.1.33"; by-spec."spdy"."1.7.1" = self.by-version."spdy"."1.7.1"; by-version."spdy"."1.7.1" = lib.makeOverridable self.buildNodePackage { - name = "spdy-1.7.1"; + name = "node-spdy-1.7.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz"; @@ -13277,7 +16486,7 @@ by-spec."sprintf"."~0.1.2" = self.by-version."sprintf"."0.1.3"; by-version."sprintf"."0.1.3" = lib.makeOverridable self.buildNodePackage { - name = "sprintf-0.1.3"; + name = "node-sprintf-0.1.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.3.tgz"; @@ -13316,31 +16525,10 @@ ]; passthru.names = [ "ssh-agent" ]; }; - by-spec."ssh2"."~0.2.14" = - self.by-version."ssh2"."0.2.16"; - by-version."ssh2"."0.2.16" = lib.makeOverridable self.buildNodePackage { - name = "ssh2-0.2.16"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.16.tgz"; - name = "ssh2-0.2.16.tgz"; - sha1 = "f0e2fe7f4e3223c74ddd430dac82506ed3d747c7"; - }) - ]; - buildInputs = - (self.nativeDeps."ssh2" or []); - deps = [ - self.by-version."streamsearch"."0.1.2" - self.by-version."asn1"."0.1.11" - ]; - peerDependencies = [ - ]; - passthru.names = [ "ssh2" ]; - }; - by-spec."stack-trace"."0.0.x" = + by-spec."stack-trace"."0.0.7" = self.by-version."stack-trace"."0.0.7"; by-version."stack-trace"."0.0.7" = lib.makeOverridable self.buildNodePackage { - name = "stack-trace-0.0.7"; + name = "node-stack-trace-0.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz"; @@ -13356,15 +16544,92 @@ ]; passthru.names = [ "stack-trace" ]; }; - by-spec."statsd"."*" = - self.by-version."statsd"."0.7.0"; - by-version."statsd"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "statsd-0.7.0"; + by-spec."stack-trace"."0.0.x" = + self.by-version."stack-trace"."0.0.9"; + by-version."stack-trace"."0.0.9" = lib.makeOverridable self.buildNodePackage { + name = "node-stack-trace-0.0.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/statsd/-/statsd-0.7.0.tgz"; - name = "statsd-0.7.0.tgz"; - sha1 = "13354345392c50a30221d3ab524bffcdda90272e"; + url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz"; + name = "stack-trace-0.0.9.tgz"; + sha1 = "a8f6eaeca90674c333e7c43953f275b451510695"; + }) + ]; + buildInputs = + (self.nativeDeps."stack-trace" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "stack-trace" ]; + }; + by-spec."stackdriver-statsd-backend"."*" = + self.by-version."stackdriver-statsd-backend"."0.1.5"; + by-version."stackdriver-statsd-backend"."0.1.5" = lib.makeOverridable self.buildNodePackage { + name = "node-stackdriver-statsd-backend-0.1.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.1.5.tgz"; + name = "stackdriver-statsd-backend-0.1.5.tgz"; + sha1 = "6f0cda0903fd149c6f69d0e50a9e8b4efd85141b"; + }) + ]; + buildInputs = + (self.nativeDeps."stackdriver-statsd-backend" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "stackdriver-statsd-backend" ]; + }; + "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.1.5"; + by-spec."static-favicon"."1.0.0" = + self.by-version."static-favicon"."1.0.0"; + by-version."static-favicon"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-static-favicon-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/static-favicon/-/static-favicon-1.0.0.tgz"; + name = "static-favicon-1.0.0.tgz"; + sha1 = "2e58dcfe58957a2d53337ef7a38cf9ad6c13c0d0"; + }) + ]; + buildInputs = + (self.nativeDeps."static-favicon" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "static-favicon" ]; + }; + by-spec."static-favicon"."1.0.2" = + self.by-version."static-favicon"."1.0.2"; + by-version."static-favicon"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-static-favicon-1.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz"; + name = "static-favicon-1.0.2.tgz"; + sha1 = "7c15920dda2bf33f414b0e60aebbd65cdd2a1d2f"; + }) + ]; + buildInputs = + (self.nativeDeps."static-favicon" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "static-favicon" ]; + }; + by-spec."statsd"."*" = + self.by-version."statsd"."0.7.1"; + by-version."statsd"."0.7.1" = lib.makeOverridable self.buildNodePackage { + name = "statsd-0.7.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/statsd/-/statsd-0.7.1.tgz"; + name = "statsd-0.7.1.tgz"; + sha1 = "b3a5124948ea5558e59eb26536ccfdedb9ba2a70"; }) ]; buildInputs = @@ -13372,17 +16637,58 @@ deps = [ self.by-version."node-syslog"."1.1.7" self.by-version."hashring"."1.0.1" - self.by-version."winser"."0.0.11" + self.by-version."winser"."0.1.6" ]; peerDependencies = [ ]; passthru.names = [ "statsd" ]; }; - "statsd" = self.by-version."statsd"."0.7.0"; - by-spec."stream-combiner"."~0.0.2" = + "statsd" = self.by-version."statsd"."0.7.1"; + by-spec."statsd-librato-backend"."*" = + self.by-version."statsd-librato-backend"."0.1.2"; + by-version."statsd-librato-backend"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-statsd-librato-backend-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.2.tgz"; + name = "statsd-librato-backend-0.1.2.tgz"; + sha1 = "228718018361ef352109bb69e2e6b3af9ab7d12d"; + }) + ]; + buildInputs = + (self.nativeDeps."statsd-librato-backend" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "statsd-librato-backend" ]; + }; + "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.2"; + by-spec."stream-browserify"."~0.1.0" = + self.by-version."stream-browserify"."0.1.3"; + by-version."stream-browserify"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-stream-browserify-0.1.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/stream-browserify/-/stream-browserify-0.1.3.tgz"; + name = "stream-browserify-0.1.3.tgz"; + sha1 = "95cf1b369772e27adaf46352265152689c6c4be9"; + }) + ]; + buildInputs = + (self.nativeDeps."stream-browserify" or []); + deps = [ + self.by-version."inherits"."2.0.1" + self.by-version."process"."0.5.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "stream-browserify" ]; + }; + by-spec."stream-combiner"."^0.0.4" = self.by-version."stream-combiner"."0.0.4"; by-version."stream-combiner"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "stream-combiner-0.0.4"; + name = "node-stream-combiner-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz"; @@ -13399,10 +16705,12 @@ ]; passthru.names = [ "stream-combiner" ]; }; + by-spec."stream-combiner"."~0.0.2" = + self.by-version."stream-combiner"."0.0.4"; by-spec."stream-counter"."~0.1.0" = self.by-version."stream-counter"."0.1.0"; by-version."stream-counter"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "stream-counter-0.1.0"; + name = "node-stream-counter-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.1.0.tgz"; @@ -13413,7 +16721,7 @@ buildInputs = (self.nativeDeps."stream-counter" or []); deps = [ - self.by-version."readable-stream"."1.0.24" + self.by-version."readable-stream"."1.0.26" ]; peerDependencies = [ ]; @@ -13422,7 +16730,7 @@ by-spec."stream-counter"."~0.2.0" = self.by-version."stream-counter"."0.2.0"; by-version."stream-counter"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "stream-counter-0.2.0"; + name = "node-stream-counter-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"; @@ -13433,7 +16741,7 @@ buildInputs = (self.nativeDeps."stream-counter" or []); deps = [ - self.by-version."readable-stream"."1.1.10" + self.by-version."readable-stream"."1.1.12" ]; peerDependencies = [ ]; @@ -13442,7 +16750,7 @@ by-spec."stream-splitter-transform"."*" = self.by-version."stream-splitter-transform"."0.0.4"; by-version."stream-splitter-transform"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "stream-splitter-transform-0.0.4"; + name = "node-stream-splitter-transform-0.0.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz"; @@ -13460,29 +16768,10 @@ passthru.names = [ "stream-splitter-transform" ]; }; "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.4"; - by-spec."streamsearch"."0.1.2" = - self.by-version."streamsearch"."0.1.2"; - by-version."streamsearch"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "streamsearch-0.1.2"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz"; - name = "streamsearch-0.1.2.tgz"; - sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a"; - }) - ]; - buildInputs = - (self.nativeDeps."streamsearch" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "streamsearch" ]; - }; by-spec."string"."1.6.1" = self.by-version."string"."1.6.1"; by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage { - name = "string-1.6.1"; + name = "node-string-1.6.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz"; @@ -13498,15 +16787,72 @@ ]; passthru.names = [ "string" ]; }; - by-spec."stringify-object"."~0.1.4" = - self.by-version."stringify-object"."0.1.7"; - by-version."stringify-object"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "stringify-object-0.1.7"; + by-spec."string_decoder"."~0.0.0" = + self.by-version."string_decoder"."0.0.1"; + by-version."string_decoder"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-string_decoder-0.0.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.7.tgz"; - name = "stringify-object-0.1.7.tgz"; - sha1 = "bb54d1ceed118b428c1256742b40a53f03599581"; + url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz"; + name = "string_decoder-0.0.1.tgz"; + sha1 = "f5472d0a8d1650ec823752d24e6fd627b39bf141"; + }) + ]; + buildInputs = + (self.nativeDeps."string_decoder" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "string_decoder" ]; + }; + by-spec."string_decoder"."~0.10.x" = + self.by-version."string_decoder"."0.10.25"; + by-version."string_decoder"."0.10.25" = lib.makeOverridable self.buildNodePackage { + name = "node-string_decoder-0.10.25"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25.tgz"; + name = "string_decoder-0.10.25.tgz"; + sha1 = "668c9da4f8efbdc937a4a6b6bf1cfbec4e9a82e2"; + }) + ]; + buildInputs = + (self.nativeDeps."string_decoder" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "string_decoder" ]; + }; + by-spec."stringify-object"."~0.1.4" = + self.by-version."stringify-object"."0.1.8"; + by-version."stringify-object"."0.1.8" = lib.makeOverridable self.buildNodePackage { + name = "node-stringify-object-0.1.8"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz"; + name = "stringify-object-0.1.8.tgz"; + sha1 = "463348f38fdcd4fec1c011084c24a59ac653c1ee"; + }) + ]; + buildInputs = + (self.nativeDeps."stringify-object" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "stringify-object" ]; + }; + by-spec."stringify-object"."~0.2.0" = + self.by-version."stringify-object"."0.2.0"; + by-version."stringify-object"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-stringify-object-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/stringify-object/-/stringify-object-0.2.0.tgz"; + name = "stringify-object-0.2.0.tgz"; + sha1 = "832996ea55ab2aaa7570cc9bc0d5774adfc2c585"; }) ]; buildInputs = @@ -13536,15 +16882,34 @@ ]; passthru.names = [ "strip-ansi" ]; }; - by-spec."strong-data-uri"."~0.1.0" = - self.by-version."strong-data-uri"."0.1.0"; - by-version."strong-data-uri"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "strong-data-uri-0.1.0"; + by-spec."strip-json-comments"."0.1.x" = + self.by-version."strip-json-comments"."0.1.1"; + by-version."strip-json-comments"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "strip-json-comments-0.1.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.0.tgz"; - name = "strong-data-uri-0.1.0.tgz"; - sha1 = "a41235806b8c3bf0f6f324dc57dfe85bbab681a0"; + url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz"; + name = "strip-json-comments-0.1.1.tgz"; + sha1 = "eb5a750bd4e8dc82817295a115dc11b63f01d4b0"; + }) + ]; + buildInputs = + (self.nativeDeps."strip-json-comments" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "strip-json-comments" ]; + }; + by-spec."strong-data-uri"."~0.1.0" = + self.by-version."strong-data-uri"."0.1.1"; + by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-strong-data-uri-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/strong-data-uri/-/strong-data-uri-0.1.1.tgz"; + name = "strong-data-uri-0.1.1.tgz"; + sha1 = "8660241807461d1d2dd247c70563f2f33e66c8ab"; }) ]; buildInputs = @@ -13557,14 +16922,14 @@ passthru.names = [ "strong-data-uri" ]; }; by-spec."stylus"."*" = - self.by-version."stylus"."0.42.0"; - by-version."stylus"."0.42.0" = lib.makeOverridable self.buildNodePackage { - name = "stylus-0.42.0"; + self.by-version."stylus"."0.44.0-beta3"; + by-version."stylus"."0.44.0-beta3" = lib.makeOverridable self.buildNodePackage { + name = "stylus-0.44.0-beta3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/stylus/-/stylus-0.42.0.tgz"; - name = "stylus-0.42.0.tgz"; - sha1 = "5dc4d50dd205dbb7e6af6bf7f19546da24148e44"; + url = "http://registry.npmjs.org/stylus/-/stylus-0.44.0-beta3.tgz"; + name = "stylus-0.44.0-beta3.tgz"; + sha1 = "a602b30f57f1692cf0f1fb664e60a14e26102cff"; }) ]; buildInputs = @@ -13572,41 +16937,64 @@ deps = [ self.by-version."css-parse"."1.7.0" self.by-version."mkdirp"."0.3.5" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" self.by-version."sax"."0.5.8" - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" + self.by-version."circular-json"."0.1.6" ]; peerDependencies = [ ]; passthru.names = [ "stylus" ]; }; - "stylus" = self.by-version."stylus"."0.42.0"; - by-spec."stylus"."0.27.2" = - self.by-version."stylus"."0.27.2"; - by-version."stylus"."0.27.2" = lib.makeOverridable self.buildNodePackage { - name = "stylus-0.27.2"; + "stylus" = self.by-version."stylus"."0.44.0-beta3"; + by-spec."stylus"."0.42.2" = + self.by-version."stylus"."0.42.2"; + by-version."stylus"."0.42.2" = lib.makeOverridable self.buildNodePackage { + name = "stylus-0.42.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/stylus/-/stylus-0.27.2.tgz"; - name = "stylus-0.27.2.tgz"; - sha1 = "1121f7f8cd152b0f8a4aa6a24a9adea10c825117"; + url = "http://registry.npmjs.org/stylus/-/stylus-0.42.2.tgz"; + name = "stylus-0.42.2.tgz"; + sha1 = "bed29107803129bed1983efc4c7e33f4fd34fee7"; }) ]; buildInputs = (self.nativeDeps."stylus" or []); deps = [ - self.by-version."cssom"."0.2.5" + self.by-version."css-parse"."1.7.0" self.by-version."mkdirp"."0.3.5" - self.by-version."debug"."0.7.4" + self.by-version."debug"."0.8.1" + self.by-version."sax"."0.5.8" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; passthru.names = [ "stylus" ]; }; + by-spec."subarg"."0.0.1" = + self.by-version."subarg"."0.0.1"; + by-version."subarg"."0.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-subarg-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz"; + name = "subarg-0.0.1.tgz"; + sha1 = "3d56b07dacfbc45bbb63f7672b43b63e46368e3a"; + }) + ]; + buildInputs = + (self.nativeDeps."subarg" or []); + deps = [ + self.by-version."minimist"."0.0.8" + ]; + peerDependencies = [ + ]; + passthru.names = [ "subarg" ]; + }; by-spec."sudo-block"."~0.2.0" = self.by-version."sudo-block"."0.2.1"; by-version."sudo-block"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "sudo-block-0.2.1"; + name = "node-sudo-block-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz"; @@ -13626,7 +17014,7 @@ by-spec."sudo-block"."~0.3.0" = self.by-version."sudo-block"."0.3.0"; by-version."sudo-block"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "sudo-block-0.3.0"; + name = "node-sudo-block-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/sudo-block/-/sudo-block-0.3.0.tgz"; @@ -13643,15 +17031,15 @@ ]; passthru.names = [ "sudo-block" ]; }; - by-spec."superagent"."0.16.0" = - self.by-version."superagent"."0.16.0"; - by-version."superagent"."0.16.0" = lib.makeOverridable self.buildNodePackage { - name = "superagent-0.16.0"; + by-spec."superagent"."0.17.0" = + self.by-version."superagent"."0.17.0"; + by-version."superagent"."0.17.0" = lib.makeOverridable self.buildNodePackage { + name = "node-superagent-0.17.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/superagent/-/superagent-0.16.0.tgz"; - name = "superagent-0.16.0.tgz"; - sha1 = "f38df4a476565dffdbaa07764b81a19f0ab38a4e"; + url = "http://registry.npmjs.org/superagent/-/superagent-0.17.0.tgz"; + name = "superagent-0.17.0.tgz"; + sha1 = "aadcd50fbe5a93e71991118d79bf0714d625bba8"; }) ]; buildInputs = @@ -13665,6 +17053,7 @@ self.by-version."cookiejar"."1.3.0" self.by-version."debug"."0.7.4" self.by-version."reduce-component"."1.0.1" + self.by-version."extend"."1.2.1" ]; peerDependencies = [ ]; @@ -13673,7 +17062,7 @@ by-spec."superagent"."~0.13.0" = self.by-version."superagent"."0.13.0"; by-version."superagent"."0.13.0" = lib.makeOverridable self.buildNodePackage { - name = "superagent-0.13.0"; + name = "node-superagent-0.13.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/superagent/-/superagent-0.13.0.tgz"; @@ -13695,59 +17084,34 @@ ]; passthru.names = [ "superagent" ]; }; - by-spec."superagent"."~0.15.7" = - self.by-version."superagent"."0.15.7"; - by-version."superagent"."0.15.7" = lib.makeOverridable self.buildNodePackage { - name = "superagent-0.15.7"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/superagent/-/superagent-0.15.7.tgz"; - name = "superagent-0.15.7.tgz"; - sha1 = "095c70b8afffbc072f1458f39684d4854d6333a3"; - }) - ]; - buildInputs = - (self.nativeDeps."superagent" or []); - deps = [ - self.by-version."qs"."0.6.5" - self.by-version."formidable"."1.0.14" - self.by-version."mime"."1.2.5" - self.by-version."emitter-component"."1.0.0" - self.by-version."methods"."0.0.1" - self.by-version."cookiejar"."1.3.0" - self.by-version."debug"."0.7.4" - self.by-version."reduce-component"."1.0.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "superagent" ]; - }; + by-spec."superagent"."~0.17.0" = + self.by-version."superagent"."0.17.0"; by-spec."supertest"."*" = - self.by-version."supertest"."0.8.3"; - by-version."supertest"."0.8.3" = lib.makeOverridable self.buildNodePackage { - name = "supertest-0.8.3"; + self.by-version."supertest"."0.11.0"; + by-version."supertest"."0.11.0" = lib.makeOverridable self.buildNodePackage { + name = "node-supertest-0.11.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/supertest/-/supertest-0.8.3.tgz"; - name = "supertest-0.8.3.tgz"; - sha1 = "7af32af5bd74514f3fabc444facc9858ae438593"; + url = "http://registry.npmjs.org/supertest/-/supertest-0.11.0.tgz"; + name = "supertest-0.11.0.tgz"; + sha1 = "f8496b9f05cac1ea2fcec1d21adeca7167f42460"; }) ]; buildInputs = (self.nativeDeps."supertest" or []); deps = [ - self.by-version."superagent"."0.16.0" + self.by-version."superagent"."0.17.0" self.by-version."methods"."0.1.0" ]; peerDependencies = [ ]; passthru.names = [ "supertest" ]; }; - "supertest" = self.by-version."supertest"."0.8.3"; + "supertest" = self.by-version."supertest"."0.11.0"; by-spec."swig"."0.14.x" = self.by-version."swig"."0.14.0"; by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage { - name = "swig-0.14.0"; + name = "node-swig-0.14.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz"; @@ -13758,7 +17122,7 @@ buildInputs = (self.nativeDeps."swig" or []); deps = [ - self.by-version."underscore"."1.5.2" + self.by-version."underscore"."1.6.0" ]; peerDependencies = [ ]; @@ -13768,7 +17132,7 @@ by-spec."sylvester".">= 0.0.12" = self.by-version."sylvester"."0.0.21"; by-version."sylvester"."0.0.21" = lib.makeOverridable self.buildNodePackage { - name = "sylvester-0.0.21"; + name = "node-sylvester-0.0.21"; src = [ (fetchurl { url = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz"; @@ -13786,10 +17150,52 @@ }; by-spec."sylvester".">= 0.0.8" = self.by-version."sylvester"."0.0.21"; + by-spec."syntax-error"."~1.1.0" = + self.by-version."syntax-error"."1.1.0"; + by-version."syntax-error"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-syntax-error-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/syntax-error/-/syntax-error-1.1.0.tgz"; + name = "syntax-error-1.1.0.tgz"; + sha1 = "8bc3b08141b4e5084dfc66c74e15928db9f34e85"; + }) + ]; + buildInputs = + (self.nativeDeps."syntax-error" or []); + deps = [ + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + ]; + peerDependencies = [ + ]; + passthru.names = [ "syntax-error" ]; + }; + by-spec."tape"."~0.2.2" = + self.by-version."tape"."0.2.2"; + by-version."tape"."0.2.2" = lib.makeOverridable self.buildNodePackage { + name = "tape-0.2.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/tape/-/tape-0.2.2.tgz"; + name = "tape-0.2.2.tgz"; + sha1 = "64ccfa4b7ecf4a0060007e61716d424781671637"; + }) + ]; + buildInputs = + (self.nativeDeps."tape" or []); + deps = [ + self.by-version."jsonify"."0.0.0" + self.by-version."deep-equal"."0.0.0" + self.by-version."defined"."0.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "tape" ]; + }; by-spec."tar"."*" = self.by-version."tar"."0.1.19"; by-version."tar"."0.1.19" = lib.makeOverridable self.buildNodePackage { - name = "tar-0.1.19"; + name = "node-tar-0.1.19"; src = [ (fetchurl { url = "http://registry.npmjs.org/tar/-/tar-0.1.19.tgz"; @@ -13814,7 +17220,7 @@ by-spec."tar"."0.1.17" = self.by-version."tar"."0.1.17"; by-version."tar"."0.1.17" = lib.makeOverridable self.buildNodePackage { - name = "tar-0.1.17"; + name = "node-tar-0.1.17"; src = [ (fetchurl { url = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz"; @@ -13833,16 +17239,37 @@ ]; passthru.names = [ "tar" ]; }; - by-spec."tar"."~0.1.17" = + by-spec."tar"."^0.1.18" = self.by-version."tar"."0.1.19"; - by-spec."tar"."~0.1.18" = + by-spec."tar"."~0.1.17" = self.by-version."tar"."0.1.19"; by-spec."tar"."~0.1.19" = self.by-version."tar"."0.1.19"; by-spec."temp"."*" = + self.by-version."temp"."0.7.0"; + by-version."temp"."0.7.0" = lib.makeOverridable self.buildNodePackage { + name = "node-temp-0.7.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/temp/-/temp-0.7.0.tgz"; + name = "temp-0.7.0.tgz"; + sha1 = "d34bdc8e7f955da2a6a473fea07ad601d68ba78f"; + }) + ]; + buildInputs = + (self.nativeDeps."temp" or []); + deps = [ + self.by-version."rimraf"."2.2.6" + ]; + peerDependencies = [ + ]; + passthru.names = [ "temp" ]; + }; + "temp" = self.by-version."temp"."0.7.0"; + by-spec."temp"."0.6.0" = self.by-version."temp"."0.6.0"; by-version."temp"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "temp-0.6.0"; + name = "node-temp-0.6.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/temp/-/temp-0.6.0.tgz"; @@ -13860,34 +17287,54 @@ ]; passthru.names = [ "temp" ]; }; - "temp" = self.by-version."temp"."0.6.0"; - by-spec."temp"."0.6.0" = - self.by-version."temp"."0.6.0"; - by-spec."temp"."~0.6.0" = - self.by-version."temp"."0.6.0"; - by-spec."text-table"."~0.1.1" = - self.by-version."text-table"."0.1.1"; - by-version."text-table"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "text-table-0.1.1"; + by-spec."temp"."~0.5.1" = + self.by-version."temp"."0.5.1"; + by-version."temp"."0.5.1" = lib.makeOverridable self.buildNodePackage { + name = "node-temp-0.5.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/text-table/-/text-table-0.1.1.tgz"; - name = "text-table-0.1.1.tgz"; - sha1 = "9aa4347a39b6950cd24190264576f62db6e52d93"; + url = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz"; + name = "temp-0.5.1.tgz"; + sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df"; }) ]; buildInputs = - (self.nativeDeps."text-table" or []); + (self.nativeDeps."temp" or []); deps = [ + self.by-version."rimraf"."2.1.4" ]; peerDependencies = [ ]; - passthru.names = [ "text-table" ]; + passthru.names = [ "temp" ]; + }; + by-spec."temp"."~0.6.0" = + self.by-version."temp"."0.6.0"; + by-spec."temp"."~0.7.0" = + self.by-version."temp"."0.7.0"; + by-spec."tempfile"."^0.1.2" = + self.by-version."tempfile"."0.1.3"; + by-version."tempfile"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-tempfile-0.1.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz"; + name = "tempfile-0.1.3.tgz"; + sha1 = "7d6b710047339d39f847327a056dadf183103010"; + }) + ]; + buildInputs = + (self.nativeDeps."tempfile" or []); + deps = [ + self.by-version."uuid"."1.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "tempfile" ]; }; by-spec."text-table"."~0.2.0" = self.by-version."text-table"."0.2.0"; by-version."text-table"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "text-table-0.2.0"; + name = "node-text-table-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"; @@ -13906,7 +17353,7 @@ by-spec."throttleit"."~0.0.2" = self.by-version."throttleit"."0.0.2"; by-version."throttleit"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "throttleit-0.0.2"; + name = "node-throttleit-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz"; @@ -13922,10 +17369,10 @@ ]; passthru.names = [ "throttleit" ]; }; - by-spec."through"."~2.3.4" = + by-spec."through".">=2.2.7 <3" = self.by-version."through"."2.3.4"; by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage { - name = "through-2.3.4"; + name = "node-through-2.3.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz"; @@ -13941,31 +17388,74 @@ ]; passthru.names = [ "through" ]; }; - by-spec."through2"."~0.1.0" = - self.by-version."through2"."0.1.0"; - by-version."through2"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "through2-0.1.0"; + by-spec."through"."~2.2.7" = + self.by-version."through"."2.2.7"; + by-version."through"."2.2.7" = lib.makeOverridable self.buildNodePackage { + name = "node-through-2.2.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/through2/-/through2-0.1.0.tgz"; - name = "through2-0.1.0.tgz"; - sha1 = "54e756cc6a543c72bb5adf55e8a248686b84c9cc"; + url = "http://registry.npmjs.org/through/-/through-2.2.7.tgz"; + name = "through-2.2.7.tgz"; + sha1 = "6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd"; + }) + ]; + buildInputs = + (self.nativeDeps."through" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "through" ]; + }; + by-spec."through"."~2.3.4" = + self.by-version."through"."2.3.4"; + by-spec."through2"."^0.4.0" = + self.by-version."through2"."0.4.1"; + by-version."through2"."0.4.1" = lib.makeOverridable self.buildNodePackage { + name = "node-through2-0.4.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/through2/-/through2-0.4.1.tgz"; + name = "through2-0.4.1.tgz"; + sha1 = "afd849c65af513c2541a98a7cfbcfec3a15a9686"; }) ]; buildInputs = (self.nativeDeps."through2" or []); deps = [ - self.by-version."readable-stream"."1.0.24" - self.by-version."xtend"."2.0.6" + self.by-version."readable-stream"."1.0.26" + self.by-version."xtend"."2.1.2" ]; peerDependencies = [ ]; passthru.names = [ "through2" ]; }; + by-spec."through2"."~0.4.1" = + self.by-version."through2"."0.4.1"; + by-spec."timers-browserify"."~1.0.1" = + self.by-version."timers-browserify"."1.0.1"; + by-version."timers-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-timers-browserify-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.0.1.tgz"; + name = "timers-browserify-1.0.1.tgz"; + sha1 = "7c93257b543cb1e3003d3663b57d560ee1d27057"; + }) + ]; + buildInputs = + (self.nativeDeps."timers-browserify" or []); + deps = [ + self.by-version."process"."0.5.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "timers-browserify" ]; + }; by-spec."timespan"."~2.3.0" = self.by-version."timespan"."2.3.0"; by-version."timespan"."2.3.0" = lib.makeOverridable self.buildNodePackage { - name = "timespan-2.3.0"; + name = "node-timespan-2.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz"; @@ -13982,14 +17472,14 @@ passthru.names = [ "timespan" ]; }; by-spec."timezone"."*" = - self.by-version."timezone"."0.0.23"; - by-version."timezone"."0.0.23" = lib.makeOverridable self.buildNodePackage { - name = "timezone-0.0.23"; + self.by-version."timezone"."0.0.30"; + by-version."timezone"."0.0.30" = lib.makeOverridable self.buildNodePackage { + name = "node-timezone-0.0.30"; src = [ (fetchurl { - url = "http://registry.npmjs.org/timezone/-/timezone-0.0.23.tgz"; - name = "timezone-0.0.23.tgz"; - sha1 = "5e89359e0c01c92b495c725e81ecce6ddbdb9bac"; + url = "http://registry.npmjs.org/timezone/-/timezone-0.0.30.tgz"; + name = "timezone-0.0.30.tgz"; + sha1 = "f83e46d35c017a33a684a4d8bb8fac3debed49bf"; }) ]; buildInputs = @@ -14000,11 +17490,11 @@ ]; passthru.names = [ "timezone" ]; }; - "timezone" = self.by-version."timezone"."0.0.23"; + "timezone" = self.by-version."timezone"."0.0.30"; by-spec."tinycolor"."0.x" = self.by-version."tinycolor"."0.0.1"; by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "tinycolor-0.0.1"; + name = "node-tinycolor-0.0.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz"; @@ -14020,45 +17510,45 @@ ]; passthru.names = [ "tinycolor" ]; }; - by-spec."titanium"."*" = - self.by-version."titanium"."3.2.1-beta"; - by-version."titanium"."3.2.1-beta" = lib.makeOverridable self.buildNodePackage { - name = "titanium-3.2.1-beta"; + by-spec."titanium"."3.2.1" = + self.by-version."titanium"."3.2.1"; + by-version."titanium"."3.2.1" = lib.makeOverridable self.buildNodePackage { + name = "titanium-3.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1-beta.tgz"; - name = "titanium-3.2.1-beta.tgz"; - sha1 = "3d92e09ea627584f11bec903052c6501f85ee8fa"; + url = "http://registry.npmjs.org/titanium/-/titanium-3.2.1.tgz"; + name = "titanium-3.2.1.tgz"; + sha1 = "b1d432c6c853c22096fb3ed03626e8263b27e39e"; }) ]; buildInputs = (self.nativeDeps."titanium" or []); deps = [ - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."colors"."0.6.2" - self.by-version."fields"."0.1.11" + self.by-version."fields"."0.1.12" self.by-version."humanize"."0.0.9" self.by-version."jade"."0.35.0" - self.by-version."longjohn"."0.2.2" + self.by-version."longjohn"."0.2.4" self.by-version."moment"."2.4.0" self.by-version."node-appc"."0.2.0" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."request"."2.27.0" self.by-version."semver"."2.2.1" self.by-version."sprintf"."0.1.3" self.by-version."temp"."0.6.0" self.by-version."winston"."0.6.2" - self.by-version."wrench"."1.5.4" + self.by-version."wrench"."1.5.8" ]; peerDependencies = [ ]; passthru.names = [ "titanium" ]; }; - "titanium" = self.by-version."titanium"."3.2.1-beta"; + "titanium" = self.by-version."titanium"."3.2.1"; by-spec."tmp"."~0.0.20" = self.by-version."tmp"."0.0.23"; by-version."tmp"."0.0.23" = lib.makeOverridable self.buildNodePackage { - name = "tmp-0.0.23"; + name = "node-tmp-0.0.23"; src = [ (fetchurl { url = "http://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz"; @@ -14077,7 +17567,7 @@ by-spec."touch"."0.0.2" = self.by-version."touch"."0.0.2"; by-version."touch"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "touch-0.0.2"; + name = "node-touch-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/touch/-/touch-0.0.2.tgz"; @@ -14094,10 +17584,30 @@ ]; passthru.names = [ "touch" ]; }; + by-spec."tough-cookie".">=0.12.0" = + self.by-version."tough-cookie"."0.12.1"; + by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage { + name = "node-tough-cookie-0.12.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz"; + name = "tough-cookie-0.12.1.tgz"; + sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62"; + }) + ]; + buildInputs = + (self.nativeDeps."tough-cookie" or []); + deps = [ + self.by-version."punycode"."1.2.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "tough-cookie" ]; + }; by-spec."tough-cookie"."~0.9.15" = self.by-version."tough-cookie"."0.9.15"; by-version."tough-cookie"."0.9.15" = lib.makeOverridable self.buildNodePackage { - name = "tough-cookie-0.9.15"; + name = "node-tough-cookie-0.9.15"; src = [ (fetchurl { url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz"; @@ -14108,35 +17618,16 @@ buildInputs = (self.nativeDeps."tough-cookie" or []); deps = [ - self.by-version."punycode"."1.2.3" + self.by-version."punycode"."1.2.4" ]; peerDependencies = [ ]; passthru.names = [ "tough-cookie" ]; }; - by-spec."traceback".">=0.3.0 && < 0.4" = - self.by-version."traceback"."0.3.0"; - by-version."traceback"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "traceback-0.3.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/traceback/-/traceback-0.3.0.tgz"; - name = "traceback-0.3.0.tgz"; - sha1 = "4e147f07cd332fbd0330ba510b942a5c9256a0ab"; - }) - ]; - buildInputs = - (self.nativeDeps."traceback" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "traceback" ]; - }; by-spec."transformers"."2.1.0" = self.by-version."transformers"."2.1.0"; by-version."transformers"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "transformers-2.1.0"; + name = "node-transformers-2.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz"; @@ -14158,7 +17649,7 @@ by-spec."traverse".">=0.3.0 <0.4" = self.by-version."traverse"."0.3.9"; by-version."traverse"."0.3.9" = lib.makeOverridable self.buildNodePackage { - name = "traverse-0.3.9"; + name = "node-traverse-0.3.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"; @@ -14177,7 +17668,7 @@ by-spec."truncate"."~1.0.2" = self.by-version."truncate"."1.0.2"; by-version."truncate"."1.0.2" = lib.makeOverridable self.buildNodePackage { - name = "truncate-1.0.2"; + name = "node-truncate-1.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/truncate/-/truncate-1.0.2.tgz"; @@ -14193,10 +17684,29 @@ ]; passthru.names = [ "truncate" ]; }; + by-spec."tty-browserify"."~0.0.0" = + self.by-version."tty-browserify"."0.0.0"; + by-version."tty-browserify"."0.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-tty-browserify-0.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"; + name = "tty-browserify-0.0.0.tgz"; + sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6"; + }) + ]; + buildInputs = + (self.nativeDeps."tty-browserify" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "tty-browserify" ]; + }; by-spec."tunnel-agent"."~0.2.0" = self.by-version."tunnel-agent"."0.2.0"; by-version."tunnel-agent"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "tunnel-agent-0.2.0"; + name = "node-tunnel-agent-0.2.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz"; @@ -14215,7 +17725,7 @@ by-spec."tunnel-agent"."~0.3.0" = self.by-version."tunnel-agent"."0.3.0"; by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "tunnel-agent-0.3.0"; + name = "node-tunnel-agent-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz"; @@ -14234,7 +17744,7 @@ by-spec."type-detect"."0.1.1" = self.by-version."type-detect"."0.1.1"; by-version."type-detect"."0.1.1" = lib.makeOverridable self.buildNodePackage { - name = "type-detect-0.1.1"; + name = "node-type-detect-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"; @@ -14250,10 +17760,50 @@ ]; passthru.names = [ "type-detect" ]; }; + by-spec."type-is"."1.0.0" = + self.by-version."type-is"."1.0.0"; + by-version."type-is"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-type-is-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz"; + name = "type-is-1.0.0.tgz"; + sha1 = "4ff424e97349a1ee1910b4bfc488595ecdc443fc"; + }) + ]; + buildInputs = + (self.nativeDeps."type-is" or []); + deps = [ + self.by-version."mime"."1.2.11" + ]; + peerDependencies = [ + ]; + passthru.names = [ "type-is" ]; + }; + by-spec."type-is"."~1.1.0" = + self.by-version."type-is"."1.1.0"; + by-version."type-is"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-type-is-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/type-is/-/type-is-1.1.0.tgz"; + name = "type-is-1.1.0.tgz"; + sha1 = "d0245ec8b2676668d59dd0cf3255060676a57db6"; + }) + ]; + buildInputs = + (self.nativeDeps."type-is" or []); + deps = [ + self.by-version."mime"."1.2.11" + ]; + peerDependencies = [ + ]; + passthru.names = [ "type-is" ]; + }; by-spec."typechecker"."~2.0.1" = self.by-version."typechecker"."2.0.8"; by-version."typechecker"."2.0.8" = lib.makeOverridable self.buildNodePackage { - name = "typechecker-2.0.8"; + name = "node-typechecker-2.0.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz"; @@ -14269,6 +17819,25 @@ ]; passthru.names = [ "typechecker" ]; }; + by-spec."typedarray"."~0.0.5" = + self.by-version."typedarray"."0.0.5"; + by-version."typedarray"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-typedarray-0.0.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.5.tgz"; + name = "typedarray-0.0.5.tgz"; + sha1 = "c4158fcd96c8ef91ef03cc72584c95e032877664"; + }) + ]; + buildInputs = + (self.nativeDeps."typedarray" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "typedarray" ]; + }; by-spec."uglify-js"."1.2.5" = self.by-version."uglify-js"."1.2.5"; by-version."uglify-js"."1.2.5" = lib.makeOverridable self.buildNodePackage { @@ -14302,16 +17871,39 @@ buildInputs = (self.nativeDeps."uglify-js" or []); deps = [ - self.by-version."async"."0.2.9" - self.by-version."source-map"."0.1.31" + self.by-version."async"."0.2.10" + self.by-version."source-map"."0.1.33" self.by-version."optimist"."0.3.7" - self.by-version."uglify-to-browserify"."1.0.1" + self.by-version."uglify-to-browserify"."1.0.2" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; - by-spec."uglify-js"."~2.2.5" = + by-spec."uglify-js"."^2.4.0" = + self.by-version."uglify-js"."2.4.13"; + by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage { + name = "uglify-js-2.4.13"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz"; + name = "uglify-js-2.4.13.tgz"; + sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba"; + }) + ]; + buildInputs = + (self.nativeDeps."uglify-js" or []); + deps = [ + self.by-version."async"."0.2.10" + self.by-version."source-map"."0.1.33" + self.by-version."optimist"."0.3.7" + self.by-version."uglify-to-browserify"."1.0.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "uglify-js" ]; + }; + by-spec."uglify-js"."~2.2" = self.by-version."uglify-js"."2.2.5"; by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage { name = "uglify-js-2.2.5"; @@ -14325,13 +17917,15 @@ buildInputs = (self.nativeDeps."uglify-js" or []); deps = [ - self.by-version."source-map"."0.1.31" + self.by-version."source-map"."0.1.33" self.by-version."optimist"."0.3.7" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; + by-spec."uglify-js"."~2.2.5" = + self.by-version."uglify-js"."2.2.5"; by-spec."uglify-js"."~2.3" = self.by-version."uglify-js"."2.3.6"; by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage { @@ -14346,8 +17940,8 @@ buildInputs = (self.nativeDeps."uglify-js" or []); deps = [ - self.by-version."async"."0.2.9" - self.by-version."source-map"."0.1.31" + self.by-version."async"."0.2.10" + self.by-version."source-map"."0.1.33" self.by-version."optimist"."0.3.7" ]; peerDependencies = [ @@ -14357,37 +17951,18 @@ by-spec."uglify-js"."~2.3.6" = self.by-version."uglify-js"."2.3.6"; by-spec."uglify-js"."~2.4.0" = - self.by-version."uglify-js"."2.4.8"; - by-version."uglify-js"."2.4.8" = lib.makeOverridable self.buildNodePackage { - name = "uglify-js-2.4.8"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.8.tgz"; - name = "uglify-js-2.4.8.tgz"; - sha1 = "70e33bd9bce9a27b896fd4fead4c7da434fcca09"; - }) - ]; - buildInputs = - (self.nativeDeps."uglify-js" or []); - deps = [ - self.by-version."async"."0.2.9" - self.by-version."source-map"."0.1.31" - self.by-version."optimist"."0.3.7" - self.by-version."uglify-to-browserify"."1.0.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "uglify-js" ]; - }; + self.by-version."uglify-js"."2.4.13"; + by-spec."uglify-js"."~2.4.12" = + self.by-version."uglify-js"."2.4.13"; by-spec."uglify-to-browserify"."~1.0.0" = - self.by-version."uglify-to-browserify"."1.0.1"; - by-version."uglify-to-browserify"."1.0.1" = lib.makeOverridable self.buildNodePackage { - name = "uglify-to-browserify-1.0.1"; + self.by-version."uglify-to-browserify"."1.0.2"; + by-version."uglify-to-browserify"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-uglify-to-browserify-1.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.1.tgz"; - name = "uglify-to-browserify-1.0.1.tgz"; - sha1 = "0e9ada5d4ca358a59a00bb33c8061e2f40ef97d2"; + url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"; + name = "uglify-to-browserify-1.0.2.tgz"; + sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7"; }) ]; buildInputs = @@ -14398,15 +17973,15 @@ ]; passthru.names = [ "uglify-to-browserify" ]; }; - by-spec."uid-number"."0" = - self.by-version."uid-number"."0.0.3"; - by-version."uid-number"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "uid-number-0.0.3"; + by-spec."uid-number"."0.0.5" = + self.by-version."uid-number"."0.0.5"; + by-version."uid-number"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-uid-number-0.0.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz"; - name = "uid-number-0.0.3.tgz"; - sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc"; + url = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz"; + name = "uid-number-0.0.5.tgz"; + sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e"; }) ]; buildInputs = @@ -14420,7 +17995,7 @@ by-spec."uid2"."0.0.3" = self.by-version."uid2"."0.0.3"; by-version."uid2"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "uid2-0.0.3"; + name = "node-uid2-0.0.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz"; @@ -14436,15 +18011,40 @@ ]; passthru.names = [ "uid2" ]; }; - by-spec."underscore"."*" = - self.by-version."underscore"."1.5.2"; - by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage { - name = "underscore-1.5.2"; + by-spec."uid2"."~0.0.2" = + self.by-version."uid2"."0.0.3"; + by-spec."umd"."~2.0.0" = + self.by-version."umd"."2.0.0"; + by-version."umd"."2.0.0" = lib.makeOverridable self.buildNodePackage { + name = "umd-2.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"; - name = "underscore-1.5.2.tgz"; - sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08"; + url = "http://registry.npmjs.org/umd/-/umd-2.0.0.tgz"; + name = "umd-2.0.0.tgz"; + sha1 = "749683b0d514728ae0e1b6195f5774afc0ad4f8f"; + }) + ]; + buildInputs = + (self.nativeDeps."umd" or []); + deps = [ + self.by-version."rfile"."1.0.0" + self.by-version."ruglify"."1.0.0" + self.by-version."through"."2.3.4" + self.by-version."uglify-js"."2.4.13" + ]; + peerDependencies = [ + ]; + passthru.names = [ "umd" ]; + }; + by-spec."underscore"."*" = + self.by-version."underscore"."1.6.0"; + by-version."underscore"."1.6.0" = lib.makeOverridable self.buildNodePackage { + name = "node-underscore-1.6.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"; + name = "underscore-1.6.0.tgz"; + sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8"; }) ]; buildInputs = @@ -14455,11 +18055,11 @@ ]; passthru.names = [ "underscore" ]; }; - "underscore" = self.by-version."underscore"."1.5.2"; + "underscore" = self.by-version."underscore"."1.6.0"; by-spec."underscore"."1.4.x" = self.by-version."underscore"."1.4.4"; by-version."underscore"."1.4.4" = lib.makeOverridable self.buildNodePackage { - name = "underscore-1.4.4"; + name = "node-underscore-1.4.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"; @@ -14476,11 +18076,11 @@ passthru.names = [ "underscore" ]; }; by-spec."underscore".">=1.1.7" = - self.by-version."underscore"."1.5.2"; - by-spec."underscore".">=1.4.3" = - self.by-version."underscore"."1.5.2"; - by-spec."underscore".">=1.5.x" = - self.by-version."underscore"."1.5.2"; + self.by-version."underscore"."1.6.0"; + by-spec."underscore".">=1.3.1" = + self.by-version."underscore"."1.6.0"; + by-spec."underscore".">=1.5.0" = + self.by-version."underscore"."1.6.0"; by-spec."underscore"."~1.4" = self.by-version."underscore"."1.4.4"; by-spec."underscore"."~1.4.3" = @@ -14489,12 +18089,29 @@ self.by-version."underscore"."1.4.4"; by-spec."underscore"."~1.5" = self.by-version."underscore"."1.5.2"; + by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage { + name = "node-underscore-1.5.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz"; + name = "underscore-1.5.2.tgz"; + sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08"; + }) + ]; + buildInputs = + (self.nativeDeps."underscore" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "underscore" ]; + }; by-spec."underscore"."~1.5.2" = self.by-version."underscore"."1.5.2"; by-spec."underscore.string"."~2.2.1" = self.by-version."underscore.string"."2.2.1"; by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "underscore.string-2.2.1"; + name = "node-underscore.string-2.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz"; @@ -14513,7 +18130,7 @@ by-spec."underscore.string"."~2.3.1" = self.by-version."underscore.string"."2.3.3"; by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage { - name = "underscore.string-2.3.3"; + name = "node-underscore.string-2.3.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz"; @@ -14532,14 +18149,14 @@ by-spec."underscore.string"."~2.3.3" = self.by-version."underscore.string"."2.3.3"; by-spec."unfunk-diff"."~0.0.1" = - self.by-version."unfunk-diff"."0.0.1"; - by-version."unfunk-diff"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "unfunk-diff-0.0.1"; + self.by-version."unfunk-diff"."0.0.2"; + by-version."unfunk-diff"."0.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-unfunk-diff-0.0.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.1.tgz"; - name = "unfunk-diff-0.0.1.tgz"; - sha1 = "fd01490b7e53bc268f069f222fda10704c8f1265"; + url = "http://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz"; + name = "unfunk-diff-0.0.2.tgz"; + sha1 = "8560d6b5cb3dcb1ed4d541e7fe59cea514697578"; }) ]; buildInputs = @@ -14554,86 +18171,115 @@ passthru.names = [ "unfunk-diff" ]; }; by-spec."ungit"."*" = - self.by-version."ungit"."0.6.0"; - by-version."ungit"."0.6.0" = lib.makeOverridable self.buildNodePackage { - name = "ungit-0.6.0"; + self.by-version."ungit"."0.8.0"; + by-version."ungit"."0.8.0" = lib.makeOverridable self.buildNodePackage { + name = "ungit-0.8.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/ungit/-/ungit-0.6.0.tgz"; - name = "ungit-0.6.0.tgz"; - sha1 = "fffc26cafc5d138bc6b3585fef3f15744f5f3d31"; + url = "http://registry.npmjs.org/ungit/-/ungit-0.8.0.tgz"; + name = "ungit-0.8.0.tgz"; + sha1 = "ca1f166ee65fbfe54469459d51f77ca502f1c6a4"; }) ]; buildInputs = (self.nativeDeps."ungit" or []); deps = [ - self.by-version."express"."3.4.7" - self.by-version."superagent"."0.15.7" - self.by-version."lodash"."2.3.0" - self.by-version."temp"."0.6.0" + self.by-version."express"."4.0.0" + self.by-version."superagent"."0.17.0" + self.by-version."lodash"."2.4.1" + self.by-version."temp"."0.7.0" self.by-version."socket.io"."0.9.16" - self.by-version."moment"."2.4.0" - self.by-version."async"."0.2.9" - self.by-version."ssh2"."0.2.16" - self.by-version."rc"."0.3.2" + self.by-version."moment"."2.5.1" + self.by-version."async"."0.6.2" + self.by-version."rc"."0.3.4" self.by-version."uuid"."1.4.1" - self.by-version."winston"."0.7.2" - self.by-version."passport"."0.1.17" - self.by-version."passport-local"."0.1.6" - self.by-version."npm"."1.3.23" + self.by-version."winston"."0.7.3" + self.by-version."passport"."0.2.0" + self.by-version."passport-local"."1.0.0" self.by-version."semver"."2.2.1" self.by-version."forever-monitor"."1.1.0" self.by-version."open"."0.0.4" - self.by-version."optimist"."0.6.0" + self.by-version."optimist"."0.6.1" self.by-version."crossroads"."0.12.0" self.by-version."signals"."1.0.0" self.by-version."hasher"."1.2.0" self.by-version."blueimp-md5"."1.1.0" - self.by-version."color"."0.4.4" - self.by-version."keen.io"."0.0.3" + self.by-version."color"."0.5.0" + self.by-version."keen.io"."0.0.4" self.by-version."getmac"."1.0.6" - self.by-version."deep-extend"."0.2.6" - self.by-version."raven"."0.6.0" + self.by-version."deep-extend"."0.2.8" + self.by-version."raven"."0.6.3" + self.by-version."knockout"."3.1.0" + self.by-version."npm-registry-client"."0.4.7" + self.by-version."npmconf"."0.1.14" + self.by-version."mkdirp"."0.3.5" + self.by-version."less"."1.7.0" + self.by-version."browserify"."3.38.1" + self.by-version."body-parser"."1.0.2" + self.by-version."cookie-parser"."1.0.1" + self.by-version."express-session"."1.0.2" + self.by-version."serve-static"."1.0.4" ]; peerDependencies = [ ]; passthru.names = [ "ungit" ]; }; - "ungit" = self.by-version."ungit"."0.6.0"; + "ungit" = self.by-version."ungit"."0.8.0"; by-spec."update-notifier"."~0.1.3" = - self.by-version."update-notifier"."0.1.7"; - by-version."update-notifier"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "update-notifier-0.1.7"; + self.by-version."update-notifier"."0.1.8"; + by-version."update-notifier"."0.1.8" = lib.makeOverridable self.buildNodePackage { + name = "node-update-notifier-0.1.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz"; - name = "update-notifier-0.1.7.tgz"; - sha1 = "b37fb55004835240fd2e7e360c52ccffde5219c9"; + url = "http://registry.npmjs.org/update-notifier/-/update-notifier-0.1.8.tgz"; + name = "update-notifier-0.1.8.tgz"; + sha1 = "ebf5c698375f5c232031a419634fab66cc0322a6"; }) ]; buildInputs = (self.nativeDeps."update-notifier" or []); deps = [ self.by-version."request"."2.27.0" - self.by-version."configstore"."0.1.7" + self.by-version."configstore"."0.2.3" self.by-version."semver"."2.1.0" - self.by-version."chalk"."0.2.1" + self.by-version."chalk"."0.4.0" ]; peerDependencies = [ ]; passthru.names = [ "update-notifier" ]; }; by-spec."update-notifier"."~0.1.7" = - self.by-version."update-notifier"."0.1.7"; - by-spec."useragent"."~2.0.4" = - self.by-version."useragent"."2.0.7"; - by-version."useragent"."2.0.7" = lib.makeOverridable self.buildNodePackage { - name = "useragent-2.0.7"; + self.by-version."update-notifier"."0.1.8"; + by-spec."url"."~0.7.9" = + self.by-version."url"."0.7.9"; + by-version."url"."0.7.9" = lib.makeOverridable self.buildNodePackage { + name = "node-url-0.7.9"; src = [ (fetchurl { - url = "http://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz"; - name = "useragent-2.0.7.tgz"; - sha1 = "a44c07d157a15e13d73d4af4ece6aab70f298224"; + url = "http://registry.npmjs.org/url/-/url-0.7.9.tgz"; + name = "url-0.7.9.tgz"; + sha1 = "1959b1a8b361fc017b59513a7c7fa9827f5e4ed0"; + }) + ]; + buildInputs = + (self.nativeDeps."url" or []); + deps = [ + self.by-version."querystring"."0.1.0" + self.by-version."punycode"."1.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "url" ]; + }; + by-spec."useragent"."~2.0.4" = + self.by-version."useragent"."2.0.8"; + by-version."useragent"."2.0.8" = lib.makeOverridable self.buildNodePackage { + name = "node-useragent-2.0.8"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/useragent/-/useragent-2.0.8.tgz"; + name = "useragent-2.0.8.tgz"; + sha1 = "32caa86d3f404e92d7d4183831dd103ebc1a3125"; }) ]; buildInputs = @@ -14645,10 +18291,29 @@ ]; passthru.names = [ "useragent" ]; }; + by-spec."userhome"."~0.1.0" = + self.by-version."userhome"."0.1.0"; + by-version."userhome"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-userhome-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/userhome/-/userhome-0.1.0.tgz"; + name = "userhome-0.1.0.tgz"; + sha1 = "bd2067d90b3f7ac6c026d87612c579d88fb89f86"; + }) + ]; + buildInputs = + (self.nativeDeps."userhome" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "userhome" ]; + }; by-spec."util"."0.10.2" = self.by-version."util"."0.10.2"; by-version."util"."0.10.2" = lib.makeOverridable self.buildNodePackage { - name = "util-0.10.2"; + name = "node-util-0.10.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/util/-/util-0.10.2.tgz"; @@ -14668,7 +18333,7 @@ by-spec."util"."0.4.9" = self.by-version."util"."0.4.9"; by-version."util"."0.4.9" = lib.makeOverridable self.buildNodePackage { - name = "util-0.4.9"; + name = "node-util-0.4.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/util/-/util-0.4.9.tgz"; @@ -14685,10 +18350,49 @@ ]; passthru.names = [ "util" ]; }; + by-spec."util"."~0.10.1" = + self.by-version."util"."0.10.3"; + by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage { + name = "node-util-0.10.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/util/-/util-0.10.3.tgz"; + name = "util-0.10.3.tgz"; + sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; + }) + ]; + buildInputs = + (self.nativeDeps."util" or []); + deps = [ + self.by-version."inherits"."2.0.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "util" ]; + }; + by-spec."util-extend"."^1.0.1" = + self.by-version."util-extend"."1.0.1"; + by-version."util-extend"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-util-extend-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz"; + name = "util-extend-1.0.1.tgz"; + sha1 = "bb703b79480293ddcdcfb3c6a9fea20f483415bc"; + }) + ]; + buildInputs = + (self.nativeDeps."util-extend" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "util-extend" ]; + }; by-spec."utile"."0.1.x" = self.by-version."utile"."0.1.7"; by-version."utile"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "utile-0.1.7"; + name = "node-utile-0.1.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz"; @@ -14700,7 +18404,7 @@ (self.nativeDeps."utile" or []); deps = [ self.by-version."async"."0.1.22" - self.by-version."deep-equal"."0.1.2" + self.by-version."deep-equal"."0.2.1" self.by-version."i"."0.3.2" self.by-version."mkdirp"."0.3.5" self.by-version."ncp"."0.2.7" @@ -14713,7 +18417,7 @@ by-spec."utile"."0.2.1" = self.by-version."utile"."0.2.1"; by-version."utile"."0.2.1" = lib.makeOverridable self.buildNodePackage { - name = "utile-0.2.1"; + name = "node-utile-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/utile/-/utile-0.2.1.tgz"; @@ -14724,12 +18428,12 @@ buildInputs = (self.nativeDeps."utile" or []); deps = [ - self.by-version."async"."0.2.9" - self.by-version."deep-equal"."0.1.2" + self.by-version."async"."0.2.10" + self.by-version."deep-equal"."0.2.1" self.by-version."i"."0.3.2" self.by-version."mkdirp"."0.3.5" self.by-version."ncp"."0.4.2" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" ]; peerDependencies = [ ]; @@ -14741,10 +18445,29 @@ self.by-version."utile"."0.1.7"; by-spec."utile"."~0.2.1" = self.by-version."utile"."0.2.1"; + by-spec."utils-merge"."1.0.0" = + self.by-version."utils-merge"."1.0.0"; + by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-utils-merge-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"; + name = "utils-merge-1.0.0.tgz"; + sha1 = "0294fb922bb9375153541c4f7096231f287c8af8"; + }) + ]; + buildInputs = + (self.nativeDeps."utils-merge" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "utils-merge" ]; + }; by-spec."uuid"."1.4.1" = self.by-version."uuid"."1.4.1"; by-version."uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage { - name = "uuid-1.4.1"; + name = "node-uuid-1.4.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/uuid/-/uuid-1.4.1.tgz"; @@ -14760,10 +18483,14 @@ ]; passthru.names = [ "uuid" ]; }; + by-spec."uuid"."~1.4.0" = + self.by-version."uuid"."1.4.1"; + by-spec."uuid"."~1.4.1" = + self.by-version."uuid"."1.4.1"; by-spec."validator"."0.4.x" = self.by-version."validator"."0.4.28"; by-version."validator"."0.4.28" = lib.makeOverridable self.buildNodePackage { - name = "validator-0.4.28"; + name = "node-validator-0.4.28"; src = [ (fetchurl { url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz"; @@ -14782,7 +18509,7 @@ by-spec."vargs"."~0.1.0" = self.by-version."vargs"."0.1.0"; by-version."vargs"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "vargs-0.1.0"; + name = "node-vargs-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz"; @@ -14801,7 +18528,7 @@ by-spec."vasync"."1.3.3" = self.by-version."vasync"."1.3.3"; by-version."vasync"."1.3.3" = lib.makeOverridable self.buildNodePackage { - name = "vasync-1.3.3"; + name = "node-vasync-1.3.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz"; @@ -14822,7 +18549,7 @@ by-spec."verror"."1.1.0" = self.by-version."verror"."1.1.0"; by-version."verror"."1.1.0" = lib.makeOverridable self.buildNodePackage { - name = "verror-1.1.0"; + name = "node-verror-1.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz"; @@ -14842,7 +18569,7 @@ by-spec."verror"."1.3.3" = self.by-version."verror"."1.3.3"; by-version."verror"."1.3.3" = lib.makeOverridable self.buildNodePackage { - name = "verror-1.3.3"; + name = "node-verror-1.3.3"; src = [ (fetchurl { url = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz"; @@ -14862,7 +18589,7 @@ by-spec."verror"."1.3.6" = self.by-version."verror"."1.3.6"; by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage { - name = "verror-1.3.6"; + name = "node-verror-1.3.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz"; @@ -14879,10 +18606,29 @@ ]; passthru.names = [ "verror" ]; }; + by-spec."vhost"."1.0.0" = + self.by-version."vhost"."1.0.0"; + by-version."vhost"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-vhost-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz"; + name = "vhost-1.0.0.tgz"; + sha1 = "654513f289a4f898aab745bbd633e40180c9c4c0"; + }) + ]; + buildInputs = + (self.nativeDeps."vhost" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "vhost" ]; + }; by-spec."view-helpers"."*" = self.by-version."view-helpers"."0.1.4"; by-version."view-helpers"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "view-helpers-0.1.4"; + name = "node-view-helpers-0.1.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.4.tgz"; @@ -14899,6 +18645,26 @@ passthru.names = [ "view-helpers" ]; }; "view-helpers" = self.by-version."view-helpers"."0.1.4"; + by-spec."vm-browserify"."~0.0.1" = + self.by-version."vm-browserify"."0.0.4"; + by-version."vm-browserify"."0.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-vm-browserify-0.0.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz"; + name = "vm-browserify-0.0.4.tgz"; + sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"; + }) + ]; + buildInputs = + (self.nativeDeps."vm-browserify" or []); + deps = [ + self.by-version."indexof"."0.0.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "vm-browserify" ]; + }; by-spec."vows".">=0.5.13" = self.by-version."vows"."0.7.0"; by-version."vows"."0.7.0" = lib.makeOverridable self.buildNodePackage { @@ -14921,9 +18687,30 @@ passthru.names = [ "vows" ]; }; by-spec."walk"."*" = + self.by-version."walk"."2.3.1"; + by-version."walk"."2.3.1" = lib.makeOverridable self.buildNodePackage { + name = "node-walk-2.3.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/walk/-/walk-2.3.1.tgz"; + name = "walk-2.3.1.tgz"; + sha1 = "015e0ef7a636ac43185661a9673d459572a44050"; + }) + ]; + buildInputs = + (self.nativeDeps."walk" or []); + deps = [ + self.by-version."forEachAsync"."2.2.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "walk" ]; + }; + "walk" = self.by-version."walk"."2.3.1"; + by-spec."walk"."~2.2.1" = self.by-version."walk"."2.2.1"; by-version."walk"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "walk-2.2.1"; + name = "node-walk-2.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz"; @@ -14934,19 +18721,16 @@ buildInputs = (self.nativeDeps."walk" or []); deps = [ - self.by-version."forEachAsync"."2.2.0" + self.by-version."forEachAsync"."2.2.1" ]; peerDependencies = [ ]; passthru.names = [ "walk" ]; }; - "walk" = self.by-version."walk"."2.2.1"; - by-spec."walk"."~2.2.1" = - self.by-version."walk"."2.2.1"; by-spec."watch"."0.5.x" = self.by-version."watch"."0.5.1"; by-version."watch"."0.5.1" = lib.makeOverridable self.buildNodePackage { - name = "watch-0.5.1"; + name = "node-watch-0.5.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz"; @@ -14965,7 +18749,7 @@ by-spec."watch"."~0.8.0" = self.by-version."watch"."0.8.0"; by-version."watch"."0.8.0" = lib.makeOverridable self.buildNodePackage { - name = "watch-0.8.0"; + name = "node-watch-0.8.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/watch/-/watch-0.8.0.tgz"; @@ -14981,51 +18765,70 @@ ]; passthru.names = [ "watch" ]; }; - by-spec."wd"."~0.2.8" = - self.by-version."wd"."0.2.8"; - by-version."wd"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "wd-0.2.8"; + by-spec."wd"."~0.2.12" = + self.by-version."wd"."0.2.17"; + by-version."wd"."0.2.17" = lib.makeOverridable self.buildNodePackage { + name = "wd-0.2.17"; src = [ (fetchurl { - url = "http://registry.npmjs.org/wd/-/wd-0.2.8.tgz"; - name = "wd-0.2.8.tgz"; - sha1 = "397ccb8058e72af3ae6e7c485f4368f4fb514631"; + url = "http://registry.npmjs.org/wd/-/wd-0.2.17.tgz"; + name = "wd-0.2.17.tgz"; + sha1 = "277b417057a1a5fe7845ab3dc4ff130888f4ec95"; }) ]; buildInputs = (self.nativeDeps."wd" or []); deps = [ - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."vargs"."0.1.0" - self.by-version."q"."0.9.7" - self.by-version."request"."2.21.0" - self.by-version."archiver"."0.4.10" - self.by-version."lodash"."1.3.1" + self.by-version."q"."1.0.1" + self.by-version."request"."2.33.0" + self.by-version."archiver"."0.5.2" + self.by-version."lodash"."2.4.1" self.by-version."underscore.string"."2.3.3" ]; peerDependencies = [ ]; passthru.names = [ "wd" ]; }; - by-spec."webdrvr"."*" = - self.by-version."webdrvr"."2.38.0-0"; - by-version."webdrvr"."2.38.0-0" = lib.makeOverridable self.buildNodePackage { - name = "webdrvr-2.38.0-0"; + by-spec."weak-map"."^1.0.4" = + self.by-version."weak-map"."1.0.4"; + by-version."weak-map"."1.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-weak-map-1.0.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.38.0-0.tgz"; - name = "webdrvr-2.38.0-0.tgz"; - sha1 = "b5388a672ac512e09df24d00f80b3d619dc15e5c"; + url = "http://registry.npmjs.org/weak-map/-/weak-map-1.0.4.tgz"; + name = "weak-map-1.0.4.tgz"; + sha1 = "1acddee2cc90eb30950860b7415c79cefc5f07c9"; + }) + ]; + buildInputs = + (self.nativeDeps."weak-map" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "weak-map" ]; + }; + by-spec."webdrvr"."*" = + self.by-version."webdrvr"."2.40.0"; + by-version."webdrvr"."2.40.0" = lib.makeOverridable self.buildNodePackage { + name = "webdrvr-2.40.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/webdrvr/-/webdrvr-2.40.0.tgz"; + name = "webdrvr-2.40.0.tgz"; + sha1 = "689f5d3fad5008ffc7b273d607eea9dd7d26ca42"; }) ]; buildInputs = (self.nativeDeps."webdrvr" or []); deps = [ - self.by-version."adm-zip"."0.4.3" + self.by-version."adm-zip"."0.4.4" self.by-version."kew"."0.1.7" self.by-version."mkdirp"."0.3.5" - self.by-version."npmconf"."0.1.12" - self.by-version."phantomjs"."1.9.2-6" + self.by-version."npmconf"."0.1.14" + self.by-version."phantomjs"."1.9.7-3" self.by-version."tmp"."0.0.23" self.by-version."follow-redirects"."0.0.3" ]; @@ -15033,11 +18836,11 @@ ]; passthru.names = [ "webdrvr" ]; }; - "webdrvr" = self.by-version."webdrvr"."2.38.0-0"; + "webdrvr" = self.by-version."webdrvr"."2.40.0"; by-spec."websocket-driver".">=0.3.0" = self.by-version."websocket-driver"."0.3.2"; by-version."websocket-driver"."0.3.2" = lib.makeOverridable self.buildNodePackage { - name = "websocket-driver-0.3.2"; + name = "node-websocket-driver-0.3.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.2.tgz"; @@ -15055,15 +18858,15 @@ }; by-spec."websocket-driver".">=0.3.1" = self.by-version."websocket-driver"."0.3.2"; - by-spec."when"."~2.2.1" = - self.by-version."when"."2.2.1"; - by-version."when"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "when-2.2.1"; + by-spec."when"."~2.8.0" = + self.by-version."when"."2.8.0"; + by-version."when"."2.8.0" = lib.makeOverridable self.buildNodePackage { + name = "node-when-2.8.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/when/-/when-2.2.1.tgz"; - name = "when-2.2.1.tgz"; - sha1 = "b1def994017350b8087f6e9a7596ab2833bdc712"; + url = "http://registry.npmjs.org/when/-/when-2.8.0.tgz"; + name = "when-2.8.0.tgz"; + sha1 = "a15eda8b6998ce74c6f4e220dbda18ce2ab3b026"; }) ]; buildInputs = @@ -15074,7 +18877,7 @@ ]; passthru.names = [ "when" ]; }; - by-spec."which"."*" = + by-spec."which"."1" = self.by-version."which"."1.0.5"; by-version."which"."1.0.5" = lib.makeOverridable self.buildNodePackage { name = "which-1.0.5"; @@ -15093,64 +18896,62 @@ ]; passthru.names = [ "which" ]; }; - by-spec."which"."1" = - self.by-version."which"."1.0.5"; by-spec."which"."1.0.x" = self.by-version."which"."1.0.5"; by-spec."which"."~1.0.5" = self.by-version."which"."1.0.5"; - by-spec."winser"."=0.0.11" = - self.by-version."winser"."0.0.11"; - by-version."winser"."0.0.11" = lib.makeOverridable self.buildNodePackage { - name = "winser-0.0.11"; + by-spec."winser"."=0.1.6" = + self.by-version."winser"."0.1.6"; + by-version."winser"."0.1.6" = lib.makeOverridable self.buildNodePackage { + name = "winser-0.1.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/winser/-/winser-0.0.11.tgz"; - name = "winser-0.0.11.tgz"; - sha1 = "38474086a89ac72f90f9c6762e23375d12046c7c"; + url = "http://registry.npmjs.org/winser/-/winser-0.1.6.tgz"; + name = "winser-0.1.6.tgz"; + sha1 = "08663dc32878a12bbce162d840da5097b48466c9"; }) ]; buildInputs = (self.nativeDeps."winser" or []); deps = [ self.by-version."sequence"."2.2.1" - self.by-version."commander"."2.1.0" + self.by-version."commander"."1.3.1" ]; peerDependencies = [ ]; passthru.names = [ "winser" ]; }; by-spec."winston"."*" = - self.by-version."winston"."0.7.2"; - by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "winston-0.7.2"; + self.by-version."winston"."0.7.3"; + by-version."winston"."0.7.3" = lib.makeOverridable self.buildNodePackage { + name = "node-winston-0.7.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz"; - name = "winston-0.7.2.tgz"; - sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb"; + url = "http://registry.npmjs.org/winston/-/winston-0.7.3.tgz"; + name = "winston-0.7.3.tgz"; + sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266"; }) ]; buildInputs = (self.nativeDeps."winston" or []); deps = [ - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."colors"."0.6.2" self.by-version."cycle"."1.0.3" self.by-version."eyes"."0.1.8" self.by-version."pkginfo"."0.3.0" self.by-version."request"."2.16.6" - self.by-version."stack-trace"."0.0.7" + self.by-version."stack-trace"."0.0.9" ]; peerDependencies = [ ]; passthru.names = [ "winston" ]; }; - "winston" = self.by-version."winston"."0.7.2"; + "winston" = self.by-version."winston"."0.7.3"; by-spec."winston"."0.6.2" = self.by-version."winston"."0.6.2"; by-version."winston"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "winston-0.6.2"; + name = "node-winston-0.6.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz"; @@ -15167,7 +18968,7 @@ self.by-version."eyes"."0.1.8" self.by-version."pkginfo"."0.2.3" self.by-version."request"."2.9.203" - self.by-version."stack-trace"."0.0.7" + self.by-version."stack-trace"."0.0.9" ]; peerDependencies = [ ]; @@ -15177,17 +18978,43 @@ self.by-version."winston"."0.6.2"; by-spec."winston"."0.7.2" = self.by-version."winston"."0.7.2"; - by-spec."winston"."~0.7.2" = - self.by-version."winston"."0.7.2"; - by-spec."wiredep"."~0.4.2" = - self.by-version."wiredep"."0.4.2"; - by-version."wiredep"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "wiredep-0.4.2"; + by-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage { + name = "node-winston-0.7.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/wiredep/-/wiredep-0.4.2.tgz"; - name = "wiredep-0.4.2.tgz"; - sha1 = "42d4cf07422576f26e3a04045edc163da101a66f"; + url = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz"; + name = "winston-0.7.2.tgz"; + sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb"; + }) + ]; + buildInputs = + (self.nativeDeps."winston" or []); + deps = [ + self.by-version."async"."0.2.10" + self.by-version."colors"."0.6.2" + self.by-version."cycle"."1.0.3" + self.by-version."eyes"."0.1.8" + self.by-version."pkginfo"."0.3.0" + self.by-version."request"."2.16.6" + self.by-version."stack-trace"."0.0.9" + ]; + peerDependencies = [ + ]; + passthru.names = [ "winston" ]; + }; + by-spec."winston"."~0.7.2" = + self.by-version."winston"."0.7.3"; + by-spec."winston"."~0.7.3" = + self.by-version."winston"."0.7.3"; + by-spec."wiredep"."~1.0.0" = + self.by-version."wiredep"."1.0.0"; + by-version."wiredep"."1.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-wiredep-1.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/wiredep/-/wiredep-1.0.0.tgz"; + name = "wiredep-1.0.0.tgz"; + sha1 = "2e570465657b97e7494abf62978a3e52fc37ac52"; }) ]; buildInputs = @@ -15195,6 +19022,7 @@ deps = [ self.by-version."lodash"."1.3.1" self.by-version."chalk"."0.1.1" + self.by-version."glob"."3.2.9" ]; peerDependencies = [ ]; @@ -15203,7 +19031,7 @@ by-spec."with"."~1.1.0" = self.by-version."with"."1.1.1"; by-version."with"."1.1.1" = lib.makeOverridable self.buildNodePackage { - name = "with-1.1.1"; + name = "node-with-1.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/with/-/with-1.1.1.tgz"; @@ -15223,7 +19051,7 @@ by-spec."with"."~2.0.0" = self.by-version."with"."2.0.0"; by-version."with"."2.0.0" = lib.makeOverridable self.buildNodePackage { - name = "with-2.0.0"; + name = "node-with-2.0.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/with/-/with-2.0.0.tgz"; @@ -15240,10 +19068,30 @@ ]; passthru.names = [ "with" ]; }; + by-spec."with"."~3.0.0" = + self.by-version."with"."3.0.0"; + by-version."with"."3.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-with-3.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/with/-/with-3.0.0.tgz"; + name = "with-3.0.0.tgz"; + sha1 = "38f5d5859bb974c9dad8812372b51dae4b9594cc"; + }) + ]; + buildInputs = + (self.nativeDeps."with" or []); + deps = [ + self.by-version."uglify-js"."2.4.13" + ]; + peerDependencies = [ + ]; + passthru.names = [ "with" ]; + }; by-spec."wordwrap"."0.0.x" = self.by-version."wordwrap"."0.0.2"; by-version."wordwrap"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "wordwrap-0.0.2"; + name = "node-wordwrap-0.0.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"; @@ -15266,7 +19114,7 @@ by-spec."wrench"."~1.4.3" = self.by-version."wrench"."1.4.4"; by-version."wrench"."1.4.4" = lib.makeOverridable self.buildNodePackage { - name = "wrench-1.4.4"; + name = "node-wrench-1.4.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/wrench/-/wrench-1.4.4.tgz"; @@ -15283,14 +19131,14 @@ passthru.names = [ "wrench" ]; }; by-spec."wrench"."~1.5.0" = - self.by-version."wrench"."1.5.4"; - by-version."wrench"."1.5.4" = lib.makeOverridable self.buildNodePackage { - name = "wrench-1.5.4"; + self.by-version."wrench"."1.5.8"; + by-version."wrench"."1.5.8" = lib.makeOverridable self.buildNodePackage { + name = "node-wrench-1.5.8"; src = [ (fetchurl { - url = "http://registry.npmjs.org/wrench/-/wrench-1.5.4.tgz"; - name = "wrench-1.5.4.tgz"; - sha1 = "2e8d9d3db3568cc1c001a4c8dceca772e5d21643"; + url = "http://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz"; + name = "wrench-1.5.8.tgz"; + sha1 = "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5"; }) ]; buildInputs = @@ -15302,7 +19150,26 @@ passthru.names = [ "wrench" ]; }; by-spec."wrench"."~1.5.4" = - self.by-version."wrench"."1.5.4"; + self.by-version."wrench"."1.5.8"; + by-spec."wru".">= 0.0.0" = + self.by-version."wru"."0.2.7"; + by-version."wru"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "wru-0.2.7"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/wru/-/wru-0.2.7.tgz"; + name = "wru-0.2.7.tgz"; + sha1 = "f6fa4fc7d54f44bec19d55c66c4667078d73062d"; + }) + ]; + buildInputs = + (self.nativeDeps."wru" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "wru" ]; + }; by-spec."ws"."0.4.x" = self.by-version."ws"."0.4.31"; by-version."ws"."0.4.31" = lib.makeOverridable self.buildNodePackage { @@ -15326,10 +19193,12 @@ ]; passthru.names = [ "ws" ]; }; + by-spec."ws"."~0.4.31" = + self.by-version."ws"."0.4.31"; by-spec."wu"."*" = self.by-version."wu"."0.1.8"; by-version."wu"."0.1.8" = lib.makeOverridable self.buildNodePackage { - name = "wu-0.1.8"; + name = "node-wu-0.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/wu/-/wu-0.1.8.tgz"; @@ -15349,7 +19218,7 @@ by-spec."x509"."*" = self.by-version."x509"."0.0.7"; by-version."x509"."0.0.7" = lib.makeOverridable self.buildNodePackage { - name = "x509-0.0.7"; + name = "node-x509-0.0.7"; src = [ (fetchurl { url = "http://registry.npmjs.org/x509/-/x509-0.0.7.tgz"; @@ -15369,7 +19238,7 @@ by-spec."xml2js"."0.2.4" = self.by-version."xml2js"."0.2.4"; by-version."xml2js"."0.2.4" = lib.makeOverridable self.buildNodePackage { - name = "xml2js-0.2.4"; + name = "node-xml2js-0.2.4"; src = [ (fetchurl { url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz"; @@ -15389,7 +19258,7 @@ by-spec."xml2js"."0.2.x" = self.by-version."xml2js"."0.2.8"; by-version."xml2js"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "xml2js-0.2.8"; + name = "node-xml2js-0.2.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz"; @@ -15407,32 +19276,32 @@ passthru.names = [ "xml2js" ]; }; by-spec."xml2js".">= 0.0.1" = - self.by-version."xml2js"."0.4.1"; - by-version."xml2js"."0.4.1" = lib.makeOverridable self.buildNodePackage { - name = "xml2js-0.4.1"; + self.by-version."xml2js"."0.4.2"; + by-version."xml2js"."0.4.2" = lib.makeOverridable self.buildNodePackage { + name = "node-xml2js-0.4.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.1.tgz"; - name = "xml2js-0.4.1.tgz"; - sha1 = "dee0630173a5c6ea62797f848615fd55c6bc6992"; + url = "http://registry.npmjs.org/xml2js/-/xml2js-0.4.2.tgz"; + name = "xml2js-0.4.2.tgz"; + sha1 = "93911c393c4a332a2dce1222801eb571453b2f90"; }) ]; buildInputs = (self.nativeDeps."xml2js" or []); deps = [ self.by-version."sax"."0.5.8" - self.by-version."xmlbuilder"."2.1.0" + self.by-version."xmlbuilder"."2.2.1" ]; peerDependencies = [ ]; passthru.names = [ "xml2js" ]; }; by-spec."xml2js".">=0.1.7" = - self.by-version."xml2js"."0.4.1"; + self.by-version."xml2js"."0.4.2"; by-spec."xmlbuilder"."0.4.2" = self.by-version."xmlbuilder"."0.4.2"; by-version."xmlbuilder"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "xmlbuilder-0.4.2"; + name = "node-xmlbuilder-0.4.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz"; @@ -15449,34 +19318,34 @@ passthru.names = [ "xmlbuilder" ]; }; by-spec."xmlbuilder".">=0.4.2" = - self.by-version."xmlbuilder"."2.1.0"; - by-version."xmlbuilder"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "xmlbuilder-2.1.0"; + self.by-version."xmlbuilder"."2.2.1"; + by-version."xmlbuilder"."2.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-xmlbuilder-2.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.1.0.tgz"; - name = "xmlbuilder-2.1.0.tgz"; - sha1 = "6ddae31683b6df12100b29fc8a0d4f46349abbed"; + url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz"; + name = "xmlbuilder-2.2.1.tgz"; + sha1 = "9326430f130d87435d4c4086643aa2926e105a32"; }) ]; buildInputs = (self.nativeDeps."xmlbuilder" or []); deps = [ - self.by-version."underscore"."1.5.2" + self.by-version."lodash-node"."2.4.1" ]; peerDependencies = [ ]; passthru.names = [ "xmlbuilder" ]; }; by-spec."xmldom"."~0.1.16" = - self.by-version."xmldom"."0.1.17"; - by-version."xmldom"."0.1.17" = lib.makeOverridable self.buildNodePackage { - name = "xmldom-0.1.17"; + self.by-version."xmldom"."0.1.19"; + by-version."xmldom"."0.1.19" = lib.makeOverridable self.buildNodePackage { + name = "node-xmldom-0.1.19"; src = [ (fetchurl { - url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.17.tgz"; - name = "xmldom-0.1.17.tgz"; - sha1 = "c5debadc069f0a3967ddfbc01395a4d7cb0d4282"; + url = "http://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz"; + name = "xmldom-0.1.19.tgz"; + sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc"; }) ]; buildInputs = @@ -15490,7 +19359,7 @@ by-spec."xmlhttprequest"."1.4.2" = self.by-version."xmlhttprequest"."1.4.2"; by-version."xmlhttprequest"."1.4.2" = lib.makeOverridable self.buildNodePackage { - name = "xmlhttprequest-1.4.2"; + name = "node-xmlhttprequest-1.4.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz"; @@ -15509,7 +19378,7 @@ by-spec."xoauth2"."~0.1" = self.by-version."xoauth2"."0.1.8"; by-version."xoauth2"."0.1.8" = lib.makeOverridable self.buildNodePackage { - name = "xoauth2-0.1.8"; + name = "node-xoauth2-0.1.8"; src = [ (fetchurl { url = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz"; @@ -15525,89 +19394,52 @@ ]; passthru.names = [ "xoauth2" ]; }; - by-spec."xtend"."~2.0.6" = - self.by-version."xtend"."2.0.6"; - by-version."xtend"."2.0.6" = lib.makeOverridable self.buildNodePackage { - name = "xtend-2.0.6"; + by-spec."xtend"."~2.1.1" = + self.by-version."xtend"."2.1.2"; + by-version."xtend"."2.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-xtend-2.1.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz"; - name = "xtend-2.0.6.tgz"; - sha1 = "5ea657a6dba447069c2e59c58a1138cb0c5e6cee"; + url = "http://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"; + name = "xtend-2.1.2.tgz"; + sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"; }) ]; buildInputs = (self.nativeDeps."xtend" or []); deps = [ - self.by-version."is-object"."0.1.2" - self.by-version."object-keys"."0.2.0" + self.by-version."object-keys"."0.4.0" ]; peerDependencies = [ ]; passthru.names = [ "xtend" ]; }; - by-spec."yaml"."0.2.3" = - self.by-version."yaml"."0.2.3"; - by-version."yaml"."0.2.3" = lib.makeOverridable self.buildNodePackage { - name = "yaml-0.2.3"; + by-spec."xtend"."~2.1.2" = + self.by-version."xtend"."2.1.2"; + by-spec."yargs"."~1.1.2" = + self.by-version."yargs"."1.1.3"; + by-version."yargs"."1.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-yargs-1.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz"; - name = "yaml-0.2.3.tgz"; - sha1 = "b5450e92e76ef36b5dd24e3660091ebaeef3e5c7"; + url = "http://registry.npmjs.org/yargs/-/yargs-1.1.3.tgz"; + name = "yargs-1.1.3.tgz"; + sha1 = "c44ed2bb9c86d55b557f2179fea7c7013fe4c42a"; }) ]; buildInputs = - (self.nativeDeps."yaml" or []); + (self.nativeDeps."yargs" or []); deps = [ + self.by-version."minimist"."0.0.8" ]; peerDependencies = [ ]; - passthru.names = [ "yaml" ]; - }; - by-spec."yeoman-generator"."~0.13.0" = - self.by-version."yeoman-generator"."0.13.4"; - by-version."yeoman-generator"."0.13.4" = lib.makeOverridable self.buildNodePackage { - name = "yeoman-generator-0.13.4"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.13.4.tgz"; - name = "yeoman-generator-0.13.4.tgz"; - sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34"; - }) - ]; - buildInputs = - (self.nativeDeps."yeoman-generator" or []); - deps = [ - self.by-version."cheerio"."0.12.4" - self.by-version."request"."2.25.0" - self.by-version."rimraf"."2.2.5" - self.by-version."tar"."0.1.19" - self.by-version."diff"."1.0.8" - self.by-version."mime"."1.2.11" - self.by-version."underscore.string"."2.3.3" - self.by-version."lodash"."1.3.1" - self.by-version."mkdirp"."0.3.5" - self.by-version."glob"."3.2.8" - self.by-version."debug"."0.7.4" - self.by-version."isbinaryfile"."0.1.9" - self.by-version."dargs"."0.1.0" - self.by-version."async"."0.2.9" - self.by-version."inquirer"."0.3.5" - self.by-version."iconv-lite"."0.2.11" - self.by-version."shelljs"."0.1.4" - self.by-version."findup-sync"."0.1.2" - self.by-version."chalk"."0.2.1" - self.by-version."text-table"."0.1.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "yeoman-generator" ]; + passthru.names = [ "yargs" ]; }; by-spec."yeoman-generator"."~0.14.0" = self.by-version."yeoman-generator"."0.14.2"; by-version."yeoman-generator"."0.14.2" = lib.makeOverridable self.buildNodePackage { - name = "yeoman-generator-0.14.2"; + name = "node-yeoman-generator-0.14.2"; src = [ (fetchurl { url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.14.2.tgz"; @@ -15619,24 +19451,24 @@ (self.nativeDeps."yeoman-generator" or []); deps = [ self.by-version."cheerio"."0.12.4" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."diff"."1.0.8" self.by-version."mime"."1.2.11" self.by-version."underscore.string"."2.3.3" self.by-version."lodash"."2.2.1" self.by-version."mkdirp"."0.3.5" - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" self.by-version."debug"."0.7.4" self.by-version."isbinaryfile"."0.1.9" self.by-version."dargs"."0.1.0" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."inquirer"."0.3.5" self.by-version."iconv-lite"."0.2.11" self.by-version."shelljs"."0.2.6" - self.by-version."findup-sync"."0.1.2" + self.by-version."findup-sync"."0.1.3" self.by-version."chalk"."0.3.0" self.by-version."text-table"."0.2.0" - self.by-version."download"."0.1.7" + self.by-version."download"."0.1.15" self.by-version."request"."2.27.0" self.by-version."file-utils"."0.1.5" ]; @@ -15647,7 +19479,7 @@ by-spec."yeoman-generator"."~0.16.0" = self.by-version."yeoman-generator"."0.16.0"; by-version."yeoman-generator"."0.16.0" = lib.makeOverridable self.buildNodePackage { - name = "yeoman-generator-0.16.0"; + name = "node-yeoman-generator-0.16.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/yeoman-generator/-/yeoman-generator-0.16.0.tgz"; @@ -15659,24 +19491,24 @@ (self.nativeDeps."yeoman-generator" or []); deps = [ self.by-version."cheerio"."0.13.1" - self.by-version."rimraf"."2.2.5" + self.by-version."rimraf"."2.2.6" self.by-version."diff"."1.0.8" self.by-version."mime"."1.2.11" self.by-version."underscore.string"."2.3.3" self.by-version."lodash"."2.4.1" self.by-version."mkdirp"."0.3.5" - self.by-version."glob"."3.2.8" + self.by-version."glob"."3.2.9" self.by-version."debug"."0.7.4" - self.by-version."isbinaryfile"."2.0.0" + self.by-version."isbinaryfile"."2.0.1" self.by-version."dargs"."0.1.0" - self.by-version."async"."0.2.9" - self.by-version."inquirer"."0.4.0" + self.by-version."async"."0.2.10" + self.by-version."inquirer"."0.4.1" self.by-version."iconv-lite"."0.2.11" self.by-version."shelljs"."0.2.6" - self.by-version."findup-sync"."0.1.2" + self.by-version."findup-sync"."0.1.3" self.by-version."chalk"."0.4.0" self.by-version."text-table"."0.2.0" - self.by-version."download"."0.1.7" + self.by-version."download"."0.1.15" self.by-version."request"."2.30.0" self.by-version."file-utils"."0.1.5" self.by-version."class-extend"."0.1.1" @@ -15702,18 +19534,18 @@ self.by-version."yeoman-generator"."0.16.0" self.by-version."nopt"."2.1.2" self.by-version."lodash"."2.4.1" - self.by-version."update-notifier"."0.1.7" - self.by-version."insight"."0.3.0" + self.by-version."update-notifier"."0.1.8" + self.by-version."insight"."0.3.1" self.by-version."sudo-block"."0.3.0" - self.by-version."async"."0.2.9" + self.by-version."async"."0.2.10" self.by-version."open"."0.0.4" self.by-version."chalk"."0.4.0" - self.by-version."findup"."0.1.3" + self.by-version."findup"."0.1.5" self.by-version."shelljs"."0.2.6" ]; peerDependencies = [ - self.by-version."grunt-cli"."0.1.11" - self.by-version."bower"."1.2.8" + self.by-version."grunt-cli"."0.1.13" + self.by-version."bower"."1.3.2" ]; passthru.names = [ "yo" ]; }; @@ -15725,7 +19557,7 @@ by-spec."zeparser"."0.0.5" = self.by-version."zeparser"."0.0.5"; by-version."zeparser"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "zeparser-0.0.5"; + name = "node-zeparser-0.0.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz"; @@ -15741,23 +19573,47 @@ ]; passthru.names = [ "zeparser" ]; }; - by-spec."zlib-browserify"."0.0.1" = - self.by-version."zlib-browserify"."0.0.1"; - by-version."zlib-browserify"."0.0.1" = lib.makeOverridable self.buildNodePackage { - name = "zlib-browserify-0.0.1"; + by-spec."zip-stream"."~0.1.0" = + self.by-version."zip-stream"."0.1.4"; + by-version."zip-stream"."0.1.4" = lib.makeOverridable self.buildNodePackage { + name = "node-zip-stream-0.1.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz"; - name = "zlib-browserify-0.0.1.tgz"; - sha1 = "4fa6a45d00dbc15f318a4afa1d9afc0258e176cc"; + url = "http://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz"; + name = "zip-stream-0.1.4.tgz"; + sha1 = "fe5b565bc366b8d73d5d4c1606e07c8947de1654"; + }) + ]; + buildInputs = + (self.nativeDeps."zip-stream" or []); + deps = [ + self.by-version."readable-stream"."1.0.26" + self.by-version."lodash.defaults"."2.4.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "zip-stream" ]; + }; + by-spec."zlib-browserify"."^0.0.3" = + self.by-version."zlib-browserify"."0.0.3"; + by-version."zlib-browserify"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-zlib-browserify-0.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz"; + name = "zlib-browserify-0.0.3.tgz"; + sha1 = "240ccdbfd0203fa842b130deefb1414122c8cc50"; }) ]; buildInputs = (self.nativeDeps."zlib-browserify" or []); deps = [ + self.by-version."tape"."0.2.2" ]; peerDependencies = [ ]; passthru.names = [ "zlib-browserify" ]; }; + by-spec."zlib-browserify"."~0.0.3" = + self.by-version."zlib-browserify"."0.0.3"; } diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index 2f9adca15f32..45447127dca0 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -73,6 +73,8 @@ , "generator-webapp" , "generator-angular" , "statsd" +, "statsd-librato-backend" +, "stackdriver-statsd-backend" , "ungit" , { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" } , { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " } @@ -114,5 +116,10 @@ , "rethinkdb" , "bower2nix" , "fetch-bower" -, "titanium" +, { "titanium": "3.2.1" } +, "gh" +, "deepmerge" +, "slasp" +, "react" +, { "pure-css": "git://github.com/yui/pure.git#v0.5.0-rc-1" } ] diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ef2372b50125..ad5a5bf9fed6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -88,27 +88,27 @@ let self = _self // overrides; _self = with self; { }; aliased = buildPerlPackage rec { - name = "aliased-0.30"; + name = "aliased-0.31"; src = fetchurl { url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz"; - sha256 = "1iqcbfv600m31rfvl7r9ckr0hh0vny63q7a6yyhfrh4ppcgj4ig4"; + sha256 = "0gxfqdddlq5g1b2zs99b251hz52z9ys4yni7j2p8gyk5zij3wm1s"; }; }; AlienWxWidgets = buildPerlPackage rec { - name = "Alien-wxWidgets-0.64"; + name = "Alien-wxWidgets-0.65"; src = fetchurl { url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz"; - sha256 = "1frmvdppzw1vrbk2jvwxh5a5qafl7bigflpgwpkzdg4v9nswgbmx"; + sha256 = "0h4g7jl0p8a35kyvsji3qlb75mbcfqpvvmwh7s9krkbqklqjlxxl"; }; propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ]; }; AnyEvent = buildPerlPackage { - name = "AnyEvent-7.05"; + name = "AnyEvent-7.07"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.05.tar.gz; - sha256 = "0022y5xbn3dn5x0q1kzvx15icf3g1cqqljrfhyriy794a42fply6"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.07.tar.gz; + sha256 = "01iilh11xc2gw6fxxr6il3r6n1k4cf6swaddgbhi525wfzlchk2c"; }; meta = { maintainers = with maintainers; [ ocharles ]; @@ -156,10 +156,10 @@ let self = _self // overrides; _self = with self; { }; AppCLI = buildPerlPackage { - name = "App-CLI-0.07"; + name = "App-CLI-0.313"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/App-CLI-0.07.tar.gz; - sha256 = "000866qsm7jck3ini69b02sgbjwp6s297lsds002r7xk2wb6fqcz"; + url = mirror://cpan/authors/id/C/CO/CORNELIUS/App-CLI-0.313.tar.gz; + sha256 = "0ni1z14xis1b634qjc3zra9c9pl2icfr6sp5qxs0xy8nvib65037"; }; propagatedBuildInputs = [LocaleMaketextSimple]; }; @@ -200,6 +200,18 @@ let self = _self // overrides; _self = with self; { }; }; + ArchiveCpio = buildPerlPackage { + name = "Archive-Cpio-0.09"; + src = fetchurl { + url = mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.09.tar.gz; + sha256 = "1cf8k5zjykdbc1mn8lixlkij6jklwn6divzyq2grycj3rpd36g5c"; + }; + meta = { + description = "Module for manipulations of cpio archives"; + platforms = stdenv.lib.platforms.linux; + }; + }; + ArchiveZip = buildPerlPackage { name = "Archive-Zip-1.16"; src = fetchurl { @@ -304,16 +316,29 @@ let self = _self // overrides; _self = with self; { }; }; + autovivification = buildPerlPackage { + name = "autovivification-0.12"; + src = fetchurl { + url = mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.12.tar.gz; + sha256 = "6ef8686766c63571389880e5d87a0ca1d46f7d127982e8ef38aca7568c44840c"; + }; + meta = { + homepage = http://search.cpan.org/dist/autovivification/; + description = "Lexically disable autovivification"; + license = "perl"; + }; + }; + BerkeleyDB = import ../development/perl-modules/BerkeleyDB { inherit buildPerlPackage fetchurl; - inherit (pkgs) db4; + inherit (pkgs) db; }; BHooksEndOfScope = buildPerlPackage { - name = "B-Hooks-EndOfScope-0.12"; + name = "B-Hooks-EndOfScope-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/B-Hooks-EndOfScope-0.12.tar.gz; - sha256 = "1gagn8b9zhbwk4f4cllrvir1mspvq0ladsy0pfkwl9w85q1843lj"; + url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.13.tar.gz; + sha256 = "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi"; }; propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ]; meta = { @@ -364,10 +389,10 @@ let self = _self // overrides; _self = with self; { }; boolean = buildPerlPackage { - name = "boolean-0.30"; + name = "boolean-0.32"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.30.tar.gz; - sha256 = "f46e7a6121d5728ef2ce285a82d1dde94f6dfa0b846a612db75b1dcd37b9fc7f"; + url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.32.tar.gz; + sha256 = "1icihm1cib90klfjrk069s7031n1c7xk3fmkr2bfxrwqda4di7jg"; }; meta = { homepage = https://github.com/ingydotnet/boolean-pm/tree; @@ -377,14 +402,64 @@ let self = _self // overrides; _self = with self; { }; BoostGeometryUtils = buildPerlModule rec { - name = "Boost-Geometry-Utils-0.12"; + name = "Boost-Geometry-Utils-0.15"; src = fetchurl { url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz"; - sha256 = "1pywbxjf05qpcixshblhd2cham601zwa9w7c3k5waz4cdild6g1m"; + sha256 = "1jnihz3029x51a455nxa0jx2z125x38q3vkkggsgdlrvawzxsm00"; }; propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ]; }; + BusinessISBN = buildPerlPackage { + name = "Business-ISBN-2.07"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-2.07.tar.gz; + sha256 = "4c11279580872bf3cc7176bb75c25b165d4b59a2828fc43d9a355cec3d0a45ff"; + }; + propagatedBuildInputs = [ BusinessISBNData URI ]; + meta = { + description = "Parse and validate ISBNs"; + license = "perl"; + }; + }; + + BusinessISBNData = buildPerlPackage { + name = "Business-ISBN-Data-20120719.001"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20120719.001.tar.gz; + sha256 = "745f6bf8f7bd912c0a1865aa5f7e49343804de27783f544b2e2c714e14a704a3"; + }; + meta = { + description = "Data pack for Business::ISBN"; + license = "perl"; + }; + }; + + BusinessISMN = buildPerlPackage { + name = "Business-ISMN-1.11"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.11.tar.gz; + sha256 = "76d5240a5672c7a8b1ba9e9ea8238a5c8882139911acbb67b7059b5ee3da342d"; + }; + propagatedBuildInputs = [ TieCycle ]; + meta = { + description = "Work with International Standard Music Numbers"; + license = "perl"; + }; + }; + + BusinessISSN = buildPerlPackage { + name = "Business-ISSN-0.91"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-0.91.tar.gz; + sha256 = "f15b192c0f547bb2967811072b3d343b94bc5ea58d02704c19122f7ae0a9d6b5"; + }; + meta = { + description = "Work with International Standard Serial Numbers"; + license = "perl"; + }; + }; + CacheCache = buildPerlPackage rec { name = "Cache-Cache-1.06"; src = fetchurl { @@ -445,10 +520,10 @@ let self = _self // overrides; _self = with self; { }; cam_pdf = buildPerlPackage rec { - name = "CAM-PDF-1.52"; + name = "CAM-PDF-1.60"; src = fetchurl { url = "mirror://cpan/authors/id/C/CD/CDOLAN/${name}.tar.gz"; - sha256 = "1lamnx0vcqzzcxdmj5038gvyn6z5xcy9756jhndgpggjfkzilwkh"; + sha256 = "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7"; }; propagatedBuildInputs = [ CryptRC4 TextPDF ]; buildInputs = [ TestMore ]; @@ -469,10 +544,10 @@ let self = _self // overrides; _self = with self; { }; CaptureTiny = buildPerlPackage { - name = "Capture-Tiny-0.21"; + name = "Capture-Tiny-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.21.tar.gz; - sha256 = "1lvz2639zsjpr3001b2xyidnsd4kcgll5fvaa0pm928wzldb49wg"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.24.tar.gz; + sha256 = "0rg0m9irhx8jwamxdi2ms4vhhxy7q050gjrn2m051spqfa26zkwv"; }; meta = { homepage = https://metacpan.org/release/Capture-Tiny; @@ -568,10 +643,10 @@ let self = _self // overrides; _self = with self; { }; CatalystAuthenticationStoreDBIxClass = buildPerlPackage { - name = "Catalyst-Authentication-Store-DBIx-Class-0.1503"; + name = "Catalyst-Authentication-Store-DBIx-Class-0.1506"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1503.tar.gz; - sha256 = "1l11if91gjfrga7i7bjxwa0zybhkkrpgg6ps3nxm30vmg7xqaf4d"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz; + sha256 = "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw"; }; propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ]; meta = { @@ -605,10 +680,10 @@ let self = _self // overrides; _self = with self; { }; CatalystDevel = buildPerlPackage { - name = "Catalyst-Devel-1.37"; + name = "Catalyst-Devel-1.39"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.37.tar.gz; - sha256 = "0yk526py65iy40z10d6w0fspb8fam5rf1hzsxnfyy4lpy91lp7s9"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Devel-1.39.tar.gz; + sha256 = "12m50bbkggjmpxihv3wnvr0g2qng0zwhlzi5ygppjz8wh2x73qxw"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ CatalystRuntime CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast namespaceautoclean namespaceclean PathClass Starman TemplateToolkit ]; @@ -621,10 +696,10 @@ let self = _self // overrides; _self = with self; { }; CatalystDispatchTypeRegex = buildPerlModule { - name = "Catalyst-DispatchType-Regex-5.90032"; + name = "Catalyst-DispatchType-Regex-5.90033"; src = fetchurl { - url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90032.tar.gz; - sha256 = "003e31fe0c1d6dfc6be4d9cd47cb058a9b53a73bb6a9f74a132a43dbfbbb5e3c"; + url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90033.tar.gz; + sha256 = "0rdi8jxj9fz81l9pxl7q190v69vkgxgixcpals555xyiafnqk4vy"; }; propagatedBuildInputs = [ Moose TextSimpleTable ]; meta = { @@ -652,10 +727,10 @@ let self = _self // overrides; _self = with self; { }; CatalystManual = buildPerlPackage { - name = "Catalyst-Manual-5.9006"; + name = "Catalyst-Manual-5.9007"; src = fetchurl { - url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Manual-5.9006.tar.gz; - sha256 = "0cl9nqg5jrqcf2h3pgk6q8408czf5s0k0xh3ra884c9cnx84mr95"; + url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Manual-5.9007.tar.gz; + sha256 = "140526pzzqc1vyxkk9fxvp9ds3kk2rncf8nf7iz0adlr219pkg3j"; }; meta = { description = "The Catalyst developer's manual"; @@ -789,10 +864,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginConfigLoader = buildPerlPackage rec { - name = "Catalyst-Plugin-ConfigLoader-0.30"; + name = "Catalyst-Plugin-ConfigLoader-0.33"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1rshgsvs9ngpd4nang4flq6mx9v71w1z5klp1rm8llc88pxlqahm"; + url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; + sha256 = "0m18yqcwx5fzz4lrd5db8x8wyir1061pclv5jb9g963wbg4zk43g"; }; propagatedBuildInputs = [CatalystRuntime DataVisitor ConfigAny MROCompat]; }; @@ -823,10 +898,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginSession = buildPerlPackage { - name = "Catalyst-Plugin-Session-0.36"; + name = "Catalyst-Plugin-Session-0.39"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.36.tar.gz; - sha256 = "14wgkrg3w69gwg6zg991k5f611xqsnyx0i0xzhw9rx2j5nf9rj4b"; + url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.39.tar.gz; + sha256 = "0m4a003qgz7848iyckwbigg2vw3kmfxggh1razrnzxrbz3n6x5gi"; }; buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ]; propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ]; @@ -857,10 +932,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginStackTrace = buildPerlPackage { - name = "Catalyst-Plugin-StackTrace-0.11"; + name = "Catalyst-Plugin-StackTrace-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-StackTrace-0.11.tar.gz; - sha256 = "1ingivnga1yb4dqsj6icc4a58i9wdalzpn2qflsn8n2skgm223qb"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz; + sha256 = "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j"; }; propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ]; meta = { @@ -870,10 +945,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginStaticSimple = buildPerlPackage { - name = "Catalyst-Plugin-Static-Simple-0.30"; + name = "Catalyst-Plugin-Static-Simple-0.31"; src = fetchurl { - url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.30.tar.gz; - sha256 = "18zar1n4imgnv7b4dr5sxyikry4668ngqgc6f0dr210bqafvwv7w"; + url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.31.tar.gz; + sha256 = "1mcns9qdpnja153prbyypwjicgpm1sn7rw75k7hm28g3vf59z733"; }; patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ]; propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ]; @@ -884,10 +959,10 @@ let self = _self // overrides; _self = with self; { }; CatalystViewDownload = buildPerlPackage rec { - name = "Catalyst-View-Download-0.07"; + name = "Catalyst-View-Download-0.09"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz"; + url = "mirror://cpan/authors/id/G/GA/GAUDEON/${name}.tar.gz"; + sha256 = "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs"; }; buildInputs = [ TestWWWMechanizeCatalyst Testuseok ]; propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ]; @@ -908,10 +983,10 @@ let self = _self // overrides; _self = with self; { }; CatalystViewTT = buildPerlPackage { - name = "Catalyst-View-TT-0.40"; + name = "Catalyst-View-TT-0.41"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-View-TT-0.40.tar.gz; - sha256 = "0j73mk631p9x0b0l24ikavh9nxl6lpya4g46fpanjk396d2zj8bs"; + url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-TT-0.41.tar.gz; + sha256 = "1yrigxqapxj4k1qkykiiqy6a30ljb7hlkaw80d7n0n5mpm67j1nb"; }; propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ]; meta = { @@ -921,10 +996,10 @@ let self = _self // overrides; _self = with self; { }; CatalystXComponentTraits = buildPerlPackage rec { - name = "CatalystX-Component-Traits-0.16"; + name = "CatalystX-Component-Traits-0.19"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz"; - sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88"; }; propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ]; @@ -966,18 +1041,18 @@ let self = _self // overrides; _self = with self; { }; CGICookieXS = buildPerlPackage rec { - name = "CGI-Cookie-XS-0.16"; + name = "CGI-Cookie-XS-0.18"; src = fetchurl { url = "mirror://cpan/authors/id/A/AG/AGENT/${name}.tar.gz"; - sha256 = "1jrd3f11sz17117nvssrrf6r80fr412615n5ffspbsap4n816bnn"; + sha256 = "1iixvnm0l1q24vdlnayb4vd8fns2bdlhm6zb7fpi884ppm5cp6a6"; }; }; CGIExpand = buildPerlPackage { - name = "CGI-Expand-2.03"; + name = "CGI-Expand-2.04"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.03.tar.gz; - sha256 = "0p59is2mynybii8r1cpci2i17xzwhrrs4741hndhkcp4spggr0z1"; + url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.04.tar.gz; + sha256 = "0jk2vvk4mlz7phq3h3wpryix46adi7fkkzvkv0ssn5xkqy3pqlny"; }; propagatedBuildInputs = [ TestException ]; meta = { @@ -1073,18 +1148,18 @@ let self = _self // overrides; _self = with self; { }; ClassBase = buildPerlPackage rec { - name = "Class-Base-0.03"; + name = "Class-Base-0.05"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz"; - sha256 = "149875qzfyayvkb6dm8frg0kmkzyjswwrjz7gyvwi7l8b19kiyk4"; + url = "mirror://cpan/authors/id/S/SZ/SZABGAB/${name}.tar.gz"; + sha256 = "0vryy6b64f2wbfc2zzzvh6ravkp5i4kjdxhjbj3s08g9pwyc67y6"; }; }; ClassC3 = buildPerlPackage { - name = "Class-C3-0.24"; + name = "Class-C3-0.26"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-0.24.tar.gz; - sha256 = "1nhwf7bj7z5szk7sxmq0ynqh2k9p42a7zkfyikkairfb78xckpkz"; + url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.26.tar.gz; + sha256 = "008xg6gf5qp2fdjqzfpg0fzhw7f308ddkxwvzdcaa9zq59sg5x6s"; }; propagatedBuildInputs = [ AlgorithmC3 ]; meta = { @@ -1184,10 +1259,10 @@ let self = _self // overrides; _self = with self; { }; ClassMethodMaker = buildPerlPackage { - name = "Class-MethodMaker-2.18"; + name = "Class-MethodMaker-2.21"; src = fetchurl { - url = mirror://cpan/authors/id/S/SC/SCHWIGON/Class-MethodMaker-2.18.tar.gz; - sha256 = "223b7a79025e9bff984d755f9744182505e110680b13eedbac2831d45ddbeeba"; + url = mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.21.tar.gz; + sha256 = "0gca1cjy2k0mrpfnbyzm5islzfayqfvg3zzlrlm7n60p0cb48y7w"; }; preConfigure = "patchShebangs ."; meta = { @@ -1197,10 +1272,10 @@ let self = _self // overrides; _self = with self; { }; ClassMethodModifiers = buildPerlPackage { - name = "Class-Method-Modifiers-2.00"; + name = "Class-Method-Modifiers-2.10"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SARTAK/Class-Method-Modifiers-2.00.tar.gz; - sha256 = "0lvj38ahqqyhv9dpi7ks1cq35f19nfw8ygxw22x2mcmagl8mnkhs"; + url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.10.tar.gz; + sha256 = "1dp757rzv6a9k7q0bpmjxv69g4r893vb143qq7fyqlwzg0zva3s2"; }; buildInputs = [ TestFatal ]; meta = { @@ -1230,18 +1305,18 @@ let self = _self // overrides; _self = with self; { }; ClassThrowable = buildPerlPackage { - name = "Class-Throwable-0.10"; + name = "Class-Throwable-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/S/ST/STEVAN/Class-Throwable-0.10.tar.gz; - sha256 = "01hjrfb951c9j83ncg5drnam8vsfdgkjjv0kjshxhkl93sgnlvdl"; + url = mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.11.tar.gz; + sha256 = "1vjadr0kqmfi9s3wfxjbqqgc7fqrk87n6b1a5979sbxxk5yh8hyk"; }; }; ClassLoad = buildPerlPackage { - name = "Class-Load-0.20"; + name = "Class-Load-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-0.20.tar.gz; - sha256 = "084cxrm0hcpyz3ly1iqkcjpl4bs03n42na37d3pzwa8xbs44ag42"; + url = mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.21.tar.gz; + sha256 = "0z04r0jdk8l3qd96f75q3042p76hr4i747dg87s7xrpp0bjbmn8h"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ]; @@ -1268,19 +1343,19 @@ let self = _self // overrides; _self = with self; { }; ClassUnload = buildPerlPackage rec { - name = "Class-Unload-0.07"; + name = "Class-Unload-0.08"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class//${name}.tar.gz"; - sha256 = "1alvn94j0wgfyyym092g9cq0mbhzin0zf7lfja6578jk5cc788rr"; + url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz"; + sha256 = "097gr3r2jgnm1175m4lpg4a97hv2mxrn9r0b2c6bn1x9xdhkywgh"; }; propagatedBuildInputs = [ ClassInspector ]; }; ClassXSAccessor = buildPerlPackage { - name = "Class-XSAccessor-1.16"; + name = "Class-XSAccessor-1.19"; src = fetchurl { - url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.16.tar.gz; - sha256 = "1yjpw9kssy4m52407k45hxjnqz02494z7x8j44pjzkyi8msafvg5"; + url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz; + sha256 = "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr"; }; meta = { description = "Generate fast XS accessors without runtime compilation"; @@ -1289,10 +1364,10 @@ let self = _self // overrides; _self = with self; { }; Clone = buildPerlPackage { - name = "Clone-0.34"; + name = "Clone-0.36"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.34.tar.gz; - sha256 = "0qk32i2ncmn7wm2dbjpwhwa4js079bgfs4ayb90mnxjhwq5358ix"; + url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.36.tar.gz; + sha256 = "1i90l24l46dyadmdz82klyh3y1lhfn75wjjpfmgl1kbr4plgdph3"; }; meta = { description = "Recursively copy Perl datatypes"; @@ -1312,10 +1387,10 @@ let self = _self // overrides; _self = with self; { }; CompressRawBzip2 = buildPerlPackage { - name = "Compress-Raw-Bzip2-2.063"; + name = "Compress-Raw-Bzip2-2.064"; src = fetchurl { - url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.063.tar.gz; - sha256 = "0qi2jg76pgx1qkh4897g746cxqjr2njzzbyv2k9pq4m1m2v3jr6s"; + url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.064.tar.gz; + sha256 = "0aqbggr9yf4hn21a9fra111rlmva3w8f3mqvbchl5l86knkbkwy3"; }; # Don't build a private copy of bzip2. @@ -1393,10 +1468,10 @@ let self = _self // overrides; _self = with self; { }; ConfigMVP = buildPerlPackage { - name = "Config-MVP-2.200004"; + name = "Config-MVP-2.200007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200004.tar.gz; - sha256 = "dbe473f4b0fc649b82574aa71b0c5da3359058e181928d5e9197fc0ef247c3ec"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200007.tar.gz; + sha256 = "10hc8v22mv56wqi6drpl4pw3r8y3xrgh80ayrb2gir80ah9s5bvi"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ClassLoad Moose MooseXOneArgNew ParamsUtil RoleHasMessage RoleIdentifiable Throwable TieIxHash TryTiny ]; @@ -1422,26 +1497,26 @@ let self = _self // overrides; _self = with self; { }; ConfigTiny = buildPerlPackage rec { - name = "Config-Tiny-2.12"; + name = "Config-Tiny-2.20"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "1a5b7f5e8245a3e7be859df571209353be30abc7292815ee0f459b8dc87cdb5b"; + url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz"; + sha256 = "0grgb7av1hwpl20xh91jipla1xi0h7vx6c538arxmvgm1f71cql2"; }; }; ConvertASN1 = buildPerlPackage rec { - name = "Convert-ASN1-0.22"; + name = "Convert-ASN1-0.26"; src = fetchurl { - url = "mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.22.tar.gz"; - sha256 = "1vpny8smwl23rai1kxngi5i31jhp6s6cdls19gjhcwsxf76daqxy"; + url = "mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.26.tar.gz"; + sha256 = "188wpjnp4j2m1l1zzw9ak9ymiba1g7hzysf8mc6bsdnhl0pvdf2x"; }; }; constant = buildPerlPackage { - name = "constant-1.15"; + name = "constant-1.27"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.15.tar.gz; - sha256 = "1ygz0hd1fd3q88r6dlw14kpyh06zjprksdci7qva6skxz3261636"; + url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.27.tar.gz; + sha256 = "0ari0jggiifz3q7vxb8nlcsc3g6bj8c0c0drsrphv0079c956i3l"; }; }; @@ -1488,10 +1563,10 @@ let self = _self // overrides; _self = with self; { }; Coro = buildPerlPackage { - name = "Coro-6.33"; + name = "Coro-6.37"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.33.tar.gz; - sha256 = "1497wd9df10y65rb0w5h4h6wiy3smw9maw7z0gbz6dir774znfb5"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.37.tar.gz; + sha256 = "08qkwv7rpyb7zcp128crjakflc027sjkx9d2s1gzc21grsq9a456"; }; propagatedBuildInputs = [ AnyEvent Guard CommonSense ]; meta = { @@ -1600,10 +1675,10 @@ let self = _self // overrides; _self = with self; { }; CryptDHGMP = buildPerlPackage rec { - name = "Crypt-DH-GMP-0.00011"; + name = "Crypt-DH-GMP-0.00012"; src = fetchurl { - url = "mirror://cpan/authors/id//D/DM/DMAKI/${name}.tar.gz"; - sha256 = "0c9sz67lh2d2pn9z82hngzns4sqqnawdc8a1yl7p7pc0l4r0q3hz"; + url = "mirror://cpan/authors/id/D/DM/DMAKI/${name}.tar.gz"; + sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi"; }; buildInputs = [ DevelChecklib TestRequires pkgs.gmp ]; NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; @@ -1620,10 +1695,10 @@ let self = _self // overrides; _self = with self; { }; CryptPasswdMD5 = buildPerlPackage { - name = "Crypt-PasswdMD5-1.3"; + name = "Crypt-PasswdMD5-1.40"; src = fetchurl { - url = mirror://cpan/authors/id/L/LU/LUISMUNOZ/Crypt-PasswdMD5-1.3.tar.gz; - sha256 = "13j0v6ihgx80q8jhyas4k48b64gnzf202qajyn097vj8v48khk54"; + url = mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz; + sha256 = "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp"; }; }; @@ -1653,10 +1728,10 @@ let self = _self // overrides; _self = with self; { }; CryptRandPasswd = buildPerlPackage { - name = "Crypt-RandPasswd-0.03"; + name = "Crypt-RandPasswd-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.03.tar.gz; - sha256 = "0sz2b4gj2mcwj0nqvxw3gs5m49jzfbi0vla51hj957dvfk00plhf"; + url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.05.tar.gz; + sha256 = "0djcjzk0wmlf02gx9935m7c1dhpmdwx3hjal8x80aa92baavwf2s"; }; }; @@ -1670,18 +1745,18 @@ let self = _self // overrides; _self = with self; { }; CryptRijndael = buildPerlPackage rec { - name = "Crypt-Rijndael-1.11"; + name = "Crypt-Rijndael-1.12"; src = fetchurl { url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz"; - sha256 = "8f8833bc8839e0d4aa3c26d86d2f39ceb9b13e52a9f5e4fd928da2e71989d3b4"; + sha256 = "1rgzlxp882cc52287awwha4ipglm6nxw5jryd6cshrr99qcx55m0"; }; }; CryptUnixCryptXS = buildPerlPackage rec { - name = "Crypt-UnixCrypt_XS-0.09"; + name = "Crypt-UnixCrypt_XS-0.10"; src = fetchurl { url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz"; - sha256 = "527c32b8b6eb50d52b081ceae4be2d748e718e40ea85940da59a3adeb3a33156"; + sha256 = "1d3xamq2mm3v2bfb1ay66crljm0bigfbhay1fqglcsrb75b7ls7r"; }; }; @@ -1694,10 +1769,10 @@ let self = _self // overrides; _self = with self; { }; CryptOpenSSLRandom = buildPerlPackage rec { - name = "Crypt-OpenSSL-Random-0.04"; + name = "Crypt-OpenSSL-Random-0.06"; src = fetchurl { - url = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz"; - sha256 = "acf7eb81023cd1f40d8c60b893096d041513df2be2aefe145cc7ae1a3dcc78c7"; + url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; + sha256 = "10yhjh04jxdf4ghqqvrcfds7vvylxv671l57lkkbg3k8qzpdzd7g"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; @@ -1739,10 +1814,10 @@ let self = _self // overrides; _self = with self; { }; DataCompare = buildPerlPackage rec { - name = "Data-Compare-1.22"; + name = "Data-Compare-1.2102"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz"; - sha256 = "1bz8qasp3ndiprxq2l0llbc0xbnjq11lz0l1lfzxiap7v1y2r3yf"; + url = "mirror://cpan/authors/id/D/DC/DCANTRELL/${name}.tar.gz"; + sha256 = "0v1997gnq3gpcr7f64jmyay2l60s5z6gsiy5hbpn1p2l2hrfnwlj"; }; propagatedBuildInputs = [ FileFindRule ]; }; @@ -1816,10 +1891,10 @@ let self = _self // overrides; _self = with self; { }; DataPage = buildPerlPackage { - name = "Data-Page-2.01"; + name = "Data-Page-2.02"; src = fetchurl { - url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.01.tar.gz; - sha256 = "0mvhlid9qx9yd94rgr4lfz9kvflimc1dzcah0x7q5disw39aqrzr"; + url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.02.tar.gz; + sha256 = "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554"; }; propagatedBuildInputs = [TestException ClassAccessorChained]; }; @@ -1839,10 +1914,10 @@ let self = _self // overrides; _self = with self; { }; DataSerializer = buildPerlPackage { - name = "Data-Serializer-0.59"; + name = "Data-Serializer-0.60"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.59.tar.gz; - sha256 = "1mydpbacrkirafcjxcg1c0gnls1kxiv0qvdd4q2yd6vsyay0ayqr"; + url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz; + sha256 = "0ca4s811l7f2bqkx7vnyxbpp4f0qska89g2pvsfb3k0bhhbk0jdk"; }; meta = { description = "Modules that serialize data structures"; @@ -1900,10 +1975,10 @@ let self = _self // overrides; _self = with self; { }; DataVisitor = buildPerlPackage rec { - name = "Data-Visitor-0.28"; + name = "Data-Visitor-0.30"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz"; - sha256 = "1998syyprmqnhpgznmk7ia3zd8saw34q7pbaprxarcz7a3bncyjc"; + url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; + sha256 = "0m7d1505af9z2hj5aw020grcmjjlvnkjpvjam457d7k5qfy4m8lf"; }; buildInputs = [ TestRequires ]; propagatedBuildInputs = @@ -1924,10 +1999,10 @@ let self = _self // overrides; _self = with self; { }; DateManip = buildPerlPackage { - name = "Date-Manip-6.42"; + name = "Date-Manip-6.43"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.42.tar.gz; - sha256 = "18zkdvam3qddv810hgzszk2zxra14whl0fs03ba79babqhbpbzna"; + url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.43.tar.gz; + sha256 = "0jwg87j31gw2fn8csm1zyfqxd0dxh8sbv940ma9idg6g7856zfrz"; }; propagatedBuildInputs = [ TestInter ]; meta = { @@ -1935,11 +2010,22 @@ let self = _self // overrides; _self = with self; { }; }; - DateTime = buildPerlModule { - name = "DateTime-1.04"; + DateSimple = buildPerlPackage { + name = "Date-Simple-3.03"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.04.tar.gz; - sha256 = "1krnrp8hv0m4v1lxrvwgc3vvcycld21ygvjy5p7vaf5h1jpjzrwz"; + url = mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz; + sha256 = "29a1926314ce1681a312d6155c29590c771ddacf91b7485873ce449ef209dd04"; + }; + meta = { + license = "unknown"; + }; + }; + + DateTime = buildPerlModule { + name = "DateTime-1.08"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.08.tar.gz; + sha256 = "0ijhb1mqrfp1pbj4r3wkpp0hdj3zg355skxdn6dsiv439fp65asf"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate TryTiny ]; @@ -2095,10 +2181,10 @@ let self = _self // overrides; _self = with self; { }; DateTimeSet = buildPerlPackage { - name = "DateTime-Set-0.31"; + name = "DateTime-Set-0.3400"; src = fetchurl { - url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.31.tar.gz; - sha256 = "499b59e42a1129bf10fd269eb7542d337a29fbbcbf08ef8313fd465d3ae5df02"; + url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3400.tar.gz; + sha256 = "1b27699zkj68w5ll9chjhs52vmf39f9via6x5r5844as30qh9zxb"; }; propagatedBuildInputs = [ DateTime SetInfinite ]; meta = { @@ -2136,10 +2222,10 @@ let self = _self // overrides; _self = with self; { }; DebugShowStuff = buildPerlPackage { - name = "Debug-ShowStuff-1.14"; + name = "Debug-ShowStuff-1.16"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.14.tar.gz; - sha256 = "023c6f7y93k9qxxfa2fsvc5jkbv3rh6i3nw6zvxa5cg57xfypd7h"; + url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz; + sha256 = "1drcrnji3yrd0s3xb69bxnqa51s19c13w68vhvjad3nvswn5vpd4"; }; propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ]; meta = { @@ -2162,14 +2248,28 @@ let self = _self // overrides; _self = with self; { }; DevelChecklib = buildPerlPackage rec { - name = "Devel-CheckLib-0.98"; + name = "Devel-CheckLib-1.01"; src = fetchurl { url = "mirror://cpan/authors/id/M/MA/MATTN/${name}.tar.gz"; - sha256 = "2b6b62665403bcdce67b53eb3bee7b57b6576026640c01aa57c7126e32ce20da"; + sha256 = "14q9mibxdgqkia73426q6xw6km5bf1hhkgg2nf7x4zhnlksahbwr"; }; propagatedBuildInputs = [ IOCaptureOutput ]; }; + DevelSizeMe = buildPerlPackage { + name = "Devel-SizeMe-0.19"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TI/TIMB/Devel-SizeMe-0.19.tar.gz; + sha256 = "546e31ba83c0bf7cef37b38a462860461850473479d7d4ac6c0dadfb78d54717"; + }; + propagatedBuildInputs = [ DBDSQLite DBI DataDumperConcise HTMLParser JSONXS Moo ]; + meta = { + homepage = https://github.com/timbunce/devel-sizeme; + description = "Unknown"; + license = "perl"; + }; + }; + DBDSQLite = import ../development/perl-modules/DBD-SQLite { inherit stdenv fetchurl buildPerlPackage DBI; inherit (pkgs) sqlite; @@ -2187,14 +2287,14 @@ let self = _self // overrides; _self = with self; { DBFile = import ../development/perl-modules/DB_File { inherit fetchurl buildPerlPackage; - inherit (pkgs) db4; + inherit (pkgs) db; }; DBI = buildPerlPackage { - name = "DBI-1.630"; + name = "DBI-1.631"; src = fetchurl { - url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.630.tar.gz; - sha256 = "18szayj2bl28fm9frf9v1dwncj67bx3rvw8ny1zwbvc6alshs5ji"; + url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.631.tar.gz; + sha256 = "04fmrnchhwi7jx4niaiv93vmi343hdm3xj04w9zr2m9hhqh782np"; }; meta = { homepage = http://dbi.perl.org/; @@ -2219,10 +2319,10 @@ let self = _self // overrides; _self = with self; { }; DBIxClassCandy = buildPerlPackage { - name = "DBIx-Class-Candy-0.002103"; + name = "DBIx-Class-Candy-0.002104"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002103.tar.gz; - sha256 = "1vcaigvzxq9jjkhw2bkayrnsa76sakr3wrv7009f1dxyfa0iyrsk"; + url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002104.tar.gz; + sha256 = "0b0fsm3waqm43qmhcynb2s6p8hi9yr41p9c4c5aq6l58x3xwvp34"; }; propagatedBuildInputs = [ TestDeep TestFatal DBIxClass LinguaENInflect StringCamelCase ]; meta = { @@ -2355,10 +2455,10 @@ let self = _self // overrides; _self = with self; { }; DevelFindPerl = buildPerlPackage { - name = "Devel-FindPerl-0.006"; + name = "Devel-FindPerl-0.012"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.006.tar.gz; - sha256 = "60d5a0fd6880e5cfda381159acd3dbbc21c1121dc44c94ecd323ad5a148e03ff"; + url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.012.tar.gz; + sha256 = "075p340m4pi761sjc3l0ymfsdwy4rrq48sqj38cyy80vg9scljh2"; }; buildInputs = [ CaptureTiny ]; propagatedBuildInputs = [ ExtUtilsConfig ]; @@ -2369,10 +2469,10 @@ let self = _self // overrides; _self = with self; { }; DevelGlobalDestruction = buildPerlPackage { - name = "Devel-GlobalDestruction-0.09"; + name = "Devel-GlobalDestruction-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Devel-GlobalDestruction-0.09.tar.gz; - sha256 = "1hvrv88167rc2chqgxpd6q0ir5fki1q6r3w11v3lxfs118fdi65m"; + url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.12.tar.gz; + sha256 = "0w4a4y9w4yldxlhks95nx8qaivpbzc40b1p8xg3y8467ixkbg9cq"; }; propagatedBuildInputs = [ SubExporterProgressive ]; meta = { @@ -2382,10 +2482,10 @@ let self = _self // overrides; _self = with self; { }; DevelHide = buildPerlPackage rec { - name = "Devel-Hide-0.0008"; + name = "Devel-Hide-0.0009"; src = fetchurl { url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz"; - sha256 = "14hwwirpc9cnwn50rshb8hb778mia4ni75jv2dih8l9i033m4i26"; + sha256 = "1phnzbw58v6551nhv6sg86m72nx9w5j4msh1hg4jvkakkq5w9pki"; }; }; @@ -2403,10 +2503,10 @@ let self = _self // overrides; _self = with self; { }; DevelStackTrace = buildPerlPackage { - name = "Devel-StackTrace-1.30"; + name = "Devel-StackTrace-1.31"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.30.tar.gz; - sha256 = "1m13wzg4pmbc0f1w2rn9ybqwkqg66zw9zv34ayk7gr3349v7kbzl"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.31.tar.gz; + sha256 = "0djvqfbq9ag1bpw0bcksidfy13n91xbl53py3d7w0y2323hjc957"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; @@ -2416,10 +2516,10 @@ let self = _self // overrides; _self = with self; { }; DevelStackTraceAsHTML = buildPerlPackage { - name = "Devel-StackTrace-AsHTML-0.11"; + name = "Devel-StackTrace-AsHTML-0.14"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.11.tar.gz; - sha256 = "0y0r42gszp3bxbs9j2nn3xgs8ij1cnadrywwwdc6r0y8m0siyapg"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.14.tar.gz; + sha256 = "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9"; }; propagatedBuildInputs = [ DevelStackTrace ]; meta = { @@ -2474,10 +2574,10 @@ let self = _self // overrides; _self = with self; { }; DigestMD4 = buildPerlPackage rec { - name = "Digest-MD4-1.5"; + name = "Digest-MD4-1.9"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/${name}.tar.gz"; - sha256 = "c7d7a32f5c2710c929b5688a7b057ec8ddbc51cf278f623e771fc02dcabd6a1f"; + sha256 = "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6"; }; }; @@ -2525,10 +2625,10 @@ let self = _self // overrides; _self = with self; { }; DistZilla = buildPerlPackage { - name = "Dist-Zilla-4.300036"; + name = "Dist-Zilla-4.300039"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300036.tar.gz; - sha256 = "d78c1425d51571d9bc61ed3b20c5aaec1eb59e756ceda3ac40ed727e6c93bf21"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300039.tar.gz; + sha256 = "10cighwsqp53kbk2gwlnl9m18sbs7ijr2v37vwca9qxbscy2yr21"; }; buildInputs = [ FileShareDirInstall SoftwareLicense TestFatal TestFileShareDir TestScript ]; propagatedBuildInputs = [ AppCmd CPANUploader ClassLoad ConfigINI ConfigMVP ConfigMVPReaderINI DataSection DateTime FileCopyRecursive FileFindRule FileHomeDir FileShareDir FileShareDirInstall Filepushd HashMergeSimple JSON ListAllUtils ListMoreUtils LogDispatchouli Moose MooseAutobox MooseXLazyRequire MooseXRoleParameterized MooseXSetOnce MooseXTypes MooseXTypesPathClass MooseXTypesPerl PPI ParamsUtil PathClass PerlPrereqScanner PerlVersion PodEventual SoftwareLicense StringFormatter StringRewritePrefix SubExporter SubExporterForMethods TermReadKey TestDeep TextGlob TextTemplate TryTiny YAMLTiny autobox namespaceautoclean CPANMetaRequirements ]; @@ -2541,10 +2641,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginBundleTestingMania = buildPerlPackage { - name = "Dist-Zilla-PluginBundle-TestingMania-0.20"; + name = "Dist-Zilla-PluginBundle-TestingMania-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.20.tar.gz; - sha256 = "073e17a98b0f88a1b60ce45a325d7447a19db394fcc6f01472bacb1956106da8"; + url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.21.tar.gz; + sha256 = "1cbq7v799bf93iqp19v1ln6bcf6gvmc0qw3gf4bq445wsm7w62wy"; }; buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ]; propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ]; @@ -2597,10 +2697,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginPodWeaver = buildPerlPackage { - name = "Dist-Zilla-Plugin-PodWeaver-3.101642"; + name = "Dist-Zilla-Plugin-PodWeaver-3.102000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.101642.tar.gz; - sha256 = "66066a236be7bd0a3e0ae764a4b9ac10408d40693a1c800c5fdd7e03c3542e00"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.102000.tar.gz; + sha256 = "0xayy50fgfc7wlsnygz28ka2ax9pmr0rn845i8d6p40amrkzzlml"; }; buildInputs = [ FileFindRule ]; propagatedBuildInputs = [ DistZilla ListMoreUtils Moose PPI PodElementalPerlMunger PodWeaver namespaceautoclean ]; @@ -2702,10 +2802,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginTestEOL = buildPerlPackage { - name = "Dist-Zilla-Plugin-Test-EOL-0.07"; + name = "Dist-Zilla-Plugin-Test-EOL-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.07.tar.gz; - sha256 = "c010ef618478e82fbc601abfc241c74fed1fdafe954d8b3ebcb7abe0e09967a8"; + url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.10.tar.gz; + sha256 = "1sl7zvjzpwf7wl188a3j13k1qcb63hawx82iy6r3dx2gns8nc0nw"; }; buildInputs = [ DistZilla TestScript ]; propagatedBuildInputs = [ DistZilla Moose TestEOL namespaceautoclean ]; @@ -2836,10 +2936,10 @@ let self = _self // overrides; _self = with self; { }; EmailAbstract = buildPerlPackage { - name = "Email-Abstract-3.004"; + name = "Email-Abstract-3.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.004.tar.gz; - sha256 = "0fiaagxc2hy5g3qiipv4cspkwbaggdmsxbll1f4jx2qnq5hm668d"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz; + sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h"; }; propagatedBuildInputs = [ EmailSimple MROCompat ]; meta = { @@ -2848,10 +2948,10 @@ let self = _self // overrides; _self = with self; { }; EmailAddress = buildPerlPackage { - name = "Email-Address-1.897"; + name = "Email-Address-1.901"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.897.tar.gz; - sha256 = "17v5jvwhkd5clyihwsldnh4k7vpmaisn064s3mkxlr9dnz7nd10r"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.901.tar.gz; + sha256 = "00svsmv2hk35ybpd7jxcsn7k54i0q9ph5lf8ksv9nkh1abraprkz"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; @@ -2873,10 +2973,10 @@ let self = _self // overrides; _self = with self; { }; EmailMessageID = buildPerlPackage { - name = "Email-MessageID-1.402"; + name = "Email-MessageID-1.404"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.402.tar.gz; - sha256 = "1zzbxdygh992dn9k9jlxjzcmaniy83dqlc8lkas9w9wlhngvwni1"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.404.tar.gz; + sha256 = "0lyq9r3x7cs7cncf0yiazbi7aq4c5d4m3wxwgqdd4r5p9gxdjj4n"; }; propagatedBuildInputs = [ EmailAddress ]; meta = { @@ -2952,10 +3052,10 @@ let self = _self // overrides; _self = with self; { }; EmailSimple = buildPerlPackage { - name = "Email-Simple-2.102"; + name = "Email-Simple-2.203"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.102.tar.gz; - sha256 = "19da1a06vnixhqfl41mfjrihvvxjgdgkq9bczp8k9mpr29xlbnq4"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.203.tar.gz; + sha256 = "0hzbp8ay62d6jwrn4q7hqmhkaigf8lc0plz0g46yhwzp3x9xfa55"; }; propagatedBuildInputs = [ EmailDateFormat ]; meta = { @@ -2982,6 +3082,40 @@ let self = _self // overrides; _self = with self; { }; }; + EncodeEUCJPASCII = buildPerlPackage { + name = "Encode-EUCJPASCII-0.03"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz; + sha256 = "f998d34d55fd9c82cf910786a0448d1edfa60bf68e2c2306724ca67c629de861"; + }; + meta = { + description = "EucJP-ascii - An eucJP-open mapping"; + license = "perl"; + }; + }; + + EncodeHanExtra = buildPerlPackage { + name = "Encode-HanExtra-0.23"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz; + sha256 = "1fd4b06cada70858003af153f94c863b3b95f2e3d03ba18d0451a81d51db443a"; + }; + meta = { + description = "Extra sets of Chinese encodings"; + license = "mit"; + }; + }; + + EncodeJIS2K = buildPerlPackage { + name = "Encode-JIS2K-0.02"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.02.tar.gz; + sha256 = "5d718add5857f37fc270f24360bc9d100b72e0e13a11ca3149fe4e4d7c7cc4bf"; + }; + meta = { + }; + }; + EncodeLocale = buildPerlPackage rec { name = "Encode-Locale-1.03"; src = fetchurl { @@ -3003,18 +3137,18 @@ let self = _self // overrides; _self = with self; { }; Error = buildPerlPackage rec { - name = "Error-0.17019"; + name = "Error-0.17022"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "0m09jwjs2x8j50bh3cg3m2mbxa7qh9i2krgq7z8h1pgl5dscyg2i"; + sha256 = "1vzpz6syb82ir8svp2wjh95x6lpf01lgkxn2xy60ixrszc24zdya"; }; }; EvalClosure = buildPerlPackage { - name = "Eval-Closure-0.08"; + name = "Eval-Closure-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.08.tar.gz; - sha256 = "01x449ljj8mhr3jgfvnhzn0zz3xc81krslxiq29srqccsqjf933k"; + url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.11.tar.gz; + sha256 = "1b3rc9smdyyi0janckfiyg1kwph893sqwx7dr5n4mky0x8x3v4m1"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ SubExporter TryTiny ]; @@ -3026,10 +3160,10 @@ let self = _self // overrides; _self = with self; { }; ExceptionBase = buildPerlPackage { - name = "Exception-Base-0.25"; + name = "Exception-Base-0.2401"; src = fetchurl { - url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz; - sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw"; + url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2401.tar.gz; + sha256 = "0z4pckv3iwzz5s4xrv96kg9620s96kim57nfrxbqhh6pyd5jfazv"; }; buildInputs = [ TestUnitLite ]; meta = { @@ -3039,10 +3173,10 @@ let self = _self // overrides; _self = with self; { }; ExceptionClass = buildPerlPackage rec { - name = "Exception-Class-1.30"; + name = "Exception-Class-1.37"; src = fetchurl { url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "54e256fdb317c1736c2c257fa63d5b87cfb382870711b24937c36eb5171b3154"; + sha256 = "1p6f20fi82mr5bz7d2c7nqh0322r8n2kszfw37c77g8b1b4r72w3"; }; propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ]; }; @@ -3093,10 +3227,10 @@ let self = _self // overrides; _self = with self; { }; ExporterLite = buildPerlPackage { - name = "Exporter-Lite-0.02"; + name = "Exporter-Lite-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSCHWERN/Exporter-Lite-0.02.tar.gz; - sha256 = "20c1e9b7ddc017b788feb34c032fc585e2c5b46a484e93f519373fd18830ce0e"; + url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.04.tar.gz; + sha256 = "01g6a2ixgdi825v0l4ny3vx4chzsfxirka741x0i057cf6y5ciir"; }; meta = { license = "perl"; @@ -3104,10 +3238,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsCBuilder = buildPerlPackage rec { - name = "ExtUtils-CBuilder-0.280212"; + name = "ExtUtils-CBuilder-0.280216"; src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "0zc4hkcb8wk7nm0b2b6pb1lpih52blx6x2w6x99bcr0d581807xg"; + url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils/${name}.tar.gz"; + sha256 = "09d5sq9mgcnmjf2yp8rwd0cc1fa8kq7nbwjqxiqdykwmavmgm5ml"; }; buildInputs = [ PerlOSType ]; }; @@ -3134,10 +3268,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsDepends = buildPerlPackage { - name = "ExtUtils-Depends-0.304"; + name = "ExtUtils-Depends-0.306"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/ExtUtils-Depends-0.304.tar.gz; - sha256 = "0fjlkcz1i1j02hhwi1wjgd79qlppjkbasrj44h5ry1f238g6a1q3"; + url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.306.tar.gz; + sha256 = "0s935hmxjl6md47i80abcfaghqwhnv0ikzzqln80w4ydhg5qn9a5"; }; meta = { license = "perl"; @@ -3147,10 +3281,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsHelpers = buildPerlPackage { - name = "ExtUtils-Helpers-0.021"; + name = "ExtUtils-Helpers-0.022"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz; - sha256 = "26b85077f4197b30e62ffec87d3f78111522619d62858d2ab45a64687351892a"; + url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz; + sha256 = "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k"; }; meta = { description = "Various portability utilities for module builders"; @@ -3159,10 +3293,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsInstallPaths = buildPerlPackage { - name = "ExtUtils-InstallPaths-0.009"; + name = "ExtUtils-InstallPaths-0.010"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.009.tar.gz; - sha256 = "1b0827a4acf40d38552c4348767000f7e2d8cf5fd0d19436bf8747d2a72d77bc"; + url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.010.tar.gz; + sha256 = "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i"; }; propagatedBuildInputs = [ ExtUtilsConfig ]; meta = { @@ -3204,10 +3338,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsParseXS = buildPerlPackage rec { - name = "ExtUtils-ParseXS-3.22"; + name = "ExtUtils-ParseXS-3.24"; src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "03i93xfm9064vg2z70mcfwpnbmciafzrng113vmb8w8g117pvr84"; + url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; + sha256 = "07ipa2ssflw3ais8gbjdk4l8z2k1p65nfjwkxm37g6zw1210pdih"; }; }; @@ -3250,10 +3384,10 @@ let self = _self // overrides; _self = with self; { }; FatalException = buildPerlPackage { - name = "Fatal-Exception-0.05"; + name = "Fatal-Exception-0.0204"; src = fetchurl { - url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz; - sha256 = "0kzfwc44vpxla3j637kfmnwmv57g6x4899ijqb4ljamk7whms298"; + url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.0204.tar.gz; + sha256 = "10a9j0fa83s3apv0xgi01l2h6s43my031097hg72wa80n07rgs2c"; }; buildInputs = [ ExceptionWarning TestAssert TestUnitLite ]; propagatedBuildInputs = [ ExceptionBase ExceptionDied ]; @@ -3288,10 +3422,10 @@ let self = _self // overrides; _self = with self; { }; FileChangeNotify = buildPerlModule rec { - name = "File-ChangeNotify-0.23"; + name = "File-ChangeNotify-0.24"; src = fetchurl { url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "18aq6lcldniciw189ihmcji98y6zqa1gdl3mjqdg8f37i9amn4i3"; + sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w"; }; buildInputs = [ TestException ]; propagatedBuildInputs = @@ -3460,10 +3594,10 @@ let self = _self // overrides; _self = with self; { }; FileShare = buildPerlPackage { - name = "File-Share-0.02"; + name = "File-Share-0.03"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.02.tar.gz; - sha256 = "1vdgyf3m08s4pwj70bgbb31jsj8hixdl940m15phyx2hpy8dkabw"; + url = mirror://cpan/authors/id/J/JO/JOENIO/File-Share-0.03.tar.gz; + sha256 = "0siy9p6b7zbln5yq6g8z1nwm76ia23kkdj1k5pywsh3n6dn2lxa2"; }; propagatedBuildInputs = [ FileShareDir ]; meta = { @@ -3489,10 +3623,10 @@ let self = _self // overrides; _self = with self; { }; FileShareDirInstall = buildPerlPackage { - name = "File-ShareDir-Install-0.04"; + name = "File-ShareDir-Install-0.08"; src = fetchurl { - url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.04.tar.gz; - sha256 = "14gyl1l1crnsb7ihz6czaw7k0v2dnan0380pbxz8kmk66nnhaxzc"; + url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.08.tar.gz; + sha256 = "188pgn43wa6hgpcrv997lp3bad50030p4wmrcdzvfrqxj0bx2amf"; }; meta = { description = "Install shared files"; @@ -3537,13 +3671,13 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ TestScript ]; }; - FinanceQuote = buildPerlPackage { - name = "Finance-Quote-1.18"; + FinanceQuote = buildPerlPackage rec { + name = "Finance-Quote-1.29"; src = fetchurl { - url = mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.18.tar.gz; - sha256 = "4240faabe0646defd4ec76ca9e111977b9e8060eaec41adeb284eb422a428393"; + url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz"; + sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f"; }; - propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP ]; + propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ]; meta = { homepage = http://finance-quote.sourceforge.net/; description = "Get stock and mutual fund quotes from various exchanges"; @@ -3560,18 +3694,18 @@ let self = _self // overrides; _self = with self; { }; FontTTF = buildPerlPackage { - name = "Font-TTF-0.43"; + name = "Font-TTF-0.48"; src = fetchurl { - url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.43.tar.gz; - sha256 = "0782mj5n5a2qbghvvr20x51llizly6q5smak98kzhgq9a7q3fg89"; + url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.48.tar.gz; + sha256 = "0lhz7v8ihaj35y6kr7jb971hgc4iqh1nz3qbfkignb9i8b1dw97r"; }; }; ForksSuper = buildPerlPackage { - name = "Forks-Super-0.67"; + name = "Forks-Super-0.72"; src = fetchurl { - url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.67.tar.gz; - sha256 = "8831cd70e1eb3d4ab7d9a8c3692caa7b7220dc888cd1a8dc5640fb2a08379141"; + url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.72.tar.gz; + sha256 = "0zyqwyndb3gnbsh43b6xyl3wmlnyi18vz3yrbsvp3lccz4d0v7qp"; }; doCheck = false; meta = { @@ -3581,19 +3715,19 @@ let self = _self // overrides; _self = with self; { }; FreezeThaw = buildPerlPackage { - name = "FreezeThaw-0.43"; + name = "FreezeThaw-0.5001"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.43.tar.gz; - sha256 = "1qamc5aggp35xk590a4hy660f2rhc2l7j65hbyxdya9yvg7z437l"; + url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz; + sha256 = "0h8gakd6b9770n2xhld1hhqghdar3hrq2js4mgiwxy86j4r0hpiw"; }; doCheck = false; }; GD = buildPerlPackage rec { - name = "GD-2.50"; + name = "GD-2.53"; src = fetchurl { url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz"; - sha256 = "1qm8l0z2568byw4zmaqf954y3rm8nzx1nnz6cxnxd3d4cz894lvd"; + sha256 = "1ampz82kf0ixybncfgpvq2bp9nq5sjsmmw4c8srsv0g5jpz02pfh"; }; buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype @@ -3673,10 +3807,10 @@ let self = _self // overrides; _self = with self; { }; GoogleProtocolBuffers = buildPerlPackage rec { - name = "Google-ProtocolBuffers-0.08"; + name = "Google-ProtocolBuffers-0.11"; src = fetchurl { - url = "mirror://cpan/authors/id/G/GA/GARIEV/${name}.tar.gz"; - sha256 = "0pxfphg671wh56h59pf0zrj7m1cr0yga95hf3w54563pzcw2vqv3"; + url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/${name}.tar.gz"; + sha256 = "0k2skcbfzn2aw1f218l47h4kgq5rj9qsam3sd6zw4qq3zyp0amb1"; }; propagatedBuildInputs = [ ClassAccessor ParseRecDescent ]; patches = @@ -3688,20 +3822,20 @@ let self = _self // overrides; _self = with self; { }; Graph = buildPerlPackage rec { - name = "Graph-0.94"; + name = "Graph-0.96"; src = fetchurl { url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz"; - sha256 = "1lyfl9s4mkhahnpxk2z5v6j750jqb4sls56b9rnkl5lni9ms7xgn"; + sha256 = "09wpiz7v0gv07zb7h8gwgjrwj16cdycs60d08cjlyj1s926zlbl3"; }; buildInputs = [ TestPod TestPodCoverage ]; }; GraphViz = buildPerlPackage rec { - name = "GraphViz-2.04"; + name = "GraphViz-2.15"; src = fetchurl { - url = "mirror://cpan/authors/id/L/LB/LBROCARD/${name}.tar.gz"; - sha256 = "1gxpajd49pb9w9ka7nq5477my8snp3myrgiarnk6hj922jpn62xd"; + url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz"; + sha256 = "0ngm90vd1ymrm2c9k4dbgzpbip501gklll32l9jsj8j00x845iz2"; }; # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz. @@ -3746,10 +3880,10 @@ let self = _self // overrides; _self = with self; { }; HashMerge = buildPerlPackage rec { - name = "Hash-Merge-0.12"; + name = "Hash-Merge-0.200"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz"; - sha256 = "07h7dyldxwqhq3x4fp9hacnc4vgipp0jk50b5cbvib975nfxx98z"; + url = "mirror://cpan/authors/id/R/RE/REHSACK/${name}.tar.gz"; + sha256 = "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7"; }; propagatedBuildInputs = [ Clone ]; meta = { @@ -3772,10 +3906,10 @@ let self = _self // overrides; _self = with self; { }; HashMultiValue = buildPerlPackage { - name = "Hash-MultiValue-0.13"; + name = "Hash-MultiValue-0.15"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.13.tar.gz; - sha256 = "0flflmk2kxq9sjmhxr1547lidgigibhck912j4ambdwg21sbxjjd"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.15.tar.gz; + sha256 = "1jc37kwpa1fl88va8bd1p95h0vjv1gsvmn7pc2pxj62ga6x0wpc0"; }; meta = { description = "Store multiple values per key"; @@ -3784,17 +3918,17 @@ let self = _self // overrides; _self = with self; { }; HashUtilFieldHashCompat = buildPerlPackage { - name = "Hash-Util-FieldHash-Compat-0.03"; + name = "Hash-Util-FieldHash-Compat-0.07"; src = fetchurl { - url = mirror://cpan/authors/id/N/NU/NUFFIN/Hash-Util-FieldHash-Compat-0.03.tar.gz; - sha256 = "0pmai98a89j82fjksfax87brmpimjn74kr7bl874lc1k40dfhx47"; + url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.07.tar.gz; + sha256 = "1fbqcjvp5slkfyf63g8scrbdpkpw3g9z9557xvfaxn09aki7g1bn"; }; propagatedBuildInputs = [ Testuseok ]; meta = { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; }; - }; + }; HeapFibonacci = buildPerlPackage { name = "Heap-Fibonacci-0.80"; @@ -3809,10 +3943,10 @@ let self = _self // overrides; _self = with self; { }; HookLexWrap = buildPerlPackage rec { - name = "Hook-LexWrap-0.22"; + name = "Hook-LexWrap-0.24"; src = fetchurl { - url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.zip"; - sha256 = "eda90ba26f8a0cef02d38f08a1786a203beec1309279493c78eed13567d0fa7e"; + url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.tar.gz"; + sha256 = "0nyfirbdrgs2cknifqr1pf8xd5q9xnv91gy7jha4crp1hjqvihj4"; }; buildInputs = [ pkgs.unzip ]; }; @@ -3871,18 +4005,18 @@ let self = _self // overrides; _self = with self; { }; HTMLFormHandler = buildPerlPackage { - name = "HTML-FormHandler-0.40025"; + name = "HTML-FormHandler-0.40056"; src = fetchurl { - url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40025.tar.gz; - sha256 = "0fp8qcbkr19qn1859rpn3ca3b7w1jjyprwlj82dnvfi3b5jf8507"; + url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40056.tar.gz; + sha256 = "012wijl69qjazghq2ywikk0jdxjbd9rfsxmwwq7lbpfjy2fiymqx"; }; buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle ]; - propagatedBuildInputs = [ aliased ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir JSON HTMLTree Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass namespaceautoclean SubExporter SubName TryTiny ]; + propagatedBuildInputs = [ ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir HTMLTree JSON ListAllUtils Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass SubExporter SubName TryTiny aliased namespaceautoclean ]; meta = { description = "HTML forms using Moose"; - license = "perl5"; maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; + license = "perl"; }; }; @@ -3900,10 +4034,10 @@ let self = _self // overrides; _self = with self; { }; HTMLSelectorXPath = buildPerlPackage { - name = "HTML-Selector-XPath-0.15"; + name = "HTML-Selector-XPath-0.16"; src = fetchurl { - url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.15.tar.gz; - sha256 = "0wnb561yp1r3mqw2hmd16zm45lqqm2mp823s1rx2k4qw141rmkpv"; + url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.16.tar.gz; + sha256 = "0v12plal866ifcv7m8x22abrddd6cf12gn55qclk53qqa6c8f8m6"; }; buildInputs = [ TestBase ]; meta = { @@ -3939,18 +4073,18 @@ let self = _self // overrides; _self = with self; { }; HTMLTemplate = buildPerlPackage rec { - name = "HTML-Template-2.9"; + name = "HTML-Template-2.95"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/${name}.tar.gz"; - sha256 = "0is026jn1731lvfjglv4003dsr8drshvw25zlbjrywk59kx7nsb2"; + url = "mirror://cpan/authors/id/W/WO/WONKO/${name}.tar.gz"; + sha256 = "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q"; }; }; HTMLTiny = buildPerlPackage rec { - name = "HTML-Tiny-1.03"; + name = "HTML-Tiny-1.05"; src = fetchurl { url = "mirror://cpan/authors/id/A/AN/ANDYA/${name}.tar.gz"; - sha256 = "1nc9vr0z699jwv8jaxxpkfhspiv7glhdp500hqyzdm2jxfw8azrg"; + sha256 = "18zxg7z51f5daidnwl9vxsrs3lz0y6n5ddqhpb748bjyk3awkkfp"; }; }; @@ -4068,10 +4202,10 @@ let self = _self // overrides; _self = with self; { }; HTTPLite = buildPerlPackage rec { - name = "HTTP-Lite-2.4"; + name = "HTTP-Lite-2.43"; src = fetchurl { url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz"; - sha256 = "66f4fc0f93eeb42c09737f83b21de1944212ae9b2acb784d5103e8208491477b"; + sha256 = "10svyy8r5ca86spz21r0k2mdy8g2slzssin4qbg101zc9kr5r65a"; }; }; @@ -4102,10 +4236,10 @@ let self = _self // overrides; _self = with self; { }; HTTPParserXS = buildPerlPackage rec { - name = "HTTP-Parser-XS-0.14"; + name = "HTTP-Parser-XS-0.16"; src = fetchurl { url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz"; - sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05"; + sha256 = "1sp9vllf012paslmn11b7z7fbk3hhkcp7gj59yp6qzh11xzpxlai"; }; buildInputs = [ TestMore ]; }; @@ -4152,20 +4286,20 @@ let self = _self // overrides; _self = with self; { }; "if" = buildPerlPackage { - name = "if-0.0601"; + name = "if-0.01000001"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.0601.tar.gz; - sha256 = "fb2b7329aa111a673cd22dc2889167e52058aead0de2fe0855b32dd658d5c1b7"; + url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.01000001.tar.gz; + sha256 = "0vb40cb20b22layp5v9xa30hmcnhxidwjkfwcrxwhrvwypy2cmgw"; }; meta = { }; }; IOAll = buildPerlPackage { - name = "IO-All-0.50"; + name = "IO-All-0.60"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/IO-All-0.50.tar.gz; - sha256 = "13mc913jqqfkaily48cd886x0n6x6zw59c00fmkhqc97xh1kdckc"; + url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.60.tar.gz; + sha256 = "1bwsd2f5rlivcqyd7rb0ap5vrzv8s8fappi3b1v553yr5vl5pyq9"; }; propagatedBuildInputs = [ IOString ]; meta = { @@ -4178,10 +4312,10 @@ let self = _self // overrides; _self = with self; { }; IOCaptureOutput = buildPerlPackage rec { - name = "IO-CaptureOutput-1.1102"; + name = "IO-CaptureOutput-1.1103"; src = fetchurl { - url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; - sha256 = "2ea16dbecb21a3c2be49a93fb1e7e51275bed3f7ef3ac30cbdbff5d0178d43c7"; + url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; + sha256 = "1bcl7p87ysbzab6hssq19xn3djzc0yk9l4hk0a2mqbqb8hv6p0m5"; }; }; @@ -4201,10 +4335,10 @@ let self = _self // overrides; _self = with self; { }; IODigest = buildPerlPackage { - name = "IO-Digest-0.10"; + name = "IO-Digest-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.10.tar.gz; - sha256 = "1g6ilxqv2a7spf273v7k0721c6am7pwpjrin3h5zaqxfmd312nav"; + url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz; + sha256 = "14kz7z4xw179aya3116wxac29l4y2wmwrba087lya4v2gxdgiz4g"; }; propagatedBuildInputs = [PerlIOviadynamic]; }; @@ -4251,26 +4385,28 @@ let self = _self // overrides; _self = with self; { }; IOSocketInet6 = buildPerlPackage rec { - name = "IO-Socket-INET6-2.71"; + name = "IO-Socket-INET6-2.72"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "041iv3fdskvk7in73bf7253ah9aiqwxzi4zxfiwkn0jlb7mnqjrl"; + sha256 = "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45"; }; propagatedBuildInputs = [Socket6]; doCheck = false; }; - IOSocketSSL = buildPerlPackage rec { - name = "IO-Socket-SSL-1.81"; + IOSocketSSL = buildPerlPackage { + name = "IO-Socket-SSL-1.981"; src = fetchurl { - url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; - sha256 = "1vg7jpn7vz3a2j3fxjjkaxiiqg7azqmy7afrpghiqkjcr8b6zs9y"; + url = mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-1.981.tar.gz; + sha256 = "d78f3aac72888a350962c2da87b2b459513a175d7ac641cb1482bacbb81e76eb"; }; propagatedBuildInputs = [ URI NetSSLeay ]; meta = { + homepage = https://github.com/noxxi/p5-io-socket-ssl; description = "Nearly transparent SSL encapsulation for IO::Socket::INET"; license = "perl"; }; + doCheck = false; # tries to connect to facebook.com etc. }; IOString = buildPerlPackage rec { @@ -4292,10 +4428,10 @@ let self = _self // overrides; _self = with self; { }; IOTieCombine = buildPerlPackage { - name = "IO-TieCombine-1.002"; + name = "IO-TieCombine-1.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.002.tar.gz; - sha256 = "fd4f59e82852fd8b868dd1642cb6ec9caf32a597803fdce2cbe8d580c3b41d44"; + url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.004.tar.gz; + sha256 = "0awyyjdbjjawdkzs08rfjhfkkm7pni523x3ddmq9ixa82ibnn430"; }; meta = { homepage = https://github.com/rjbs/io-tiecombine; @@ -4329,10 +4465,10 @@ let self = _self // overrides; _self = with self; { }; IPCRun3 = buildPerlPackage rec { - name = "IPC-Run3-0.046"; + name = "IPC-Run3-0.048"; src = fetchurl { url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "033miv4z6g50q71blj8l1g846frngm1v5l3mcv38dslkjqimxxp4"; + sha256 = "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"; }; }; @@ -4368,7 +4504,7 @@ let self = _self // overrides; _self = with self; { Sigma/Foveon and Sony. ''; - licenses = [ "GPLv1+" /* or */ "Artistic" ]; + license = [ "GPLv1+" /* or */ "Artistic" ]; maintainers = [ ]; platforms = stdenv.lib.platforms.unix; @@ -4480,10 +4616,10 @@ let self = _self // overrides; _self = with self; { }; JSONXS = buildPerlPackage { - name = "JSON-XS-2.33"; + name = "JSON-XS-2.34"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.33.tar.gz; - sha256 = "0p68f85xz6xx2c9ydz4bij5x4d1747rxs3jdq53ab915mnc1qfdl"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.34.tar.gz; + sha256 = "1sh0i73skxp3rvd9w8phxqncw9m1r5ibnb9qxxm21bmrfwkxybx6"; }; propagatedBuildInputs = [ CommonSense ]; meta = { @@ -4546,10 +4682,10 @@ let self = _self // overrides; _self = with self; { }; LinguaENTagger = buildPerlPackage { - name = "Lingua-EN-Tagger-0.23"; + name = "Lingua-EN-Tagger-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.23.tar.gz; - sha256 = "0xq6567gijczxzq72ghfa9jr8zyc1p0ax9s12mv7slibpkfkm2d2"; + url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.24.tar.gz; + sha256 = "0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241"; }; propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ]; meta = { @@ -4624,10 +4760,10 @@ let self = _self // overrides; _self = with self; { }; LocaleMaketext = buildPerlPackage { - name = "Locale-Maketext-1.13"; + name = "Locale-Maketext-1.23"; src = fetchurl { - url = mirror://cpan/authors/id/F/FE/FERREIRA/Locale-Maketext-1.13.tar.gz; - sha256 = "0qvrhcs1f28ix3v8hcd5xr4z9s7plz4g5a4q1cjp7bs0c3w2yl6z"; + url = mirror://cpan/authors/id/T/TO/TODDR/Locale-Maketext-1.23.tar.gz; + sha256 = "1r1sq7djafvk5abzc4l068p39dz44hlpgdldj3igvn2bjz78cli1"; }; propagatedBuildInputs = [I18NLangTags]; }; @@ -4642,10 +4778,10 @@ let self = _self // overrides; _self = with self; { }; LocaleMaketextSimple = buildPerlPackage { - name = "Locale-Maketext-Simple-0.18"; + name = "Locale-Maketext-Simple-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz; - sha256 = "14kx7vkxyfqndy90rzavrjp2346aidyc7x5dzzdj293qf8s4q6ig"; + url = mirror://cpan/authors/id/J/JE/JESSE/Locale-Maketext-Simple-0.21.tar.gz; + sha256 = "1ad9vh45j8c32nzkbjipinawyg1pnjckwlhsjqcqs47vyi8zy2dh"; }; }; @@ -4665,18 +4801,18 @@ let self = _self // overrides; _self = with self; { }; LockFileSimple = buildPerlPackage rec { - name = "LockFile-Simple-0.207"; + name = "LockFile-Simple-0.208"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/LockFile-Simple-0.207.tar.gz"; - sha256 = "171vi9y6jlkny0d4jaavz48d1vbxljknnmbq8h22fi8lnc5kvipa"; + url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz"; + sha256 = "18pk5a030dsg1h6wd8c47wl8pzrpyh9zi9h2c9gs9855nab7iis5"; }; }; LogContextual = buildPerlPackage { - name = "Log-Contextual-0.005003"; + name = "Log-Contextual-0.006003"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.005003.tar.gz; - sha256 = "8519ae92bd8685d003460f99151996e94f38c3c8f12b90634857558605d13719"; + url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.006003.tar.gz; + sha256 = "0940s910n67arqvz7aji4z6vgzzl52aq3l3jg8vq4ygnkn7c9k21"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ]; @@ -4712,18 +4848,18 @@ let self = _self // overrides; _self = with self; { }; Log4Perl = buildPerlPackage rec { - name = "Log-Log4perl-1.41"; + name = "Log-Log4perl-1.43"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Log/${name}.tar.gz"; - sha256 = "0dajkgvlwsb4zdw6x3fil2n5phypq829dmqf8l9s88g9smms2a2i"; + url = "mirror://cpan/authors/id/M/MS/MSCHILLI/${name}.tar.gz"; + sha256 = "19rmm1nlcradfj74rrvkjwmfighmjj9fiisml2j23i248vyz4cay"; }; }; LogDispatchArray = buildPerlPackage { - name = "Log-Dispatch-Array-1.002"; + name = "Log-Dispatch-Array-1.003"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.002.tar.gz; - sha256 = "268ec720eec3651d3dadcad7d16f033b47f883c72d6f2547c4ccbe7fb22a4940"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz; + sha256 = "0dvzp0gsh17jqg02460ndchyapr1haahndq1p9v6mwkv5wf9680c"; }; buildInputs = [ TestDeep ]; propagatedBuildInputs = [ LogDispatch ]; @@ -4735,10 +4871,10 @@ let self = _self // overrides; _self = with self; { }; LogDispatchouli = buildPerlPackage { - name = "Log-Dispatchouli-2.006"; + name = "Log-Dispatchouli-2.009"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.006.tar.gz; - sha256 = "bd33b4fcf88ccfb694593ea6d7b330f053e6afee40f27acdf690c24547365354"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.009.tar.gz; + sha256 = "09iw27r36gmljlm6gjfczn2sf4s1js697q8na8xw4wlnz7x4bv59"; }; buildInputs = [ TestDeep TestFatal ]; propagatedBuildInputs = [ LogDispatch LogDispatchArray ParamsUtil StringFlogger SubExporter SubExporterGlobExporter TryTiny ]; @@ -4793,10 +4929,10 @@ let self = _self // overrides; _self = with self; { }; LWPUserAgent = buildPerlPackage { - name = "LWP-UserAgent-6.04"; + name = "LWP-UserAgent-6.05"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz; - sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr"; + url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz; + sha256 = "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv"; }; propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ]; meta = { @@ -4829,13 +4965,17 @@ let self = _self // overrides; _self = with self; { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; }; + # Tests require network connectivity + # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream, + # which doesn't look like it will get fixed anytime soon. + doCheck = false; }; LWPxParanoidAgent = buildPerlPackage rec { - name = "LWPx-ParanoidAgent-1.07"; + name = "LWPx-ParanoidAgent-1.10"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BR/BRADFITZ/${name}.tar.gz"; - sha256 = "bd7ccbe6ed6b64195a967e9b2b04c185b7b97e8ec5a8835bb45dbcd42a18e76a"; + url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/${name}.tar.gz"; + sha256 = "0i306p7mdqx09qfsf6b3rnn5xw9v9r3md4swlbk9z0mskjl0l4w4"; }; doCheck = false; # 3 tests fail, probably because they try to connect to the network propagatedBuildInputs = [ LWP NetDNS ]; @@ -4856,19 +4996,19 @@ let self = _self // overrides; _self = with self; { }; MailIMAPClient = buildPerlPackage { - name = "Mail-IMAPClient-2.2.9"; + name = "Mail-IMAPClient-3.35"; src = fetchurl { - url = mirror://cpan/authors/id/D/DJ/DJKERNEN/Mail-IMAPClient-2.2.9.tar.gz; - sha256 = "1jb04mn66d6022xjqmax49cdn55f2fdzp6knfnchmrcmf90a8rzs"; + url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.35.tar.gz; + sha256 = "0qzn8370cr91jnq1kawy6v16bcz49pch6inmw85rhzg87j1h6ica"; }; buildInputs = [ParseRecDescent]; }; MailTools = buildPerlPackage { - name = "MailTools-2.04"; + name = "MailTools-2.13"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.04.tar.gz; - sha256 = "0w91rcrz4v0pjdnnv2mvlbrm9ww32f7ajhr7xkjdhhr3455p7adx"; + url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.13.tar.gz; + sha256 = "1djjl05ndn8dmwri4vw5wfky5sqy7sf63qaijvhf9g5yh53405kj"; }; propagatedBuildInputs = [TimeDate TestPod]; }; @@ -4908,10 +5048,10 @@ let self = _self // overrides; _self = with self; { }; MathPlanePath = buildPerlPackage rec { - name = "Math-PlanePath-101"; + name = "Math-PlanePath-114"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz"; - sha256 = "0g24zhgyxs56zv966xb487vvmhqqxvvsbbz4mck8n4l31rabk8jj"; + url = "mirror://cpan/authors/id/K/KR/KRYDE/${name}.tar.gz"; + sha256 = "11808k6aqf7gfkv0k0r8586zk8dm0jg5idkdb839gzlr97ns2y61"; }; propagatedBuildInputs = [ MathLibm constant-defer ]; }; @@ -5009,6 +5149,18 @@ let self = _self // overrides; _self = with self; { }; }; + MIMECharset = buildPerlPackage { + name = "MIME-Charset-1.011.1"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.011.1.tar.gz; + sha256 = "2955a3b617fe12654efc2a13ae1dc7d32aad81d35cfae21f74337213cf2435d5"; + }; + meta = { + description = "Charset Information for MIME"; + license = "perl"; + }; + }; + mimeConstruct = buildPerlPackage rec { name = "mime-construct-1.11"; src = fetchurl { @@ -5072,10 +5224,10 @@ let self = _self // overrides; _self = with self; { }; ModuleBuildWithXSpp = buildPerlModule rec { - name = "Module-Build-WithXSpp-0.13"; + name = "Module-Build-WithXSpp-0.14"; src = fetchurl { url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; - sha256 = "05c5dssgl7ykj64nkzy4nwfrs0hd1lvfidhflrs3f1c7hc0z9g46"; + sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk"; }; propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ]; }; @@ -5094,10 +5246,10 @@ let self = _self // overrides; _self = with self; { }; ModuleFind = buildPerlPackage { - name = "Module-Find-0.11"; + name = "Module-Find-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.11.tar.gz; - sha256 = "15ykcwplbqh5hc0fw4cx6g0f22zr0hrfkdkv1s34n9yg574dq3b5"; + url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.12.tar.gz; + sha256 = "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l"; }; meta = { description = "Find and use installed modules in a (sub)category"; @@ -5106,10 +5258,10 @@ let self = _self // overrides; _self = with self; { }; ModuleImplementation = buildPerlPackage { - name = "Module-Implementation-0.06"; + name = "Module-Implementation-0.07"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.06.tar.gz; - sha256 = "0v8qajzkpkwb9mfj2p46j352bwiszkg1zk778b008axqb817hfys"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.07.tar.gz; + sha256 = "15r93l8danysfhb7wn2zww1s02hajki4k3xjfxbpz7ckadqq6jbk"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ ModuleRuntime TryTiny ]; @@ -5120,6 +5272,19 @@ let self = _self // overrides; _self = with self; { }; }; + ModuleInfo = buildPerlPackage rec { + name = "Module-Info-0.35"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MB/MBARBON/Module-Info-0.35.tar.gz"; + sha256 = "0r7vxg1iy3lam0jgb2sk8ghgpmp3x5fskvzqlgkb09bssq83s1xb"; + }; + buildInputs = [ TestPod TestPodCoverage ]; + meta = { + description = "Information about Perl modules"; + license = "perl"; + }; + }; + ModuleInstall = buildPerlPackage { name = "Module-Install-1.06"; src = fetchurl { @@ -5188,10 +5353,10 @@ let self = _self // overrides; _self = with self; { }; ModulePath = buildPerlPackage { - name = "Module-Path-0.09"; + name = "Module-Path-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.09.tar.gz; - sha256 = "5330a76ff56800778d825548b4d631510a1a6b4f04725dddca95e68c4ed3ac18"; + url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.13.tar.gz; + sha256 = "1kzsi0z142gcspyyp81za29bq0y74l57a8i2q7gz4zcchf2xm23g"; }; buildInputs = [ DevelFindPerl ]; meta = { @@ -5201,10 +5366,10 @@ let self = _self // overrides; _self = with self; { }; ModulePluggable = buildPerlPackage { - name = "Module-Pluggable-4.8"; + name = "Module-Pluggable-5.1"; src = fetchurl { - url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-4.8.tar.gz; - sha256 = "0gc2sanga3207l3dnmb05isc7m87l1j94v9ll3z4sbb3vs49gdd2"; + url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.1.tar.gz; + sha256 = "0vwi433pk7n1ia5wy67j3545jvmjf1hb4jwcvzrz25mv8d03bp72"; }; patches = [ # !!! merge this patch into Perl itself (which contains Module::Pluggable as well) @@ -5217,19 +5382,19 @@ let self = _self // overrides; _self = with self; { }; ModulePluggableFast = buildPerlPackage { - name = "Module-Pluggable-Fast-0.18"; + name = "Module-Pluggable-Fast-0.19"; src = fetchurl { - url = mirror://cpan/authors/id/S/SR/SRI/Module-Pluggable-Fast-0.18.tar.gz; - sha256 = "140c311x2darrc2p1drbkafv7qwhzdcff4ad300n6whsx4dfp6wr"; + url = mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz; + sha256 = "0pq758wlasmh77xyd2xh75m5b2x14s8pnsv63g5356gib1q5gj08"; }; propagatedBuildInputs = [UNIVERSALrequire]; }; ModuleRuntime = buildPerlPackage { - name = "Module-Runtime-0.013"; + name = "Module-Runtime-0.014"; src = fetchurl { - url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz; - sha256 = "08qhqg1qshrispcpzf24jbbpx2gh5ks84amnv9wmd46wj0yy0dzc"; + url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz; + sha256 = "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; @@ -5276,6 +5441,19 @@ let self = _self // overrides; _self = with self; { }; }; + Mojolicious = buildPerlPackage { + name = "Mojolicious-4.63"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-4.63.tar.gz; + sha256 = "f20f77e86fc560dac1c958e765ed64242dcf6343939ed605b45f2bbe2596d5e9"; + }; + meta = { + homepage = http://mojolicio.us; + description = "Real-time web framework"; + license = "artistic_2"; + }; + }; + Moo = buildPerlPackage { name = "Moo-1.000007"; src = fetchurl { @@ -5306,10 +5484,10 @@ let self = _self // overrides; _self = with self; { }; MooseAutobox = buildPerlPackage { - name = "Moose-Autobox-0.13"; + name = "Moose-Autobox-0.15"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.13.tar.gz; - sha256 = "3474b3e6dfe099fcca34089375ace6612cca35d4d8f9a0b8b4e48fbf88541b21"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.15.tar.gz; + sha256 = "0xcayrfm08dqas1mq8lnf8nxkvzdgcmv6xs5lqah17bxqxgznrl9"; }; buildInputs = [ TestException ]; propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ]; @@ -5337,10 +5515,10 @@ let self = _self // overrides; _self = with self; { }; MooseXAliases = buildPerlPackage rec { - name = "MooseX-Aliases-0.10"; + name = "MooseX-Aliases-0.11"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "1n3z06x6d7sl2can7gn1q4qpclg6sjl6i8fd9y3yipmaxbk97clz"; + url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; + sha256 = "0j07zqczjfmng3md6nkha7560i786d0cp3gdmrx49hr64jbhz1f4"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ Moose ]; @@ -5402,10 +5580,10 @@ let self = _self // overrides; _self = with self; { }; MooseXConfigFromFile = buildPerlPackage { - name = "MooseX-ConfigFromFile-0.11"; + name = "MooseX-ConfigFromFile-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.11.tar.gz; - sha256 = "963e7dbb2bc7ca18995db903c64b0841c4e8d3877009bff5475125673c3b02b4"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.13.tar.gz; + sha256 = "0pf5f05hs2i765cnw9sw1hdxf7vz480iyyngjawr4yqjkv4r5nz7"; }; buildInputs = [ Moose TestCheckDeps TestDeep TestFatal TestNoWarnings TestRequires TestWithoutModule ]; propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ]; @@ -5538,10 +5716,10 @@ let self = _self // overrides; _self = with self; { }; MooseXNonMoose = buildPerlPackage { - name = "MooseX-NonMoose-0.22"; + name = "MooseX-NonMoose-0.26"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.22.tar.gz; - sha256 = "0mhyabg5f6kngkm1w7hfglkdzjdn5pbgm7vgia0aqy9mwwclbpdp"; + url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz; + sha256 = "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ListMoreUtils Moose ]; @@ -5552,10 +5730,10 @@ let self = _self // overrides; _self = with self; { }; MooseXOneArgNew = buildPerlPackage { - name = "MooseX-OneArgNew-0.003"; + name = "MooseX-OneArgNew-0.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.003.tar.gz; - sha256 = "bd1879192f542dbc0741dbd1ba71f29bd22a0fce372d7a6ae04dbded51d71123"; + url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.004.tar.gz; + sha256 = "1frfrqaj283z1x95cqbbj3cvmb6rj50ngs47jq8myz6d1bg4zwff"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose MooseXRoleParameterized namespaceautoclean ]; @@ -5591,10 +5769,10 @@ let self = _self // overrides; _self = with self; { }; MooseXRoleParameterized = buildPerlPackage { - name = "MooseX-Role-Parameterized-1.00"; + name = "MooseX-Role-Parameterized-1.02"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.00.tar.gz; - sha256 = "0642h71j90i0jrqxz1snizkw9pch8v1s1w0zndrcl5bb85lx3z7y"; + url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.02.tar.gz; + sha256 = "089czh2pipvdajjy4rxlix0y20ilp3ldbzi0vs68b7k6k9q3mqdk"; }; buildInputs = [ TestFatal TestMoose ]; propagatedBuildInputs = [ Moose ]; @@ -5691,10 +5869,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTraitsPluggable = buildPerlPackage rec { - name = "MooseX-Traits-Pluggable-0.10"; + name = "MooseX-Traits-Pluggable-0.12"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "0gv79bsnacrzwpac3dll64zj40qcsbp4kdk8yr9z5bwim7nkvnv3"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb"; }; buildInputs =[ TestException ]; propagatedBuildInputs = @@ -5724,7 +5902,7 @@ let self = _self // overrides; _self = with self; { }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ Moose MooseXTypes ]; - meta = { + meta = { maintainers = with maintainers; [ ocharles ]; platforms = stdenv.lib.platforms.unix; }; @@ -5801,10 +5979,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesPerl = buildPerlPackage { - name = "MooseX-Types-Perl-0.101341"; + name = "MooseX-Types-Perl-0.101343"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101341.tar.gz; - sha256 = "d1081a734d62121f3262b18170022de2f51ebcc0a8b8afe1b1273d7cb3e58c97"; + url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz; + sha256 = "0nijy676q27bvjb8swxrb1j4lq2xq8jbqkaxs1l9q81k7jpvx17h"; }; propagatedBuildInputs = [ MooseXTypes ParamsUtil ]; meta = { @@ -5814,10 +5992,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesStringlike = buildPerlPackage { - name = "MooseX-Types-Stringlike-0.001"; + name = "MooseX-Types-Stringlike-0.002"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.001.tar.gz; - sha256 = "2ba71fff105d851ea6aee85bef5d6629726138a2b005b77a163a8bfb403cea03"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.002.tar.gz; + sha256 = "18g07bvhcrhirb1yhcz55y7nsvkw1wq285d1hyb0jxrzgr0ga94k"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ MooseXTypes ]; @@ -5831,10 +6009,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesStructured = buildPerlPackage { - name = "MooseX-Types-Structured-0.28"; + name = "MooseX-Types-Structured-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/MooseX-Types-Structured-0.28.tar.gz; - sha256 = "12snpf65bh3jyx9w1h1sark83l0w51s3jdcr4ygw57cxvq39yl43"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.30.tar.gz; + sha256 = "0svfgbyzwdipywh7bfp954hncm8ihfr8xpppcyy59wr1inx2f55c"; }; buildInputs = [ DateTime MooseXTypesDateTime TestFatal ]; propagatedBuildInputs = [ DevelPartialDump Moose MooseXTypes SubExporter ]; @@ -5848,10 +6026,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesURI = buildPerlPackage { - name = "MooseX-Types-URI-0.03"; + name = "MooseX-Types-URI-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Types-URI-0.03.tar.gz; - sha256 = "056v08kzcd93h8l69iqdxbr05h85bgz6jvp6iwc0vv68dacr299s"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.05.tar.gz; + sha256 = "08acqm23ff22hicb3l4wc7szvdhlxpan7qmpgl15ilawrmz60p82"; }; propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean Testuseok URI URIFromHash ]; meta = { @@ -5870,6 +6048,18 @@ let self = _self // overrides; _self = with self; { doCheck = false; # check can't find its own Mouse::Tiny module }; + MozillaCA = buildPerlPackage { + name = "Mozilla-CA-20130114"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-20130114.tar.gz; + sha256 = "82342614add1dbca8a00daa1ee55af3e0036245aed7d445537918c045008ccd7"; + }; + meta = { + description = "Mozilla's CA cert bundle in PEM format"; + license = "unknown"; + }; + }; + MROCompat = buildPerlPackage { name = "MRO-Compat-0.12"; src = fetchurl { @@ -5922,10 +6112,10 @@ let self = _self // overrides; _self = with self; { }; namespaceclean = buildPerlPackage rec { - name = "namespace-clean-0.24"; + name = "namespace-clean-0.25"; src = fetchurl { - url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.24.tar.gz; - sha256 = "0c0jj44f3y26scybnxp2lnkcydjqh0lfr6l1jsy13r3x9r4d8qd6"; + url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.25.tar.gz; + sha256 = "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll"; }; propagatedBuildInputs = [ BHooksEndOfScope PackageStash ]; meta = { @@ -5936,10 +6126,10 @@ let self = _self // overrides; _self = with self; { }; NetAddrIP = buildPerlPackage rec { - name = "NetAddr-IP-4.071"; + name = "NetAddr-IP-4.072"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIKER/${name}.tar.gz"; - sha256 = "0m8d8ccygpjhbsv00vjfz8cvkjcn8dws0k4x58vbvnbjdv3yhxb3"; + sha256 = "17gwhhbz25021w5k4ggp8j3plix5yixgb2vr1mj39fa0p3gafm09"; }; }; @@ -6009,10 +6199,10 @@ let self = _self // overrides; _self = with self; { }; NetAmazonS3Policy = buildPerlPackage { - name = "Net-Amazon-S3-Policy-0.1.2"; + name = "Net-Amazon-S3-Policy-0.1.6"; src = fetchurl { - url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.2.tar.gz; - sha256 = "1kkzimvxwxx0mypf75dalksxmvwsb8b575yx2nzmvjkvjg3j9na0"; + url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz; + sha256 = "056rhq6vsdpwi2grbmxj8341qjrz0258civpnhs78j37129nxcfj"; }; propagatedBuildInputs = [ JSON ]; meta = { @@ -6073,20 +6263,20 @@ let self = _self // overrides; _self = with self; { }; NetDNS = buildPerlPackage { - name = "Net-DNS-0.63"; + name = "Net-DNS-0.74"; src = fetchurl { - url = mirror://cpan/authors/id/O/OL/OLAF/Net-DNS-0.63.tar.gz; - sha256 = "1pswrwhkav051xahm3k4cbyhi8kqpfmaz85lw44kwi2wc7mz4prk"; + url = mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-0.74.tar.gz; + sha256 = "0clwl4nqzg23d6l9d9gc8ijl1lbghhfrbavjlvhd1wll5r8ayr7g"; }; propagatedBuildInputs = [NetIP DigestHMAC]; doCheck = false; }; NetHTTP = buildPerlPackage { - name = "Net-HTTP-6.05"; + name = "Net-HTTP-6.06"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.05.tar.gz; - sha256 = "1r2bv3cw4m054qfsm6i7rpvhrql1d78izpc36prv3xvahfsqxawc"; + url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.06.tar.gz; + sha256 = "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx"; }; meta = { description = "Low-level HTTP connection (client)"; @@ -6106,11 +6296,11 @@ let self = _self // overrides; _self = with self; { }; NetLDAP = buildPerlPackage { - name = "Net-LDAP-0.43"; + name = "Net-LDAP-0.4001"; propagatedBuildInputs = [ ConvertASN1 ]; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.43.tar.gz; - sha256 = "0ak7393zs8ps6r6in5ilr9l1mzxxh529jr768sjzx4273p7li3m0"; + url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.4001.tar.gz; + sha256 = "0spwid70yxkh5zbad3ldw8yb2m5shkm59a7f0kllw8bb7ccczqps"; }; }; @@ -6157,10 +6347,10 @@ let self = _self // overrides; _self = with self; { }; NetSMTP = buildPerlPackage { - name = "Net-SMTP-1.22"; + name = "Net-SMTP-1.25"; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz; - sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p"; + url = mirror://cpan/authors/id/S/SH/SHAY/libnet-1.25.tar.gz; + sha256 = "01f3l4aj3ynl8syyrl122k4bmfds77yw5q36aafrgaq22fnb3b2a"; }; patchPhase = "chmod a-x Configure"; doCheck = false; # The test suite fails, because it requires network access. @@ -6194,10 +6384,10 @@ let self = _self // overrides; _self = with self; { }; NetSSLeay = buildPerlPackage rec { - name = "Net-SSLeay-1.52"; + name = "Net-SSLeay-1.58"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz"; - sha256 = "1fkpdlpg99rdq2vlm6bgmqc8iazhcrfzvbpwxnn20k0viwpy7v28"; + url = "mirror://cpan/authors/id/M/MI/MIKEM/${name}.tar.gz"; + sha256 = "0mizg2g07fa4c13zpnhmjc87psal5gp5hi23kqpynigmkp0m1p0b"; }; buildInputs = [ pkgs.openssl ]; OPENSSL_PREFIX = pkgs.openssl; @@ -6224,10 +6414,10 @@ let self = _self // overrides; _self = with self; { }; NumberCompare = buildPerlPackage rec { - name = "Number-Compare-0.01"; + name = "Number-Compare-0.03"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Number/${name}.tar.gz"; - sha256 = "1vs95lbax3f63jg98jwkiahlvg1jhmd0xyyzmbxxifsl7fkv1d9j"; + url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz"; + sha256 = "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3"; }; }; @@ -6240,10 +6430,10 @@ let self = _self // overrides; _self = with self; { }; ObjectInsideOut = buildPerlPackage { - name = "Object-InsideOut-3.97"; + name = "Object-InsideOut-3.98"; src = fetchurl { - url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.97.tar.gz; - sha256 = "19yr15w361lxxx2djy0ciwjpyd5bcs0skm3yw97w3xidw6r0wf0v"; + url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.98.tar.gz; + sha256 = "1zxfm2797p8b9dsvnbgd6aa4mgpxqxjqzbpfbla1g7f9alxm9f1z"; }; propagatedBuildInputs = [ ExceptionClass ]; meta = { @@ -6255,10 +6445,10 @@ let self = _self // overrides; _self = with self; { }; ObjectSignature = buildPerlPackage { - name = "Object-Signature-1.05"; + name = "Object-Signature-1.07"; src = fetchurl { - url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.05.tar.gz; - sha256 = "10k9j18jpb16brv0hs7592r7hx877290pafb8gnk6ydy7hcq9r2j"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.07.tar.gz; + sha256 = "0c8l7195bjvx0v6zmkgdnxvwg7yj2zq8hi7xd25a3iikd12dc4f6"; }; }; @@ -6271,19 +6461,19 @@ let self = _self // overrides; _self = with self; { }; NetOpenIDCommon = buildPerlPackage rec { - name = "Net-OpenID-Common-1.14"; + name = "Net-OpenID-Common-1.18"; src = fetchurl { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; - sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff"; + sha256 = "13hy5j6hcggb4l2r4pnwdh30p20wwja0chpmqm8y6wnnsp1km07f"; }; propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ]; }; NetOpenIDConsumer = buildPerlPackage rec { - name = "Net-OpenID-Consumer-1.13"; + name = "Net-OpenID-Consumer-1.15"; src = fetchurl { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; - sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8"; + sha256 = "1nh9988436rmmmd6x2zz1fyrqy2005a1gvqzgvnc1pg2ylg61fqf"; }; propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ]; }; @@ -6319,10 +6509,10 @@ let self = _self // overrides; _self = with self; { }; PackageStashXS = buildPerlPackage { - name = "Package-Stash-XS-0.26"; + name = "Package-Stash-XS-0.28"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.26.tar.gz; - sha256 = "1pfdpb3x40f5ldp5kp0d9xvrz4wk2fc3ww53wrq4dp326s08h7r9"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz; + sha256 = "11nl69n8i56p91pd0ia44ip0vpv2cxwpbfakrv01vvv8az1cbn13"; }; buildInputs = [ TestRequires TestFatal ]; meta = { @@ -6355,10 +6545,10 @@ let self = _self // overrides; _self = with self; { }; ParamsValidate = buildPerlModule { - name = "Params-Validate-1.07"; + name = "Params-Validate-1.08"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz; - sha256 = "15mz2wxarxjlr3365m1hhcnfs6d2mw3m0yimnlv06j13cxs39py1"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.08.tar.gz; + sha256 = "0641hbz5bx6jnk8dx2djnkd67fh7h1zx6x1bgmivkrh2yky9ch6h"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ModuleImplementation ]; @@ -6398,18 +6588,18 @@ let self = _self // overrides; _self = with self; { }; ParseRecDescent = buildPerlPackage rec { - name = "Parse-RecDescent-1.965001"; + name = "Parse-RecDescent-1.967009"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz"; - sha256 = "0r4dnrjgxv5irkyx1kgkg8vj6wqx67q5hbkifpb54906kc1n7yh0"; + url = "mirror://cpan/authors/id/J/JT/JTBRAUN/${name}.tar.gz"; + sha256 = "11y6fpz4j6kdimyaz2a6ig0jz0x7csqslhxaipxnjqi5h85hy071"; }; }; PathClass = buildPerlPackage { - name = "Path-Class-0.29"; + name = "Path-Class-0.33"; src = fetchurl { - url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.29.tar.gz; - sha256 = "1z3wvci2qcb1m9qrkxphbnfnr4jqgxbxnxrmdb25ks8gap98hk4z"; + url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.33.tar.gz; + sha256 = "0xy6s04xpslpzbb90x67yvfv0pjqnj1szxlx16vfx690iskcd36d"; }; meta = { description = "Cross-platform path specification manipulation"; @@ -6418,10 +6608,10 @@ let self = _self // overrides; _self = with self; { }; PathTiny = buildPerlPackage { - name = "Path-Tiny-0.026"; + name = "Path-Tiny-0.052"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.026.tar.gz; - sha256 = "e79ee187bbf7fdef387886a8c929bd0a1171fb54db1984d79f4e04d90f733cc6"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.052.tar.gz; + sha256 = "1b70yhbdww9k5m4a4lhdd71jrxdxhi10533slmxynxa04nyn2f0a"; }; buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ]; propagatedBuildInputs = [ autodie ]; @@ -6451,10 +6641,10 @@ let self = _self // overrides; _self = with self; { }; PerlCritic = buildPerlPackage { - name = "Perl-Critic-1.118"; + name = "Perl-Critic-1.121"; src = fetchurl { - url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.118.tar.gz; - sha256 = "666d2bef3ac924598c06a05277680da5910e10d94c5ec161336f6509c11155e8"; + url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.121.tar.gz; + sha256 = "1y2bxjwzlp6ix51h36a5g3dqpaviaajij1rn22hpvcqxh4hh6car"; }; buildInputs = [ TestDeep ]; propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress ExceptionClass IOString ListMoreUtils PPI PPIxRegexp PPIxUtilities PerlTidy PodSpell Readonly StringFormat TaskWeaken ]; @@ -6474,10 +6664,10 @@ let self = _self // overrides; _self = with self; { }; PerlIOviadynamic = buildPerlPackage { - name = "PerlIO-via-dynamic-0.12"; + name = "PerlIO-via-dynamic-0.14"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-dynamic-0.12.tar.gz; - sha256 = "140hay9q8q9sz1fa2s57ijp5l2448fkcg7indgn6k4vc7yshmqz2"; + url = mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz; + sha256 = "0jbb3xpbqzmr625blvnjszd69l3cwxzi7bhmkj5x48dgv3s7mkca"; }; }; @@ -6490,10 +6680,10 @@ let self = _self // overrides; _self = with self; { }; PerlMagick = buildPerlPackage rec { - name = "PerlMagick-6.86"; + name = "PerlMagick-6.87"; src = fetchurl { url = "mirror://cpan/authors/id/J/JC/JCRISTY/${name}.tar.gz"; - sha256 = "18xgh8r9pjxg9yi119gnsln1r4p4sk1r8bxd3iy0qj77frmksisi"; + sha256 = "1bf2g80wdny2dfrrmfgk7cqrxzflx3qp1dnd3919grvrqdviyh16"; }; buildInputs = [pkgs.imagemagick]; preConfigure = @@ -6504,10 +6694,10 @@ let self = _self // overrides; _self = with self; { }; PerlOSType = buildPerlPackage rec { - name = "Perl-OSType-1.002"; + name = "Perl-OSType-1.007"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Perl/${name}.tar.gz"; - sha256 = "0clbfgq0800dip3821ibh29vrwcc159qnakidbiqrmhcisd95xbs"; + url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; + sha256 = "0aryn8dracfjfnks07b5rvsza4csinlsj6cn92jv3sv8sg3rmdxk"; }; }; @@ -6532,10 +6722,10 @@ let self = _self // overrides; _self = with self; { }; Plack = buildPerlPackage { - name = "Plack-1.0024"; + name = "Plack-1.0030"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0024.tar.gz; - sha256 = "485f69275d73401739a829cfee3bbc9bfa20a0843470791066365ac07fac04a1"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz; + sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7"; }; buildInputs = [ FileShareDirInstall TestRequires ]; propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ]; @@ -6604,10 +6794,10 @@ let self = _self // overrides; _self = with self; { }; PPIxRegexp = buildPerlPackage { - name = "PPIx-Regexp-0.034"; + name = "PPIx-Regexp-0.036"; src = fetchurl { - url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.034.tar.gz; - sha256 = "512a358f4bd6196df0601ff36f7831e0ba142fb8ef2bc3995e19bceabd0b5ae7"; + url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.036.tar.gz; + sha256 = "1nnaxf1dmywacdgh8f1s2ki8jkrf2vi6bfhk70p1r9k1001idlfk"; }; propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ]; meta = { @@ -6640,18 +6830,18 @@ let self = _self // overrides; _self = with self; { }; PSGI = buildPerlPackage rec { - name = "PSGI-1.03"; + name = "PSGI-1.102"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz"; - sha256 = "0b1k7smg50xfdhrjifa2gkkm52vna41alvbw8vb2pk99jmgnngh6"; + sha256 = "0iqzxs8fv63510knm3zr3jr3ky4x7diwd7y24mlshzci81kl8v55"; }; }; PadWalker = buildPerlPackage { - name = "PadWalker-1.96"; + name = "PadWalker-1.98"; src = fetchurl { - url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.96.tar.gz; - sha256 = "180c72l3ssnsdbyifl9lzdz83x4zidf3nfgyx6l0j41a5wj0w9fz"; + url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.98.tar.gz; + sha256 = "0v2pldb5awflf10w1p9pwn8w37lkpfc2h459gd9zz6p57883ibw0"; }; meta = { }; @@ -6680,10 +6870,10 @@ let self = _self // overrides; _self = with self; { }; PerlPrereqScanner = buildPerlPackage { - name = "Perl-PrereqScanner-1.018"; + name = "Perl-PrereqScanner-1.019"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.018.tar.gz; - sha256 = "11zkam8svpgcjhjda0ap3afd797a69ndcc64fy3xw0j8v8kxa6hc"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.019.tar.gz; + sha256 = "1ndgq2c7s1042c3zxjsmjfpf4lnwfg6w36hmvhh3yk9qihcprbgj"; }; buildInputs = [ PPI TryTiny ]; propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI ParamsUtil StringRewritePrefix namespaceautoclean ]; @@ -6708,10 +6898,10 @@ let self = _self // overrides; _self = with self; { }; PodCoverage = buildPerlPackage rec { - name = "Pod-Coverage-0.19"; + name = "Pod-Coverage-0.23"; src = fetchurl { url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz"; - sha256 = "1krsz4zwmnmq3z29p5vmyr5fdzrn8v0sg6rf3qxk7xpxw4z5np84"; + sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh"; }; propagatedBuildInputs = [DevelSymdump]; }; @@ -6731,10 +6921,10 @@ let self = _self // overrides; _self = with self; { }; PodElemental = buildPerlPackage { - name = "Pod-Elemental-0.102362"; + name = "Pod-Elemental-0.103000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.102362.tar.gz; - sha256 = "2b56a2783650f170bc7131bb36de65e4e3372a54bab596a798debebbf2af8732"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103000.tar.gz; + sha256 = "0ykf49n6ysm7ab5zwm8a009zzrzsnhxw94a9jvbq80yywzhnm847"; }; buildInputs = [ TestDeep TestDifferences ]; propagatedBuildInputs = [ MixinLinewise Moose MooseAutobox MooseXTypes PodEventual StringRewritePrefix StringTruncate SubExporter SubExporterForMethods TestDeep TestDifferences namespaceautoclean ]; @@ -6761,10 +6951,10 @@ let self = _self // overrides; _self = with self; { }; PodEscapes = buildPerlPackage { - name = "Pod-Escapes-1.04"; + name = "Pod-Escapes-1.06"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBURKE/Pod-Escapes-1.04.tar.gz; - sha256 = "1wrg5dnsl785ygga7bp6qmakhjgh9n4g3jp2l85ab02r502cagig"; + url = mirror://cpan/authors/id/N/NE/NEILB/Pod-Escapes-1.06.tar.gz; + sha256 = "15dpzlgc2ywyxk2svc810nmyx6pm1nj8cji7a0rqr9x6m0v11xdm"; }; }; @@ -6796,10 +6986,10 @@ let self = _self // overrides; _self = with self; { }; PodMarkdown = buildPerlPackage { - name = "Pod-Markdown-1.322"; + name = "Pod-Markdown-2.000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-1.322.tar.gz; - sha256 = "375091d89d9662b0c41bedad391927d6904d05f740e1bb689b494b4b35e979f7"; + url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-2.000.tar.gz; + sha256 = "0qix7gmrc2ypm5dl1w5ajnjy32xlmy73wb3zycc1pxl5lipigsx8"; }; buildInputs = [ TestDifferences ]; meta = { @@ -6842,10 +7032,10 @@ let self = _self // overrides; _self = with self; { }; ProbePerl = buildPerlPackage rec { - name = "Probe-Perl-0.01"; + name = "Probe-Perl-0.03"; src = fetchurl { url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz"; - sha256 = "9b7d211139e42b2a2952c9a4b9f55ac12705e256f4a0acd4ac6ff665aeaddd87"; + sha256 = "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r"; }; }; @@ -6866,10 +7056,10 @@ let self = _self // overrides; _self = with self; { }; Redis = buildPerlPackage { - name = "Redis-1.961"; + name = "Redis-1.2001"; src = fetchurl { - url = mirror://cpan/authors/id/M/ME/MELO/Redis-1.961.tar.gz; - sha256 = "029g4s1ima354yv1j26nlq4f0yahkllkibicml6p3mj5gg2ywbbq"; + url = mirror://cpan/authors/id/D/DP/DPAVLIN/Redis-1.2001.tar.gz; + sha256 = "1d16dr2qjmb3vswghrk5ygggcmz2rzw7qnw3g87prwi08z5ryih0"; }; buildInputs = [ IOString TestDeep TestFatal ]; propagatedBuildInputs = [ TryTiny ]; @@ -6936,28 +7126,28 @@ let self = _self // overrides; _self = with self; { }; RpcXML = buildPerlPackage { - name = "RPC-XML-0.73"; + name = "RPC-XML-0.78"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.73.tar.gz; - sha256 = "a023649603240e7a19fc52a8316a41c854639c0600058ea4d1e436fe1b1b7734"; + url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.78.tar.gz; + sha256 = "0spci3sj2hq9k916sk9k2gchqrbnz9lwmlcnwf1k33wzl8j2gh52"; }; propagatedBuildInputs = [LWP XMLLibXML XMLParser]; doCheck = false; }; ReturnValue = buildPerlPackage { - name = "Return-Value-1.302"; + name = "Return-Value-1.666004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.302.tar.gz; - sha256 = "0hf5rmfap49jh8dnggdpvapy5r4awgx5hdc3acc9ff0vfqav8azm"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666004.tar.gz; + sha256 = "0xr7ic212p36arzdpph2l2yy1y88c7qaf4nng3gqb29zc9kzy3bc"; }; }; RoleHasMessage = buildPerlPackage { - name = "Role-HasMessage-0.005"; + name = "Role-HasMessage-0.006"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.005.tar.gz; - sha256 = "bc6cecf3022159dc415fb931e38291425d6aa8a9542d980b14ea692141337ca9"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz; + sha256 = "1lylfvarjfy6wy34dfny3032pc6r33mjby5yzzhmxybg8zhdp9pn"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ]; @@ -6968,10 +7158,10 @@ let self = _self // overrides; _self = with self; { }; RoleIdentifiable = buildPerlPackage { - name = "Role-Identifiable-0.005"; + name = "Role-Identifiable-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.005.tar.gz; - sha256 = "86910b6052d50bc64d1613bc1274f2ae17d553bfc3f0247a3fe3f7bb2cdd3aee"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz; + sha256 = "1bbkj2wqpbfdw1cbm99vg9d94rvzba19m18xhnylaym0l78lc4sn"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose ]; @@ -6982,10 +7172,10 @@ let self = _self // overrides; _self = with self; { }; RoleTiny = buildPerlPackage { - name = "Role-Tiny-1.002004"; + name = "Role-Tiny-1.003003"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILMARI/Role-Tiny-1.002004.tar.gz; - sha256 = "0n126kazifmx6grdk4rmq226xklfc996cqw4ix26z9jcccl4v756"; + url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-1.003003.tar.gz; + sha256 = "1k823g4wnya18yx2v1xrfl73qqavqpzvaydyg1r7gdzcdvdwl4mp"; }; buildInputs = [ TestFatal ]; meta = { @@ -7008,10 +7198,10 @@ let self = _self // overrides; _self = with self; { }; SafeIsa = buildPerlPackage { - name = "Safe-Isa-1.000002"; + name = "Safe-Isa-1.000004"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSTROUT/Safe-Isa-1.000002.tar.gz; - sha256 = "07jr4fy6zbw9zwpalxzxlkn4nym6fd0304fsrb5ag0v156ygpwvl"; + url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000004.tar.gz; + sha256 = "0sqwma0xqxrgnsm0jfy17szq87bskzq67cdh7p934qdifh5nfwn9"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; @@ -7041,10 +7231,10 @@ let self = _self // overrides; _self = with self; { }; ScopeUpper = buildPerlPackage { - name = "Scope-Upper-0.21"; + name = "Scope-Upper-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.21.tar.gz; - sha256 = "058nfnzp31k7hmdvbsr72nvrw0i23gwjplb6g6pag3s18m7fl1p6"; + url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.24.tar.gz; + sha256 = "159jcwliyb7j80858pi052hkmhgy4cdbjha419kmhhqc9s1rhd5g"; }; meta = { homepage = http://search.cpan.org/dist/Scope-Upper/; @@ -7065,18 +7255,18 @@ let self = _self // overrides; _self = with self; { }; SetObject = buildPerlPackage { - name = "Set-Object-1.26"; + name = "Set-Object-1.34"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SAMV/Set-Object-1.26.tar.gz; - sha256 = "1hx3wrw8xkvaggacc8zyn86hfi3079ahmia1n8vsw7dglp1bbhmj"; + url = mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.34.tar.gz; + sha256 = "1dipd6k572pzqjzbj9vagb2k347qcg29lsxzx9y214bhnw7fgvjp"; }; }; SetScalar = buildPerlPackage { - name = "Set-Scalar-1.26"; + name = "Set-Scalar-1.29"; src = fetchurl { - url = mirror://cpan/authors/id/J/JH/JHI/Set-Scalar-1.26.tar.gz; - sha256 = "121r9n8lqk081vjzn9ppm4zklz1l0c0v0ab94c05y5vrsn5l0zl8"; + url = mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz; + sha256 = "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53"; }; meta = { license = "perl"; @@ -7094,10 +7284,10 @@ let self = _self // overrides; _self = with self; { }; SOAPLite = buildPerlPackage { - name = "SOAP-Lite-0.716"; + name = "SOAP-Lite-1.11"; src = fetchurl { - url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-0.716.tar.gz; - sha256 = "0vhnv5bdhy3gzwiaw1ly69r7lxvahz796v210x5nyij7a04ndwbz"; + url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.11.tar.gz; + sha256 = "1zhy06v72r95ih3lx5rlx0bvkq214ndmcmn97m5k2rkxxy4ybpp4"; }; propagatedBuildInputs = [ ClassInspector HTTPDaemon LWP TaskWeaken URI XMLParser ]; meta = { @@ -7109,10 +7299,10 @@ let self = _self // overrides; _self = with self; { }; Socket6 = buildPerlPackage rec { - name = "Socket6-0.23"; + name = "Socket6-0.25"; src = fetchurl { url = "mirror://cpan/authors/id/U/UM/UMEMOTO/${name}.tar.gz"; - sha256 = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833"; + sha256 = "1ads4k4vvq6pnxkdw0s8gaj03w4h9snxyw7zyikfzd20fy76yx6s"; }; buildInputs = [ pkgs.which ]; }; @@ -7149,10 +7339,10 @@ let self = _self // overrides; _self = with self; { }; SpreadsheetParseExcel = buildPerlPackage rec { - name = "Spreadsheet-ParseExcel-0.58"; + name = "Spreadsheet-ParseExcel-0.2603"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/${name}.tar.gz"; - sha256 = "1ha32kfgf0b9mk00dvsx0jq72xsx0qskmgrnixcdfh044lcxzk17"; + url = "mirror://cpan/authors/id/K/KW/KWITKNR/${name}.tar.gz"; + sha256 = "0q5qq982528cdpqdj2wszrnf5g2rfphx0b413lczx7nvkkyy9xqz"; }; propagatedBuildInputs = [ IOStringy OLEStorageLight ]; @@ -7289,10 +7479,10 @@ let self = _self // overrides; _self = with self; { }; strictures = buildPerlPackage { - name = "strictures-1.004004"; + name = "strictures-1.005004"; src = fetchurl { - url = mirror://cpan/authors/id/E/ET/ETHER/strictures-1.004004.tar.gz; - sha256 = "0d7fanr4ggmlqvdxf63ci7nxba2vrdz9558xy35hfpm8max7s48j"; + url = mirror://cpan/authors/id/H/HA/HAARG/strictures-1.005004.tar.gz; + sha256 = "0y9q0v68060x5r3wfprwnjry6si7x9x5rkqz7nrf8fkxng7ndw5v"; }; meta = { homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git; @@ -7310,10 +7500,10 @@ let self = _self // overrides; _self = with self; { }; StringCRC32 = buildPerlPackage rec { - name = "String-CRC32-1.4"; + name = "String-CRC32-1.5"; src = fetchurl { - url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz; - sha256 = "0lc3d4szxagwzcw6pxq3mmkvdlrz2zkw4i13crf42nvivv7gda8l"; + url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.5.tar.gz; + sha256 = "0m3hjk292hnxyi8nkfy8hlr1khnbf2clgkb4kzj0ycq8gcd2z0as"; }; meta = { maintainers = with maintainers; [ ocharles ]; @@ -7322,10 +7512,10 @@ let self = _self // overrides; _self = with self; { }; StringErrf = buildPerlPackage { - name = "String-Errf-0.006"; + name = "String-Errf-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.006.tar.gz; - sha256 = "2c09631fbece8e85a94785abede882f5d29e0f21f72239d01332b3bafd9c53ac"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.007.tar.gz; + sha256 = "1apnmxdsqwrvn1kkbba4sw6yh6hdfxxar545p6m9dkid7xsiqjfj"; }; buildInputs = [ JSON TimeDate ]; propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ]; @@ -7362,10 +7552,10 @@ let self = _self // overrides; _self = with self; { }; StringFormat = buildPerlPackage rec { - name = "String-Format-1.16"; + name = "String-Format-1.17"; src = fetchurl { url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz"; - sha256 = "edb27dd055ad71012a439f262f9394517adb585a5c27ba72c1819bae2c23729a"; + sha256 = "0sxfavcsb349rfafxflq2f9h3xpxabrw0q7vhmh9n3hjij8fa1jk"; }; }; @@ -7383,18 +7573,18 @@ let self = _self // overrides; _self = with self; { }; StringMkPasswd = buildPerlPackage { - name = "String-MkPasswd-0.02"; + name = "String-MkPasswd-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.02.tar.gz; - sha256 = "0si4xfgf8c2pfag1cqbr9jbyvg3hak6wkmny56kn2qwa4ljp9bk6"; + url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz; + sha256 = "15lvcc8c9hp6mg3jx02wd3b85aphn8yl5db62q3pam04c0sgh42k"; }; }; StringRewritePrefix = buildPerlPackage { - name = "String-RewritePrefix-0.006"; + name = "String-RewritePrefix-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz; - sha256 = "1b9fg805g0agsyij28w8hhmnf485bii8zl03i092mv1p2hqrpxll"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.007.tar.gz; + sha256 = "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw"; }; propagatedBuildInputs = [ SubExporter ]; meta = { @@ -7417,20 +7607,20 @@ let self = _self // overrides; _self = with self; { }; StringToIdentifierEN = buildPerlPackage rec { - name = "String-ToIdentifier-EN-0.10"; + name = "String-ToIdentifier-EN-0.11"; src = fetchurl { - url = "mirror://cpan/modules/by-module/String/${name}.tar.gz"; - sha256 = "1xm0v1cq9hdgx4mswa9wdr2lqk7z9kh1bwjkx4wb5xljd0lxhas6"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh"; }; propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ]; }; StringTruncate = buildPerlPackage { - name = "String-Truncate-1.100601"; + name = "String-Truncate-1.100602"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100601.tar.gz; - sha256 = "1mas04qa6sj6x34mid8i6swddcnb3c9zfkgkd72kvz5zip2f4f24"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz; + sha256 = "0vjz4fd4cvcy12gk5bdha7z73ifmfpmk748khha94dhiq3pd98xa"; }; propagatedBuildInputs = [ SubExporter SubInstall ]; meta = { @@ -7482,10 +7672,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterForMethods = buildPerlPackage { - name = "Sub-Exporter-ForMethods-0.100050"; + name = "Sub-Exporter-ForMethods-0.100051"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100050.tar.gz; - sha256 = "67dfaa39c58995ed1d341d7f2e785a68b7ba4ade72608f491459b8d2dee6df33"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100051.tar.gz; + sha256 = "127wniw53p7pp7r2vazicply3v1gmnhw4w7jl6p74i0grnsixipm"; }; propagatedBuildInputs = [ SubExporter SubName ]; meta = { @@ -7495,10 +7685,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterGlobExporter = buildPerlPackage { - name = "Sub-Exporter-GlobExporter-0.003"; + name = "Sub-Exporter-GlobExporter-0.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.003.tar.gz; - sha256 = "4cb082331151360756f3b2f8122fdd44597a207d62bd3f2ecb13578005116ab1"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.004.tar.gz; + sha256 = "025wgjavrbzh52jb4v0w2fxqh7r5181k935h9cyy2rm1qk49fg8p"; }; propagatedBuildInputs = [ SubExporter ]; meta = { @@ -7509,10 +7699,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterProgressive = buildPerlPackage { - name = "Sub-Exporter-Progressive-0.001006"; + name = "Sub-Exporter-Progressive-0.001011"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/Sub-Exporter-Progressive-0.001006.tar.gz; - sha256 = "0s13fz86c8slhgban10sywp2skjdxnl3nvkqqy7pbwg81g3v9rr2"; + url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz; + sha256 = "01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; @@ -7557,10 +7747,10 @@ let self = _self // overrides; _self = with self; { }; SubName = buildPerlPackage { - name = "Sub-Name-0.05"; + name = "Sub-Name-0.0502"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz; - sha256 = "1w9sf51ai2r3i0kv5wnq7h9g3hcd6zb6i51ivvykb3hzx82vilf9"; + url = mirror://cpan/authors/id/C/CH/CHIPS/Sub-Name-0.0502.tar.gz; + sha256 = "1r197binpdy4xfh65qkxxvi9c39pmvvcny4rl8a7zrk1jcws6fac"; }; meta = { description = "(Re)name a sub"; @@ -7628,10 +7818,10 @@ let self = _self // overrides; _self = with self; { }; Switch = buildPerlPackage rec { - name = "Switch-2.16"; + name = "Switch-2.17"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz"; - sha256 = "1n7rgp1q3zwglv1pka3bnhq5g41334lwc53g31w6g44my8kqz31h"; + url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz"; + sha256 = "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i"; }; doCheck = false; # FIXME: 2/293 test failures }; @@ -7663,10 +7853,10 @@ let self = _self // overrides; _self = with self; { }; SyntaxKeywordJunction = buildPerlPackage { - name = "Syntax-Keyword-Junction-0.003006"; + name = "Syntax-Keyword-Junction-0.003007"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003006.tar.gz; - sha256 = "182ab56d86bf3acf292d4ed5893ae0134f43843cdadba3e18f9885e6f86035ec"; + url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003007.tar.gz; + sha256 = "0c8jvy5lkshw5gyl037gmkh7c51k3sdvpywq0zwlw4ikvrcgsglj"; }; propagatedBuildInputs = [ SubExporterProgressive TestRequires syntax ]; meta = { @@ -7685,10 +7875,10 @@ let self = _self // overrides; _self = with self; { }; TAPParserSourceHandlerpgTAP = buildPerlModule { - name = "TAP-Parser-SourceHandler-pgTAP-3.29"; + name = "TAP-Parser-SourceHandler-pgTAP-3.30"; src = fetchurl { - url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.29.tar.gz; - sha256 = "918aa9ada7a05334ace7304e7b9e002bbf0b569bfcf8fb06118777bdabd60e1b"; + url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.30.tar.gz; + sha256 = "08gadqf898r23sx07sn13555cp9zkwp8igjlh1fza2ycfivpfl9f"; }; meta = { homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/; @@ -7756,6 +7946,20 @@ let self = _self // overrides; _self = with self; { }; }; + TemplatePluginIOAll = buildPerlPackage { + name = "Template-Plugin-IO-All-0.01"; + src = fetchurl { + url = mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz; + sha256 = "1f7445422a21932e09bbef935766e0af6b7cceb088e9d8e030cd7a84bcdc5ee4"; + }; + propagatedBuildInputs = [ IOAll TemplateToolkit ]; + meta = { + maintainers = with maintainers; [ eelco ]; + description = "Perl Template Toolkit Plugin for IO::All"; + license = "perl"; + }; + }; + TemplatePluginJavaScript = buildPerlPackage { name = "Template-Plugin-JavaScript-0.02"; src = fetchurl { @@ -7821,10 +8025,10 @@ let self = _self // overrides; _self = with self; { }; TermProgressBar = buildPerlPackage { - name = "Term-ProgressBar-2.13"; + name = "Term-ProgressBar-2.14"; src = fetchurl { - url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.13.tar.gz; - sha256 = "95a56e1529928b7a0d7adf5bc2f54b9b9ae9da58c43b519af74a1e6596209b3c"; + url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.14.tar.gz; + sha256 = "18cj7mzbis9xk0v32g2700vq9b4p9v5msk02mglf244cj77bflf6"; }; buildInputs = [ CaptureTiny TestException ]; propagatedBuildInputs = [ ClassMethodMaker TermReadKey ]; @@ -7857,18 +8061,18 @@ let self = _self // overrides; _self = with self; { }; TermReadKey = buildPerlPackage { - name = "TermReadKey-2.30"; + name = "TermReadKey-2.31"; src = fetchurl { - url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz; - md5 = "f0ef2cea8acfbcc58d865c05b0c7e1ff"; + url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.31.tar.gz; + sha256 = "1czarrdxgnxmmbaasjnq3sj14nf1cvzhm37padq6xvl7h7r2acb2"; }; }; TermReadLineGnu = buildPerlPackage rec { - name = "Term-ReadLine-Gnu-1.20"; + name = "Term-ReadLine-Gnu-1.24"; src = fetchurl { url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz"; - sha256 = "00fvkqbnpmyld59jv2vbfw1szr5d0xxmbgl59gr7qijp9c497ni5"; + sha256 = "0dp18pgn8vl4dh6rgzcp1kzk4j6wjrrxd6sfcrrywy7jg4b7ikfc"; }; buildInputs = [ pkgs.readline pkgs.ncurses ]; NIX_CFLAGS_LINK = "-lreadline"; @@ -7934,10 +8138,10 @@ let self = _self // overrides; _self = with self; { }; TestBase = buildPerlPackage rec { - name = "Test-Base-0.60"; + name = "Test-Base-0.62"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "0yf030nay85xzas1qxn1nw6lhfsrcbgh3nq7bxbb11nxhvdaj2bx"; + url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; + sha256 = "1b11xllllp49kkq1wwr57pijqlx1c37nbyssdlszvvhrp6kww363"; }; propagatedBuildInputs = [ Spiffy ]; }; @@ -7969,10 +8173,10 @@ let self = _self // overrides; _self = with self; { }; TestDeep = buildPerlPackage { - name = "Test-Deep-0.110"; + name = "Test-Deep-0.112"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.110.tar.gz; - sha256 = "12rd9fknm778685ypyc599lcmzbqvbqnjhcrkybgpq2siai9q4h5"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.112.tar.gz; + sha256 = "1vg1bb1lpqpj0pxk738ykip4kw3agbi88g90wxb3pc11l84nlsan"; }; propagatedBuildInputs = [ TestNoWarnings TestTester ]; meta = { @@ -7981,10 +8185,10 @@ let self = _self // overrides; _self = with self; { }; TestDifferences = buildPerlPackage { - name = "Test-Differences-0.61"; + name = "Test-Differences-0.4801"; src = fetchurl { - url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.61.tar.gz; - sha256 = "044wg7nqmhvh5ms8z305f9bzldhigr020l1a7iqycxqv05h6b6vm"; + url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.4801.tar.gz; + sha256 = "1p5bqyq3gxfb1q4wajd28498fsbqk7f2y7pk9c3rnh0x36cqbvyw"; }; propagatedBuildInputs = [ TextDiff ]; meta = { @@ -8024,19 +8228,19 @@ let self = _self // overrides; _self = with self; { }; TestException = buildPerlPackage rec { - name = "Test-Exception-0.31"; + name = "Test-Exception-0.32"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "1lyd6mcg00348xsn9fl59spx68a69ybli7h7gd2k0p4y21q8p0ks"; + url = "mirror://cpan/authors/id/A/AD/ADIE/${name}.tar.gz"; + sha256 = "0issbjh5yl62lpaff5zhn28zhbf8sv8n2g79vklfr5s703k2fi5s"; }; propagatedBuildInputs = [ SubUplevel ]; }; TestFailWarnings = buildPerlPackage { - name = "Test-FailWarnings-0.005"; + name = "Test-FailWarnings-0.008"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.005.tar.gz; - sha256 = "014f909e6c171f77b811139c49c1dca9d0f1e2d1c41b5dca332b6b55b3eb0b4e"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz; + sha256 = "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s"; }; buildInputs = [ CaptureTiny ]; meta = { @@ -8173,18 +8377,18 @@ let self = _self // overrides; _self = with self; { }; TestMockTime = buildPerlPackage rec { - name = "Test-MockTime-0.09"; + name = "Test-MockTime-0.12"; src = fetchurl { url = "mirror://cpan/authors/id/D/DD/DDICK/${name}.tar.gz"; - sha256 = "1j2riyikzyfkxsgkfdqirs7xa8q5d06b9klpk7l9sgydwqdvxdv3"; + sha256 = "104p9qsqcchfbxh6b6w7q9jhkwb4hc424js0cyivyanjm6bcqvj9"; }; }; TestMojibake = buildPerlPackage { - name = "Test-Mojibake-0.8"; + name = "Test-Mojibake-0.9"; src = fetchurl { - url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.8.tar.gz; - sha256 = "66d82ca4fe539bb69ee8179d96370e50777a9547176428baf4dbe190ef78b4cb"; + url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.9.tar.gz; + sha256 = "0b7jamkmws6k3cvzwrz3r5vcpjrdhr8wndf82i5nx2z19xsy33ym"; }; meta = { homepage = https://github.com/creaktive/Test-Mojibake; @@ -8196,10 +8400,10 @@ let self = _self // overrides; _self = with self; { TestMore = TestSimple; TestMost = buildPerlPackage { - name = "Test-Most-0.31"; + name = "Test-Most-0.33"; src = fetchurl { - url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.31.tar.gz; - sha256 = "0ddc6034dc7cde3631dde41ecb558ed823fc07804bfd051b8ec9a70131862ab7"; + url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.33.tar.gz; + sha256 = "0jp4jcwk97bgf85wwyjpxfsx4165s6w1v4ymn9gnv03yn77inyij"; }; propagatedBuildInputs = [ ExceptionClass TestDeep TestDifferences TestException TestWarn ]; meta = { @@ -8325,10 +8529,10 @@ let self = _self // overrides; _self = with self; { }; TestRoutine = buildPerlPackage { - name = "Test-Routine-0.015"; + name = "Test-Routine-0.018"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.015.tar.gz; - sha256 = "04hm18sx90k38vxk70g8zj9wp0i7h4436cxflbc6pspvphv2fjg3"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.018.tar.gz; + sha256 = "1slaljcija2pbsxdyrqsh09pgajxbln68gb47l9fwffb6gsp5f3m"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ Moose namespaceautoclean namespaceclean ParamsUtil SubExporter ]; @@ -8370,10 +8574,10 @@ let self = _self // overrides; _self = with self; { }; TestSynopsis = buildPerlPackage { - name = "Test-Synopsis-0.06"; + name = "Test-Synopsis-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-Synopsis-0.06.tar.gz; - sha256 = "fb3eed184eaf8a3c2338ec14b7235fa75fc43cf5f3774d927a4c947a5141db1b"; + url = mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.10.tar.gz; + sha256 = "0gbk4d2vwlldsj5shmbdar3a29vgrw84ldsvm26mflkr5ji34adv"; }; meta = { description = "Test your SYNOPSIS code"; @@ -8444,10 +8648,10 @@ let self = _self // overrides; _self = with self; { }; TestWarn = buildPerlPackage { - name = "Test-Warn-0.24"; + name = "Test-Warn-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.24.tar.gz; - sha256 = "12r1mcwrm6cgc3ppgawwv265vmrighj4bl6xc5c41f4c2l6bdxml"; + url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz; + sha256 = "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1"; }; propagatedBuildInputs = [ SubUplevel TreeDAGNode ]; meta = { @@ -8500,10 +8704,10 @@ let self = _self // overrides; _self = with self; { }; TestWWWMechanizeCatalyst = buildPerlPackage { - name = "Test-WWW-Mechanize-Catalyst-0.58"; + name = "Test-WWW-Mechanize-Catalyst-0.59"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-WWW-Mechanize-Catalyst-0.58.tar.gz; - sha256 = "1pa2m064skxfwsm93hffxcyky4kcn2q418vnw2fn79ich6wrcijd"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Test-WWW-Mechanize-Catalyst-0.59.tar.gz; + sha256 = "1hr1p8m3sv16ws8qb90nshza28qlmllnb6qxriwdvwddp2y517jv"; }; doCheck = false; # listens on an external port propagatedBuildInputs = [ CatalystRuntime LWP Moose namespaceclean TestWWWMechanize WWWMechanize ]; @@ -8553,10 +8757,10 @@ let self = _self // overrides; _self = with self; { }; TextAligner = buildPerlPackage { - name = "Text-Aligner-0.07"; + name = "Text-Aligner-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/A/AN/ANNO/Text-Aligner-0.07.tar.gz; - sha256 = "1vpb87binmmysr4sxfjinxg4bh3rb4rmrx48yyczgmyddmda9rik"; + url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.10.tar.gz; + sha256 = "0d80x5jrv5j9yi234rdnjvnsnmhm4jsssqv7bpkl1fhjd1kfc7v0"; }; meta = { description = "Align text in columns"; @@ -8564,11 +8768,11 @@ let self = _self // overrides; _self = with self; { }; TextBibTeX = buildPerlModule { - name = "Text-BibTeX-0.66"; + name = "Text-BibTeX-0.69"; buildInputs = [ ConfigAutoConf ExtUtilsLibBuilder ]; src = fetchurl { - url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.66.tar.gz; - sha256 = "0wymg190afqfhr5i9ws02jgnksk06h3w45770ynjjr1fs343b9j7"; + url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.69.tar.gz; + sha256 = "1gzh5zh2ggfp15q5im7gpr1krq4mzmhbjdivyb2x03vcg0qdkk3z"; }; meta = { description = "Interface to read and parse BibTeX files"; @@ -8577,10 +8781,10 @@ let self = _self // overrides; _self = with self; { }; TextCSV = buildPerlPackage rec { - name = "Text-CSV-1.10"; + name = "Text-CSV-1.32"; src = fetchurl { url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz"; - sha256 = "0vb0093v3kk7iczb46zzdg7myfyjldwrk8wbk7ibk56gvj350f7c"; + sha256 = "1bzrizyp8n2013nhd34j52bzdqcp9la30aqbdfkij52ssxkfm7xl"; }; }; @@ -8643,10 +8847,10 @@ let self = _self // overrides; _self = with self; { }; TestMinimumVersion = buildPerlPackage { - name = "Test-MinimumVersion-0.101080"; + name = "Test-MinimumVersion-0.101081"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101080.tar.gz; - sha256 = "51fc0bd73ece9d41887f8d0a57ee27fbc205c271c5b5246111efe7d3247ddfb0"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101081.tar.gz; + sha256 = "1javb92s0bl7gj2m3fsvzd0mn5r76clmayq8878mq12g4smdvpi2"; }; buildInputs = [ TestTester ]; propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion YAMLTiny ]; @@ -8657,10 +8861,10 @@ let self = _self // overrides; _self = with self; { }; TextMicroTemplate = buildPerlPackage { - name = "Text-MicroTemplate-0.19"; + name = "Text-MicroTemplate-0.20"; src = fetchurl { - url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.19.tar.gz; - sha256 = "0hli95kn67slr6ixffcx6qvv36hlr03hij28029k3f8d7b7f32za"; + url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.20.tar.gz; + sha256 = "0da44kd3z4n23wivy99583cscmiay2xv0wq9dzx6mg8vq874kx74"; }; meta = { description = "Micro template engine with Perl5 language"; @@ -8707,10 +8911,10 @@ let self = _self // overrides; _self = with self; { }; TextTable = buildPerlPackage { - name = "Text-Table-1.128"; + name = "Text-Table-1.129"; src = fetchurl { - url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.128.tar.gz; - sha256 = "0j9y38y9x9ljjpnvp5clwkfvhnja6vjlnhb8yshv2mmz2h6by70c"; + url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.129.tar.gz; + sha256 = "1b8l86yvvsncnx0w45w095n1h7lff6nxjy87dzk7zgvkmr0ary7c"; }; buildInputs = [ TestPod TestPodCoverage ]; propagatedBuildInputs = [ TextAligner ]; @@ -8722,10 +8926,10 @@ let self = _self // overrides; _self = with self; { }; TextTabularDisplay = buildPerlPackage rec { - name = "Text-TabularDisplay-1.22"; + name = "Text-TabularDisplay-1.35"; src = fetchurl { url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz"; - sha256 = "05r3jvdf8av16hgy0i3wnc581ski08q1bnllq5cq1fnc7h2nm1c7"; + sha256 = "0sbyfdiln6q2g66mv64alayfcqnqg17kihdzgpslxdsn14vpvjq5"; }; propagatedBuildInputs = [TextAligner]; }; @@ -8819,10 +9023,10 @@ let self = _self // overrides; _self = with self; { }; TextWikiFormat = buildPerlPackage { - name = "Text-WikiFormat-0.80"; + name = "Text-WikiFormat-0.81"; src = fetchurl { - url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.80.tar.gz; - sha256 = "0i1mg3ivxhx09x0w06k15izc92bknwqwh0ghpmhlq9s9iw12mmry"; + url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz; + sha256 = "0cxbgx879bsskmnhjzamgsa5862ddixyx4yr77lafmwimnaxjg74"; }; propagatedBuildInputs = [ URI ]; meta = { @@ -8840,11 +9044,23 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ DevelStackTrace Moose ]; }; - TieIxHash = buildPerlPackage { - name = "Tie-IxHash-1.22"; + TieCycle = buildPerlPackage { + name = "Tie-Cycle-1.19"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz; - sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7"; + url = mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.19.tar.gz; + sha256 = "bd315874c85feaf8948eeb2f40fe2768a6ca00f089e35b32bfe88f3f384f9ca1"; + }; + meta = { + description = "Cycle through a list of values via a scalar"; + license = "perl"; + }; + }; + + TieIxHash = buildPerlPackage { + name = "Tie-IxHash-1.23"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz; + sha256 = "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs"; }; meta = { description = "Ordered associative arrays for Perl"; @@ -8862,18 +9078,18 @@ let self = _self // overrides; _self = with self; { }; TimeDate = buildPerlPackage { - name = "TimeDate-1.16"; + name = "TimeDate-2.30"; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz; - sha256 = "1cvcpaghn7dc14m9871sfw103g3m3a00m2mrl5iqb0mmh40yyhkr"; + url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz; + sha256 = "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm"; }; }; TimeDuration = buildPerlPackage { - name = "Time-Duration-1.1"; + name = "Time-Duration-1.06"; src = fetchurl { - url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.1.tar.gz; - sha256 = "a69c419c4892f21eba10002e2ab8c55b657b6691cf6873544ef99ef5fd188f4e"; + url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.06.tar.gz; + sha256 = "0krzgxifghwir1ibxg147sfpqyyv8xpvipx0nwlwgyay46x4gdpp"; }; buildInputs = [ TestPod TestPodCoverage ]; meta = { @@ -8932,10 +9148,10 @@ let self = _self // overrides; _self = with self; { }; TreeSimpleVisitorFactory = buildPerlPackage { - name = "Tree-Simple-VisitorFactory-0.10"; + name = "Tree-Simple-VisitorFactory-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/S/ST/STEVAN/Tree-Simple-VisitorFactory-0.10.tar.gz; - sha256 = "1ghcgnb3xvqjyh4h4aa37x98613aldnpj738z9b80p33bbfxq158"; + url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.12.tgz; + sha256 = "1g27xl48q1vr7aikhxg4vvcsj1si8allxz59vmnks61wsw4by7vg"; }; propagatedBuildInputs = [TreeSimple]; buildInputs = [TestException]; @@ -8974,10 +9190,10 @@ let self = _self // overrides; _self = with self; { }; UNIVERSALrequire = buildPerlPackage { - name = "UNIVERSAL-require-0.11"; + name = "UNIVERSAL-require-0.16"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSCHWERN/UNIVERSAL-require-0.11.tar.gz; - sha256 = "1rh7i3gva4m96m31g6yfhlqcabszhghbb3k3qwxbgx3mkf5s6x6i"; + url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.16.tar.gz; + sha256 = "0fbx3f39lvck3n4ksqwji5m1hfdagx25jk5kg2h0gkb01jwz3za2"; }; }; @@ -8992,6 +9208,18 @@ let self = _self // overrides; _self = with self; { }; }; + UnicodeCollate = buildPerlPackage { + name = "Unicode-Collate-1.04"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SA/SADAHIRO/Unicode-Collate-1.04.tar.gz; + sha256 = "4e3a2300b961d3aaf3789cdbfb95601edaaffb4109ed6cdb912a664d5c7bd706"; + }; + meta = { + description = "Unicode Collation Algorithm"; + license = "perl"; + }; + }; + UnicodeICUCollator = buildPerlPackage { name = "Unicode-ICU-Collator-0.002"; src = fetchurl { @@ -9007,6 +9235,19 @@ let self = _self // overrides; _self = with self; { buildInputs = [ pkgs.icu ]; }; + UnicodeLineBreak = buildPerlPackage { + name = "Unicode-LineBreak-2013.11"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2013.11.tar.gz; + sha256 = "8946b883ae687ff652e93d6185e23a936c7f337f2e115851fdfed72e1f73c7f9"; + }; + propagatedBuildInputs = [ MIMECharset ]; + meta = { + description = "UAX #14 Unicode Line Breaking Algorithm"; + license = "perl"; + }; + }; + UnixGetrusage = buildPerlPackage { name = "Unix-Getrusage-0.03"; src = fetchurl { @@ -9042,10 +9283,10 @@ let self = _self // overrides; _self = with self; { }; URIFromHash = buildPerlPackage { - name = "URI-FromHash-0.03"; + name = "URI-FromHash-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.03.tar.gz; - sha256 = "0yzk69mdf8rmkx1wxm5mn1a1zzd0zq4x1w83vyj9ja40v73q0k4i"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.04.tar.gz; + sha256 = "03yckli4fj8cgsyh1l1lmyxj56q9qc04a3r8kv0whbnb37zz1j23"; }; propagatedBuildInputs = [ ParamsValidate URI ]; meta = { @@ -9086,10 +9327,10 @@ let self = _self // overrides; _self = with self; { }; version = buildPerlPackage rec { - name = "version-0.9902"; + name = "version-0.9908"; src = fetchurl { - url = "mirror://cpan/modules/by-module/version/${name}.tar.gz"; - sha256 = "17fdj3hxks33plapj3hinjgmyblnh302z52rq4b9spnz22q5vhww"; + url = "mirror://cpan/authors/id/J/JP/JPEACOCK/${name}.tar.gz"; + sha256 = "0nq84i1isk01ikwjxxynqyzz4g4g6hcbjq8l426n0hr42znlfmn4"; }; }; @@ -9118,10 +9359,10 @@ let self = _self // overrides; _self = with self; { }; WWWCurl = buildPerlPackage rec { - name = "WWW-Curl-4.15"; + name = "WWW-Curl-4.17"; src = fetchurl { - url = "mirror://cpan/modules/by-module/WWW/${name}.tar.gz"; - sha256 = "18az7k0jsr642lp6dfy0b2s7vx0cd7sj9dgk93wff73safa09x1y"; + url = "mirror://cpan/authors/id/S/SZ/SZBALINT/${name}.tar.gz"; + sha256 = "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"; }; buildInputs = [ pkgs.curl ]; preConfigure = @@ -9132,10 +9373,10 @@ let self = _self // overrides; _self = with self; { }; WWWMechanize = buildPerlPackage { - name = "WWW-Mechanize-1.72"; + name = "WWW-Mechanize-1.73"; src = fetchurl { - url = mirror://cpan/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz; - sha256 = "0vs3p2697675bswjayfmm37lg3xsxm94z1mif18s732kwvnpg6m6"; + url = mirror://cpan/authors/id/E/ET/ETHER/WWW-Mechanize-1.73.tar.gz; + sha256 = "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9"; }; propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ]; doCheck = false; @@ -9177,10 +9418,10 @@ let self = _self // overrides; _self = with self; { }; Wx = buildPerlPackage rec { - name = "Wx-0.9922"; + name = "Wx-0.9923"; src = fetchurl { url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz"; - sha256 = "11x3cvffcyi4b2c6pz9awks3zrg83bg1cwapm4psdiqnd568safw"; + sha256 = "1ja2fkz0xabafyc6gnp3nnwsbkkjsf44kq9x5zz6cb5fsp3p9sck"; }; propagatedBuildInputs = [ ExtUtilsXSpp AlienWxWidgets ]; # Testing requires an X server: @@ -9188,11 +9429,22 @@ let self = _self // overrides; _self = with self; { doCheck = false; }; + X11Protocol = buildPerlPackage rec { + name = "X11-Protocol-0.56"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SM/SMCCAM/${name}.tar.gz"; + sha256 = "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny"; + }; + buildInputs = [pkgs.x11]; + NIX_CFLAGS_LINK = "-lX11"; + doCheck = false; # requires an X server + }; + X11GUITest = buildPerlPackage rec { - name = "X11-GUITest-0.21"; + name = "X11-GUITest-0.28"; src = fetchurl { url = "mirror://cpan/authors/id/C/CT/CTRONDLP/${name}.tar.gz"; - sha256 = "0akjk2x2d3j1f95wn93mh6nvq8p6c9jcqmvkh1mli5jxr1rmhjx8"; + sha256 = "0jznws68skdzkhgkgcgjlj40qdyh9i75r7fw8bqzy406f19xxvnw"; }; buildInputs = [pkgs.x11 pkgs.xorg.libXtst pkgs.xorg.libXi]; NIX_CFLAGS_LINK = "-lX11 -lXext -lXtst"; @@ -9209,39 +9461,52 @@ let self = _self // overrides; _self = with self; { }; XMLLibXML = buildPerlPackage rec { - name = "XML-LibXML-2.0014"; + name = "XML-LibXML-2.0115"; src = fetchurl { - url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz"; - sha256 = "0r2mw6pnygj2bpng9f4q5jfn4iawhkj47ys3sbnvqymyp1afihf6"; + url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; + sha256 = "0d6l6idl2920x9xi097fvzfdn9i0s8qa9ksw4bz2w1wh3zsn07zm"; }; SKIP_SAX_INSTALL = 1; buildInputs = [ pkgs.libxml2 ]; propagatedBuildInputs = [ XMLSAX ]; }; - XMLLibXSLT = buildPerlPackage rec { - name = "XML-LibXSLT-1.70"; + XMLLibXMLSimple = buildPerlPackage { + name = "XML-LibXML-Simple-0.93"; src = fetchurl { - url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz"; - sha256 = "0x8lqlxr6xhgwwa6zj4shrwrqlgbgs0piripc1fsnw4z1yl2gf9p"; + url = mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-0.93.tar.gz; + sha256 = "f2eb1c1523d6414cf2a646a289b0325b489954382c862928d165a03a7cce767c"; + }; + propagatedBuildInputs = [ FileSlurp XMLLibXML ]; + meta = { + description = "XML::LibXML based XML::Simple clone"; + license = "perl"; + }; + }; + + XMLLibXSLT = buildPerlPackage rec { + name = "XML-LibXSLT-1.89"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; + sha256 = "0py7ll5vj2k977l4r2g8bbz0hdy0hhkdq0mzblrwizify0825b12"; }; buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ]; propagatedBuildInputs = [ XMLLibXML ]; }; XMLNamespaceSupport = buildPerlPackage { - name = "XML-NamespaceSupport-1.09"; + name = "XML-NamespaceSupport-1.11"; src = fetchurl { - url = mirror://cpan/authors/id/R/RB/RBERJON/XML-NamespaceSupport-1.09.tar.gz; - sha256 = "0ny2i4pf6j8ggfj1x02rm5zm9a37hfalgx9w9kxnk69xsixfwb51"; + url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz; + sha256 = "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd"; }; }; XMLParser = buildPerlPackage { - name = "XML-Parser-2.36"; + name = "XML-Parser-2.41"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz; - sha256 = "0gyp5qfbflhkin1zv8l6wlkjwfjvsf45a3py4vc6ni82fj32kmcz"; + url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.41.tar.gz; + sha256 = "1sadi505g5qmxr36lgcbrcrqh3a5gcdg32b405gnr8k54b6rg0dl"; }; makeMakerFlags = "EXPATLIBPATH=${pkgs.expat}/lib EXPATINCPATH=${pkgs.expat}/include"; }; @@ -9269,10 +9534,10 @@ let self = _self // overrides; _self = with self; { }; XMLRegExp = buildPerlPackage { - name = "XML-RegExp-0.03"; + name = "XML-RegExp-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.03.tar.gz; - sha256 = "1gkarylvdk3mddmchcwvzq09gpvx5z26nybp38dg7mjixm5bs226"; + url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz; + sha256 = "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz"; }; }; @@ -9299,10 +9564,10 @@ let self = _self // overrides; _self = with self; { }; XMLSimple = buildPerlPackage { - name = "XML-Simple-2.18"; + name = "XML-Simple-2.20"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.18.tar.gz; - sha256 = "09k8fvc9m5nd5rqq00rwm3m0wx7iwd6vx0vc947y58ydi30nfjd5"; + url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz; + sha256 = "0jj3jiray1l4pi9wkjcpxjc3v431whdwx5aqnhgdm4i7h3817zsw"; }; propagatedBuildInputs = [XMLParser]; }; @@ -9318,18 +9583,18 @@ let self = _self // overrides; _self = with self; { }; XMLWriter = buildPerlPackage rec { - name = "XML-Writer-0.612"; + name = "XML-Writer-0.624"; src = fetchurl { url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz"; - sha256 = "1prvgbjxynxg6061qxzfbbimjvil04513hf3hsilv0hdg58nb9jk"; + sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46"; }; }; YAML = buildPerlPackage { - name = "YAML-0.84"; + name = "YAML-0.90"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSTROUT/YAML-0.84.tar.gz; - sha256 = "03349n2z32gwjqiq7l3g57avvphl2rw3lmwc8i5cl9hmfw51yd8a"; + url = mirror://cpan/authors/id/I/IN/INGY/YAML-0.90.tar.gz; + sha256 = "0kfsmhv1lmqw2g1038azpxkfb91valwkh4i4gfjvqrj2wsr2hzhq"; }; meta = { homepage = https://github.com/ingydotnet/yaml-pm/tree; @@ -9339,10 +9604,10 @@ let self = _self // overrides; _self = with self; { }; YAMLSyck = buildPerlPackage { - name = "YAML-Syck-1.22"; + name = "YAML-Syck-1.27"; src = fetchurl { - url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.22.tar.gz; - sha256 = "0n3k71i0b8mhdrl5kp1cwyvjbkqahyqkhp81wl3qnkfhyi39f55y"; + url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.27.tar.gz; + sha256 = "1y9dw18fz3s8v4n80wf858cjq4jlaza25wvsgv60a6z2l0sfax6y"; }; meta = { homepage = http://search.cpan.org/dist/YAML-Syck; @@ -9360,10 +9625,10 @@ let self = _self // overrides; _self = with self; { }; YAMLLibYAML = buildPerlPackage rec { - name = "YAML-LibYAML-0.38"; + name = "YAML-LibYAML-0.41"; src = fetchurl { - url = "mirror://cpan/modules/by-module/YAML/${name}.tar.gz"; - sha256 = "eb98f304d14f6557b07adfa24da16e00cfa54a9d9484b6e898e35f919c5eb7ba"; + url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; + sha256 = "1kj506lpg3fhqq0726p6y2h7pk24l6xihfyhqqsf8gd6lckl8rcs"; }; }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix new file mode 100644 index 000000000000..654a071a182b --- /dev/null +++ b/pkgs/top-level/php-packages.nix @@ -0,0 +1,35 @@ +{ pkgs, php }: + +let self = with self; { + buildPecl = import ../build-support/build-pecl.nix { + inherit php; + inherit (pkgs) stdenv autoreconfHook; + }; + + memcache = buildPecl { + name = "memcache-3.0.8"; + + src = pkgs.fetchurl { + url = http://pecl.php.net/get/memcache-3.0.8.tgz; + sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic"; + }; + + configureFlags = "--with-zlib-dir=${pkgs.zlib}"; + }; + + memcached = buildPecl { + name = "memcached-2.1.0"; + + src = pkgs.fetchurl { + url = http://pecl.php.net/get/memcached-2.1.0.tgz; + sha256 = "1by4zhkq4mbk9ja6s0vlavv5ng8aw5apn3a1in84fkz7bc0l0jdw"; + }; + + configureFlags = [ + "--with-zlib-dir=${pkgs.zlib}" + "--with-libmemcached-dir=${pkgs.libmemcached}" + ]; + + buildInputs = [ pkgs.cyrus_sasl ]; + }; +}; in self diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix index e7308e2b8164..193928513cb4 100644 --- a/pkgs/top-level/python-packages-generated.nix +++ b/pkgs/top-level/python-packages-generated.nix @@ -5349,5 +5349,48 @@ in }; + "xlrd" = self."xlrd-0.9.2"; + + "xlrd-0.9.2" = self.buildPythonPackage { + name = "xlrd-0.9.2"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/x/xlrd/xlrd-0.9.2.tar.gz"; + md5 = "91a81ee76233e9f3115acaaa1b251b0e"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Library for developers to extract data from Microsoft Excel (tm) spreadsheet files + ''; + homepage = "http://www.python-excel.org/"; + license = "BSD"; + }; + }; + + + "suds" = self."suds-0.4"; + + "suds-0.4" = self.buildPythonPackage { + name = "suds-0.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/suds/suds-0.4.tar.gz"; + md5 = "b7502de662341ed7275b673e6bd73191"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Lightweight SOAP client + ''; + homepage = "https://fedorahosted.org/suds"; + license = "UNKNOWN"; + }; + }; + } diff --git a/pkgs/top-level/python-packages.json b/pkgs/top-level/python-packages.json index aefd911a5583..b8ddcee3a47f 100644 --- a/pkgs/top-level/python-packages.json +++ b/pkgs/top-level/python-packages.json @@ -134,6 +134,11 @@ { "name": "psycopg2", "buildInputs": [ "pkgs.postgresql" ], "doCheck": false + }, + { "name": "xlrd", + "doCheck": false + }, + { "name": "suds", + "doCheck": false } - ] diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 18d323111739..ce019a8464e4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1,43 +1,53 @@ -{ pkgs, python, lowPrio }: +{ pkgs, python }: + with pkgs.lib; let -isPy26 = python.majorVersion == "2.6"; -isPy27 = python.majorVersion == "2.7"; -optional = pkgs.lib.optional; -optionals = pkgs.lib.optionals; -modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; }; + isPy26 = python.majorVersion == "2.6"; + isPy27 = python.majorVersion == "2.7"; + isPy33 = python.majorVersion == "3.3"; + isPy34 = python.majorVersion == "3.4"; + isPyPy = python.executable == "pypy"; + + # Unique python version identifier + pythonName = + if isPy26 then "python26" else + if isPy27 then "python27" else + if isPy33 then "python33" else + if isPy34 then "python34" else + if isPyPy then "pypy" else ""; + + modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; }; pythonPackages = modules // import ./python-packages-generated.nix { inherit pkgs python; inherit (pkgs) stdenv fetchurl; self = pythonPackages; -} // rec { +} // - inherit python; - inherit (pkgs) fetchurl fetchsvn fetchgit stdenv; +# Python packages for all python versions +rec { + + inherit python isPy26 isPy27 isPy33 isPy34 isPyPy pythonName; + inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip; # helpers - callPackage = pkgs.lib.callPackageWith (pkgs // pythonPackages); + callPackage = callPackageWith (pkgs // pythonPackages); - buildPythonPackage = import ../development/python-modules/generic { - inherit (pkgs) lib; - inherit python wrapPython setuptools recursivePthLoader offlineDistutils; - }; + # global distutils config used by buildPythonPackage + distutils-cfg = callPackage ../development/python-modules/distutils-cfg { }; + + buildPythonPackage = callPackage ../development/python-modules/generic { }; wrapPython = pkgs.makeSetupHook { deps = pkgs.makeWrapper; substitutions.libPrefix = python.libPrefix; + substitutions.executable = "${python}/bin/${python.executable}"; } ../development/python-modules/generic/wrap.sh; # specials - offlineDistutils = import ../development/python-modules/offline-distutils { - inherit (pkgs) stdenv; - inherit python; - }; - recursivePthLoader = import ../development/python-modules/recursive-pth-loader { inherit (pkgs) stdenv; inherit python; @@ -45,12 +55,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { setuptools = import ../development/python-modules/setuptools { inherit (pkgs) stdenv fetchurl; - inherit python wrapPython; - }; - - setuptoolsSite = import ../development/python-modules/setuptools/site.nix { - inherit (pkgs) stdenv; - inherit python setuptools; + inherit python wrapPython distutils-cfg; }; # packages defined elsewhere @@ -65,6 +70,9 @@ pythonPackages = modules // import ./python-packages-generated.nix { ipython = import ../shells/ipython { inherit (pkgs) stdenv fetchurl sip pyqt4; inherit buildPythonPackage pythonPackages; + qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin + pylabQtSupport = !pkgs.stdenv.isDarwin; + pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin }; ipythonLight = lowPrio (import ../shells/ipython { @@ -262,7 +270,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [ pkgs.which - pkgs.unzip pythonPackages.coverage pythonPackages.mock pythonPackages.tissue @@ -294,10 +301,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { ]; postInstall = '' - ln -s ${pyramid}/bin/pserve $out/bin ln -s ${pkgs.bacula}/bin/bconsole $out/bin - wrapProgram "$out/bin/pserve" \ - --suffix PYTHONPATH : "$out/lib/python2.7/site-packages" ''; meta = { @@ -385,7 +389,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b"; }; - buildInputs = [ pkgs.unzip pkgs.sqlite ]; + buildInputs = [ pkgs.sqlite ]; # python: double free or corruption (fasttop): 0x0000000002fd4660 *** doCheck = false; @@ -414,6 +418,19 @@ pythonPackages = modules // import ./python-packages-generated.nix { }); + async = buildPythonPackage rec { + name = "async-0.6.1"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + buildInputs = [ pkgs.zlib ]; + doCheck = false; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/async/${name}.tar.gz"; + sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1"; + }; + }; + argparse = buildPythonPackage (rec { name = "argparse-1.2.1"; @@ -422,8 +439,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx"; }; - buildInputs = [ pkgs.unzip ]; - # error: invalid command 'test' doCheck = false; @@ -445,6 +460,60 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); + autopep8 = buildPythonPackage (rec { + name = "autopep8-1.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz"; + md5 = "41782e66efcbaf9d761bb45a2d2929bb"; + }; + + propagatedBuildInputs = [ pep8 ]; + + # One test fails: + # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests) + doCheck = false; + + meta = with stdenv.lib; { + description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"; + homepage = https://pypi.python.org/pypi/autopep8/; + license = licenses.mit; + platforms = platforms.all; + maintainers = [ maintainers.bjornfor ]; + }; + }); + + backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec { + name = "backports.ssl_match_hostname-3.4.0.2"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.4.0.2.tar.gz"; + md5 = "788214f20214c64631f0859dc79f23c6"; + }; + + meta = { + description = "The Secure Sockets layer is only actually *secure*"; + homepage = http://bitbucket.org/brandon/backports.ssl_match_hostname; + }; + }; + + bcdoc = buildPythonPackage rec { + name = "bcdoc-0.12.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.12.1.tar.gz"; + md5 = "7c8617347c294ea4d36ec73fb5b2c26e"; + }; + + buildInputs = [ pythonPackages.docutils pythonPackages.six ]; + + meta = { + homepage = https://github.com/botocore/bcdoc; + license = "Apache License 2.0"; + description = "ReST document generation tools for botocore"; + }; + }; + beautifulsoup = buildPythonPackage (rec { name = "beautifulsoup-3.2.1"; @@ -512,6 +581,34 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; + bedup = buildPythonPackage rec { + name = "bedup-20140206"; + + src = fetchgit { + url = "https://github.com/g2p/bedup.git"; + rev = "80cb217d4819a03e159e42850a9a3f14e2b278a3"; + sha256 = "1rik7a62v708ivfcy0pawhfnrb84b7gm3qr54x6jsxl0iqz078h6"; + }; + + buildInputs = [ pkgs.btrfsProgs ]; + propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy pyxdg pycparser cffi alembic ]; + + meta = { + description = "Deduplication for Btrfs"; + longDescription = '' + Deduplication for Btrfs. bedup looks for new and changed files, making sure that multiple + copies of identical files share space on disk. It integrates deeply with btrfs so that scans + are incremental and low-impact. + ''; + homepage = https://github.com/g2p/bedup; + license = stdenv.lib.licenses.gpl2; + + platforms = stdenv.lib.platforms.linux; + + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + }; + }; + beets = buildPythonPackage rec { name = "beets-1.0.0"; @@ -521,7 +618,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; # tests depend on $HOME setting - configurePhase = "export HOME=$TMPDIR"; + preConfigure = "export HOME=$TMPDIR"; propagatedBuildInputs = [ pythonPackages.pyyaml @@ -536,7 +633,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://beets.radbox.org; description = "Music tagger and library organizer"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -557,7 +654,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://github.com/Sheeprider/BitBucket-api; description = "Python library to interact with BitBucket REST API"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -570,8 +667,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p"; }; - buildInputs = [ pkgs.unzip ]; - # error: invalid command 'test' doCheck = false; @@ -688,12 +783,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { botocore = buildPythonPackage rec { - version = "0.13.1"; + version = "0.33.0"; name = "botocore-${version}"; src = fetchurl { url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz"; - sha256 = "192kxgw76b22zmk5mxjkij5rskibb9jfaggvpznzy3ggsgja7yy8"; + md5 = "6743c73a2e148abaa9c487a6e2ee53a3"; }; propagatedBuildInputs = @@ -751,7 +846,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -766,7 +861,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -787,11 +882,22 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://www.buildout.org"; description = "A software build and configuration system"; - license = pkgs.lib.licenses.zpt21; + license = licenses.zpt21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; + bunch = buildPythonPackage (rec { + name = "bunch-1.0.1"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/b/bunch/${name}.tar.gz"; + sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish"; + }; + doCheck = false; + }); + carrot = buildPythonPackage rec { name = "carrot-0.10.7"; @@ -954,7 +1060,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Simple, lightweight, and easily extensible STOMP message broker"; homepage = http://code.google.com/p/coilmq/; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }); @@ -996,7 +1102,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Autogenerate Colander schemas based on SQLAlchemy models."; homepage = https://github.com/stefanofontanelli/ColanderAlchemy; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -1015,7 +1121,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Config file reading, writing and validation."; homepage = http://pypi.python.org/pypi/configobj; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -1029,7 +1135,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz"; sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy"; }; - + propagatedBuildInputs = [ pyparsing modules.readline @@ -1064,6 +1170,15 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; + contextlib2 = buildPythonPackage rec { + name = "contextlib2-0.4.0"; + + src = fetchurl rec { + url = "https://pypi.python.org/packages/source/c/contextlib2/${name}.tar.gz"; + md5 = "ea687207db25f65552061db4a2c6727d"; + }; + }; + coverage = buildPythonPackage rec { name = "coverage-3.6"; @@ -1075,8 +1190,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Code coverage measurement for python"; homepage = http://nedbatchelder.com/code/coverage/; - license = pkgs.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.shlevy ]; + license = licenses.bsd3; }; }; @@ -1092,6 +1206,24 @@ pythonPackages = modules // import ./python-packages-generated.nix { propagatedBuildInputs = [ pythonPackages.coverage ]; }; + cython = buildPythonPackage rec { + name = "Cython-0.20.1"; + + src = fetchurl { + url = "http://www.cython.org/release/${name}.tar.gz"; + sha256 = "0v3nc9z5ynnnjdgcgkyy5g9wazmkjv53nnpjal1v3mr199s6799i"; + }; + + setupPyBuildFlags = ["--build-base=$out"]; + + buildInputs = [ pkgs.pkgconfig ]; + + meta = { + description = "An interpreter to help writing C extensions for Python 2"; + platforms = stdenv.lib.platforms.all; + }; + }; + cryptacular = buildPythonPackage rec { name = "cryptacular-1.4.1"; @@ -1198,21 +1330,33 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; pytest = buildPythonPackage rec { - name = "pytest-2.3.5"; + name = "pytest-2.5.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz"; - md5 = "18f150e7be96b5fe3c388b0e817b8087"; + md5 = "4e155a0134e6757b37cc6698c20f3e9f"; }; - propagatedBuildInputs = [ pythonPackages.py ] + preCheck = '' + # broken on python3, fixed in master, remove in next release + rm doc/en/plugins_index/test_plugins_index.py + + # don't test bash builtins + rm testing/test_argcomplete.py + + # yaml test are failing + rm doc/en/example/nonpython/test_simple.yml + ''; + + propagatedBuildInputs = [ py ] + ++ (optional isPy26 argparse) ++ stdenv.lib.optional pkgs.config.pythonPackages.pytest.selenium or false pythonPackages.selenium; meta = with stdenv.lib; { maintainers = with maintainers; [ iElectric lovek323 ]; - platforms = platforms.unix; + platforms = platforms.unix; }; }; @@ -1224,7 +1368,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "9c0b8efe9d43b460f8cf049fa46ce14d"; }; - buildInputs = [ pkgs.unzip pytest ]; + buildInputs = [ pytest ]; propagatedBuildInputs = [ execnet ]; meta = { @@ -1251,7 +1395,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp"; }; - buildInputs = [ pkgs.unzip pythonPackages.mock ]; + buildInputs = [ pythonPackages.mock ]; # couple of failing tests doCheck = false; @@ -1415,6 +1559,86 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + derpconf = pythonPackages.buildPythonPackage rec { + name = "derpconf-0.4.9"; + + propagatedBuildInputs = [ six ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/derpconf/${name}.tar.gz"; + md5 = "a164807d7bf0c4adf1de781305f29b82"; + }; + + meta = { + description = "derpconf abstracts loading configuration files for your app"; + homepage = https://github.com/globocom/derpconf; + license = licenses.mit; + }; + }; + + dpkt = buildPythonPackage rec { + name = "dpkt-1.8"; + + src = fetchurl { + url = "https://dpkt.googlecode.com/files/${name}.tar.gz"; + sha256 = "01q5prynymaqyfsfi2296xncicdpid2hs3yyasim8iigvkwy4vf5"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = with stdenv.lib; { + description = "Fast, simple packet creation / parsing, with definitions for the basic TCP/IP protocols"; + homepage = https://code.google.com/p/dpkt/; + license = licenses.bsd3; + maintainers = [ maintainers.bjornfor ]; + platforms = stdenv.lib.platforms.all; + }; + }; + + urllib3 = buildPythonPackage rec { + name = "urllib3-1.8"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz"; + sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s"; + }; + + preConfigure = '' + substituteInPlace test-requirements.txt --replace 'nose==1.3' 'nose' + ''; + + checkPhase = '' + nosetests --cover-min-percentage 70 + ''; + + buildInputs = [ coverage tornado mock nose ]; + + meta = with stdenv.lib; { + description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; + homepage = https://www.dropbox.com/developers/core/docs; + license = licenses.mit; + }; + }; + + + dropbox = buildPythonPackage rec { + name = "dropbox-2.0.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip"; + sha256 = "1bi2z1lql6ryylfflmizhqn98ab55777vn7n5krhqz40pdcjilkx"; + }; + + propagatedBuildInputs = [ urllib3 mock setuptools ]; + + meta = with stdenv.lib; { + description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; + homepage = https://www.dropbox.com/developers/core/docs; + license = licenses.mit; + }; + }; + evdev = buildPythonPackage rec { version = "0.3.2"; @@ -1483,8 +1707,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "be885ccd9612966bb81839670d2da099"; }; - buildInputs = [ pkgs.unzip ]; - meta = { description = "rapid multi-Python deployment"; license = stdenv.lib.licenses.gpl2; @@ -1532,6 +1754,35 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [ fudge nose ]; }; + fedora_cert = stdenv.mkDerivation (rec { + name = "fedora-cert-0.5.9.2"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2"; + sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9"; + }; + + propagatedBuildInputs = [ python python_fedora wrapPython ]; + postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg"; + doCheck = false; + + postFixup = "wrapPythonPrograms"; + }); + + fedpkg = buildPythonPackage (rec { + name = "fedpkg-1.14"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://fedorahosted.org/releases/f/e/fedpkg/fedpkg-1.14.tar.bz2"; + sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02"; + }; + + patches = [ ../development/python-modules/fedpkg-buildfix.diff ]; + propagatedBuildInputs = [ rpkg offtrac urlgrabber fedora_cert ]; + }); + fudge = buildPythonPackage rec { name = "fudge-0.9.4"; src = fetchurl { @@ -1559,6 +1810,31 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + gitdb = buildPythonPackage rec { + name = "gitdb-0.5.4"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + doCheck = false; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/g/gitdb/${name}.tar.gz"; + sha256 = "10rpmmlln59aq44cd5vkb77hslak5pa1rbmigg6ski5f1nn2spfy"; + }; + + propagatedBuildInputs = [ smmap async ]; + }; + + GitPython = buildPythonPackage rec { + name = "GitPython-0.3.2"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz"; + sha256 = "1q4lc2ps12l517mmrxc8iq6gxyhj6d77bnk1p7mxf38d99l8crzx"; + }; + + buildInputs = [ nose ]; + propagatedBuildInputs = [ gitdb ]; + }; googlecl = buildPythonPackage rec { version = "0.9.14"; @@ -1581,14 +1857,23 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; gtimelog = buildPythonPackage rec { - name = "gtimelog-0.8.1"; + name = "gtimelog-${version}"; + version = "0.8.1"; + src = fetchurl { - url = https://launchpad.net/gtimelog/devel/0.8.1/+download/gtimelog-0.8.1.tar.gz; - sha256 = "010sbw4rmslf5ifg9bgicn0f6mgsy76v8218xi0jndi9z6pva7y6"; + url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; + sha256 = "0nwpfv284b26q97mfpagqkqb4n2ilw46cx777qsyi3plnywk1xa0"; }; + propagatedBuildInputs = [ pygtk ]; + + checkPhase = '' + patchShebangs ./runtests + ./runtests + ''; + meta = with stdenv.lib; { - description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible."; + description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible"; homepage = http://mg.pov.lt/gtimelog/; license = licenses.gpl2Plus; maintainers = [ maintainers.ocharles ]; @@ -1596,12 +1881,30 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + # TODO: this shouldn't use a buildPythonPackage + koji = buildPythonPackage (rec { + name = "koji-1.8"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; + sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; + }; + + configurePhase = ":"; + buildPhase = ":"; + installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix"; + doCheck = false; + propagatedBuildInputs = [ pythonPackages.pycurl ]; + + }); + logilab_astng = buildPythonPackage rec { - name = "logilab-astng-0.24.1"; + name = "logilab-astng-0.24.3"; src = fetchurl { url = "http://download.logilab.org/pub/astng/${name}.tar.gz"; - sha256 = "00qxaxsax80sknwv25xl1r49lc4gbhkxs1kjywji4ad8y1npax0s"; + sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn"; }; propagatedBuildInputs = [ logilab_common ]; @@ -1609,12 +1912,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { paver = buildPythonPackage rec { - version = "1.2.1"; + version = "1.2.2"; name = "Paver-${version}"; src = fetchurl { url = "https://pypi.python.org/packages/source/P/Paver/Paver-${version}.tar.gz"; - sha256 = "1b1023jks1gi1rwphdy3y2zx7dh4bvwk2050kclp95j7xym1ya0y"; + sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy"; }; buildInputs = [ cogapp mock virtualenv ]; @@ -1650,6 +1953,23 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + pew = buildPythonPackage rec { + name = "pew-0.1.9"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pew/${name}.tar.gz"; + md5 = "90a82400074b50a9e73c3045ed9ac217"; + }; + + propagatedBuildInputs = [ virtualenv virtualenv-clone ]; + + meta = with stdenv.lib; { + description = "Tools to manage multiple virtualenvs written in pure python, a virtualenvwrapper rewrite"; + license = licenses.mit; + platforms = platforms.all; + }; + }; + pudb = buildPythonPackage rec { name = "pudb-2013.3.6"; @@ -1725,6 +2045,27 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; + pyramid_chameleon = buildPythonPackage rec { + name = "pyramid_chameleon-0.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyramid_chameleon/${name}.tar.gz"; + md5 = "39b1327a9890f382200bbfde943833d7"; + }; + + propagatedBuildInputs = [ + chameleon + pyramid + zope_interface + setuptools + ]; + + meta = with stdenv.lib; { + maintainers = [ maintainers.iElectric ]; + }; + }; + + pyramid_jinja2 = buildPythonPackage rec { name = "pyramid_jinja2-1.9"; @@ -1733,7 +2074,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "a6728117cad24749ddb39d2827cd9033"; }; - buildInputs = [ pkgs.unzip webtest ]; + buildInputs = [ webtest ]; propagatedBuildInputs = [ jinja2 pyramid ]; meta = { @@ -1851,7 +2192,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz"; md5 = "3a67683c578754cd8f23317db6d28ffd"; }; - + buildInputs = [ zope_interface zodb3 ]; meta = { @@ -1867,8 +2208,8 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.zip"; md5 = "36aa2c96dec4cfeea57f54da2b733eb9"; }; - - buildInputs = [ pkgs.unzip zope_interface zope_location zope_schema ]; + + buildInputs = [ zope_interface zope_location zope_schema ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1883,7 +2224,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/s/statsd/${name}.tar.gz"; md5 = "476ef5b9004f6e2cb25c7da440bb53d0"; }; - + buildInputs = [ ]; meta = { @@ -1899,7 +2240,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz"; md5 = "22e88cc82cafbbe00274e7378434e5fe"; }; - + buildInputs = [ pyramid mock ]; propagatedBuildInputs = [ zodb3 zodburi ]; @@ -1916,7 +2257,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/p/pyramid_mailer/${name}.tar.gz"; md5 = "43800c7c894097a23140da58e3638c93"; }; - + buildInputs = [ pyramid transaction ]; propagatedBuildInputs = [ repoze_sendmail ]; @@ -1933,7 +2274,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/r/repoze.sendmail/${name}.tar.gz"; md5 = "81d15f1f03cc67d6f56f2091c594ef57"; }; - + buildInputs = [ transaction ]; meta = { @@ -1949,7 +2290,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz"; md5 = "52cc13c32ffe4ee7b5f5abc79f70f3c2"; }; - + buildInputs = [ zodb3 mock ]; meta = { @@ -2042,6 +2383,10 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6"; }; + preConfigure = '' + sed -i "/use_setuptools/d" setup.py + ''; + buildInputs = [ pkgs.alsaLib pkgs.jackaudio ]; meta = with stdenv.lib; { @@ -2141,7 +2486,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; propagatedBuildInputs = with pkgs; [ - pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl + pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl modules.curses ]; postInstall = '' @@ -2195,7 +2540,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; django = django_1_6; - + django_1_6 = buildPythonPackage rec { name = "Django-${version}"; version = "1.6"; @@ -2323,17 +2668,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { dulwich = buildPythonPackage rec { - name = "dulwich-0.8.1"; + name = "dulwich-0.8.7"; src = fetchurl { url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz"; - sha256 = "1a1619e9c7e63fe9bdc93356ee893be1016b7ea12ad953f4e1f1f5c0c5056ee8"; + sha256 = "041qp5v2x8fbwkmws6hwwiny74lavkz723dj8gwbm40b2383d8vv"; }; buildPhase = "make build"; - installCommand = '' - ${python}/bin/${python.executable} setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed - ''; # For some reason "python setup.py test" doesn't work with Python 2.6. # pretty sure that is about import behaviour. @@ -2544,7 +2886,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "code checking using pep8 and pyflakes."; homepage = http://pypi.python.org/pypi/flake8; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -2774,7 +3116,32 @@ pythonPackages = modules // import ./python-packages-generated.nix { maintainers = [ maintainers.bjornfor ]; }; }; + + + gevent-socketio = buildPythonPackage rec { + name = "gevent-socketio-0.3.6"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz"; + sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak"; + }; + + buildInputs = [ versiontools gevent-websocket mock pytest ]; + propagatedBuildInputs = [ gevent ]; + + }; + + gevent-websocket = buildPythonPackage rec { + name = "gevent-websocket-0.9.3"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz"; + sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4"; + }; + + propagatedBuildInputs = [ gevent ]; + + }; genzshcomp = buildPythonPackage { name = "genzshcomp-0.5.1"; @@ -2836,7 +3203,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { src = fetchurl { url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz"; - sha256 = "0g2yg9qf7qgjwv13x0rx51rzhn99pcmjpb3vk0g3gmmdsqyqi0d6"; + sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0"; }; buildInputs = [ pkgs.hddtemp ]; @@ -2850,7 +3217,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { ''; meta = { - version = "1.7.1"; + version = "1.7.4"; homepage = "http://nicolargo.github.io/glances/"; description = "Cross-platform curses-based monitoring tool"; }; @@ -2879,6 +3246,24 @@ pythonPackages = modules // import ./python-packages-generated.nix { propagatedBuildInputs = [ gdata hcs_utils keyring simplejson ]; }; + google_api_python_client = buildPythonPackage rec { + name = "google-api-python-client-1.2"; + + src = fetchurl { + url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz"; + sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw"; + }; + + propagatedBuildInputs = [ httplib2 ]; + + meta = with stdenv.lib; { + description = "The core Python library for accessing Google APIs"; + homepage = "https://code.google.com/p/google-api-python-client/"; + license = licenses.asl20; + platforms = platforms.unix; + }; + }; + greenlet = buildPythonPackage rec { name = "greenlet-0.3.1"; @@ -2916,6 +3301,22 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + gunicorn = buildPythonPackage rec { + name = "gunicorn-18.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz"; + md5 = "c7138b9ac7515a42066922d2b6120fbe"; + }; + + buildInputs = [ pytest ]; + + meta = { + homepage = http://pypi.python.org/pypi/gunicorn; + description = "WSGI HTTP Server for UNIX"; + }; + }; + hcs_utils = buildPythonPackage rec { name = "hcs_utils-1.3"; @@ -2936,12 +3337,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { hetzner = buildPythonPackage rec { name = "hetzner-${version}"; - version = "0.6.0"; + version = "0.7.0"; src = fetchurl { url = "https://github.com/RedMoonStudios/hetzner/archive/" + "v${version}.tar.gz"; - sha256 = "1cgi77f453ahw3ad6hvqwbyp6fwnh90rlzfgl9cp79wg58wyar4w"; + sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src"; }; # not there yet, but coming soon. @@ -3022,7 +3423,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://code.google.com/p/httplib2; description = "A comprehensive HTTP client library"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -3084,7 +3485,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Google's IP address manipulation library"; homepage = http://code.google.com/p/ipaddr-py/; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -3094,7 +3495,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz"; md5 = "d879f9b2b0f26e0e999809585dcaec61"; }; - propagatedBuildInputs = [ pythonPackages.ipython ]; + propagatedBuildInputs = [ pythonPackages.ipythonLight ]; }; ipdbplugin = buildPythonPackage { @@ -3103,7 +3504,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz"; md5 = "f9a41512e5d901ea0fa199c3f648bba7"; }; - propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipython ]; + propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ]; }; @@ -3118,7 +3519,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/davidhalter/jedi"; description = "An autocompletion tool for Python that can be used for text editors."; - license = pkgs.lib.licenses.lgpl3Plus; + license = licenses.lgpl3Plus; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -3147,11 +3548,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { jmespath = buildPythonPackage rec { - name = "jmespath-0.0.2"; + name = "jmespath-0.2.1"; src = fetchurl { - url = "https://github.com/boto/jmespath/archive/0.0.2.tar.gz"; - sha256 = "0wr1gq3gdyn3n21pvj62csdm095512zxd10gkg5ai1vvxh0mbn3r"; + url = "https://pypi.python.org/packages/source/j/jmespath/jmespath-0.2.1.tar.gz"; + md5 = "7800775aa12c6303f9ad597b6a8fa03c"; }; propagatedBuildInputs = [ ply ]; @@ -3180,9 +3581,19 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; buildInputs = - [ pkgs.unzip fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; + [ fs gdata python_keyczar mock pyasn1 pycrypto pytest ]; }; + kitchen = buildPythonPackage (rec { + name = "kitchen-1.1.1"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/k/kitchen/kitchen-1.1.1.tar.gz"; + sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5"; + }; + }); + pylast = buildPythonPackage rec { name = "pylast-${version}"; version = "0.5.11"; @@ -3198,7 +3609,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://code.google.com/p/pylast/; description = "A python interface to last.fm (and compatibles)"; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -3266,11 +3677,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; logilab_common = buildPythonPackage rec { - name = "logilab-common-0.58.2"; + name = "logilab-common-0.61.0"; src = fetchurl { url = "http://download.logilab.org/pub/common/${name}.tar.gz"; - sha256 = "0qfdyj2is0scpnkgpnqm12lh4yl27617l0irlilhk25cpgbbfbf9"; + sha256 = "09apsrcvjliawbxmfrmi1l8hlbaj87mb7n4lrlivy5maxs6yg4hd"; }; propagatedBuildInputs = [ unittest2 ]; @@ -3285,9 +3696,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; propagatedBuildInputs = [ ]; doCheck = false; - installCommand = '' - easy_install --always-unzip --no-deps --prefix="$out" . - ''; meta = { description = "Pythonic binding for the libxml2 and libxslt libraries"; @@ -3339,21 +3747,15 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; - magic = pkgs.stdenv.mkDerivation rec { - name = "python-${pkgs.file.name}"; + magic = buildPythonPackage rec { + name = "${pkgs.file.name}"; src = pkgs.file.src; patches = [ ../tools/misc/file/python.patch ]; buildInputs = [ python pkgs.file ]; - configurePhase = "cd python"; - - buildPhase = "${python}/bin/${python.executable} setup.py build"; - - installPhase = '' - ${python}/bin/${python.executable} setup.py install --prefix=$out - ''; + preConfigure = "cd python"; meta = { description = "A Python wrapper around libmagic"; @@ -3373,7 +3775,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [ pkgs.swig pkgs.openssl ]; - buildPhase = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}"; + preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}"; doCheck = false; # another test that depends on the network. @@ -3492,7 +3894,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "McCabe checker, plugin for flake8"; homepage = "https://github.com/flintwork/mccabe"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); @@ -3595,7 +3997,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { version = "0.9"; description = ''Man-in-the-middle proxy''; homepage = "http://mitmproxy.org/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -3660,14 +4062,18 @@ pythonPackages = modules // import ./python-packages-generated.nix { mrbob = buildPythonPackage rec { name = "mrbob-${version}"; - version = "0.1a9"; + version = "0.1.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip"; - md5 = "2d27d9bd1fc6269a3ecfd1a1ae47cd8a"; + md5 = "84a117c9a75b86842b0fa5f5c9c767f3"; }; - buildInputs = [ pkgs.unzip ]; + # some files in tests dir include unicode names + preBuild = '' + export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + export LC_ALL="en_US.UTF-8" + ''; propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++ (optionals isPy26 [ importlib ordereddict ]); @@ -3693,7 +4099,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://bmc.github.com/munkres/; description = "Munkres algorithm for the Assignment Problem"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -3710,7 +4116,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://alastair/python-musicbrainz-ngs; description = "Python bindings for musicbrainz NGS webservice"; - license = pkgs.lib.licenses.bsd2; + license = licenses.bsd2; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -3879,7 +4285,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { version = "0.9"; description = ''Man-in-the-middle proxy''; homepage = "https://github.com/cortesi/netlib"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -3925,12 +4331,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { }); nose = buildPythonPackage rec { - version = "1.3.0"; + version = "1.3.1"; name = "nose-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - sha256 = "0q2j9zz39h3liwbp6lb94kl3sxb9z9rbwh5dzyccyxfy4lrwqqsf"; + sha256 = "1fmn5b7v183ym793ghrbh76b27aww9qv0lhl7dz31f9xmf3kn9w5"; }; buildInputs = [ coverage ]; @@ -3939,7 +4345,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { checkPhase = if python.is_py3k or false then '' ${python}/bin/${python.executable} setup.py build_tests '' else "" + '' - rm functional_tests/test_multiprocessing/test_concurrent_shared.py # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062 + rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062 ${python}/bin/${python.executable} selftest.py ''; @@ -3957,7 +4363,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5"; }; - buildInputs = [ pkgs.unzip ]; propagatedBuildInputs = [ nose ]; meta = { @@ -4025,7 +4430,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx"; }; - patches = pkgs.lib.singleton (fetchurl { + patches = singleton (fetchurl { name = "libnotify07.patch"; url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/" + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c"; @@ -4047,19 +4452,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); - notmuch = pkgs.stdenv.mkDerivation rec { + notmuch = buildPythonPackage rec { name = "python-${pkgs.notmuch.name}"; src = pkgs.notmuch.src; + sourceRoot = "${pkgs.notmuch.name}/bindings/python"; + buildInputs = [ python pkgs.notmuch ]; - #propagatedBuildInputs = [ python pkgs.notmuch ]; - - configurePhase = "cd bindings/python"; - - buildPhase = "python setup.py build"; - - installPhase = "python setup.py install --prefix=$out"; meta = { description = "A Python wrapper around notmuch"; @@ -4078,15 +4478,15 @@ pythonPackages = modules // import ./python-packages-generated.nix { preConfigure = '' sed -i 's/-faltivec//' numpy/distutils/system_info.py + sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py ''; - # TODO: add ATLAS=${pkgs.atlas} - installCommand = '' + preBuild = '' export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack} - ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95" - ${python}/bin/${python.executable} setup.py install --prefix=$out ''; + setupPyBuildFlags = ["--fcompiler='gnu95'"]; + # error: invalid command 'test' doCheck = false; @@ -4143,7 +4543,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/simplegeo/python-oauth2"; description = "library for OAuth version 1.0"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; @@ -4185,6 +4585,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); + offtrac = buildPythonPackage rec { + name = "offtrac-0.1.0"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/o/offtrac/${name}.tar.gz"; + sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56"; + }; + doCheck = false; + }; + # optfunc = buildPythonPackage ( rec { # name = "optfunc-git"; # @@ -4249,6 +4660,23 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); + osc = buildPythonPackage (rec { + name = "osc-0.133+git"; + + src = fetchgit { + url = git://gitorious.org/opensuse/osc.git; + rev = "6cd541967ee2fca0b89e81470f18b97a3ffc23ce"; + sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6"; + }; + + buildPhase = "python setup.py build"; + doCheck = false; + postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc"; + + propagatedBuildInputs = [ pythonPackages.m2crypto ]; + + }); + pandas = buildPythonPackage rec { name = "pandas-0.12.0"; @@ -4273,11 +4701,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; paramiko = buildPythonPackage rec { - name = "paramiko-1.12.0"; + name = "paramiko-1.12.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz"; - md5 = "4187f77b1a5a313c899993930e30c321"; + md5 = "ae4544dc0a1419b141342af89fcf0dd9"; }; propagatedBuildInputs = [ pycrypto ecdsa ]; @@ -4337,6 +4765,22 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + paypalrestsdk = buildPythonPackage rec { + name = "paypalrestsdk-0.7.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/paypalrestsdk/${name}.tar.gz"; + sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6"; + }; + + propagatedBuildInputs = [ httplib2 ]; + + meta = { + homepage = https://developer.paypal.com/; + description = "Python APIs to create, process and manage payment"; + license = "PayPal SDK License"; + }; + }; pep8 = buildPythonPackage rec { name = "pep8-${version}"; @@ -4364,7 +4808,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "http://pep8.readthedocs.org/"; description = "Python style guide checker"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -4413,8 +4857,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0kdc4rg47k1qkq22inghd50xlxjdkfcilym8mxff8wy4h091xykw"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ pytz ]; meta = { @@ -4427,16 +4869,13 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; pip = buildPythonPackage rec { - version = "1.4.1"; + version = "1.5"; name = "pip-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz"; - sha256 = "0knhj3c1nqqzxgqin8l0gzy6nzsbcxinyr0cbp1j99hi8xahcyjf"; + sha256 = "0j700f70mj0brdlvs2cz4a7h4jwmzgymgp8qk1qb3lsm1qd1vy15"; }; - buildInputs = [ mock scripttest virtualenv nose ]; - # ValueError: Working directory tests not found, or not a directory - # see https://github.com/pypa/pip/issues/92 - doCheck = false; + buildInputs = [ mock scripttest virtualenv pytest ]; }; @@ -4453,17 +4892,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { pillow = buildPythonPackage rec { - name = "Pillow-2.2.1"; + name = "Pillow-2.3.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip"; - md5 = "d1d20d3db5d1ab312da0951ff061e6bf"; + md5 = "56b6614499aacb7d6b5983c4914daea7"; }; - buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ]; + buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp ]; # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp. - configurePhase = '' + preConfigure = '' sed -i "setup.py" \ -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ; s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ; @@ -4472,7 +4911,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;' ''; - doCheck = true; + meta = { homepage = http://python-imaging.github.com/Pillow; @@ -4519,7 +4958,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A library to manipulate gettext files (po and mo files)"; homepage = "http://bitbucket.org/izi/polib/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -4583,10 +5022,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { protobuf = buildPythonPackage rec { inherit (pkgs.protobuf) name src; - buildPhase = '' - python setup.py build - ''; - propagatedBuildInputs = [pkgs.protobuf]; sourceRoot = "${name}/python"; @@ -4616,14 +5051,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { psycopg2 = buildPythonPackage rec { - name = "psycopg2-2.5.1"; + name = "psycopg2-2.5.2"; # error: invalid command 'test' doCheck = false; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz"; - sha256 = "1v7glzzzykbaqj7dhpr0qds9cf4maxmn7f5aazpqnbg0ly40r9v5"; + url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz"; + sha256 = "0bmxlmi9k995n6pz16awjaap0y02y1v2d31jbxhkqv510f3jsf2h"; }; propagatedBuildInputs = [ pkgs.postgresql ]; @@ -4647,17 +5082,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Allows to get the public suffix of a domain name"; homepage = "http://pypi.python.org/pypi/publicsuffix/"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; py = buildPythonPackage rec { - name = "py-1.4.19"; + name = "py-1.4.20"; src = fetchurl { url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz"; - md5 = "3857dc8309d5f284669b81184253c2bb"; + md5 = "5f1708be5482f3ff6711dfd6cafd45e0"; }; }; @@ -4733,14 +5168,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { Babel = buildPythonPackage (rec { - name = "Babel-0.9.6"; + name = "Babel-1.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz"; - sha256 = "4a3a085ecf1fcd2736573538ffa114f1f4331b3bbbdd69381e6e172c49c9750f"; + sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"; }; - buildInputs = [ pytz ]; + propagatedBuildInputs = [ pytz ]; meta = { homepage = http://babel.edgewall.org; @@ -4900,7 +5335,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://launchpad.net/pyflakes"; description = "A simple program which checks Python source files for errors."; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -4915,7 +5350,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { patchPhase = let libs = [ pkgs.mesa pkgs.xlibs.libX11 pkgs.freetype pkgs.fontconfig ]; - paths = pkgs.lib.concatStringsSep "," (map (l: "\"${l}/lib\"") libs); + paths = concatStringsSep "," (map (l: "\"${l}/lib\"") libs); in "sed -i -e 's|directories\.extend.*lib[^]]*|&,${paths}|' pyglet/lib.py"; doCheck = false; @@ -4960,7 +5395,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://launchpad.net/pygpgme"; description = "A Python wrapper for the GPGME library."; - license = pkgs.lib.licenses.lgpl21; + license = licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -4985,7 +5420,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://github.com/seb-m/pyinotify/wiki; description = "Monitor filesystems events on Linux platforms with inotify"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -5008,13 +5443,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { propagatedBuildInputs = [ urlgrabber ]; checkPhase = '' + export PYTHONPATH="$PYTHONPATH:." ${python}/bin/${python.executable} tests/baseclass.py -vv ''; meta = { homepage = "http://fedoraproject.org/wiki/Pykickstart"; description = "Read and write Fedora kickstart files"; - license = pkgs.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; }; }; @@ -5027,7 +5463,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq"; }; - buildInputs = [ pkgs.unzip pkgs.libiodbc ]; + buildInputs = [ pkgs.libiodbc ]; meta = with stdenv.lib; { description = "Python ODBC module to connect to almost any database"; @@ -5071,7 +5507,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sed -i -e ' s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path| ' tests/test__ped_ped.py - '' + pkgs.lib.optionalString stdenv.isi686 '' + '' + optionalString stdenv.isi686 '' # remove some integers in this test case which overflow on 32bit systems sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \ tests/test__ped_ped.py @@ -5086,7 +5522,8 @@ pythonPackages = modules // import ./python-packages-generated.nix { propagatedBuildInputs = [ pkgs.parted ]; checkPhase = '' - ${python}/bin/${python.executable} -m unittest discover -v + patchShebangs Makefile + make test PYTHON=${python.executable} ''; meta = { @@ -5127,6 +5564,18 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); + python_fedora = buildPythonPackage (rec { + name = "python-fedora-0.3.33"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://fedorahosted.org/releases/p/y/python-fedora/${name}.tar.gz"; + sha256 = "1g05bh7d5d0gzrlnhpnca7jpqbgs2rgnlzzbvzzxmdbmlkqi3mws"; + }; + propagatedBuildInputs = [ kitchen requests bunch paver ]; + doCheck = false; + }); + python_keyczar = buildPythonPackage rec { name = "python-keyczar-0.71c"; @@ -5267,18 +5716,25 @@ pythonPackages = modules // import ./python-packages-generated.nix { pyopengl = - let version = "3.0.0b5"; + let version = "3.0.2"; in buildPythonPackage { name = "pyopengl-${version}"; src = fetchurl { - url = "mirror://sourceforge/pyopengl/PyOpenGL-${version}.tar.gz"; - sha256 = "1rjpl2qdcqn4wamkik840mywdycd39q8dn3wqfaiv35jdsbifxx3"; + url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz"; + sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03"; }; propagatedBuildInputs = with pkgs; [ mesa freeglut pil ]; + patchPhase = '' + sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py + sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py + sed -i "s|'GLU',|'${pkgs.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py + sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py + ''; + meta = { homepage = http://pyopengl.sourceforge.net/; description = "PyOpenGL, the Python OpenGL bindings"; @@ -5328,11 +5784,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { pyserial = buildPythonPackage rec { - name = "pyserial-2.6"; + name = "pyserial-2.7"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz"; - md5 = "cde799970b7c1ce1f7d6e9ceebe64c98"; + sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477"; }; doCheck = false; @@ -5344,6 +5800,20 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + pysphere = buildPythonPackage rec { + name = "pysphere-0.1.8"; + + src = fetchurl { + url = "http://pysphere.googlecode.com/files/${name}.zip"; + md5 = "c57cba33626ac4b1e3d1974923d59232"; + }; + + meta = { + homepage = "https://code.google.com/p/pysphere/"; + license = "BSD"; + description = "Python API for interaction with the VMWare vSphere"; + }; + }; pysqlite = buildPythonPackage (rec { name = "pysqlite-2.6.3"; @@ -5413,7 +5883,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # There seems to be no way to pass that path to configure. NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1"; - configurePhase = '' + preConfigure = '' cd Source python setup.py backport python setup.py configure \ @@ -5445,11 +5915,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { pytz = buildPythonPackage rec { - name = "pytz-2012c"; + name = "pytz-2013.9"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2"; - md5 = "660e0cee7f6c419ca2665db460f65131"; + md5 = "ec7076947a46a8a3cb33cbf2983a562c"; }; meta = { @@ -5503,7 +5973,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; buildInputs = with pkgs; [ - pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkit_gtk2 icu + pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu ]; meta = { @@ -5535,14 +6005,14 @@ pythonPackages = modules // import ./python-packages-generated.nix { pyyaml = buildPythonPackage (rec { - name = "PyYAML-3.09"; + name = "PyYAML-3.10"; src = fetchurl { - url = "http://pyyaml.org/download/pyyaml/PyYAML-3.09.zip"; - sha256 = "204aca8b42dbe90e460794d743dd16182011da85507bfd4f092f9f76e0688040"; + url = "http://pyyaml.org/download/pyyaml/${name}.zip"; + sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa"; }; - buildInputs = [ pkgs.unzip pkgs.pyrex ]; + buildInputs = [ pkgs.pyrex ]; propagatedBuildInputs = [ pkgs.libyaml ]; meta = { @@ -5569,7 +6039,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { reportlab = - let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); + let freetype = overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); in buildPythonPackage rec { name = "reportlab-2.5"; @@ -5603,6 +6073,21 @@ pythonPackages = modules // import ./python-packages-generated.nix { homepage = http://docs.python-requests.org/en/latest/; }; }; + + + requests2 = buildPythonPackage rec { + name = "requests-2.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; + md5 = "ac27081135f58d1a43e4fb38258d6f4e"; + }; + + meta = { + description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.."; + homepage = http://docs.python-requests.org/en/latest/; + }; + }; requests_oauthlib = buildPythonPackage rec { @@ -5705,12 +6190,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { robotframework = buildPythonPackage rec { - version = "2.8.1"; + version = "2.8.4"; name = "robotframework-${version}"; src = fetchurl { - url = "https://robotframework.googlecode.com/files/${name}.tar.gz"; - sha256 = "04zwjri1j5py3fpbhy1xlc18bhbmdm2gbd58fwa2jnhmrha5dgnw"; + url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz"; + sha256 = "0rxk135c1051cwv45219ib3faqvi5rl50l98ncb83c7qxy92jg2n"; }; # error: invalid command 'test' @@ -5727,12 +6212,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { robotframework-selenium2library = buildPythonPackage rec { - version = "1.4.0"; + version = "1.5.0"; name = "robotframework-selenium2library-${version}"; src = fetchurl { url = "https://pypi.python.org/packages/source/r/robotframework-selenium2library/${name}.tar.gz"; - sha256 = "1rgzjxrciy74lp9mvdqxiixkma569mc0l0kizpi7lg1zkbr2k1q2"; + sha256 = "0hjmar9766jqfpbckac8zncyal546vm059wnkbn33f68djdcnwz1"; }; # error: invalid command 'test' @@ -5760,7 +6245,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # error: invalid command 'test' #doCheck = false; - buildInputs = [ unittest2 pkgs.unzip ]; + buildInputs = [ unittest2 ]; propagatedBuildInputs = [ robotframework lxml ]; meta = with stdenv.lib; { @@ -5772,23 +6257,16 @@ pythonPackages = modules // import ./python-packages-generated.nix { robotframework-ride = buildPythonPackage rec { - version = "1.2.2"; + version = "1.2.3"; name = "robotframework-ride-${version}"; src = fetchurl { url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; - sha256 = "1yfvl0hdjjkwk90w3f3i23dxxk3yiyv4pbvnp4l7yd6cmxsia8f3"; + sha256 = "1lf5f4x80f7d983bmkx12sxcizzii21kghs8kf63a1mj022a5x5j"; }; propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ]; - # Stop copying (read-only) permission bits from the nix store into $HOME, - # because that leads to this: - # IOError: [Errno 13] Permission denied: '/home/bfo/.robotframework/ride/settings.cfg' - postPatch = '' - sed -i "s|shutil\.copy(|shutil.copyfile(|" src/robotide/preferences/settings.py - ''; - # ride_postinstall.py checks that needed deps are installed and creates a # desktop shortcut. We don't really need it and it clutters up bin/ so # remove it. @@ -5882,6 +6360,41 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + rpkg = buildPythonPackage (rec { + name = "rpkg-1.14"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz"; + sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7"; + }; + + patches = [ ../development/python-modules/rpkg-buildfix.diff ]; + + # buildPhase = "python setup.py build"; + # doCheck = false; + propagatedBuildInputs = [ pycurl koji GitPython pkgs.git + pkgs.rpm pkgs.pyopenssl ]; + + }); + + rsa = buildPythonPackage rec { + name = "rsa-3.1.2"; + + src = fetchurl { + url = "https://bitbucket.org/sybren/python-rsa/get/version-3.1.2.tar.bz2"; + sha256 = "0ag2q4gaapi74x47q74xhcjzs4b7r2bb6zrj2an4sz5d3yd06cgf"; + }; + + buildInputs = [ pythonPackages.pyasn1 ]; + + meta = { + homepage = http://stuvel.eu/rsa; + license = "Apache License 2.0"; + description = "A pure-Python RSA implementation"; + }; + }; + rtslib_fb = buildPythonPackage rec { version = "2.1.fb43"; name = "rtslib-fb-${version}"; @@ -5936,16 +6449,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { buildInputs = [pkgs.gfortran]; propagatedBuildInputs = [ numpy ]; + # TODO: add ATLAS=${pkgs.atlas} + preConfigure = '' + export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack} + sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py + ''; + + setupPyBuildFlags = [ "--fcompiler='gnu95'" ]; + # error: invalid command 'test' doCheck = false; - # TODO: add ATLAS=${pkgs.atlas} - installCommand = '' - export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack} - ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95" - ${python}/bin/${python.executable} setup.py install --prefix=$out - ''; - meta = { description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering. "; homepage = http://www.scipy.org/; @@ -5954,15 +6468,15 @@ pythonPackages = modules // import ./python-packages-generated.nix { scripttest = buildPythonPackage rec { - version = "1.1.1"; + version = "1.3"; name = "scripttest-${version}"; src = fetchurl { - url = "http://pypi.python.org/packages/source/S/ScriptTest/ScriptTest-${version}.tar.gz"; - md5 = "592ce890764c3f546d35b4d7c40c32ef"; + url = "http://pypi.python.org/packages/source/s/scripttest/scripttest-${version}.tar.gz"; + md5 = "1d1c5117ccfc7b5961cae6c1020c0848"; }; - buildInputs = [ nose ]; + buildInputs = [ nose pytest ]; meta = { description = "A library for testing interactive command-line applications"; @@ -6076,7 +6590,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "93c93725674c0702583a638f5a09c9e4"; }; - propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh ]; + propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ]; meta = with stdenv.lib; { description = "Yet another simple static gallery generator"; @@ -6086,6 +6600,36 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + spambayes = buildPythonPackage rec { + name = "spambayes-1.1a6"; + + src = fetchurl { + url = "mirror://sourceforge/spambayes/${name}.tar.gz"; + sha256 = "0lqhn2v0avgwxmk4dq9lkwr2g39ls2p6x8hqk5w07wd462cjsx8l"; + }; + + propagatedBuildInputs = [ pydns lockfile ]; + + meta = with stdenv.lib; { + description = "Statistical anti-spam filter, initially based on the work of Paul Graham"; + homepage = http://spambayes.sourceforge.net/; + }; + }; + + pydns = buildPythonPackage rec { + name = "pydns-2.3.6"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz"; + sha256 = "0qnv7i9824nb5h9psj0rwzjyprwgfiwh5s5raa9avbqazy5hv5pi"; + }; + + doCheck = false; + + meta = with stdenv.lib; { + }; + }; + sympy = buildPythonPackage rec { name = "sympy-0.7.3"; @@ -6189,7 +6733,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; # 4 failing tests - doCheck = false; + doCheck = false; buildInputs = [ nose modules.curses ]; @@ -6293,10 +6837,27 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests"; homepage = https://github.com/atl/py-smartdc; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; + sorl_thumbnail = buildPythonPackage rec { + name = "sorl-thumbnail-11.12"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/sorl-thumbnail/${name}.tar.gz"; + sha256 = "050b9kzbx7jvs3qwfxxshhis090hk128maasy8pi5wss6nx5kyw4"; + }; + + # Disabled due to an improper configuration error when tested against django. This looks like something broken in the test cases for sorl. + doCheck = false; + + meta = { + homepage = http://sorl-thumbnail.readthedocs.org/en/latest/; + description = "Thumbnails for Django"; + license = stdenv.lib.licenses.bsd3; + }; + }; supervisor = buildPythonPackage rec { name = "supervisor-3.0"; @@ -6307,7 +6868,10 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; buildInputs = [ mock ]; - propagatedBuildInputs = [ meld3 ]; + propagatedBuildInputs = [ meld3 ]; + + # failing tests when building under chroot as root user doesn't exist + doCheck = false; meta = { description = "A system for controlling process state under UNIX"; @@ -6390,46 +6954,44 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }); - - sqlalchemy = buildPythonPackage rec { - name = "sqlalchemy-${version}"; - version = "0.7.10"; - + sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + name = "SQLAlchemy-0.7.10"; src = fetchurl { - url = "http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-${version}.tar.gz"; + url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; }; - patches = [ # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ # waiting for 0.7.11 release ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ]; + }); - buildInputs = [ nose ]; - propagatedBuildInputs = [ modules.sqlite3 ]; - - meta = { - homepage = http://www.sqlalchemy.org/; - description = "A Python SQL toolkit and Object Relational Mapper"; + sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + name = "SQLAlchemy-0.8.5"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; + md5 = "ecf0738eaf1229bae27ad2be0f9978a8"; }; - }; - - - sqlalchemy8 = buildPythonPackage rec { - name = "SQLAlchemy-${version}"; - version = "0.8.2"; + }); + + sqlalchemy9 = buildPythonPackage rec { + name = "SQLAlchemy-0.9.3"; src = fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; - md5 = "5a33fb43dea93468dbb2a6562ee80b54"; + md5 = "a27989b9d4b3f14ea0b1600aa45559c4"; }; buildInputs = [ nose mock ]; propagatedBuildInputs = [ modules.sqlite3 ]; + checkPhase = '' + ${python.executable} sqla_nose.py + ''; + meta = { homepage = http://www.sqlalchemy.org/; description = "A Python SQL toolkit and Object Relational Mapper"; @@ -6447,15 +7009,21 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "051dd9de0757714d33c3ecd5ab37b97d"; }; - buildInputs = [ pytest webob pkgs.imagemagick ]; + buildInputs = [ pytest webob pkgs.imagemagick nose ]; propagatedBuildInputs = [ sqlalchemy8 wand ]; - checkPhase = "cd tests && LD_LIBRARY_PATH=${pkgs.imagemagick}/lib py.test"; + checkPhase = '' + cd tests + export MAGICK_HOME="${pkgs.imagemagick}" + export PYTHONPATH=$PYTHONPATH:../ + py.test + cd .. + ''; meta = { homepage = https://github.com/crosspop/sqlalchemy-imageattach; description = "SQLAlchemy extension for attaching images to entity objects"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -6501,7 +7069,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A client for Etsy's node-js statsd server"; homepage = https://github.com/WoLpH/python-statsd; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; @@ -6521,7 +7089,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "Lightweight and extensible STOMP messaging client"; homepage = http://bitbucket.org/hozn/stompclient; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }); @@ -6540,7 +7108,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A streaming protocol for test results"; homepage = https://launchpad.net/subunit; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -6567,7 +7135,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz"; sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42"; }; - + propagatedBuildInputs = [ configshell_fb rtslib_fb @@ -6580,6 +7148,24 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + tarsnapper = buildPythonPackage rec { + name = "tarsnapper-0.2.1"; + + src = fetchgit { + url = https://github.com/miracle2k/tarsnapper.git; + rev = "620439bca68892f2ffaba1079a34b18496cc6596"; + }; + + propagatedBuildInputs = [ argparse pyyaml ]; + + patches = [ ../development/python-modules/tarsnapper-path.patch ]; + + preConfigure = '' + substituteInPlace src/tarsnapper/script.py \ + --replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap' + ''; + }; + taskcoach = buildPythonPackage rec { name = "TaskCoach-1.3.22"; @@ -6640,7 +7226,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A set of extensions to the Python standard library's unit testing framework"; homepage = http://pypi.python.org/pypi/testtools; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -6660,7 +7246,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; homepage = https://code.google.com/p/mimeparse/; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; @@ -6680,25 +7266,36 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; homepage = https://code.google.com/p/mimeparse/; - license = pkgs.lib.licenses.mit; + license = licenses.mit; }; }; # TODO - # py.error.EACCES: [Permission denied]: mkdir('/homeless-shelter',) - # builder for `/nix/store/0czwg0n3pfkmpjphqv1jxfjlgkbziwsx-python-tox-1.4.3.drv' failed with exit code 1 - # tox = buildPythonPackage rec { - # name = "tox-1.4.3"; + # Installs correctly but fails tests that involve simple things like: + # cmd.run("tox", "-h") + # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests # - # buildInputs = [ py virtualenv ]; + # tox = buildPythonPackage rec { + # name = "tox-1.7.0"; + # + # propagatedBuildInputs = [ py virtualenv ]; # # src = fetchurl { - # url = "https://pypi.python.org/packages/source/t/tox/tox-1.4.3.tar.gz"; - # md5 = "3727d5b0600d92edf2229a7ce6a0f752"; + # url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz"; + # md5 = "5314ceca2b179ad4a9c79f4d817b8a99"; # }; # }; + smmap = buildPythonPackage rec { + name = "smmap-0.8.2"; + meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/s/smmap/${name}.tar.gz"; + sha256 = "0vrdgr6npmajrv658fv8bij7zgm5jmz2yxkbv8kmbv25q1f9b8ny"; + }; + }; trac = buildPythonPackage { name = "trac-1.0.1"; @@ -6751,6 +7348,9 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7"; }; + # tests fail, see http://hydra.nixos.org/build/4316603/log/raw + doCheck = false; + propagatedBuildInputs = [ zope_interface zope_testing ]; meta = { description = "A tool which computes a dependency graph between active Python eggs"; @@ -6777,7 +7377,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/alejandrogomez/turses"; description = "A Twitter client for the console."; - license = pkgs.lib.licenses.gpl3; + license = licenses.gpl3; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; @@ -6794,18 +7394,20 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = "https://github.com/tweepy/tweepy"; description = "Twitter library for python"; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; }); twisted = buildPythonPackage rec { - name = "twisted-13.2.0"; + # NOTE: When updating please check if new versions still cause issues + # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) + name = "Twisted-11.1.0"; src = fetchurl { - url = "https://pypi.python.org/packages/source/T/Twisted/Twisted-13.2.0.tar.bz2"; - sha256 = "1wrcqv5lvgwk2aq83qb2s2ng2vx14hbjjk2gc30cg6h1iiipal89"; + url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2"; + sha256 = "05agfp17cndhv2w0p559lvknl7nv0xqkg10apc47fm53m8llbfvz"; }; propagatedBuildInputs = [ zope_interface ]; @@ -6826,7 +7428,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { and licensed under the MIT license. ''; - license = pkgs.lib.licenses.mit; + license = licenses.mit; maintainers = [ ]; }; @@ -6894,16 +7496,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { description = "A full-featured console (xterm et al.) user interface library"; homepage = http://excess.org/urwid; - license = pkgs.lib.licenses.lgpl21; + repositories.git = git://github.com/wardi/urwid.git; + license = licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); virtualenv = buildPythonPackage rec { - name = "virtualenv-1.10"; + name = "virtualenv-1.11.4"; src = fetchurl { url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz"; - md5 = "9745c28256c70c76d36adb3767a00212"; + md5 = "9accc2d3f0ec1da479ce2c3d1fdff06e"; }; inherit recursivePthLoader; @@ -6925,6 +7528,27 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; + virtualenv-clone = buildPythonPackage rec { + name = "virtualenv-clone-0.2.4"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/v/virtualenv-clone/${name}.tar.gz"; + md5 = "71168b975eaaa91e65559bcc79290b3b"; + }; + + buildInputs = [pytest]; + propagatedBuildInputs = [virtualenv]; + + # needs tox to run the tests + doCheck = false; + + meta = with stdenv.lib; { + description = "Script to clone virtualenvs"; + license = licenses.mit; + platforms = platforms.all; + }; + }; + waitress = buildPythonPackage rec { name = "waitress-0.8.7"; @@ -7023,7 +7647,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { webtest = buildPythonPackage rec { version = "2.0.11"; name = "webtest-${version}"; - + src = fetchurl { url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; md5 = "e51da21da8815cef07f543d8688effea"; @@ -7032,7 +7656,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { # XXX: skipping two tests fails in python2.6 doCheck = ! isPy26; - buildInputs = [ pkgs.unzip ] ++ optionals isPy26 [ pythonPackages.ordereddict unittest2 ]; + buildInputs = optionals isPy26 [ pythonPackages.ordereddict unittest2 ]; propagatedBuildInputs = [ nose @@ -7073,7 +7697,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { wokkel = buildPythonPackage (rec { url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz"; - name = pkgs.lib.nameFromURL url ".tar"; + name = nameFromURL url ".tar"; src = fetchurl { inherit url; sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml"; @@ -7118,6 +7742,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { wxGTK = pkgs.wxGTK28; }; + wxPython30 = import ../development/python-modules/wxPython/3.0.nix { + inherit (pkgs) stdenv fetchurl pkgconfig; + inherit pythonPackages; + wxGTK = pkgs.wxGTK30; + }; + xe = buildPythonPackage rec { url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz"; name = stdenv.lib.nameFromURL url ".tar"; @@ -7296,7 +7926,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "eff24d7918099a3e899ee63a9c31bee6"; }; - buildInputs = [ pkgs.unzip zope_interface ]; + buildInputs = [ zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -7312,8 +7942,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_interface ]; meta = { @@ -7388,8 +8016,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "c6ac80e6887de4108a383f349fbdf332"; }; - buildInputs = [ pkgs.unzip ]; - meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; @@ -7520,8 +8146,8 @@ pythonPackages = modules // import ./python-packages-generated.nix { propagatedBuildInputs = [ zope_proxy ]; # ignore circular dependency on zope_schema - installCommand = '' - easy_install --always-unzip --no-deps --prefix="$out" . + preBuild = '' + sed -i '/zope.schema/d' setup.py ''; doCheck = false; @@ -7574,12 +8200,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "e7e581af8193551831560a736a53cf58"; }; - propagatedBuildInputs = [ zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; - - # ignore circular dependency on zope_location - installCommand = '' - easy_install --no-deps --prefix="$out" . - ''; + propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -7630,7 +8251,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "8b317b41244fc2e67f2f286890ba59a0"; }; - buildInputs = [ pkgs.unzip sqlalchemy zope_testing zope_interface setuptools ]; + buildInputs = [ sqlalchemy zope_testing zope_interface setuptools ]; propagatedBuildInputs = [ sqlalchemy transaction ]; meta = { @@ -7652,7 +8273,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "01c30c342c6a18002a762bd5d320a6e9"; }; - buildInputs = [ pkgs.unzip ]; propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; meta = { @@ -7673,10 +8293,11 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "1d689abad000419891494b30dd7d8190"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; + # a test is failing + doCheck = false; + meta = { description = "A flexible test runner with layer support"; homepage = http://pypi.python.org/pypi/zope.testrunner; @@ -7694,8 +8315,6 @@ pythonPackages = modules // import ./python-packages-generated.nix { md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; }; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ zope_location zope_security zope_publisher ]; meta = { @@ -7764,11 +8383,13 @@ pythonPackages = modules // import ./python-packages-generated.nix { tornado = buildPythonPackage rec { - name = "tornado-3.1.1"; + name = "tornado-3.2"; + + propagatedBuildInputs = [ backports_ssl_match_hostname_3_4_0_2 ]; src = fetchurl { - url = "http://pypi.python.org/packages/source/t/tornado/${name}.tar.gz"; - sha256 = "1ipx23ix8hyd88rywmwr7bfdgkvkdac87xq3f9l5vkm0wjzh8n9l"; + url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz"; + md5 = "bd83cee5f1a5c5e139e87996d00b251b"; }; doCheck = false; @@ -7784,7 +8405,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h"; }; - buildInputs = [ pkgs.unzip unittest2 nose mock ]; + buildInputs = [ unittest2 nose mock ]; propagatedBuildInputs = [ modules.curses libarchive ]; # tests are still failing @@ -7793,12 +8414,12 @@ pythonPackages = modules // import ./python-packages-generated.nix { libarchive = buildPythonPackage rec { - version = "3.0.4-5"; + version = "3.1.2-1"; name = "libarchive-${version}"; src = fetchurl { url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz"; - sha256 = "141yx9ym8gvybn67mw0lmgafzsd79rmd9l77lk0k6m2fzclqx1j5"; + sha256 = "0j4ibc4mvq64ljya9max8832jafi04jciff9ia9qy0xhhlwkcx8x"; }; propagatedBuildInputs = [ pkgs.libarchive ]; @@ -7811,7 +8432,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip"; md5 = "fa2199022e54a393052d380c6e1a0934"; }; - buildInputs = [ pkgs.unzip pkgs.zeromq3 ]; + buildInputs = [ pkgs.zeromq3 ]; propagatedBuildInputs = [ ]; doCheck = false; }; @@ -7944,30 +8565,30 @@ pythonPackages = modules // import ./python-packages-generated.nix { whisper = buildPythonPackage rec { name = "whisper-${version}"; - version = "0.9.10"; + version = "0.9.12"; - src = fetchurl rec { - url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz"; - sha256 = "1zy4z4hrbiqj4ipcv2m9197hf03d4xphllqav9w4c8i6fn8zmd9n"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/w/whisper/${name}.tar.gz"; + md5 = "5fac757cc4822ab0678dbe0d781d904e"; }; # error: invalid command 'test' doCheck = false; - meta = { + meta = with stdenv.lib; { homepage = http://graphite.wikidot.com/; description = "Fixed size round-robin style database"; - maintainers = [ stdenv.lib.maintainers.rickynils ]; + maintainers = with maintainers; [ rickynils offline ]; }; }; carbon = buildPythonPackage rec { name = "carbon-${version}"; - version = "0.9.10"; + version = "0.9.12"; - src = fetchurl rec { - url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz"; - sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz"; + md5 = "66967d5a622fd29973838fcd10eb34f3"; }; propagatedBuildInputs = [ whisper txamqp zope_interface twisted ]; @@ -7975,10 +8596,10 @@ pythonPackages = modules // import ./python-packages-generated.nix { # error: invalid command 'test' doCheck = false; - meta = { + meta = with stdenv.lib; { homepage = http://graphite.wikidot.com/; description = "Backend data caching and persistence daemon for Graphite"; - maintainers = [ stdenv.lib.maintainers.rickynils ]; + maintainers = with maintainers; [ rickynils offline ]; }; }; @@ -7994,7 +8615,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://pypi.python.org/pypi/Unidecode/; description = "ASCII transliterations of Unicode text"; - license = pkgs.lib.licenses.gpl2; + license = licenses.gpl2; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; @@ -8016,14 +8637,24 @@ pythonPackages = modules // import ./python-packages-generated.nix { maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; + + versiontools = buildPythonPackage rec { + name = "versiontools-1.9.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; + sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9"; + }; + + }; graphite_web = buildPythonPackage rec { name = "graphite-web-${version}"; - version = "0.9.11"; + version = "0.9.12"; src = fetchurl rec { url = "https://pypi.python.org/packages/source/g/graphite-web/${name}.tar.gz"; - md5 = "1499b5dded3d1054d598760fd450a6f9"; + md5 = "8edbb61f1ffe11c181bd2cb9ec977c72"; }; propagatedBuildInputs = [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ]; @@ -8043,10 +8674,10 @@ pythonPackages = modules // import ./python-packages-generated.nix { # error: invalid command 'test' doCheck = false; - meta = { + meta = with stdenv.lib; { homepage = http://graphite.wikidot.com/; description = "Enterprise scalable realtime graphing"; - maintainers = [ stdenv.lib.maintainers.rickynils ]; + maintainers = with maintainers; [ rickynils offline ]; }; }; @@ -8156,7 +8787,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = https://code.google.com/p/gdata-python-client/; description = "Python client library for Google data APIs"; - license = pkgs.lib.licenses.asl20; + license = licenses.asl20; }; }; @@ -8176,7 +8807,7 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://imapclient.freshfoo.com/; description = "Easy-to-use, Pythonic and complete IMAP client library"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; @@ -8193,17 +8824,17 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://pythonhosted.org/Logbook/; description = "A logging replacement for Python"; - license = pkgs.lib.licenses.bsd3; + license = licenses.bsd3; }; }; libvirt = pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; - version = "1.2.0"; + version = "1.2.2"; src = fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "0azml1yv9iqnpj4sdg1wwsa70q7kb06lv85p63qwyd8vrd0y7rrg"; + sha256 = "0fccpyppz79kbbnzwdgsiza3cxq7jlnnp1dqi33gc4305dk9vmwl"; }; buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ]; @@ -8215,12 +8846,103 @@ pythonPackages = modules // import ./python-packages-generated.nix { meta = { homepage = http://www.libvirt.org/; description = "libvirt Python bindings"; - license = "LGPLv2"; + license = pkgs.lib.licenses.lgpl2; }; }; -# python2.7 specific eggs -} // pkgs.lib.optionalAttrs (python.majorVersion == "2.7") { + searx = buildPythonPackage rec { + name = "searx-${rev}"; + rev = "44d3af9fb2482cd0df1a8ababbe2fdf27ab33172"; + + src = fetchgit { + url = "git://github.com/asciimoo/searx"; + inherit rev; + sha256 = "1w505pzdkkcglq782wg7f5fxrw9i5jzp7px20c2xz18pps2m3rsm"; + }; + + propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests + gevent speaklater Babel pytz dateutil ]; + + meta = { + homepage = https://github.com/asciimoo/searx; + description = "A privacy-respecting, hackable metasearch engine"; + license = stdenv.lib.licenses.agpl3Plus; + maintainers = [ stdenv.lib.maintainers.matejc ]; + }; + }; + + grequests = buildPythonPackage rec { + name = "grequests-0.2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grequests/${name}.tar.gz"; + sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c"; + }; + + buildInputs = [ requests gevent ]; + + meta = { + description = "GRequests allows you to use Requests with Gevent to make asyncronous HTTP Requests easily."; + homepage = https://github.com/kennethreitz/grequests; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.matejc ]; + }; + }; + + flaskbabel = buildPythonPackage rec { + name = "Flask-Babel-0.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/F/Flask-Babel/${name}.tar.gz"; + sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa"; + }; + + buildInputs = [ flask jinja2 speaklater Babel pytz ]; + + meta = { + description = "Adds i18n/l10n support to Flask applications"; + homepage = https://github.com/mitsuhiko/flask-babel; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.matejc ]; + }; + }; + + speaklater = buildPythonPackage rec { + name = "speaklater-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/s/speaklater/${name}.tar.gz"; + sha256 = "1ab5dbfzzgz6cnz4xlwx79gz83id4bhiw67k1cgqrlzfs0va7zjr"; + }; + + meta = { + description = "implements a lazy string for python useful for use with gettext"; + homepage = https://github.com/mitsuhiko/speaklater; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.matejc ]; + }; + }; + + power = buildPythonPackage rec { + name = "power-1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/power/${name}.tar.gz"; + sha256 = "09a00af8357f63dbb1a1eb13b82e39ccc0a14d6d2e44e5b235afe60ce8ee8195"; + }; + + meta = { + description = "Cross-platform system power status information"; + homepage = https://github.com/Kentzo/Power; + license = "mit"; + }; + }; + +# python2.7 specific packages +} // optionalAttrs isPy27 ( + with pythonPackages; + +{ pypi2nix = pythonPackages.buildPythonPackage rec { rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003"; @@ -8241,4 +8963,51 @@ pythonPackages = modules // import ./python-packages-generated.nix { }; }; -}; in pythonPackages + + thumbor = pythonPackages.buildPythonPackage rec { + name = "thumbor-4.0.4"; + + propagatedBuildInputs = [ + tornado + pycrypto + pycurl + pillow + derpconf + python_magic + thumborPexif + (pkgs.opencv.override { + gtk = null; + glib = null; + xineLib = null; + gstreamer = null; + ffmpeg = null; + }) ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/t/thumbor/${name}.tar.gz"; + md5 = "cf639a1cc57ee287b299ace450444408"; + }; + + meta = { + description = "Thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images."; + homepage = https://github.com/globocom/thumbor/wiki; + license = licenses.mit; + }; + }; + + thumborPexif = pythonPackages.buildPythonPackage rec { + name = "thumbor-pexif-0.14"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/t/thumbor-pexif/${name}.tar.gz"; + md5 = "fb4cdb60f4a0bead5193fb483ccd3430"; + }; + + meta = { + description = "Module to parse and edit the EXIF data tags in a JPEG image"; + homepage = http://www.benno.id.au/code/pexif/; + license = licenses.mit; + }; + }; + +}); in pythonPackages diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index e371d894ae1c..dfdbb1db8bdf 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -366,7 +366,6 @@ let gajim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; - gcj46 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gdbCross = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; @@ -1725,7 +1724,6 @@ let wavesurfer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; wdfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; webkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; - webkit_gtk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; weechat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; welkin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; wesnoth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 921a6e741343..df0480bf82cb 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -1,19 +1,18 @@ /* A small release file, with few packages to be built. The aim is to reduce - the load on Hydra when testing the `stdenv-updates' branch. + the load on Hydra when testing the `stdenv-updates' branch. */ +{ nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } +, supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ] +}: - This file will be evaluated by hydra with a call like this: - hydra_eval_jobs --gc-roots-dir \ - /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \ - system i686-linux --argstr system x86_64-linux --arg \ - nixpkgs "{outPath = ./}" .... release.nix - - Hydra can be installed with "nix-env -i hydra". */ -with (import ./release-lib.nix); +with import ./release-lib.nix { inherit supportedSystems; }; { - tarball = import ./make-tarball.nix; + tarball = import ./make-tarball.nix { + inherit nixpkgs; + officialRelease = false; + }; } // (mapTestOn (rec { @@ -23,8 +22,7 @@ with (import ./release-lib.nix); aterm25 = all; aterm28 = all; autoconf = all; - automake110x = all; - automake111x = all; + automake = all; avahi = allBut "i686-cygwin"; # Cygwin builds fail bash = all; bashInteractive = all; @@ -47,16 +45,16 @@ with (import ./release-lib.nix); file = all; findutils = all; flex = all; - flex2535 = all; gcc = all; gcc33 = linux; gcc34 = linux; gcc42 = linux; gcc44 = linux; + gcj = linux; ghdl = linux; glibc = linux; glibcLocales = linux; - gnat44 = linux; + gnat = linux; gnugrep = all; gnum4 = all; gnumake = all; @@ -197,7 +195,7 @@ with (import ./release-lib.nix); zile = linux; zip = all; - dbus_all = { + dbus = { libs = linux; daemon = linux; tools = linux; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 298188923753..cb22983e6c37 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -12,7 +12,7 @@ { nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; } , officialRelease ? false , # The platforms for which we build Nixpkgs. - supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "x86_64-freebsd" "i686-freebsd" ] + supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ] }: with import ./release-lib.nix { inherit supportedSystems; }; @@ -35,6 +35,10 @@ let # Ensure that X11/GTK+ are in order. jobs.thunderbird.x86_64-linux jobs.thunderbird.i686-linux + /* not ready yet + jobs.glib-tested.x86_64-linux # standard glib doesn't do checks + jobs.glib-tested.i686-linux + */ ]; }; @@ -48,8 +52,7 @@ let atlas = linux; audacious = linux; autoconf = all; - automake110x = all; - automake111x = all; + automake = all; avahi = allBut "i686-cygwin"; # Cygwin builds fail bash = all; bashInteractive = all; @@ -106,7 +109,6 @@ let file = all; findutils = all; flex = all; - flex2535 = all; fontforge = linux; fuse = linux; gajim = linux; @@ -116,6 +118,7 @@ let gcc34 = linux; gcc42 = linux; gcc44 = linux; + gcj = linux; ghdl = linux; ghostscript = linux; ghostscriptX = linux; @@ -126,7 +129,7 @@ let glibcLocales = linux; glxinfo = linux; gnash = linux; - gnat44 = linux; + gnat = linux; gnugrep = all; gnum4 = all; gnumake = all;