diff --git a/.version b/.version index 07167f90842e05d9609d89c409e23df59ac786c2..af805b45bd8dde117ee661e83a282e9a24ccda1c 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 0000000000000000000000000000000000000000..8ded8807ede9deec3851eea9a8aa483aa8b3455b --- /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 9d5764a6307f11b0f91e45e066ebffe66c7d5494..c1b9bfd39f92aa324c4d3aa36e89770880b8bf44 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 e55f86ae3d31f92719bba105b4a38a0cdc0f57b0..61d373738f90026e19946fce64ff19a6aab02681 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 69361e3be6c32e53f21da7a54ca3b823f611ca52..f5e89df57fcce28537b1b307f35d3a778d76dfa4 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 00e9b8ac67a170023b8521f285b10e69e273f850..6c8e458509a7dba96d4f56301ee8a972bb8248a4 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 816cdbdc3ed7eae22f5267b56ef20671653c2c44..0000000000000000000000000000000000000000 --- 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 35983f0b114a1ae21ca2d5372f36ed238f4a1d5a..49c674052b95d42d6d9695ae9cbde0eb1e3aadce 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 f0cabe425a3d60d4848cddaaff02a0a46f6ab8e8..74eb63b4b4983afb7e874a84a422cd283b57c7ec 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 b13a72f3f644200bc66eed4e0b5c4c58a03910b9..20c1b2200315ff7f1be8c1d4844acc84dbe84012 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 71a897027962be690e99f94db41acec1f082b716..4b5f04a67585afe628d791c1371e5568701c6ac2 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 c29259c6386cc5f21235b7dc5ed50724a87f3b37..78355eff00453ffb69b15e9ba88b2f9e51d161a7 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 74e9cfb411c4e3103465370fe898176af90387af..44e3cc011f187b6dbf5e89a6decf4709674cd9dc 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 fa31ce6399ce351742a730535a17aab7dfc4aef5..017c9255246fdaa213ec2da40b0be218542cfa4f 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 6f8554d340be359bd03c563b54fcbcdfafa95eca..a80e4397d6a4e0025227af2c2548892b8f8e210f 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 760a74ce66642a070fd9dd229204993c84fc0660..e073da4900cc0a1d2b9d40afd79a4928e7876d06 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 bdd21f1239527ae04433167981d4742b9b13c408..baf8aa5e5743ca0002f2f3a0e91d757414198c40 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 792071c129b931023d85af8ed9df7af83c87d61e..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..0746fb21069d6dd86b57378079261f0005eb5a42 --- /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 a261f81758593b1c04565e2f8707782e707a612e..0000000000000000000000000000000000000000 --- 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 9632e5926312c995e9b5254cc8cad03c08bb4497..0000000000000000000000000000000000000000 --- 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 e6d7dee251afbe94e88155ae113d262339259e9f..0ffee826dc492b39664480b1eabe06f4ba45cded 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 0000000000000000000000000000000000000000..b8f170fc614f7e8efff8b7d67030e380fb1665f2 --- /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 be1cbc97d5edc313dafcfb91d5a8f8f3befc2d29..a93b4b163bd5cdb1f1a3d7d773060022f858426a 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 +
+ +NixOS tests + +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. + -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. + + waitUntilSucceeds + Repeat a shell command with 1-second intervals + until it succeeds. + + + + waitUntilFails + Repeat a shell command with 1-second intervals + until it fails. + - -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: + + 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 70001577692e7e98838a89bf9f9b60efcbcbdac1..03540aa83aaa07c3d9c540f222bc0383e121c1ae 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 6e13281cbd94dfa9fc904f3cbba96130290e367f..8d7c28dee7336b58756e74b0f69f770edba54d35 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 6d11ad7a6c4a8c1c1611520514330182059fcf1f..bb65a49217f025a4c802314e14931ed7971f33d7 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 0000000000000000000000000000000000000000..7995497708e01f74ad1c6ed47ff6e4e90a71102b --- /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 e50099707cc539a150fcabafd33b3d948c4bb77b..e1a358df2aacb47d82ec1d86436ee00ac5ddb7d1 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 c6e0a3a7888c5fc2dc473098db17ce775af6d8f5..c7d65112b64925f8c267bf836cdbb773299f973f 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 4b8c7354a7ecf72047ef17a02faceda922fff24e..0fa00637a93a4993eb228bf6b0201e8173d09ebc 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 a28214ea934f3435398b599426158f7053c4747f..e2bd3393d8728420205d6e89567ac9d88bceea0d 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 c6a707cdf6b9e8f028dad3b94fd4e45e5a0ab5ce..358c29e515f252e0ac1b37f08e65772605ef5067 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 3407229e921a8650748f0f6ff8224fd91e3efe64..8d17958b9d2f702997c83e7910bbbec4ac72bf45 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/ - - for d in ${x}/coverage-data/*; do - echo "doing $d" - [ -n "$(ls -A "$d")" ] || continue - - 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 - - chmod -R u+w $TMPDIR/gcov - - find $TMPDIR/gcov -name "*.gcda" -exec rm {} \; - - for i in $(cd $d/nix/store && ls); do - rsync -rv $d/nix/store/$i/.build/* $TMPDIR/gcov/ - done - - find $TMPDIR/gcov -name "*.gcda" -exec chmod 644 {} \; - - 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 - - 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/ - - 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 = + { testScript, makeCoverageReport ? false, ... } @ t: + let - 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 { } ); + nodes = buildVirtualNetwork ( + t.nodes or (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; + testScript' = + # Call the test script with the computed nodes. + if builtins.isFunction testScript + then testScript { inherit nodes; } + else testScript; - vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); + vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); - vms = map (m: m.config.system.build.vm) (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; - }; + # 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"} + ''; # " + + test = runTests driver; + + report = releaseTools.gcovReport { coverageRuns = [ 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 541eadd7b8c9b5aefd2173fc50e7c06133d62da6..eab111a2665b21deee9b19296f1497de67cf3959 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 0000000000000000000000000000000000000000..8bf36f33c7db4068e41013a4ea40ff2eb7025101 --- /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 7de95200cfa90b03d70b51f48c1c04d74b9c4ca0..51a6676fe4a0cbd53d929e723452ba2ae63ae3a0 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 987bb1088c0dbc6af27c02c781541cad7864caa0..cf70ca264d6aa64f566e920650253064d169bbb1 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 a4f69809b2a45ca6544a5f20a506dd11efd5801c..c78b52fe29e1d04a29ad2913559c7d43b53a9f99 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 f43784f6d03eac364d2ba64c39912046b9317000..16df197d87f304142e5a77b22af4684ccb5b9c36 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 9ef00396808cf33a561fd717de33bcc60bdc4c81..a41f00a76c5719e322385332f2215d0a8109d0e9 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 6f5d2950463f988a2576e954416a4548050d515a..f8c35b440d12d34af7bdc5c532abdc2c8a85a656 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 56d541cb9b3b99c88fe4de9fd4c4164fb43a95fe..8182b8ae8081c1fce95b5a2bcb0da72b006777a6 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 3323046ac5b43f6dc4179c18f5bf466cb6e9af19..bb5a95ebc844fd54375c6d38ca978a40d4e51fa4 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 113f5d8bcbde249e79ad306b8872157fd48cbea2..8171f460385b92fdb10670706bfbc947a64e09e9 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 9ac68b428190446d38d14bcca28f41a51e057d5e..43717697ebd30d1b5f9ec6b859402363e52d1880 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 ec7bf3fea7b5c9e08605a8a2eada43f98f934e8c..f91dbb4cc281754423fc5540590b7257db41e2e4 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 2e2125d44f7b464cad4f3a44d2a39f4c70439def..45695d9cb89f6fe67c10b7a14a81a7caca8bad18 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 7299136235ed07cc318a051d49d5a0e2b1826402..17f3ed00b9be5cde42eaf53e3bb6acc9369b2768 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 e7cbe7a28f36d2f35dc2324894ec58d665102cc2..eedc4ca2b2f2a1de7db50f7fe2ead37c2957123e 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 0b4f75a352165b1a44821e509ccf69b1bcb3df72..9e212847e489e36f78aaf1911110590a04b990ef 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 65d7722abfa7b9356045800df7c69f2a68213cfd..427b2519cbdf6f1d49c3ebd77774a6e6b870e266 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 8f9b31dccff3215f4616f1be9e2680644d1a3104..542360219193d80c0196d6769a1372833f376afb 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 2f61947c3bccb5063495238d563aaeb6eb31ef78..2ea998bbb6353b3e8721c3a4921548730e4a1b41 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 42fbe841d070304b3c3c9446ffb8b13f50ee95ea..88aa7866c2b2d3fbdb3820c1ed792dfb3e9c3743 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 0f60846905893eb913b060b1254eade7474f556d..b725e6cae7321f433ecfd5d1912c8bc44b94b610 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 714de646eb7a55a2ed31ce56d169d6a9f3e8defc..8b8f6bd909e3d3ac6d7bac6a45f12e0c26b83f75 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 + 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"; + + 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 - p = partition (u: u.isAlias) (attrValues config.users.extraUsers); - in concatStrings (map serializedUser p.wrong ++ map serializedUser p.right)); + 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; -in + 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 - ''; - - # 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 < $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)} ''; - system.activationScripts.groups = stringAfter [ "rootPasswd" "binsh" "etc" "var" ] - '' - echo "updating groups..." - - createGroup() { - name="$1" - gid="$2" - - if ! curEnt=$(getent group "$name"); then - groupadd --system \ - ''${gid:+--gid $gid} \ - "$name" - fi - } - - ${flip concatMapStrings (attrValues config.users.extraGroups) (g: '' - createGroup '${g.name}' '${toString g.gid}' - '')} - ''; + # for backwards compatibility + system.activationScripts.groups = stringAfter [ "users" ] ""; + + assertions = [ + { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); + message = "uids and gids must be unique!"; + } + { assertion = cfg.mutableUsers || (nonUidUsers == {}); + message = "When mutableUsers is false, no uid can be null"; + } + { assertion = cfg.mutableUsers || (nonGidGroups == {}); + message = "When mutableUsers is false, no gid can be null"; + } + ]; }; diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index 027dd827b4dd4cc35aee25982bc8571e06fc6213..3820a95b12e263a490204a5c2b0bbc17a6596615 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/hardware/cpu/amd-microcode.nix b/nixos/modules/hardware/cpu/amd-microcode.nix index 5720a63834f5585f43a2abe47448114a218e74a2..86a3df5da21dc484f3e00e6c511f34998bd6bedc 100644 --- a/nixos/modules/hardware/cpu/amd-microcode.nix +++ b/nixos/modules/hardware/cpu/amd-microcode.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/hardware/cpu/intel-microcode.nix b/nixos/modules/hardware/cpu/intel-microcode.nix index 9046ddf83bbf4d6a35e03f5849081410379912fc..800c391b293a17e54912669d564d5664944c3689 100644 --- a/nixos/modules/hardware/cpu/intel-microcode.nix +++ b/nixos/modules/hardware/cpu/intel-microcode.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/hardware/network/b43.nix b/nixos/modules/hardware/network/b43.nix index 03f81f92ef0b83c15f81d9b3aa91fa372aff6d70..e63f2d04d1a6f1481ddbe61354457882fc16ea69 100644 --- a/nixos/modules/hardware/network/b43.nix +++ b/nixos/modules/hardware/network/b43.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let kernelVersion = config.boot.kernelPackages.kernel.version; in diff --git a/nixos/modules/services/x11/mesa.nix b/nixos/modules/hardware/opengl.nix similarity index 68% rename from nixos/modules/services/x11/mesa.nix rename to nixos/modules/hardware/opengl.nix index f892a1517582a04fc4dc3e65878b18e4921bbb5d..485ac008dd8a61fb1cbc2bd692e3539a7546f9ab 100644 --- a/nixos/modules/services/x11/mesa.nix +++ b/nixos/modules/hardware/opengl.nix @@ -2,19 +2,19 @@ let inherit (pkgs.lib) mkOption types mkIf optional optionals elem optionalString optionalAttrs; - cfg = config.services.mesa; + cfg = config.hardware.opengl; kernelPackages = config.boot.kernelPackages; in { options = { - services.mesa.enable = mkOption { - description = "Whether this configuration requires mesa."; + hardware.opengl.enable = mkOption { + description = "Whether this configuration requires opengl."; type = types.bool; default = false; internal = true; }; - services.mesa.driSupport = mkOption { + hardware.opengl.driSupport = mkOption { type = types.bool; default = true; description = '' @@ -23,51 +23,55 @@ in { ''; }; - services.mesa.driSupport32Bit = mkOption { + hardware.opengl.driSupport32Bit = mkOption { type = types.bool; default = false; description = '' On 64-bit systems, whether to support Direct Rendering for 32-bit applications (such as Wine). This is currently only supported for the 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 206846567505a044fab3e32b988778663c854750..d7d002ae6c8a7dc30ec489434e740681088117b3 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 0000000000000000000000000000000000000000..f06139adc445f65959f0c6a323ec2470867658c4 --- /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 9aca5b89d2584a2b6ec507cb926555512208940c..ca0e233f9e3f39e8c026341fe0a015517108f1bb 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 1aba67dcd9e9a8dd8c4e699f42e904ff5cd191c8..a120a01041bde21a80ded5f4b1d8895026dfdc12 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 debf3e7db906fc054fc75773559eb8106c324831..65aa11670893139b0be0c45876bfd4196e8047be 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 00a9e91c73384bf62cf1480b4986323b54392321..00f5fae84342f66a64ef87bcabf4207953ef91f5 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 13ed95d4cebd5cd469b9564bb2de1549322db2a3..c274970c553676baa990869252be6d605d5095df 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 fcb96f7a24fe201c5e116abb850fb2cc0e311db8..0357bf801960846893cbc26a4d1da5bb22e75e05 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 7f253d595dc3878d2e5bc3af2376147b93c2ff47..1008bd5d3d0de50e70e0b11014bb1ba9e34835a6 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 8d678fba71f54d8c792d63a002c75af89a86bd80..eaecbe1381f50f6e84f22997c6ff34076235e33e 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 09d04608e68586b2f272a2b66a3433867d1a775c..f350cd986afa0a2495843acbc9f8c36d7dec82b1 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 814858fdffda0fbcf94c6d8c66253a8af4cb2608..b30c569ed2a7a0c466ea2363d3171898f3742e70 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 41899855686434f6cfd827e404eb51db907cecf8..3338e5119acb8283690dcefe11a8fd3b3898005b 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 6b42058a89263180a02131317c352ea6ab1db19c..da1d26882772c4951acc7a8227e8074c56fa8c08 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 5c89394abceb37f685c1ab907e298be275ed01d5..d7b749573fa9e9220dc6fc1598c727ed1a7e370e 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 652bfa917dfa3048c37f1eb398ae01602d862535..7dbcc261485df3ea5e72371ad295a34a2d6c9bdb 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 76cc29a1facd96cc275d4128b8fcbe65485cbdb5..0a52cbea28979dbc2163bc7854e7f43463a2032b 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 5fb88308b77669ce5db99e474b21bcca65471cab..786ec7d250c424bd29a5aa98280230b1c82b28e1 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 f759c88d3a1f117fc47f57bf2ea5603c04517875..e9803de21961ae2c466d214a9a14232ccc24ffe9 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 6e71baa9a4317c3c73edbc7c3ff2dd0ad6da599c..d68f38bae2f521e79a5a31ea984b3020f8174343 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 16eec904321230a87f91843f2e804d79ab5c2f8e..2d9ea1450ff05bf62d7c4a80430c73c65cf1a099 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 b6408be5844f0b4304fadce551601db249b9cea8..45da0df7967c759ba99fb552bb0fb41a10dd2c60 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 7433fab168e2fe93d6eb0f2a6e9c4765b40bb03b..a5dad7dd9071098694b722b45af3dbd5a3d9ece7 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 ae9fb5fb2a0eb90a2c0818eb4030756b29653f6f..67bafac4c455dfb63bcfef9c7ee4a4c036dfba1b 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 442edd8029def26c622598102dd4b2a7cd536130..5c30d74be69416beb850063dff33213055095d32 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 04ee76d8d3e95c098aab07b14dbbfb5c248aa0a0..f0d60bb6c428ec5080ad7da17dcc161853e3d48d 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 396dcf6c5d3b60e4edd358ebbc4a7da949fa82cb..605cc6aad1de8112638545b715d5651fa5f31305 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 541c46ca50c2d7f6f4e6ec3eba23e15781383b00..14fc905f783e3835c2dff4c227c581789555bed6 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 3b058c6e971575da16592c9a94be807dcc0e393c..5aab2a2954e7c919c2b6bbd7b27d89701040df0d 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 821b9f93465a526a17cec6f1d3ee51a7ad1a3a2d..5067622aaf16dd50429d88fff153a823bedb9931 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 c8e6fd4aa7687f235121e99a372663a5446f5f12..0a92b7ace507f4c76f08ad8705f5ab4d04ca1c41 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 7fdaab9d67dfe374942b7bb83229d6ad1521380f..e457db22333bc29d72e8974cb5cbf7df79527b68 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 9d33e26c495980179535928ba95701ea5066928e..9584f07b0945a2b253600c033c3edfc6c2677b51 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 502320446a37ea2bab7ff9cf636f5da3f6185f19..8c86d48b0808a2de54c70063f2929ed1bfec8eb9 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 7c1922cdfd89727b26d6fb34b69ec6162c0923b8..aa9aec0783422ac06145d22613e45854aeeb4e42 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 9e46ab8b298fbf4e754b31c4fd83f750b083e1e1..a243509949929b4a8aa6b194a1724cc7f48ed080 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 8052502c21ea5627ef1ad0cebeec5efbec31a45f..80d40a7c708c00d6d6c73a8649f8bcd82c9e2561 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 a66679dff90dff86acd1897e0a2b05a5a6e4f636..fdb9dfd4b8c2b856c2f388e4b10889e7650eaaaa 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 904989d57a095f101a6bcd88f786c088d43ee541..34eafd4fa846f6c3b3a57625a7d4d474e1674c44 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 7ab653dd19fd7930f6d8a64847d2146565befd48..2b70a795f4fd37f4c0d8d728d94c20935224d6df 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 340fec0496aec743f33c99eaa5af8d613808a7f5..10e657abd3c5a45759cb69a98395ee4d6dfdc07f 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 da3f7dce98a1fe5e11cf0632a85cfffafb7494a7..8e7d0e51a4e09815d90994bec8d7ef99140b8ec6 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 cff751934d7dffc9092659e83754a3b3a4fad3ca..7bcf8da2c6595da5cc1dfa7e796bb5ebbce96159 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 6ff5277cf9caac6602323d466c03ff7458511171..0a67aeb81e566c2c7a9e23ee3962c73b1bfb92fe 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 bc661164fdc2930cc18779e243fd41278702d04a..b89b379ae66680eb9ac3ba04ed11003e29d4049c 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 b9f1515900282a1274dd5e1314e067bfa240d93f..da7c93beee987f6da4585f17598b007735aba521 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 2e93fb36b45059a831c494b2a3aadc94fb9ca8d1..f159e359f968ff00b12ee4b6b3fde8199cf4a7da 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 0000000000000000000000000000000000000000..bd9611384828b40d9e164020c6dd5fee80938a1a --- /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 0000000000000000000000000000000000000000..90462a2d6d0dc72845ccde1bf7f7685ae0ef294f --- /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 93d12d292e4d54c1bf973b08657068f5086ba6b3..6a5eb4c720f8674c3f92f55ea067963df08e9c2f 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 4cc99995fbcaa1bf11886000d2257e12ca0f15d2..11708a1f016797f7e273a0e4999d78987f1ef37b 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 dbec4ad98d160b48f7538512a7d411e67b1d6cd3..5933cdc0cec32f9b7632bd2b3148c1f09c37886c 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 75b95d5fbb04fd9629a1749e09d51bf26125ac38..e29fa5395a1abd572ab7abf86497931643698a38 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 720ac02f2e8114327e80f2884c272fe08a40ebbf..c31e57e6f6f8f954c94327893f6e950297a6cf5a 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 164ad9b3aa7db6250e6749606713e0cfcc2c264e..ba07591bb77005aaf63e6587f7f8f89f192d3c62 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 007ffbc34fe9d6c0c5e4d52a783935edd4f3c05b..ffd0b65b76292824e43aa37c4fd6cc5b373c523c 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 62df85816e50a3850fc1eaa6c6e569cc81c92f7d..4cdc1023baabba0890b29f67c26e02e81cbd45c1 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 215a8ecd60187d26f3ee604db625e3d02a91044e..956856c64995ed8fcf474601929b1025157afcdf 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 915d179e699938d32b3039b04d0273a5a2ba45e4..f1f3d005f30f8b497f180920163ecf82add2f194 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 696b5ad43797ec4aafa7b83c9c17cea1266d4a4f..bef15fb64b7f234b223a064365555c6638aa3d81 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"; - - startOn = "started network-interfaces"; + systemd.services.rabbitmq = { + description = "RabbitMQ Server"; - preStart = - '' - mkdir -m 0700 -p /var/lib/rabbitmq - chown rabbitmq /var/lib/rabbitmq + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; - 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"} - ''; + 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 = ""; + }; - preStop = - '' - ${run "${pkgs.rabbitmq_server}/sbin/rabbitmqctl stop"} - ''; + 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 c9a2ef4589bdba76b93e057e822320ca5ad59a81..9a70d9edfa72c9a5ceeb060588b5d3c1877c7ebb 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 3eb0732bae2e2316e6bb574432bfdd66bef79dbc..4a975ed5f53895fc8740a1faeb72ada5204d3bca 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 a9880dee20c40826c1a454d2dcd948d8a406f68f..1b50f06bf30d3ca22bd908528aa1f4ae4b0a5e34 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 d5bc932c6b964e14dc1a2282e4207514e8523f09..5ce215c5c4b538e60dc2d183ffa0f2fb29c8abfd 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 272903c99e33f99394a5aa178bcb5f1d0e028043..c2255f6881810b339e3b3e6dbc0e301679ec5806 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 3ff9978fbb960da65bfd83a4bb80d04883bea2c7..28f607861f7763480ff3d7dc418d640f08a36f72 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 e68ad794a96b47924618b52f5845e2fa9a15116d..1f7b123eca3737713d93ba5057281f28939cbc36 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 178ba3ec7207671b8699e33bbe3d135faa7ba129..48ad7582b7e631ffceed2bbbbc7d2e415462e134 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 5c7f7ffae5b3274c9d6d85b6f821cc9c213bb590..5d3675fa3e9d2b493ce6e30dd3a0d57921574caf 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 0000000000000000000000000000000000000000..1966242e3dcbc21f8d02a9c36d7a56bfc00da581 --- /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 0000000000000000000000000000000000000000..b01b5c3245a4a8adf486c87baec38b9f1d12f47b --- /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 0000000000000000000000000000000000000000..5836d92a4fc0943e286ced08fbd3c64daf218a12 --- /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 7872ea2dc6a3d1907f2621c558c9140b651c0d51..68913f15f953a3130748acfa51f630d578e75862 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 412d14b050cbe5884bd071a34d79d8fb1f0dd462..1725672a659496663a3d06f6b29c455819b04c91 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 0000000000000000000000000000000000000000..5088c741681074b6ac310f0e146b9a575052d058 --- /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 75c225bdb67b6324c7afe718542d1fc276713a96..83dd4951170a04aa91d621c15beca58195581632 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 505253229c9c12dd3a2729850d19f8c41788a1a8..c6875af506d35f9c7fd343d82fa857f399de6d83 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 0000000000000000000000000000000000000000..9f09c71e005ad2fe1540d5195b370a6621d497d4 --- /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 213a60687b23372ff7d63002a8b7d3174d1a9c39..fe82ca430e13828962f20c1d36c09583d0c40c8a 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 8be05a27cdcb38bfec2df99e65af15184e892016..1ca45d90f891909a71cd5582e3c0813a850994a4 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 fe8b29e3c6b78c35c4121b19fdffc255f2a051af..0000000000000000000000000000000000000000 --- 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 0fc8b88c6526a84c2fe5e56354711529ce9d0398..c95238b34515027d969f5f2e612f967cc7bb4305 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 265d26e8ce98930e6c7531895ba9a5f5f880da5c..ad83cb553e1d506b69ed3ea7789620493b10b4e7 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 ea6399ba4f44f8eaca6d8e83b58796953957e439..4ef48df9831c4a7a288b743b0d086fa464e7683b 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 6a29fc13211423125bfad92c0ab3622996c7a992..f955cb74b6ba829e692d0a81dc80f8c43e284ff3 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 0000000000000000000000000000000000000000..386dfe98bd23f1ff3dc581bd0b87be9b9849a06e --- /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 0000000000000000000000000000000000000000..22a54f511d1c16be7ccb743b5918036b6942c7d6 --- /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 0000000000000000000000000000000000000000..a49b5b477689da9f59abefdc769d526467639a65 --- /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 0000000000000000000000000000000000000000..447fd783f1482c7f87c4ef9537b6ca061d427b68 --- /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 0000000000000000000000000000000000000000..365e19c15bb131037a2be01069d610278868d1ae --- /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 0000000000000000000000000000000000000000..df796ed77ff4903d8650ce10c5df4e902ecacc37 --- /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 0000000000000000000000000000000000000000..7a4389038b220870e5abffd41b4b30800ed8f980 --- /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 0000000000000000000000000000000000000000..94a22d0c88195fe4b77eee778229d58f82b1e64d --- /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 0000000000000000000000000000000000000000..2554f3a1666fc9dd20cb8ce364b7cb3beb503eb2 --- /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 92c9112eeb6c3623bb4e5066a08ffbee0b88e5af..7a3ecebec39cad3850cc43280a795ca278e56031 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 0000000000000000000000000000000000000000..4c734aefa469832388962c769795f66fae66f483 --- /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 0000000000000000000000000000000000000000..18547f170a3f9c0de47eea29c550d0244e432330 --- /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 2329f38dfc25bfa1f668a3e84848aba719541c84..a710636c1400491a77f18ac460915f30e3972826 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 a70a66c2ba0bb6553df56b3b73a477733ef03251..68d0406e63bd5d062f2b2c8486d9e8de28fe0cd0 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 9f389efc06d4990df1f3381235204ea73f474682..6e30dfb752d2a464973c038ab6adfe65e6105ab8 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"; - - 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/ - ''; + systemd.sockets.pcscd = { + description = "PCSC-Lite Socket"; + wantedBy = [ "sockets.target" ]; + before = [ "multi-user.target" ]; + socketConfig.ListenStream = "/run/pcscd/pcscd.comm"; + }; - 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 32599554fc12c6c16b58b9cb36827f9cfa280275..04db46999b0ad99e70ef016d6f156640279384f8 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 5979feb824094c7955fffbafd99459daa9a294a7..01d910575bb5d75f5df5688355ec1cd0f3ee826a 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 b39c9cb1d9bb0c412e0558ecc92029009b659a03..16c31aab2d50224488f8069f3bdd9ceecc67f5db 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 52b3ad435797a64ca6c4a33791c5b59ef49edbf6..507752dabcf7206e413dc4dcceff6294331389b8 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 531ee192573ab329a199461b92d4ea4270b59b27..c9d11bcfc6879f827e31ab516bfd84a1b83adfc5 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 178ec379ff1bbcbb6e61287c4718cb3a20c99865..f5b641c7378b6faa4a1832cbec52db659acee666 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 4a9b13d4aa09a6978f1de966c0623623133d16cc..a202d82f646aa6bf5fe603aa42a6633c7fecdaed 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 36b530d0077e05ffa344cc5227e342781b949d61..f69e08152b5563bfa66b16544045bb97bcaa0a90 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 2a6a6516f48848d6d34e8921ba1e942d8be5d3e5..1cd032ffa76b61898629548b307d56d50e12db41 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 c6c0d2ea2382448ce9e735dbb6838f9bbda10fc7..804f9a0847ffe5bd1bd8beee57b0039f03b375e8 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 21128779e8f6afe4e3724415db0f9eae2598b47c..480e35a1156d8465df94da34a9720024bbddd701 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 680c7a912c1f39414dc01602d5242c911fada7c0..d4b7aa809f00a35ea7673813be32f1a12b57b1e9 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 36a0ace927aed89c66eb0dda9e01bf85072e7e55..325868079e226805f04f89e33ecc1fba084af55a 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 92682d644f41bc94661180f5a321f3254df1dcb7..1fb7102e7f3ee35deac7e067bae86b467635697e 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 79f211ad86e3dc2767462928ebdd6eb7a4a71be4..2dd27a2033a74c24d70a2500b1f0f82b58c45da9 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 bad0b22625dcd62116bf9d1c59e18a33c5580c57..b7e1d295f2c59188d4d786097932bfbed69a1d25 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 2732fd60200489705f2c9ed46d4105c5516562d9..fbc4b1d7d8a8682da6abf09944ecbf6da2fc2971 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 2633289b46d5ab20173f61d6efac3411086bfaa6..8f75bd8ab5d06bda8824dcc98a55aea641c5ef6b 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 aaf1dfcc210cbbf2d6abf384ac065f526126ab81..a3ac9e372422c3e54e2c889bd770f29f6130cf19 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 50491c556e8ad01c8aaf2c405699a8f2c084b0bb..e645bd25a66d0d9e123adf4f71ae06d5007ee52a 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 f715013b51f3ef33f776fee4d3634edbcf9da195..8f25df809cd6c618c64979c9958915d77d4cec54 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 0000000000000000000000000000000000000000..552e0a435efe5325cf9ea3838c5dd6d373cd0f68 --- /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 82526b154e7a4518ea8f14c98534b27eaf604569..94d0caaa76b7f118e5ccbfb0521fed6413dc225b 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 2da50fc85957f95ead0ab9dbedcf3984013ec598..a01c7f08b914a92b526fa2762c13265aa5a6d1a1 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 9f4c4645279f0a434b5e666bf58c4868eed2d934..0093e3c0c33a1b234709ed1d205e0f8a73092565 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 bc1d1f4575a8d31c4ffb58f93ae48a25ef78e650..4a677f33fa0ceaaee6caeed78cd6409e9128440b 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 cca42aa11009396dee049633f0b80378946e5ce6..4bfd6268234de0fdb2f4bb5e8b4489c810b6b74a 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 fa20e0956f59664cdf5d2f773c53c851f2fc9155..6a7a7f4cee72640fb6f88095b39a4934dd58e023 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 0000000000000000000000000000000000000000..80e7961b1f82ed770ccadc7a118c3817d6770f5d --- /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 1a8b85db32905a1cf63b2da7971168d0eafdd8f1..808c5dcbdc6f32a122eddc41fb287f0b2c43cda0 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 0000000000000000000000000000000000000000..2c1fec9f6d7cc839cc79f51ae0c9f662235ddc83 --- /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 de25cc0fb982b5069804858a611eb22a9431842d..ed8da8a518ff32abcd08c01a159d9c70b563c758 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 b0806d14738b0b6ab9eb13b0bda838f59b85037b..848905ca457f7ca049172b0260274ba07ac56966 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 63e7c7667e57b666dedf1eb061baca8bae507079..ec8ff426f0a68931ab1032ae88634ce284ea11dd 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 58ec8a49694b8c52518b4da6d063585c73350566..6cc0c122ec628eb1e780efff8aadc9fe480eff92 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 37ce1c099df9f9d373ee4679f62ebb1bde4da447..bddf102ee5176a8a790947fb9e49814761161761 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 be57b8c5c03f4f1a01f2da59f0b478778f737511..cb67b9d4fcbbcb8e08c760f48f6e637e7bf1da8c 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 153f49429029bcee60e394d6d06e140d93789e0d..966c2eca282a5f4debb53ecc870a62d75e7b2b3f 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 c809a3b84573fbe3ca7b37be8c15e9e67cfbbaa7..2eeddf782501dc445d14d9acef9a00c58abb97f8 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 512e639721e4d993da3e14232dcc12d7777f3d94..250035fe447f47b684f29689b84d41eb301dabc7 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 979debefdd9fef4ae54c70a9936e70153b71a191..05950639c1e0936f1f3569b08ce64df92fbd0eab 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 0a3e666ad4e7a7eb348335f21ac9346cba351321..b0e59595e1337256aedb6f74f9b180b9cf6284a6 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 c00f4bad93513d61723ca3b8f71c44d12b4d424b..cc9026f768a8ef2ac18e16cd4fed9a3df2107244 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 229236c1bbd44bb17ba65bca875e8f60b656447c..481298f763a49a72112af6e31bf5487429733596 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 6735b4ca32794692a68abd10c51c3a9b093d45d4..ca283ea2a99f47931cbb1cf7b91b9b49da0092b6 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 1a00ccab0a616f7c22fdef3ad054ead914feb84a..b914724abfe24453852f604c90ef8d3297fd4656 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 4daa5e9d06391d473a814b125e1cd40dcc761e84..2217fec3b0f7def921b1e5b7dc5efb8746c0dc27 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 4a888b64bd34ed2f87ea0e4b0ed42d51445b26b7..b34ebc3663e34e787cac51b65d72e0e7ee4b5e3a 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 - ''; - - postStop = '' - umount /afs + ${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"} + ''; + + # 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 0000000000000000000000000000000000000000..bc17add809b2d5ac48c1c4fdfea6553adea8d3df --- /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 4f6fce6cd52e74378c3b3a97a2fb9ac0232e4f8e..51a4d193d50427dd5e13d84bd03be1b3596f4731 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 8652d0daf4c81a9e3301605708d8c2c4921b870a..516238fdddf63bd67f8bf9ada6f3061da5fab7b8 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 2256de89630d70859fb6179ee642d592770012ed..284b2b84e6c706845a3f3dca33daf4121a4c5575 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 765dc014dcb7776909a409b57829cf69b841d85c..57547da100678a6a440a0a73837bb3c4ae2aae2b 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 fe37e8ea0120fad453cbfd4fe1f0c2e64309fe06..7276603da16fbd92813f954c7327616a1d15e4ef 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 0000000000000000000000000000000000000000..8b288a713c60fdcfa0cc1a208b1f13f3d52124cb --- /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 5e9818858e0ca5811b24d9caf38d5d881c9a7025..d1684dd9f05db09ba8c43c25c5f3cfc1337536f1 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 0000000000000000000000000000000000000000..9306ffd5a18a0028e9169d98c8269819fd209dc5 --- /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 96396878afc919874143b544158b2be01006fcb9..a50aa4d0636b170c5f670197772e951fda5a9f84 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 2b26fe88129b2c7d18f0d13af10102f639fe4183..7ed1e4805d8f940d0c30f1f82aadd5173ff36597 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 08a5d6de6a2bad8df048e4c0a8d803dbf197f86b..35a3cfff8406d7541b95398a927ba03e85ea7fcc 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 5b2058e4e12967e8734614d79dba69b5a2858ec9..89f686c28703d37743fbc5e49f280e68923115a9 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 b726493d421fbe4218b14fc85192be35b03798ed..8e38b9d017a3ae5f9186f01b9c2df2a10c521a7f 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 8a01c217eb5cbfe7dda178c94546e99fefa78b92..28b8e234a5cf5695d885fdb5ad233c0291762a50 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 3c0c51e6ec8a8bef30946552ecc384b15e39fd28..42914bfe5d62ad82aa02d3617d36c68812b7ac6f 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 f5bc550ab5f8f9ac98177eabe779a58bca538418..5ba85178179bfcf22a30fa7f4012724bcefdff08 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 a4bd2098986dd1353f82ea2ac302531f700ec01c..e9cacf4a16e8ba8ed04fd5d3f2c0cf44b55713eb 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 a7c7c206198ff1762f8cd4197367cc335d3e8880..5864efaca51ff4387e1253b55bf31def78ceba80 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 421c0d9bb697517c723e43a0d21b8a14289427b8..03ee54af43342c95eddb9a14fde0a3e04c2cd1d8 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 3b92eb8b06bd8b3625151f9259b190d02d09bb34..4160079419766b9dafe465a2c14de3f1667970d1 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 c8345a528a72ed20a91e122795f4f1a1f2eae485..c2e2c2d7a4181e1ac3308394912fa54af86bd63a 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 4edea12b6be8441c07e8b1e09a89e18b77e88abd..2adbb0a5c4e384cb1a9952fdd4eca62008b9d732 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 4e939d603542350dbfbc13937ff08f8267461a01..20bfca8f8723a3bf81341764362c4c63dcb9f2cf 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 cd150fe63fd39a208354a387dd202185488466c4..bc0fbb42c99deb926404b5b60cde222a5621ba23 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 cd82a41ef7af9c64a023c62056e28569ff40b3c3..a3d5b71740f6c3ee152cdbb5940b804dd18db37b 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 76dd66013ba75d2532f4a9aeb8abcebb3b1008c0..d2045c9efc58f32911c917a37f04b99d985a25a9 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 73fcb1eeea8e4a936fcc0aa5bc7547f56ef898ec..a519857d6a0b04c2bda32589b01070456465df1e 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 0000000000000000000000000000000000000000..4f91a4947479c0541623f8387daa9bbe6c2007ac --- /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 ce28f018828418bc3e4ba0172a03291be7db9c56..e8d9d00cc0a20eaa7b998c5249b87239dc151296 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 40c20aae4ef07a7cd13290f5ac9ea8e4e14b35b2..54bdf19373d59f3300189dc14ca932057d802cb1 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 0000000000000000000000000000000000000000..49e5f35598030d5112beec1a5d591a013c3ecac5 --- /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 0000000000000000000000000000000000000000..b97435042395783b53a9c9572ae01e04362642f9 --- /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 156a6b32a6abac09c25008b7695cbfe9d0f0642a..ab86f1a5b2b4aa1eae76098a6172d1d219a7a579 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 e5e164021d3a1faa7b3ed87f7b067401303a17c7..2f638904406b212ed3bbe5514e3e852831ce0d53 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 a2a555a8ad1b76471a555162e1f324a6e50940b0..923e7cd0986e33d9028d7d9b0464089ffa53d4dd 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 b2efb5e9c1230a3f13200d17381e89d1b9bcd980..c3b4ba90b4e77e5864ac8d3bb99202281645452c 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 292d45f434752fcb01d906f96ca8ea5e5518ae1d..e3998b1e5b28f1b205bec26366c0add592e7484f 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 fb541bf101ae8065eac7dff57e49838dac99ce20..ad0fb0af01cb9d55512801e3b6ad911149828b98 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 89c40c53157936aecc6ae305a219fd81f74b8d20..950112b2dabe4ab9ae05b3ec324c8337113e585e 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 f3a4e457ec847df384e4abaa5eb311fb09d1085c..749e5dcebb6160b57239a0a101f99dbf59357f2f 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 8d586ce6e46b165ab76466c717465861d1281b32..08762c9c8372b7abc14410afa90ee825cccbc9b8 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 f797206ad5c768e986ca4ffc1707725b2e96c564..4c1891816e3ee60ce5cb8553d834d45cd782c04f 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 c966f85e260dbefbae51bc60dcad34079a612e46..eef1e8e8cd889e57566ccae4d1105bab70d52d19 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 8816ac0d2f83a12695c8e46843876c181d332449..83db0841b34617fd1a61d1ef2dfe4eafc29d3a2c 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 0000000000000000000000000000000000000000..b29db58af99bf9398d3518dadcb895156259b176 --- /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 0000000000000000000000000000000000000000..ec5908b182fbf00646819e51e661d8f9af845108 --- /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 04ef76f1e4d41ad0327f5b2a9e14c2e6db7276f4..fca30a1fe49c13baf28ac312b6798a229c0514fe 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 85b6ab1efecf64ba623b4c8f62dafbbc4b3b0cca..b66ccb87120cf5ddb4c53ced9a3a6ef21a50f3dd 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 fa8b7556de5d018c1fbf7bcc79de6ccfe10bd6f1..2cfb9fc9b923471e0ab335e9d32b094fd9994c8a 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 0000000000000000000000000000000000000000..02572c1e27d2c94dbd39f6615b8b3dd505e984e8 --- /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 48cb884f2466397637d82e0ec656c5cfd8d15e2a..1359006aef4e9c6c0896bbadd9d16cfef65ca50e 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 37935496c59766a9e17e07dc6fa8522370d40861..a2f7ff06ea611183a18757889cc2dfb4b670a4b2 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 fb75b4ed069a87bd80759b30ba33aa0ee033e6af..30ce4b49fa8d2d7225349c8546bff011bb82d223 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 1c77cc6df4ea3dba8781df470a129e170f08b0ee..62b6027c01208b24899ff347c67664a4c47487f1 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 1fc54986b16fee3b47843204974bb7cf5775287a..11bb7e92525514d14dcfe4c519fad68987bb230a 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 12042bbad6c9b85246a9ab8567e02ed26f608265..4b76350ecf8a7ac08882d091353aaa8fe96aaf68 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 8e01227321647f0c0dd2c2835095600672a12ef6..18258084fc2c6309610b6e5cfc21343a0ac07459 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 5e5f81ed5a0bc3de0125e6489daa120873dc9a94..eb721ec34559f55d8ff35891d8778c8a4731121f 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 626183b810f13677b1819784838c8c7c122a8123..14ee52ae52e62888bbf627026f7de46c1102e796 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 1be3587c3bb9c13d0cd162e082dd392d6c3f73ca..4b758608cb64ab2b174b8f073e3d5636caa12bc3 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 c516c5889f12981685bb7fff61f4690e1adcb53d..c6f128ec40260d27875fae96aaf2095ce14a5b4d 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 44ed1ba5a078512bda4e2d39f2a85f6047fa2166..5da71b12dd76219b5ce9fbf43d16886127167d10 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 fda29ca0482b55b160d361a45b44445d5a14da1a..346a64f2c3cb9facba05aea59abcb0943a532641 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 b3d934862abf8ea0eb2ba05c8bf48005be212260..b7a3566f95d917dab6e7a9db0bc24778ee702260 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 0000000000000000000000000000000000000000..38d9dedbe3cf15d64781d38467cd73d610107731 --- /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 5ccb4927fcb7b0e94bc4a2a5a49f0e6feaffdf8a..057891a60475afb6a54d472fb8c16ec2036f5d8f 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 ae1fd22d23ee7e86308abf2021da2b3519dcfb9c..af54501663797a8f868560f83490b8c07ef411e0 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 9f1fc4ed6d8b42fe7b86cb5487e6bb598029bbe1..7270a9f98145a7e8c093cc396a187c55cac7d68e 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. - ''; - }; - - productData = mkOption { - default = "${pkgs.fprot}/opt/f-prot/product.data"; - description = '' - product.data file. Defaults to the one supplied with installation package. - ''; - }; - - 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. - ''; - }; + enable = mkOption { + default = false; + description = '' + Whether to enable automatic F-Prot virus definitions database updates. + ''; + }; + + 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. + ''; + }; + + 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 c3ea3fb03ed952e6e0d668b19367591b7bad7091..1d52ed55dbda8b6cc696dba0d76801f025ce2eae 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 e70eb8511a63d0ed1c5412bb2df32ceaf7fe3462..582dd124c290337167dac02b2bdf803b162a9127 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 1c158906a911cc88e843d7d37ad9a1e07c7e7f12..53f48a714b4b557e40e27c45a7e2a5085c051f1d 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 d6974282a6b5cc2cc9bc2031780ae7f78a3c64fa..ede6c983677a67b2212eed90e335042ea800fc35 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 cb5110f6feb317c5be1d48e3af8b9e97d3e5db69..8cc655803c5986707c971d8d04a8dd4980547a9a 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 b817b1df779fb47c3d0f641fb52026afa0c65a3b..f357eb4e1fc81576e8b40c1d05690aa7e320ea5b 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 e0c212e5661f74f66f9e3bcf4f1af8eed1941edd..00df4042d89019bcae0adb0d1404d189a20afca9 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 68f9b0647c0e4839596a97ee8bf24946c340d760..5cdecd1eb57737b3b9d0711c0afce187674aa693 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 ae4fa87d4b7bb84ef0e4f8595832b98669402b7d..df21ebbd9743ac88191e6e4a668f659fa0d5b9f5 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. - - # 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 - - # 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."getty@" = + { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud %I 115200,38400,9600 $TERM"; + restartIfChanged = false; + }; + + 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; + }; + + 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 74cee67aeae9e09b703470c8d92a98d530ed5a8c..03b0f39824d0f7fa077434825f1ab67d35c387a8 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 302e660a7bffd891e50786cf0a817b9fa76dae92..70555e5d88256a33425b87650196b4edb50caafd 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.services."systemd-vconsole-setup".restartIfChanged = false; + 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.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 cdb42fa7308a5f5e60aa9f7272e87580c4a26431..75ec6671d156c4f74b43cd687f200c2d9ab5984b 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 423087991e1360fb8772750c57410c7bdef08cab..7d59c13b9575b1f90bea80360e03595b40130f03 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 53f34e28c27e8e134723bfbb044f0dab9ca4680d..b8e86334539842081ab2f1d300e5ed04b637d018 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 dc82fd34f2faa6386812703ba0d44c75e16bab3d..ad791d7d95825f0f97d5e84dd12240e627e8974f 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 a6e6042fdf6d9af689ed4ce11c1097930b4ba2c6..cab16593bcbc7054b6ca1313b5342b12ba8f6a9e 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 e1bcede6563cf4745647e75ec89cbe9da576f5e7..8a292ad67917dc0fb4ca7cc274e4bcc89b2e3032 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 62264f1db452ce9aef4cf6d92e56094cf63d39c0..dbff565bd8a32bd03e0a98d7ee76e0edb9585462 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 4cc34c65d843ddc9060b6879c5b577532b94aee4..3ba934c72bf86cc90cf99a982c3bbea9bd128a9e 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 f02bd4db264519e8d6e886818e23fd3b3361a7f0..d49278be09a87fb50d48a591b8bf7fd8e68d45ec 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 4a1b6de2873f303beadf5fcc42a769434631ba83..ff94ee42d28deee1e4d443bb9cad72975c5e2396 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 0000000000000000000000000000000000000000..4a14f9b41a42e2cc9b6f2d3544325eb6d927cdcb --- /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 a68828de5d8e6d877f9f863e5ac90a46897af0f0..b5eee8f8be8ff15afe192e810a29f5580032e9f1 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 7e327120c3d15946b8c898a1ae87453ab8a64176..364f6c68faca691989d82f90dae1ca83500e0fe7 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 0000000000000000000000000000000000000000..7f48012f158e01153945e3220dd7625a6ae4bb3b --- /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 576f4b08fb904047c8645c670157980ac56a1e3d..21117118457ddeff62808b8da944bb70a19e7f28 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 035b23b4e1bba13c53ea92a87e379ad323a3f2f2..b82398ccf9ddd3dc6911a7ceb0da7517d47ea19d 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 3d91617c62aa16001e18db482577c479b2f2eed2..4cac53c9c75b9fe6608a862eba1431cd0e4c6888 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 0000000000000000000000000000000000000000..4620bc6722afc6795d466e1f4e24be3a9a1615e7 --- /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 108b52bb951dd5cc9575ac5425a760a1e8c91f41..26b0612671c40548be2b6ec7dea3ce9f94545945 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 0000000000000000000000000000000000000000..97e966ca01974a9d19442af9bb96fb021bcd9690 --- /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 5e5fab3ed2bb32d88d375c908181874b311a77c9..a72eea76239f3482c50b6bd0c2559987b26ac7a4 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 edc61c103ea9fa5a6d8edac8379cd282b69844e8..eab914071410e429f6c934f32e5082adc528e3a7 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 33d97e0e07a95c321772a33bf3d3a7fa621d0dd5..c02ccdf12b65b4a3ad0432ac127a6f80efdd6756 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 575386bac0aabf57b61ebf19d240bda302019a9c..3bf18bd58c842c95e91c2a571fe223062fdf7b04 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 c51e7edfddf3dc366e77cace34e9d99c5bc6216f..7ec489ae3e73fe5cee9cd0befdf116667fba82cb 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 e4125891e6cbd340a27970c4510fe394d78a4bf4..d459c59b0483c0ad668a2054fa81b7e00c256fba 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 35834ef3764b5f76c99faa8b781b5ee6d9481c20..114d34557a072b171d1e44bcf995d1c2718e3c2f 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 4f9048bfd910be7d1b7610a953587086bcb7a596..6e6e88e672180c61b665a0cde12f4c3bd61ba66f 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 91e01f2e30b178af142d54f661525d7ff2fbdcff..f2227a34a20c050b0013f1dedff2f4c55457c2bb 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -1,10 +1,24 @@ -{ config, pkgs, ... }: - -with pkgs.lib; - -let cfg = config.services.xserver.synaptics; in - -{ +{ config, lib, pkgs, ... }: + +with lib; + +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 dfc588cd21322c3fff538e786ce601f3f281493c..540ed168b4895a18663bc0e821ef7dd43ef8bfcd 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 b9ad962d8e46b8ab97049701272f76020cf2011d..d73b58de6c08d6841525797b827d01677e8f3ac2 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 bf9c3435503dcbef43e49908f0a2d1ba5bf0965b..bdc23c0acd1837b1893a869e1cf56e6ff0df67bb 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 1c61419a44c04dd691b4a5eb4e8a98fcd5bfcf57..9b2f042a87a67fa36353ffbe5ce44ef7745b8f87 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 209401f26468b9c7d5d8461a23f2a777d06e4c3a..ffd71e5f91ec097ddfe6de32471ed093abab7ff4 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 4d52e398b47742a086879778a72b4bdeb0e060f8..f27ba366141317936035d95a46145d58329003bc 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 9480abba43b7ec3a84128709e1dbacf8dfcc2802..6cda910b6b331f214deb9a1f3ad040ef74458c49 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 e53d86187ae69ae915f2f871c0b5ea6a3751b714..e85c3bce591d9e81476db9b676a408af29da82a2 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 b7da4051c141995cd9e358ba6a20eca101ebdd2e..36028da453a5c62da3b5b21846554081509ef9c9 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 712e2038594ebd0e8ee626d3f13221fe42e9a861..d13cbcfe40e8391ccb8fdf1435ef5b6e4babae3b 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 d80ffe4942fb03d3da29a44c39002541dcd677d1..684b34c2f246a52e3b5906b55e69456fc4801bea 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 b61521274fbaffbd41676289117ede0dfa203665..75f6fdfe3bc467b921961725ba4e0f1c0959f304 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 46494202b404bf5f6f665db4f4f94fdd442cc1f0..0000000000000000000000000000000000000000 --- 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 44c1d533c3acd85a7d784c19c56bd56a77cb2b82..196f3beb41e9404129269dfa513bfe00b905f561 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 5600ce7fac137b0a930e38e8ad8ef17b7ca23bd5..65f93b544996534a28a096cd6209490abdd4d345 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 1545bcb8a1f9c277f272ed4eebfc060ec4e7d4c6..41fe7d309a5a433a70685039d421b345e70a5ac7 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 c9ab691ce477ab190c58c8762145497ba868d92f..7f4584435266ba1a50587e6b828a5230e8bcbbaf 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 91beed1130eb930155aa586dabf3a9bad9057adb..25b5afe99da4c6535960f0a93d7aa1eb1e1d5e66 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 30a529988a96fb285130d92f20bb026610af3af5..1600a1fb01041acd920fea17192b79e72af65a05 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 2b075bf6a6d2b318b1783fd3a4dba456feeacffa..b81bcf20f439f21bea40df944655ea80b2f0d9fb 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 7e739173f9a3006a4bfbf5b10d17e180014cf11e..241cfc7e836d97b1f929b8f23b8e582d329cc525 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 9855c8c19dd0b896f940fb8547c0cda587b2c1c4..4b5e84f53c1ac767719912b243187e34fc16caa6 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 ef6ff71ed77843dfaaabd87da7539e23c5803b5a..a3b09223cbb886c825028d95e0c7f1462a6dc205 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 80c1a160cfde4036220aff8a7a8eaf3dc3d93890..94e5a14174b0d8e7061cc5d7a6b0f09921261d1e 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 9ea224b51f63339d70f4e1fc3d5b2c215666d08a..db73544181b6979a7952b54aed4506586c47c9c0 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 7edc30776379a7a40127eff9f22d0ef668880fee..19c613a7c94c05942fb4e7ae50deefbcc2aa6391 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 4b0fcd85b4b5a3fc0c4860899f1b0a6756f47f96..3b33d42b4ae4ecd9a77eb96649466c6109b9eb48 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 5bc856c3df0ba2db6b6aff65ece9935dfbb75aad..d3f32418a64c495c8c4c835d2658d5ed196922f6 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 ba357f5d2de3173cc0215908da31d4c32a0928d7..c923cc49c4499bc9ecdd2daa82a8914fdb6a7b46 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 44cadcd64a767a53b8f69a43fed002dff1926cde..68bc936c5b0bf3cb2b993c9e3ddb4fa0e73efd6f 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 1f65026b5defb31cf5cdd72cb0f5ddbb95d9879a..216937a619b1ebea245b1027ad90c4d460c7c1a0 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 b575deb24b7bc24cb804124b28f4d0df062bb0ee..6c6adab66e7c36d221f0b977f873ba9948633a3c 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)} - ''); - - upstreamUnits = + 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} + ''; + + 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} ''; }; - mountToUnit = name: def: + pathToUnit = name: def: { inherit (def) wantedBy requiredBy enable; - text = + text = commonUnitText def + '' - [Unit] - ${attrsToSection def.unitConfig} + [Path] + ${attrsToSection def.pathConfig} + ''; + }; + mountToUnit = name: def: + { inherit (def) wantedBy requiredBy enable; + text = commonUnitText def + + '' [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/ + # Symlink all units provided listed in systemd.packages. + for i in ${toString cfg.packages}; do + files=$(echo $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*) + if [ -n "$files" ]; then + ln -s $files $out/ + fi done - for i in ${toString cfg.packages}; do - ln -s $i/etc/systemd/system/* $out/ + # 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"; - 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"; - }; + # 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; }; + 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 a8f0a59b6fa91a1e2910cd1d31ded7f9bd0675eb..22d55a9e246c705c1eaa5fda1ff25b7851f4af26 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 7cf68db9ddce546089777f47fc56b5a4a318765e..60d4ba1301a3f33c4d0c1b1b7657d9d9d5303368 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 4b79dbaab89e8bbdc7b93cbeadd6745a2963e1d9..8ba9a370b27ab9679c92a5849cdc0a458c1b5bbf 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 aa5c8dfe64b2f351f298483aeb48a27214c1fe54..5c0461304072d3fc2a1feb4b6848d82a5689b7eb 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 705ec93a13600c88b1223596a071f44562d755c5..eb1dfe5f6be23f795b3dc6c0b6ac38772e309c11 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) { - - environment.systemPackages = [ pkgs.cpufrequtils ]; - - jobs.cpufreq = - { description = "CPU Frequency Governor Setup"; - - after = [ "systemd-modules-load.service" ]; - wantedBy = [ "multi-user.target" ]; + config = mkIf (!config.boot.isContainer && config.powerManagement.cpuFreqGovernor != null) { - unitConfig.ConditionPathIsReadWrite = "/sys/devices/"; + boot.kernelModules = [ "acpi-cpufreq" "speedstep-lib" "pcc-cpufreq" + "cpufreq_${cfg.cpuFreqGovernor}" + ]; - path = [ pkgs.cpufrequtils ]; + environment.systemPackages = [ cpupower ]; - 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 b0bcd2eb373eab2ee9edb45beefd09f57f875c5d..954d0b0781f7c3fc13a3c3fd3ab03b1e2d600d0b 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 d95a32e2e3f7484955107dc45ed5c03699ae6445..d0a2ac645e0b5011da3b49adc6d3977efb035ad5 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 2b720a93b893f9d46417e4dafd79a4b69b7425fb..e8c3d8ab56d531e04166f64ef9b91fbaeb3ba11f 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 f8c6a70000409a3d30f99f8b6a8cb0c2a637896d..a3bfb3fed8ef70446b4eb5446d29bda1ad3e3b8c 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 5ca72f142b7d7e5aebc30648f47175fd511f41f2..4cfe6e208f7e192722e9f5d6b4b78d8596af368b 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 6800696a05a3b437f83372469ffb91e032243756..5225b62a88c593221c5175caa0b2e8810aa0e680 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 7c3c662eeac939f49a5836b49175c836bf1ed460..1d75a24692c000d671a3e31fa30b979e5beedd76 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. ''; }; - }; - ###### implementation + 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. - config = mkIf ( inInitrd || inSystem ) { + 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 + ''; + }; - boot = { - kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ kernel.zfs kernel.spl ]; - extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' - options spl spl_hostid=${cfgSpl.hostid} - ''; - }; + 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. + ''; + }; - 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 + weekly = mkOption { + default = 4; + type = types.int; + description = '' + Number of weekly auto-snapshots that you wish to keep. ''; - postDeviceCommands = - '' - zpool import -f -a -d /dev + }; + + monthly = mkOption { + default = 12; + type = types.int; + description = '' + Number of monthly auto-snapshots that you wish to keep. ''; + }; }; + }; - systemd.services."zpool-import" = { - description = "Import zpools"; - after = [ "systemd-udev-settle.service" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; + ###### implementation + + config = mkMerge [ + (mkIf enableZfs { + 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 + ''; + postDeviceCommands = + '' + zpool import -f -a + ''; + }; + + 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; - 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; + 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; - ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; - ExecStop = "${kernel.zfs}/sbin/zfs umount -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. - }; + 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 1083fb784fc06d34736a54bcd3ae1a71072ce0ba..03c42404e5d55540ac406f3eb8b4f667f8f493c6 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 0e0272388c76a714f044a8077353a032f7890fc2..d56a8a2f63a8d437fd9050f2a59fbea1497c4497 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 9619f0f5ebe794fdcb7a419c750706750fcbe6db..9cc8b154324f8acdb7e1b32e311b0d43a5d6f0e0 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 071a80865983549db24bd213d65c6c317764ea47..a74023dec21a95e123b66966634a14ec369b9a31 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 0418de800c8d3d81d95ee8a79eebbb9835230282..0cbca71e132605066573ab51cae91935c4c71a37 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 6f17ed77dad98e3d5041aee89f449521c4c833a7..dfe8b430e04588f1ede9e177f117c8d6ee85da5f 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 28494e1c7b2a8d16e7d3c25135486208a876b0e7..9100a433cd63269f6e1fe8d5f9fbe5f576026a4b 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 abd2a1084bd9fa43113941bbab6050e77f10a383..18b18dd4b2309784eaad164087760020bebc1e15 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 0000000000000000000000000000000000000000..195a8056bf82667c30400d159ce45d944ff51f95 --- /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 bcbfaacd703f6fcaa8fa052c0ed9f726c7c7a9e4..4fca872d72ebb5f48bed746167494d8a89d73100 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."container@" = + { description = "Container '%i'"; - systemd.services = mapAttrs' (name: container: nameValuePair "container-${name}" - { description = "Container '${name}'"; + unitConfig.RequiresMountsFor = [ "/var/lib/containers/%i" ]; - wantedBy = [ "multi-user.target" ]; + path = [ pkgs.iproute ]; - unitConfig.RequiresMountsFor = [ container.root ]; + 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 + machinectl poweroff "$INSTANCE" + ''; + + 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.systemd.containers; + }) 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 5133a98cd962893ecc66a25ccb0fa2c786c04c80..246d3506531720814f11d25a13e1197c9dd530a7 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 098c9ede853312107eb785d448e17eeae7895643..34b8b0e9c1caeb8e78aa4f39bb191df54a3b39cc 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 583b09192e33d8265988ff73e92a0d676d329870..d7d700d88412d841cab51dee5d78365925b824f2 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 0000000000000000000000000000000000000000..2fd41a3409620df51d214ca4dbbc031b21e716e8 --- /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 5c9481b71278d25221df6b0657b8853a9f8b7b03..2523dacc0b563e17424907be0aaa57111fea899c 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 e0d25183574e2c4d49567f4e9c302a02f7446332..8795b5b52d5a49047342e3bde403eaf1be30b7f6 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 2218e1045eb8e35320af3c128377b3447bb0f8f3..6605b94439bccba81c6b3c53a85cfe2e9873d118 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 0000000000000000000000000000000000000000..d375bddf2e6b9e29e11f4c4570ae9abfd49aa3bf --- /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 664fd21781cd0a0d63eb59e737dba5e92a6b07b5..96354f1d81d0958c5ec90821ddbedad486b40bfb 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 71bdf31a98d293ad0376b6a28270568f18949635..3247881784e458f8870ff298dbff31e00b71177b 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 40f6929be4f0cd48a2efc87e956264fc0ebbef6d..566059472c9f214fc7f129b393aa34efed16ff89 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 dccc3acbf4642e5bedf3802561aa94dab4f5161e..32f523750004f7b1268b595fdac3e9f06b811535 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 ff094cce05fae7d092d737a3a3b87c7a28491ec4..4a10ff39ed0c529ad5ae111ba6bc1825dd958860 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 d95361dcd83d4249890e438ac5da03e25b851df7..4091e7ece50185fcb9a6a4068805ae1f979eceb0 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 6e67edb0b820d4b96529644e5c038775dc902e85..b58657a5ecdb59804aacceb19c9177d9a88f24f6 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 8157cf8d263e836bea1ec374c2f3a6102517ce31..0239a3c4d08a0b02e0826c017153fb73a7229f6d 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 0000000000000000000000000000000000000000..8ad9cd6e0d791396919e687df0f90c4a3ff9ad41 --- /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 574e1dd2f8b8636f76cfec560948f79455494439..0000000000000000000000000000000000000000 --- 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 ca634ffcf1e0921d2a3462ab6d29a1dd9dfb2057..b42d473b8025f8503946cce3aec9701458657446 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 de32b98e5d2f71ad7a503497c7825db1e4c61f4d..d10e10b1d91ccc5b00348d42d13b866038e424e1 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 0000000000000000000000000000000000000000..f1a6ce6333137ada435c64cb0df26909144ffb7d --- /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 7581c10a01d0a6c85f73df238e0f827ff7466d62..43bea22d852e91a890eec59b8374327532b4ab75 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 29d675e180a3f691363f70a90908554284e7fd0f..eb15363d3c32d72d164020f2ecfb640ca6e57fb4 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 0000000000000000000000000000000000000000..9d3f76ca3e155bb77447e0a155c21d14c3bff820 --- /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 3fb35bbab09850213bf7a11c7f15aab7aa8c1e2d..725759ab758a89e73d772cec5d0324d80edb2a54 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 b8da332b919b453c9f12a5a5b4f2f9568200a82e..b09287682c01c66192e727c20bc7954305e3dd58 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 ed7d978671798b10e04603d7152010988fd1d480..44c53c231c81249d753bf141cdb573799952b0a8 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 ee309d39f8725b5f61e65614d09d7878677ca1ee..e6aba7a10126545a5c8faeb88a6e6b02ac7a0460 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 0000000000000000000000000000000000000000..285ca5b71d6eef446f58ca3b9c2179294df6904c --- /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 d355d705a24ca193f3ac163f13b437cafda92f52..363be2cbb35718da21dce149ad7f2f690bf95fea 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 d57512ebdfedd4b113a5159e3e09c6038cecb76f..13cd0960d07cc2d180ad0aad9806b84c9d7dbf9a 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 0000000000000000000000000000000000000000..8896830b0c22acc22b3077f394d7af6496a07a79 --- /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 66ae1c0d87f7022ba8c724f3805747692a246c97..acc4b949ab57ac2e3c3170d17704463086f2acc5 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 28a1187dd184c431310cf88071e5c2076c3d1342..7d0cf6d85a1ae0a2bb9d9954486ef0d721d2faf3 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 b48850738b72250cae6bfbd3f4e39e9162368b53..566d03baf3671e2bf12ec2367ff6db043eef84e0 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 a13714d60a948c44bcea823587b661042e0b4137..02981469e1066ffa491d13e706f9807942278e52 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 51abf57e1b7568b4da7433e388b14214e98289e4..864d05626b6737cdf76d5cff2db676220d1bbba4 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 49d92fbde908e052a388b588765855746a05b681..0b9714c275da3fef85e95f12afef2c1af3c59d91 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 7126e7255ef45e22dda6f19e39f59e9d94ea1c64..309afa4ce9d028b7e18a079783792918ff4c64b7 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 13cc3115d50e6af0b2105a5e266561c2e0f4e576..9b96e3d7b20c2aceb12354f8fb066d4a716905c6 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 3b79c16ea2c4271fe10fe0e0f2a09381275d6906..88dbdb2720fbe7228a53b28c5432748bbbf13a4b 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 925011077805b0ac3e839e1992704f3d273bbbc7..3ff12fd57c06683f79afb63862b07ecc723780f3 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 0000000000000000000000000000000000000000..ffcdde9d87f22c07175629060334be9919340e37 --- /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 8efe26c170826eea66f04d5159624447b54c2f9a..7f6e6a6dc573747f602eaa44070379d2d52bb302 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 eee13a10133458c65702e22af8ce6df58cff4478..e21b919cdf8065af1cd0c350ec84b85e848fe9bb 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 309da90c5df133482c9bbb827188f445b42072b5..e6746dc08287d5f3978273754a73ae62fc1c8d9e 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 6bc88ec82fa270e357455da8073190d0bc9cf774..3b0b1bb79117c8c3d7af88e34986a8b464dd6068 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 e0d256f57019a114f1f60d132b4cd3c51be9b7ac..3f17dafaca1557e536488d4fca7574da4289c8d1 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 0000000000000000000000000000000000000000..b7f2e2c00315db4fd01cbc474c55d0ddb99a6b70 --- /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 0000000000000000000000000000000000000000..e0c57d7c34d6abd8918ee293f7e3d8d4f905d11f --- /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 9f9692f8a014d115a29456ad6bb09dc3429e8aad..ded37943e51df7cbbdfbba9c413421b1c718d358 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 9dbdada07d494000f576a3f599195dd8618a1606..c5e35d8867c867988db76f463b914d0d43e04f75 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 1dac3f6b853aac7c2841966cc12e992f09403f1e..b1bcfe869f78184e1e2c7866e610a7fd4385c616 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 0000000000000000000000000000000000000000..dd23504d3fad8246082dfb8bbfb18db7e68161c8 --- /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 bf2ee04cbce98d702c3c5b055bed2b66d7d25444..0000000000000000000000000000000000000000 --- 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 3ed650d4ae73c5295cb938ccd2d1e413eab0f4cf..4315a5a7547efb0640042db71c0ccdd5beba6485 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 + ]; - 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 - ]; - - buildPhase = '' - mkdir -p $out - export CXX=g++ - scons PREFIX=$out SYSLIBS=1 install + 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 ''; - installPhase = ":"; + configurePhase = "python waf configure --optimize --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 + cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/ + wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 + ''; - 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 d838d29e8be1bc1942e038cfffb555bc70a747c0..409a831727bb399a0e760b651ca1fc02808d354e 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 cf554f83c8b071bb1883442f2591a08b10232661..4352e2e133a66a288a17fa2e3ac3f1afb1ee8c19 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 fc2453869e55007572bc04c5ad12fdc87e730d25..39f6ae0ded4e1b9e906875219ad709bb9707c99b 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 0000000000000000000000000000000000000000..dd9b830be841bd4dee5158b3e8ea73d55c5461da --- /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 0383a1ce0ad56ed0c3f63147035eccd47f3e2c69..1c8dc56de61c3f372637589c169e76cae3f430cb 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 be6970f01e16091f239ca18cecf2cc3d99e3c89e..269b48aebb8f20b8354cf6c8479d61a018f8f451 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 17d53a621ca6193ab228ac893eade52b439a5521..44b0e9ef0d796436115ccebad7c85b3b21aff599 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 0000000000000000000000000000000000000000..73138cc269d0428ea127df38ba5bb9059b14400e --- /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 6b15052769beb51035507d182f7be46993f51ba2..2baf69cef4fdf89133ebc6ce1c4f166f634bcdeb 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 72087c76b05d59d98cdff3ca21bd505e08cc4208..ad52e7b2d85c5d737b7650a399d6a0a785a84028 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 324a0b0bebcbfb2f27be82ab850d71cda8b66b03..c09d397eefa38a946bee4289a7d8b5669f118de8 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 1e163391a3973aef207f7988f76188762b4d09bc..26ea2c7b0b2cf0488c308084d3b4164fe1532522 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 74ae3dcf22bb39c0dd4bcda914cdebfe4a15ac96..5356d4ce298a8f7dba6508964351a728dafd037c 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 48b0b52c5ea7db8465ecb444b7a28685968f3e59..08aa7e017b21372499d331303f9435d2b0af4bb8 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 b684fee37d56c8b9946e622da1a1b0b9eb8afa97..04393372cf30f50633651bcd3e5a0da1863b1fd3 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 bd21550a64cf59f283fb0558fcbfcca6d8872beb..ae6d9e0c7e6041acb4d821970041d61419ffe419 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 f14e2764211eb0cce08dc88cab1a594212757b73..3edb7ae6793ba779e6d52575bd4aadf8518fc0a0 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 0000000000000000000000000000000000000000..6db80f39e2cfdfa4c2943b59077a5bc1e294453f --- /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 0000000000000000000000000000000000000000..acdda1799d03c59fdcdfa094be845dfabe7557b8 --- /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 d5cdffbed952f29aabb79c308fa5d3898a6e14e5..67848cdc804b9d58ec006fc7975f8ca121109441 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 0000000000000000000000000000000000000000..2b1b28c5a849bdaff08340ee87baef88b00834a9 --- /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 0000000000000000000000000000000000000000..8cdd8738e2b302b54cf29f13defea7e0aca3375a --- /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 f2f196acdd851dd8f81bc0a1511db2806fb6aa5f..b8a283125fc468ec79168df251ee4d1e30cd020f 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 b1df008398db68e0981b460c6bd905d990bc5352..d0394b72eddc8ea7cbaf1532025d89b59a8f61e6 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 + ''; + + nativeBuildInputs = [ autoreconfHook gettext makeWrapper ]; + + buildInputs = [ alsaLib jackaudio ]; - preConfigure = '' - ./autogen.sh + 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 255c63a5d6d2b39853f1ea32c23ff15f8839b1b0..a18ef97dd60a229d4f8d244159c13031a50bf959 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 7cfe73c9c750705d5a987f6a05e76561dbed90c3..b851517b8724b0432e48edeb8b095c4a877c05f9 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 e04ad9ddd14c9115357ab5bf4d37573e9abbd913..c70842c399ad6c11b742089907b8f2b4d26bacfa 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 c865314cb175ae49690bd6cf2d4ca357de57232c..ea8ae88f022e0fd2dce11d3c3d3d87a09418b6f2 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 8c73928c79a421191c8cb47210a2adf4415a9b09..f1d3be317d178a557b144488ad186d9d0d8e3074 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 aeb90c09455bce7cc07ec5c101fdee6dd72450b6..7704397e6d0a7622a75dbd0c4fb3b311eadc495f 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 c93c4c8522565b69abe855dee6d5c2418146eaa7..4037b88ecb7e1581a9cf661552c67832bd8218c8 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 0000000000000000000000000000000000000000..7fffa77b5a399d19833c69c687df120d67933feb --- /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 698c8dc0ddad2d20c9654564c74518102e295edc..df0b98cdd9e49287062ffb2857b1b00b2b785080 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 0b8863752d2af947e05e45fdd0bf33611148ec8d..69f1eef9cecbcea9d4e2f891c173d86be24fb473 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 5ae5603b4dd604e22c33c4fe6a66d5760b775ec9..ea9e0eaec936f8d3dd8fa2ae2e8c69f5fddf82aa 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 598c42199bec9511c88c74ce319f5f0f5ed23091..d4c6f24d69a38abe7a2c95a5f4428d6a4dc66e20 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 a6e53bafcc79032d04959ce8c9c730c2a9b93afb..d81e0aae56d525c84279ef5787b86128ec70f0c0 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); -+} -+ -+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); ++ config_set_string (config_get_instance (), "SeatDefaults", "config-path", 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")); - - seat->priv->displays = g_list_append (seat->priv->displays, display); - g_signal_emit (seat, signals[DISPLAY_ADDED], 0, display); - + /* 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); + diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix index 0b5bcccfb21a06467fd614f31d2a41253db7dd08..bf2c34b9318e27b20d4dc0dd54917f4acab750a8 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 f6811dbe668266b6ef21dce6f193adbe303fe9be..5a8e07bfbf07e3d137661bf9c10925997416c3c8 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 3e22cfd0412d3cb45b62f1650b210df48cbaf494..88b539d29f5f000a2a3640d42da17e63914ce2e2 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 c558b483e97bc77f9c53dc6e9967734a5a778d50..6ecee37d21e12622dbe71b31b11763c902aeba80 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 da92c38d0780a4659e924330ab359d0f6a945a16..ed96e689283326918bf04f374460f3f81409b52f 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 0000000000000000000000000000000000000000..3290041178ef3c494c15dea757e43759b34a72cd --- /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 0000000000000000000000000000000000000000..7e9de1ed80b5ef80e1cce9122a915e8ce9db37bf --- /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 0000000000000000000000000000000000000000..cf2bcc6e30b955d8b9374e7325fe1ad8722e0733 --- /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 6d10244a87956dd3102daaf1ba5e34e65ccc6309..b23c6da6123c8532d17f88c02b2b839929cf0da0 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 e0373fca5df544c88a1d85e64a4fe7a00f1a73d0..3ba848affc0deed58dd238f7781212cb18d15165 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 4b2692a5e22a402f2221eb359298a683279a7023..eae338d241de081b66fa6458894476dd76e1e4eb 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 7bd39cd2b4e0ef051fd026d684e6f51b2a1deb1c..8671a926f67731fa6bc963ac5f7f15175fa1b10b 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 0000000000000000000000000000000000000000..a832c7d5942cda5c3cb1caf1ffc262f028726f26 --- /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 0000000000000000000000000000000000000000..353215a5d48573e5c14b2ab9b4f871ee81eb6409 --- /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 74dbaf78dac8b7e40efb6d96bed6665b7810ffc6..c6301bd8a302742d4c0eb622eb5a0084dd9c663a 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"; - 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"; - }; - }; - - idea_ultimate_1301 = buildIdea { - name = "idea-IU-133.331"; - 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"; + 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.tar.gz; - sha256 = "5cd88b8effc5e4e55d999df1cec6f54c53b5adf0b88e49400b3a185bef7db13a"; + url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz"; + sha256 = "9e28d3e5682b037c9d6190622ab2a47112fa792539083cc7a4cb24f3f7bf7d22"; }; }; - idea_ultimate_13 = buildIdea { - name = "idea-IU-133.193"; + 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.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 14f9c1eb0d4904e1b809a7d0fd2c2b4f22e711d4..b815b05234717b737a0ebc675d32b081d9ec6a36 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 f1fd9adbe86a2684124eb7f9b0fa2dce7cd125d4..5a2afebdd5cf0a67f23b186fc8b96d31ef85416a 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 0000000000000000000000000000000000000000..234ee1f065e43947fabf952b7670c2ccb22e3544 --- /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 cfa44d9285cc327e5c10244ec7323977b5c03d32..c7867ce22af2702b3b7afaec7c779281b767eb28 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 0000000000000000000000000000000000000000..3d9dec0d8f8a23c6b073fc3bc629440dfa40b5d6 --- /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 7dd4a0519ce4cd08ecec32f59fa3fe19d6f8e9b5..67317490412989d4210582bb1bbd8b3f0fb60f62 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 0e73162d33ef930d2d02f64c365623f4ab96d1cb..ed508784813cbe0d08509203e22855dce754482c 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 0000000000000000000000000000000000000000..72e8680505372bd0ba5309818930be66f2532b35 --- /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 e2fadcca345d247b48b02e3cb1a02cc44ca4607c..c7d3f094016407a295d1c54049f605a15fc7cda4 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 4dfc60bef7694abba545e07381b3b976be566341..96e4a06965c106a1a9c457e17c27a8e2a695726b 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 66a7f334dbdd468931ebc21e33018debb1d6fe7e..64b1f5b3b2c1be04c7dfcb3da77413752cc6b30a 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 766696265812f19e70e85ea296397ecf02d82a0d..d4983ca04d83448c0b2a4cb6fe7072536b2f07ca 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 0cd3402796659f43fd62308a713dbb5488aab820..4f52e6dec0fd9cff75e99e6effd0ba29c683370d 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 0000000000000000000000000000000000000000..62efaf1e29dc97128be5cd47ea8d8b82f560c638 --- /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 37265c954e834783da7142d7968bb91cfbca68cd..770a7ee8212bd18f8679ab9f75d14cd8f8a26dc1 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 af7d9e3399b01f03bc69d7cb46ffdc48354ed10e..0f8d6d45f1286c0aa7749e944cad9ee7c01f449f 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 33d52c6645bedd8888b93d8593bb1c8a2fbbd3b1..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..e553875f756cdfdb050ef65f177bfcf0a6ec5823 --- /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 37905f8a73f6e128b3b9a9c80448dbcb8241a899..478a0ff7e50cd4d280b262100b77c7c6cbd28ab2 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 4c8a7ee5f9b67601e80efb79ae3fd98e2d6b2ead..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..bc538068f9e3dec56d6ae9e4fa35ed51c9f7e7d0 --- /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 8920d243dbf0b793dab04d622b08c8bd934d4b1f..9f31d94ac7fb2977ad407c4f654120addab2f5c3 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 cd5388c1b88ffbf106f9e4c406729cd3f130db08..67b91fd685709b0e0ab21fcf8b9e0a8dffd47b11 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 8748c808dc077c2d2a72e6afcfbf427d940e797e..f63f41a8ed105f97a38e59f8ad629de926f48463 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 a1238fe3dcd961e37eab906d0f41c1e335670f1f..d831df5d7b660cf56047f30b1c0579a2b97b96ff 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 257ee681db6167ed4f6f55605c2d1bae2acd6183..61e3f666dca7845f40cee6fdc728212d12b41df0 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 3b5077a14e2afdea59b76781a078e44208f6fbe5..3d95dcd81ee84a5f401b15f48dc884e1b8f195b7 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 0000000000000000000000000000000000000000..1953f951d1695d3dcf14a8059f7f2050e3ddcc88 --- /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 0000000000000000000000000000000000000000..034a147b787465982c57640574ef979609b8dce5 --- /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 0000000000000000000000000000000000000000..51eb7704216182de4eb6324aa3b311d6c798d003 --- /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 99e1ec1c169bc97279d20df3e2a16a834c1ea1ed..aa09fb705f1c0edc36d754391c95edb9c10d9616 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 7bba42152e8c217398435f739033380aee4cc9d5..1414310ebf339ee889ce06ad9f3030231aea70d6 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 50aa92f8d293b7f18dd28d674ef199c6efda9b05..570699fb619e3384563b60a43aeccee3c08242d2 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 9e20be0dcbcde1a3e44c146b0e6fc26939ddf1a4..118b56c55b0794937559b4db1b98288fc0cf7399 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 0951340ee94526dcaf3e36f9eb4e5a0246622f5a..2e9cf46bf864892811afecfe0515c74302cdddbb 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 1e16e22c0fe6725e003ebecb7c855d2c8319a41d..c2d8e7979e45e067b92c793ff6c5a21e64af994d 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 54650d395c2bd6eeeab150f6334be180133faa57..3247cb609fa6f7b365c21cb22da783014fbbce3b 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 0000000000000000000000000000000000000000..937025c0840372b00575d8b20940e1d6c7d891ff --- /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 0000000000000000000000000000000000000000..256d337f679e8337cb904123fb2eeefe692a8c57 --- /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 0000000000000000000000000000000000000000..c35a2c7ff821fc5bed4307ae80c4ef6c265e2354 --- /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 d5ed057f56b8b3a3e9533c0778f726261a56b028..33d8585bb2dd686babe13180123f051aab215425 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 7af8cbeccc63fdc3d394060a075dbfe7c20a4c29..4db4e4b109162ad595d6aa7e002ce8536c703db2 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 b394719611de397666d22ddae33c8822f1ebcea7..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..2e9d74c2441d6db1308a034ce0977be12b888b7e --- /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 08d2b29a92a86a4179234d065f84a65d062d40da..1a0dea586d0e7d8c0c086eee619339ca286ef527 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 f7b8a511bc66e05a03d7d926fae5c1005805bdae..717d0a012a2c892e17f853cd908d75e1847858f5 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 0000000000000000000000000000000000000000..311dad4f64876ddc48503e79ad16b6ba2878d969 --- /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 cba54bf8013c1a8714acbaf350daf918f0b5f614..7ff253fd4e8d5090d9f13e2283875a4bcaf8d4f5 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 0000000000000000000000000000000000000000..a52081077509d5a1488e9f5a6f21c20585c4e326 --- /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 6e5eece5d34de7f6d456e5a707b62f38e98fba39..b347f971ee0f724ac9fcccba33dd9940c3d107f8 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 24edc0e128a7504b8ff3a98fa88439d0043f1d2d..fe4c0287fdd2b787c1ac96caeedf2577788a1bec 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 22587a1bae04ca3126bcce5e7096938330a1a81a..3e652c717ec43e9cfb57489d6ebbccd60ffac308 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 0000000000000000000000000000000000000000..1a79af7cb577d2372d959bcb03489814cfaa8799 --- /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 375a1ae2419a3c15d5ead43190a0a3d8f7434415..fc089f4fa5b7d3728f29572cd0e7f936d369a655 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 0000000000000000000000000000000000000000..0a0b26f6e8c95e3cdcd714c19c6032c68c093e91 --- /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 bd86501c30e24f3250f6c5e0362e9978d027c1d2..83c21da0e542fae2f5f26c0ed6f1a003e5960099 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 2394d116314e16ee258ec4835a9d022def603c87..2f140db93973271e430524ddfb5be7d166344dbc 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 59bd4888e4a6202f60d29babe71fccea5ef62e6d..b225519f4868c84084d38a75e3f1bde257738dcf 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 0000000000000000000000000000000000000000..9295eaabf3223462249a8310449a3adb700f3ada --- /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 fd2e7c3ac42660c8f4f397adf9103e5c8bf73be2..1ea4f06c9273a757c4f5d16ba0ed301556aa2703 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 6d10cbb8c21f6c33825ea18330fbe9378f10b024..e6636415b5ef39bae0fa7037222534ed1def10da 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 17b86910de0721c8050ae6b792e9771ab0954b9d..ef7571f5d14f2bbf4af8e95fcf1368a089141f5f 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 0000000000000000000000000000000000000000..a33cfbdf159ac708be75cc0d92fd036528f6e24c --- /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 92cd0de8b3121c913bb48849c26f13e26e4ae764..3e972f672cc25a636f649480bcabe196e61988c6 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 0000000000000000000000000000000000000000..f71800979619fddf5d3f52258cfcd6c60b9e5185 --- /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 0000000000000000000000000000000000000000..dc258d653280e8683ea37fde7903889fc722ed12 --- /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 0d61d3d74cfbb9236a9e9b5f3a2ec0010d10f0d1..d4ffe2a4afd7c2a8e2efbe9ad3c08ef057c8f0d1 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 ae983aedc6790bc383abebbbf2713f7c381f79ce..88d6e7a7cf94a04c2ff70557f38b6484c2e00087 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 0000000000000000000000000000000000000000..e6e762493883c99af5629ecc1e12321936caffa2 --- /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 640ace40277d7bc42921c2c599afd219663296bb..2e3ef9f0d10ec294774c7650c6412f74b44196d2 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 0000000000000000000000000000000000000000..636083218fa56c2d3fdf1828a2a42910b6b29524 --- /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 6d52f63ff6b42dce46678b91e5ee81af761b8a1f..7dbe723d9eb2bc71b4c7e0862c28c376f666f02c 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 41575ce35a699821235808697af42168bba0eaf8..fda89f1cd3dd764d7f44aa1c4c9a13960ed3167e 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 42792ba8f91d6cc204b7909fa277cc2bf7b7a267..651cfcca40673360e22d8daeaa74e171d0fa9abf 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 d0aebb872610ea5cd8e66ca23dd9f8999b08f22d..1c296423acd6fe32d71d604054c69ce6b533aa23 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 c01d67943e5736cdc2c492cc6896fd6ce9d5542c..834b514148b62d18dcfaf37902a52566b47de323 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 0000000000000000000000000000000000000000..a92e7e32f0488410c349221ac497936a05a5832b --- /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 0000000000000000000000000000000000000000..c337cd329c925bcbdd2f567bb01ba41b5654d88d --- /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 0000000000000000000000000000000000000000..65c2ccb5ff0bf26f4c32188f31d8af0e2f4131e0 --- /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 a8c10e1a30d6da06b90122e15457dad05e87cb71..0000000000000000000000000000000000000000 --- 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 7eacaf15b625285cb22cc389ebd0b469d36ada82..a7aeed339e242bdd9fe37d7c8b975724e64072be 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 1d050182da339476381401d8a12031e6669e89b5..ac2f6dd7756fa7cce48d1238cc4faf4961d48189 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 0000000000000000000000000000000000000000..e7bfa8ded50e91a4fb26f07822310188fe4a0944 --- /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 00e1e6cd28a16ff4e614d596bf43096bb22b7c85..933882c940bbce0a8e16305120a98673cf7b5b88 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 74288657fb350844db2c8f8245a8d12cfd84487d..f943bff7bf0c3b4489cb87c409d32640f9870c6b 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 71c418f168c4392ffba2eb1e2e5927a6d5e03675..ce4894e6c0f15b95c7f77ca18c17fa090207db6e 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 895ebd7911bebf59eee989d3f084bf9e45204fdf..d0611d5b6024c2dbb59e2522837b8a946b36c482 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" - 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" + 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!"; -in stdenv.mkDerivation { - name = "btsync-bin-${version}"; - src = fetchurl { - url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; +in +stdenv.mkDerivation rec { + name = "btsync-${version}"; + version = "1.3.87"; + + 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 87cdf673041a44484cd746aaf5bbfdd3ecbd8ecf..213e75ee6efa46d4e424b77f87d9c8d3ef191527 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 b7a30ef63f7db3b9ac393dfe82ae6f2ca6831c75..49b5e2b42215aa79745cbe57c9097ee70691bd1e 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 fc84f7fcecc29749061e286851f98095c0792902..79402c31f8b66c2b664ad72f87fc612f45edb766 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 0000000000000000000000000000000000000000..0cf23f38b0f0d886ebf8aa1e7afa19686f59934f --- /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 0421a8a6c6a8c9b36691656ff41791b95961ae6b..010dbd168a8d0d9fc22ef9fcc2e2e49e39747407 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 142e5a65df6c4b423b163d34a50869524947ca5c..61db2656a409319bab78fa923008611e4cf3b082 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 27363482be09a1c1d53937f9f91060bdde080e96..b45fb4bbae75b882cac7dea10f0f226c82f6716a 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 bf4c7f3e7d222ea3e48e1f67d4f647df68f3e5d7..6a00dfcd8c193bba82ea933f751fc46b7bed4d86 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 84269a290e9ac43f754ce76fe72b6f465836c810..ef2c69422b6266bac5eaf40fe4ca7187ede1d37e 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 e9babf787bd16b5766c30ce94da2a8144419bd51..5ced048fe6491adf079f54db01e8ce1027aa97fc 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 7efdf7ed015ebe0364f0db57351a0ebf16616ea1..9b9d9ab6db17693c00e9c82356406912f52c5e14 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 b2ca7c42e76c0a7cc5c1d09083ac0042237d8257..d3135e0be8e394d0bee714e2d83a7b6bde195abe 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 d4d95f7e5b99b3e80b7630b3bc43e72ffe237d89..a78ab7d27f720d4ac23e967528aa447fb539dc4e 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 66bd28424c0e9192d5f1a0702a2dfd57bae0e382..8cda5ad5762fdfbe8408793d127665c8c51ba034 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 4f7d3feb8ad6d3afdfecad2935bc421810a47650..e1bc4e977f6a061772d040c5f38a33d3efb66e0e 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 6ee1735f76c7671d89b11cd173fbd07082107216..5b6b2176d47e681613580f1020c4e8a82f9ae587 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 7cb1abf3153746e158967e99db299af477cf781f..51511621dce6dc45fa8fb834d0a0928fbde81483 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 4c6458d909fd9eb3e416722fa184a65f9a1c18ab..81b4f5c01d9a85f5039cd264a3d0d53d58a6d0f7 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"; + meta = with stdenv.lib; { + description = "Tiny externally controllable webkit browser"; + homepage = "http://uzbl.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; + }; - inherit buildInputs; - configureFlags = []; + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz"; + sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn"; + }; - /* doConfigure should be removed if not needed */ - phaseNames = ["addInputs" "setVars" "doMakeInstall" "doWrap"]; + preConfigure = '' + makeFlags="$makeFlags PREFIX=$out" + makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out" + ''; - setVars = a.noDepEntry ('' - export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11" - ''); + 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 + ''; - 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 - ''; + nativeBuildInputs = [ pkgconfig python makeWrapper ]; - installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\""; - - meta = { - description = "Tiny externally controllable webkit browser"; - maintainers = [a.lib.maintainers.raskin]; - }; + 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 0000000000000000000000000000000000000000..6cb52be775c6cdb5989684f3a91c9b5e7721c4af --- /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 ee8e4b8434a4b04a3028a113013495912c07f1ac..8e1e00795d24c47a75acc24bb5b4b521d4b4995f 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 5953111fad5965e5a52e9693c2dc80d2a25541b1..5f046f7b7328f0525bb4312b29c45c8c906463a5 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 ef2f16e3193616b3d63917e5ae529e4d0abf946b..f6e86c6289cf082d3725904ca54d221ac7ecf271 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 0000000000000000000000000000000000000000..61f2d0c6e202940585ee9d0fac4c6f6541c052c3 --- /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 029a6f8e633960e5fa6e17047c2a5f6a54476e04..e5f18f72cedcbd4bc7b793c2afdc6c504e0e3786 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 17e97d92b89794c2b3adbf02fa6015e2d2895215..4390360ff9e8238fea8d7e0e3a3701ddfa2c23a3 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 b7c9a76e151fa139f9796250457b293de4053b8a..a8b4cfaf92663547b290dd0c352395725da0c211 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 276df1ae7a158fd073dd2bfd1b463fea445fffbb..9de14cae6f0f61d9d1b198759bd4d52f68a7efcc 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 0000000000000000000000000000000000000000..e6dd6569a55f14177f3cbd970b5bc5ffd8dd2b19 --- /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 0000000000000000000000000000000000000000..9163cecd175b264c843e077a7b300e4aecd3376b --- /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 0000000000000000000000000000000000000000..bb2d2d39d25a5c8d64e4b6f73fffb2a97418324b --- /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 03cbb1ce073762b01c2ad6a1497754b449c6efc2..4e176ec56dcba40129cf2f552da4b07e0df87afa 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 d0652adcb0d6b8a03a85afc89e34206b8dcb7545..6e6fd6d0eb6cd853bd6e0e7901a3ec470a56e6e7 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 2401d796bfdc2f4d7a2aeba5905c2ce1f18f691d..a31a682abf88978e651f5ac1be0c4765edd79a37 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 ebd84ff47b89bfaadcc456cbc6eaf8d18fced31e..20a304952a7a81d33b959fdbbda7e6364ad8d44e 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 0000000000000000000000000000000000000000..51639f6050dcde4f176d5e039978aa13a99e8813 --- /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 b40632384c2bd0a50002a72695c4975dea1f414a..b886896c071fc1a8c84121a8b2a6e10e46bdc6ed 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"; }; + patchPhase = optional iceSupport '' + sed -i 's,/usr/share/Ice/,${zeroc_ice}/,g' src/murmur/murmur.pro + ''; + configurePhase = '' - qmake CONFIG+=no-client CONFIG+=no-ice CONFIG+=no-embed-qt + qmake CONFIG+=no-client CONFIG+=no-embed-qt \ + ${optionalString (!iceSupport) "CONFIG+=no-ice"} ''; - buildInputs = [ qt4 boost protobuf avahi libcap pkgconfig ]; + 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 093b801401dcaca8d3d011028ca63eb95c961e37..650e3237fe417c8fd6c369f0449bc16d0d2caae1 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 0000000000000000000000000000000000000000..c933460af43b967752afd4cd66a286939ac1565a --- /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 0000000000000000000000000000000000000000..db900f9ff256ba9c92054945ae155bc5e684f129 --- /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 045e6557730ef7cd36f026b5c7c9f7076f958790..bbb3561bae970e90be408861c4af649a2204f90d 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 b408f20b7110eba9a027797ead3d319cca23baf8..e53fda08911157e890739346d2930f106dec05e9 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 2f739b056d4fc218d0a9c0ef6b9e1056a1a34466..57ea62485310ea630906ab3281ceecae9fe301d0 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 0000000000000000000000000000000000000000..794f6fe430879be3348ed9eb7a497d75763e5baa --- /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 d4e3aa91cc0b93c303c29237d020cb0b9f523704..3ae4f2a74838f620b2b49cb936796148c22caca8 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 ]; - - 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 + NIX_CFLAGS_COMPILE = "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${libxml2}/include/libxml2"; + + 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 894b1363cd0485330053f28cea9cad739416ef93..968aba20754aff4aa52e57ac7a526ed0f3579a57 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 cb439ddb4624426b78d5b3be27e962c34eeabe0b..29fb558c83d6643b41e5f9e5ca91d86b5d0028c4 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 8f89d70405ad0f341aafde980b86543e0f523c9a..8785837fbb93518e3c28388c8905620b3e2b9899 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 cce3d23d194548343f6b1a56233ff342b4c84719..6c133e9dbb4964109d5bfc1129614fc02303d31c 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 c8c72160b3412d4e43d29e1a0d799510dc51af5b..9ba9e3aa3fc47e56f52ef4f4dc0d9e8332da9347 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 b2c9b7c3e73a7c5add42d14f1385d12cbeb4c9ca..619925354f0665c18997ab9e132723b1d90a1bea 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 8c62951976431af38c65aede80cd60841f71a221..1bf40eabfae4c9ac79f29461392b28f288c11de7 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 0000000000000000000000000000000000000000..d24437aabb6b634fec8b04a8609d2e84b683c055 --- /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 ed2ce4c12c00c8e75ea92d5eb7aaa50cb4e13e19..256681ec54e2653101722eed1a06cdb6f0da73fb 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 5447b21009ffdd01d7c731d5198a540a9789aca1..5265faf87b6fe4c4538d2d088f762253ba7ba7ba 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 35dd2d2a7d028046aa9451d6da87808570d67b1c..744c8c01efa5e48945fe5f949332d26abed928e7 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 0000000000000000000000000000000000000000..50bc61eeeff072a651b72883f881efabc5cad5df --- /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 bdbb53d1675f158e5305b0f01ef3f9beebb1fcc0..752a7824e6f0520272dcf417ad81d42d5c24ea40 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 a43d8fa9d11d497234269c59370f5bcedfb71d7e..dbf886de978686a018fb7dfec5aac4e7b0041755 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 137e7be019fac21368103422e14b866811a9c080..e87053d53264bc42b1687ec46c728de4eaea5425 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 c8ebe6e2b12c7a2c556e5b2feb514b2b49aa02d5..ee0475d45ec0443193fb7ad4291bd38d8a9931d5 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 0108f934693e53a6ba7b1ec07efb112e1ae4095d..014aa5bf0fd2f1d88a2c61ca8d65b7652e6c83a6 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 d531a327d7cc9797c9c28c5e342349553cf99fd3..5e5c98e826019ed4c0668f8044ca510c547801a8 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 d55c66a26246edc9b4878e435066c74f9502e822..87e3bfd531261f2adf0ea5d27625d53e8e7b9e15 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 7e9a44337cd9f5b0089053d4681a08c0bf6c99d8..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..60ad4949f076094934a289f22ed50dc765a3a4f1 --- /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 0000000000000000000000000000000000000000..eeef03eb161935edb095c8f2a8967e33b9f731e0 --- /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 6c8ec9e68c53b74fd12f77de4e2423e9c56887ec..4a58c15941c80efcd23ab1541c3693bc7602727a 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 0000000000000000000000000000000000000000..1817c43ed7bef9e79e3f4e70f503c10ca345fbb2 --- /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 684ac321900f1ca5b77a38f383107b4a037fb9fb..7123b476f3560ef5047ccceb0b2da0523ad707a7 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 587f41fe998b9410522b9076e10b9ff06b1622ff..0a9e0e4735d090bb24c4381a448b251f73154ef9 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 0000000000000000000000000000000000000000..1e318bd8a79f039e671b8ed50b598260b63d8166 --- /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 0000000000000000000000000000000000000000..a0ee505dc97f2711799ddf9e8a01b73873371a59 --- /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 0000000000000000000000000000000000000000..8265acf6e4a7bec085e464de8c7a602716f1607d --- /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 0000000000000000000000000000000000000000..b3a56643448cabd4f499a23370312bb60065c3d3 --- /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 0000000000000000000000000000000000000000..b6efd7444fe9db1826efd0be7f70e13bc4ea436b --- /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 0000000000000000000000000000000000000000..53a045ac6f0ee11f9e0115c5d95611879c30ed5c --- /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 8d284176d4447d14d1ed96d60692777d45ac48d2..0000000000000000000000000000000000000000 --- 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 03ba20b11dae991d50bbc6dbad161c41c366dc4b..0000000000000000000000000000000000000000 --- 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 8bf5ddeee40d57e4a235943720438ac010c8547d..72d6999fa1d7ba181cd95b4bf3ff49a0dcd8b01d 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 3cd472b51c259c977af524aeba09bece591c89eb..15c826feb6e7174607c92dc4729bfcc4a6f06cb1 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 85d5b3045be004302dafa02c0b3e8774f8730821..905471cb76b80dd4f0befff2e792fc006d465df0 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 eeeb4a1d1e53504bf52e7881a8a3c61e1a6af093..9aa7a81727110b1af8d677f57c6ae5221fb6ec95 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 65ff561ee9ef644c9b2b02ca0db2bd865bf00469..23338c01ec3ed0f2c9bc021fbb0f4753a5e61ba8 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 0bffad95d50be2f1a5403dd3e15ccb8aaa145348..e5bc233affa09e50e30cb3efad50fc3de49f4efd 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 8f36fd485dddfd27a404cdc655fe1ad9d311c485..544fe4ec55f92585ea455c1bb46729df3ac1e715 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 0000000000000000000000000000000000000000..5cf90320adc719a6972edf2ccde6ee9565f8a80b --- /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 0000000000000000000000000000000000000000..332f42aa89cc608d96d99989af11a2ace6fd4b84 --- /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 1eb114ecd8ceb1df353f46c243631989eadbbced..2ea916052a387f746f90515469f4ffc1148283cf 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 5c1910d6c6f6ce824d926b07c24bb86239fa1aa5..0c0f3c4c19c0336c61d693582391de5398b1d51e 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 2a669729a9c609662416cca1329a074f0c1658d7..c2793190e892575a0030f9751139a0a59fe87a45 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 ce4d9f98596f74ce9aca7a3d694b0c4287d4635f..47fa80cb901389fa1ffc6f2a043d962677b81849 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 ee1de54a4fb0ff67f2465854520805c2c2385ae4..96e4631889c79a6575fb9319c4d0f5ef817f621c 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 28b64c118bae333e8b954ec9019719d77a768d83..dcf76160ec61636cbbc052e514bb2abcb6a62050 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 0000000000000000000000000000000000000000..846752f5bfe3a887bdd66b84d56579cf5817764b --- /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 dd8821711de16fed87ffab73948ca9e8cbe8cce9..861030bae99443a616c41f3e111705080f6e67fb 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 26a7826d4f0cafba1fded7ce298c11f098b04905..0898345c30b64a700578ee54b2b78d3c47cf041f 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 b9a053211faeb1d0e859f32ad46b7ac20c7a0d7d..28484322d351a7ac827bc3a97ea2356cfee853f6 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 6518f32ef7c6ae4525450fc96bb4d5d20ffa4109..d4b74390c4ccf7eedcac859e1a32513ae96fa404 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 0053a1dfafbe9fd076825951baa35197766249f9..b0cfcaeb110804f9f04a0aea73e5e54d8a08a60b 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 23009efdbd54938b78b8a17ea8bdd62fcc8b3da8..fd9011130e3480ea76959a73b3ee49f122b991c9 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 3b6d19e8fcf2e0f4bda36a33f5d77f639919d354..13c554767743095e63f1a335ce72e95c6ea0454b 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 6373eb9f7f97131c3b9cc1844c79d1bb5069c1ae..60f5d8bb9e08d8acc20b4fb4947c46265084fffc 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 fae0c6a5ed6bef6fe1f3d5adffac0e0ead521f1b..5fdafe8ac2aa5a1f0e93b183ad77423a003d7af7 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 9e8024d7b1918ea9dc2043353a271a4df56509f0..e89cea6aadcea0ce59d5e140df4ee3dae4dcc05a 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 5f88bbc74cc60c1a67e5b020d8da5062d7a8dc27..90bca9b07124cf4f8803e5ae917efba2ab035707 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 67346ef8389b1cbf1454e6e4c864c71eeffc4aa2..e699b82f2b0a996093b32faf321990cec76350d3 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 0000000000000000000000000000000000000000..d438cb1bc6cdd738938bc0717a17f7aa7597bb61 --- /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 cbbb23b04a05e4a82010d528eb809990c6d41db2..9bbc7c9e73958b1add0d3b4f1ab3100794769a3e 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 d706d16241cea8f7cde989277836d1488f904cac..485d8c54eb366791104b2adf423a5a61f95ecdbd 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 5dde88076a1e1df8e70227314a13b8c4d9c89e70..1058243c0e08d74f70862f8a3b53542d02a1b2e6 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 0000000000000000000000000000000000000000..d4f650b9caf5ee263dc3d0c6d093429b6ef8437b --- /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 8803fe0a78685e343a97fcf41ea5a90d09e8c8cd..0000000000000000000000000000000000000000 --- 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 4f2addcc99b0c4c218ca13da1151239d643ff1d0..ef40d614a397dd58674af8413871a5abef103a42 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 0000000000000000000000000000000000000000..9f00c6b607915ab9022b3c02af30407bb26b9a5a --- /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 0000000000000000000000000000000000000000..114d4228be2dfb66647365f4bc8152a6465696bf --- /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 0000000000000000000000000000000000000000..17bf282a459ade2c5a5c6637cae7b06bf047c819 --- /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 5ca6c80dc7c1dddac07aeb0b84d740a931e229a7..528eeff7e2391dda345baaa22a7fee4600eb5a37 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 a20dc0cf590e3613bfa9f80750a9d468f94ef04d..903b9afdc4a75d447c817c4e06a540042727c15c 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 0000000000000000000000000000000000000000..7f53aa07db6031459fb9698759122ff12d868292 --- /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 49207ad066158eddf69ade692b465140d72dfc75..0fdd78fe106847e7231399921f86770e12afff86 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 cc82158ae829d593144ff1cf1a011af8d6ed02c8..68b61fc453deb67dc18f8cb860c9bbdf99fa5204 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 f8b6aad43106fe5bf10414969d2339181a100744..807e3954d6feae0cf05cd908b1a8017c5a27779b 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 0000000000000000000000000000000000000000..3251127c7a1917daa22b9c9dbd72f98feb4129ae --- /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 d75cca14b3a031189360fd5c708734f074acff9c..2c5b53c596a6bdf6bd66b2c82f7bcd2199a98059 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 0000000000000000000000000000000000000000..36c381bececc30a14182563249fe2e2c2d5c6a08 --- /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 0000000000000000000000000000000000000000..8e5108b44109331578786a6325df4dd6165f03ab --- /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 e6d0b7cb40dd46b09465c59c9c4db11b182233dc..54d697d4275108c7e28037436b93a2284d6f2fe0 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 6b8cf5dc0356fdbd19297c0c160e9fcccf55f61a..75afcb41f808445fa8f845902ecc2b2b8bc46ed6 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 0000000000000000000000000000000000000000..40385d9d36af6e5f7d0e30ecc924e79efc0398d4 --- /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 dcf5b4e50097d7e60f75d93f217ce042307c2fcb..b6e28d444111feb1f6665dc1856a729966afb69a 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 fb2dde66442f08f429e2a9751d186124e202e668..dba0d11b425ae9137bd64fe94666be36f7f796ed 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; - - buildPhase = "make"; - - nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ]; + gtk3 + libvirt-glib + avahi + glib + gobjectIntrospection + ]; - # 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 + 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 + ''; - installPhase = '' - make install + buildPhase = "true"; - # 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 + 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 - wrapPythonPrograms + ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas ''; - meta = { + # 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 2ce134090fe5dea8cad352afba62d37b04a193bc..266ab11a39fbec62bfdeb9fe8c0c810e1d7ad62e 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 805e0b867d97418aa4221d3b7b614979b7fc9743..5fc75590417057ed0c57800388ff55da90007058 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 5b5e2ebb68a72d86d0839e302939ac39322f8887..0000000000000000000000000000000000000000 --- 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 82eb9e56935f63e6fea6d40cc4a57fd449b40d65..b69dd9d8a492860f87ad0f1f907e5fd046233fe5 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 f6d2dc4cfe5e05706e1cdbef267f59ca7b8307a1..ebdc7b143c3787fda518754b4afb592e3b1e45aa 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 487a8a5b387a5982cba251212c320dd30e0c201b..56a5f0e3e2cea4bf25c3e1e62df088d61c938bdc 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 b8ecf81f7fc795608f06a58da7a8fa07f71040bd..9b9017420c020accefa07edfdf5e595e78db8985 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 913235287ac5575f3558cc2d86739afce10cb808..4880029119eb694521e4202ae4efca91914cd004 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 54ef0b274aa81f0e7ac67c327ffa6eb955012257..c80c8f1c9db0c1ec23b24c925b206c844ee37519 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 8756c4835b29ad80d68dcb60af6e360d3dbb0ef3..2f3aa14c6a0fe389e5fb7688d40c1cbc76b028dd 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 0000000000000000000000000000000000000000..d84497e8019c7635ee2e4e72d4f907b6c752e2e7 --- /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 6dc83963d19ddd8e113838fc5961f1c06f7b2dce..ed7ca30db132c115219d46f6372711d15f4399bf 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 05b8194697e162e17d7e8e4b6459f7c364c8b9a8..4b2a5a1182ea64f244861080299511f1150109c2 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 74365a527043895d98a08e9c708bb71e07389436..f7687651eaf6c6a7522d42fbd024da5763ac3c26 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 5c7d92698cc3265d72ac9976cb77d8df5e3fe457..9050cce6ee8fe296b4da203a1081b588652953e5 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 e94e4185936bf05cc5810d6bc3296b82090aeeb5..a17daf9a2c5753173e0fdfa7c984408d970268a2 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 8d0de055c756f7acda54f91832d33d1cd88da972..6e79f82eae867e68af1cc9a9c94a24fff32ee167 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 30625a758f8c893381de89543192d9a28164b25c..228a5eaa58047aee5eacba498d7d172f0d180f31 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 294d9a43ef7d58a01c484190b39cbc202ec90746..af4a6700153c21941c04ec920201eed986593197 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 c6c294d5504241f3e6940893c686f1c722a180f3..c4841c50d94c8cc0911bb1729522f1fc1192798e 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 5a5bd45a8f812131cad74c74458a65e98849f2cf..2dfa315d168f24f97b0a764e66b45031725d2ffb 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 ed7ad0a50b735a1460cbf49bc6bbeabc1bbece92..c79680712ee7ce8e65dc428504be5ac87782c755 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 992c0f9af371a426625c18628f0ef42857f748bc..8e8b0b90945423eddf3204a1cb28710cfd563fe1 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 0000000000000000000000000000000000000000..5a7b92b5ad7db6c71db1f1aad8a8a563e9ab998a --- /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 513ab8053a7e9e368bc4737dd867e40466c477e5..298ade21d1f59b993ad8b41a8e9b346d13a9a093 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 be90011f49397d9de168d57bece97b8bb607f418..6dcf68a324a28cf9d64d2a02ca517f8eb837edab 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 0000000000000000000000000000000000000000..ddc6435a5a819aebf447059b3f8c8733c0599408 --- /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 4ddf0706e03e1f692c4f9d30d7af8ab55540d772..0582ca5530122032e1ce746c8112cc9cb064d144 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 f6cadaf02819065dcad5b8a4ac859a3874b9ad1b..17b261f9840736b9fafa3bdfd8d02b9876dbc742 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 ba7be86a6c1e7c5b156e66c817070d87bac91f20..168b44ad74c753cc4f7abe54625b886c3c7d66e2 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 3d593f0b6bb7a12d27f5065c2d2b9e705a1cd7b5..6288935ec2a5612378c28f100c422905b9bd38de 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 0000000000000000000000000000000000000000..8ce5c0488a7d5de7a320ddf857af027570fa81a8 --- /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 39f069cd57f05f9d63dbe8bc9a4fa3212a9f1da7..6b47bb9cae906f694a4ec7b27fb583f529810175 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 88bafd84faa30f283cd5021fdd64e73a50a5fcf5..8ebae24c67333ad512739637f5a547ab12d51a20 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 0000000000000000000000000000000000000000..7175b408b02fd223f1de953c5c1dc51a491aa577 --- /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 0000000000000000000000000000000000000000..754900bfc337a6aec939cab63169c8f0399f7f73 --- /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 0000000000000000000000000000000000000000..4b8abb61ace5714ba8a3dcc6d6f2b6fc9cf48328 --- /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 5ae2e7b4fc9b677c40adcf7153002e6b4960a601..c08a6c3a265fc07d75c33a637f67e75498501811 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 625f93c874f21a52a00037392b4d6477aec74e31..274cd05024bd29ca030edd3791c0c246e44cd19b 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 0000000000000000000000000000000000000000..47afce5b5a379ebe10b0c9015736615bde57a6b5 --- /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 0000000000000000000000000000000000000000..fe4b5b7f6c2427268c19419348b1810fedb6847d --- /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 0000000000000000000000000000000000000000..d9801428a887750cd3890c1d255b5074a6e425cc --- /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 0000000000000000000000000000000000000000..48d569a6bd3e3a43bc591d87e2cf0d36d9100bf8 --- /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 0000000000000000000000000000000000000000..f9b44d450d996eae9b4d656fcab073b8b79d83a8 --- /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 0000000000000000000000000000000000000000..10690bf6b28778b1c4e0aac2dd7346ac1e3e30e8 --- /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 76905b7b77be3bc4e3274d52d994772199dda119..0000000000000000000000000000000000000000 --- 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 c143ce1669833f4affe2a35dd7b1025051add6b0..bfe454a49fe1a739a8a0276ef24e8ee6a0213db0 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 c54d8f304b6286284810160b28dc4ee3c76d6789..981aa59369de34e579104c17d4939495f57e1cb7 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 0000000000000000000000000000000000000000..3d90da99f08883c622f25f027e6b1ca983d27068 --- /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 0000000000000000000000000000000000000000..ab2f389b4f5fa53eeb5a97fda974fb96d418abe7 --- /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 e158b48988401c11a1d860113c01918b41a46dea..d3cf04e835d16a19d5eb2f1b281b2e5ad7187b64 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 850dd4e6c5af986b573d5e41fbbded1047dc85f0..534fa11f0467baa6ce15b70cc50b720242546a66 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 0000000000000000000000000000000000000000..c397a9758e2c47f7eb2fc70a0012ce0ed5ba9830 --- /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 0000000000000000000000000000000000000000..a73f33dc61820189be3474ad5ba9b41fc7aa7f30 --- /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 0000000000000000000000000000000000000000..6398306a76ae72057b51507323512fc72f179973 --- /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 0000000000000000000000000000000000000000..f67d961ff58f6785515d2bff9014bd9c7942ad9e --- /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 0000000000000000000000000000000000000000..97796f3247633a47352a86146aa1c96ff92f1b9c --- /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 0000000000000000000000000000000000000000..7b8133e820ed08139269725f6e2b07a5a3784ed3 --- /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 0000000000000000000000000000000000000000..feceaf05f7b67228839cb96ced9d25a7abdc07ed --- /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 f060d81bd00e6bfed4008680f8e1054c82f857d6..25dd95c7f19c5fb7107c4e589d94b4309f90e603 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 e839d793365d3bc635bc1f85e02cca6b7aa4fadc..54e397fd4746720602cad900550b7f79ce652f34 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 e9928aa73cf1d2106b4df5c99be20f8921092a0f..aca30f87dfc4eb1c6a8a616a88d745dc38a4010c 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 b82b8a50992afc35dbf8d1c6c49959881dd9ef02..0000000000000000000000000000000000000000 --- 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 742036f16b3fe4ff8e0eff9ec000c9ff828e1a38..fc0c4f2a6bc012b3e6ca4b2eba2e83fde57bae60 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 2c401856b7f0f77ac5c88f2f75e6ecec817efb35..d60a0ff7480cdecc790e228f15eabbcc90ea8366 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 0000000000000000000000000000000000000000..9381f45105df290df6aefef3e30f25301d57879c --- /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 4ee8143bb2b99ea03d2d6ee2815c82a3083b41d4..a6236f1674403cbf45e5648593fb94f999b27f56 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 0000000000000000000000000000000000000000..051bc9b7fb258d1a825f2061af1d26f264ed94c3 --- /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 d117964b1961deeeb889d6a9ae6fcbbc94753d3c..57f19dcaa3217c973f5ad160bc976b1f29a6d7d2 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 0000000000000000000000000000000000000000..9df3a7ed01e5921f54d580ee344249289466ae48 --- /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 b4282c410073c01fe7b5860235555efaefe2c184..4b50840534cf5bbfc6dff11157084da98c364415 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 0000000000000000000000000000000000000000..9e7d0cb3da0aba261a4786d831e810771f22dad8 --- /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 0000000000000000000000000000000000000000..12518c634c4f0eb12f8650d37931849c0b6b3670 --- /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 fc7471019bdf26b06b0d5c0f46ccfd999fb42296..47dae0486e9328a2b13bf203bda4326d35648939 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 7b7588b95284ed27ec67afc2ad89227c251ad108..a1fdd47128209969652cc724c5a3b58538b210ed 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 2955c5f399b9b87e49ab0cac17fd723b978157f4..3df5ab40eaf8947458e728fed5cd48dccd9ac8bc 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 e4a0752eb4ae21d0c3497a6bbf5ea55597c6300e..429d147e728b55413d75ec517b2810afbac38c24 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 0000000000000000000000000000000000000000..3879b81859a41428539e6ef878c1ee4fd79690e4 --- /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 0000000000000000000000000000000000000000..205961a91713ef7ba47cda61173e555b5c4328d4 --- /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 0000000000000000000000000000000000000000..12b2510dc436e938854db5077673f679d68613f8 --- /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 0000000000000000000000000000000000000000..926762defbde751642817ed87ba6a4100aedf76f --- /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 0000000000000000000000000000000000000000..f8059f952e62fda8ed6624769b872b547cca8794 --- /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 0000000000000000000000000000000000000000..b379b4b8ee97305d860414cfb6a04a3e14b12d68 --- /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 0000000000000000000000000000000000000000..1222f03d66e334841f2293f74c07dab28ae9302c --- /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 0000000000000000000000000000000000000000..7f5ad970f34ee2d375914dede3095e3c6d519645 --- /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 0000000000000000000000000000000000000000..6f68916b781e469c79f76022f60d92dd9cd620d5 --- /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 0000000000000000000000000000000000000000..334471c2943cbd1456456d1073e07d920255c688 --- /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 0000000000000000000000000000000000000000..cba651ca36a3e8785e383e23794db3247d7c6467 --- /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 0000000000000000000000000000000000000000..feb3d84b994e7fc0b3c6df2cbe25fc6cfa74e24d --- /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 474a2ccb9a455baaaa079d4692f7e3a8691cbde4..5b16f827ae0063e8051f61403c13b17a734ff279 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 0000000000000000000000000000000000000000..d7156f3d46309baed25f36024b7141c8508486c2 --- /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 14f0110e374d6242ec759baee14a93877c5951c5..dbb8da93c6cb7098358e2d09e5240695f8946119 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 a8e77a32bdc06d1432f5a5ac51ad30869a646ada..37d2ea1c0863d11c806db4b70f0f4862fb924e16 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 { +{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }: + +stdenv.mkDerivation rec { name = "gnome-menus-${version}"; + version = "3.10.1"; - src = fetchurl { - url = "http://ftp.gnome.org/pub/gnome/sources/gnome-menus/3.10/gnome-menus-3.10.1.tar.xz"; + 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 3040d817a16fd6e828010dc01b4d40892dc13cdf..8c45943573334799cdaa3e8cec8dc788b77d487c 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 0000000000000000000000000000000000000000..7b94d0f9027008ea300d886dd148cb5b99ef9821 --- /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 404269861829248764224f34bafe4bfc19a2876e..f999702af54a8d8639c3d52c172d7d18557c6387 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 ]; - - # TODO: dbus, gnome-shell, gnome-settings-daemon + gnome3.gnome_settings_daemon + gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ]; - 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 cce0ff46ca0bafeb0aa06e1895e00fd67a5d44c2..7a50b8db56fd6ae423d6b71e33c6952cc864a108 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 0000000000000000000000000000000000000000..00974edb1db37291f74c6c782e833b0d81996b21 --- /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 0000000000000000000000000000000000000000..554b09a1e592d505f53301e8fa615298c0c9a7e4 --- /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 0000000000000000000000000000000000000000..9cb041bcce2ceb230ce24acb6cffb4d2a9d745cf --- /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 0000000000000000000000000000000000000000..cdc4b732b97e4c820dbadfed973b9184a27efba2 --- /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 0000000000000000000000000000000000000000..91fbe67957fe44e7ff069aab463eb417fdd0855e --- /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 281f985c12110a5ace1043bdb8af3cf44342b571..541db5720db44d035cca77d09b05920e6e009493 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 8faae4d21486177d5dfb5642eb5563a5506705b0..08d82b7ae9183c50215d8d1774fec4820e804749 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 0000000000000000000000000000000000000000..d66863a2218491e5e169e9c7d8ad32fbf8471c5f --- /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 0000000000000000000000000000000000000000..976b0eaca45ba4b2942dee6ee91e2b39141192e1 --- /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 0000000000000000000000000000000000000000..2a7f270300a49c096aad898facad939dd61f8b3d --- /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 0000000000000000000000000000000000000000..a6bf72b2fc7eb7a87f571f487c562716526ebfc6 --- /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 0000000000000000000000000000000000000000..9a1a45e0d1ac751ff7c940e37def8b6d86ae37f1 --- /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 2775e87720cc5065dd76c3f6ea130fc38489ab19..c7ed541082d5a97f1e5302adf43e016909824ea2 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 a5d196ae1e32654fa6f7c62b2a10f04c95daff26..28c7b80c0d4f77cc391f583e8884fe321fa3e8b9 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 0000000000000000000000000000000000000000..1156474e5a7c101da85ddc41fdf15cd40e1e69d9 --- /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 eeec43a1b65f7c10af2f2f706495b2c64d7f9b10..9cf8426104bea17eb387996a48b7de2ae1769f0d 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 beb63f80b80e3423beeccfd91cf6ee24534be617..0000000000000000000000000000000000000000 --- 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 5cb865bcefdfa273f5cb4a57db48d0dc0466db39..0acfa9f36aed65a3d489b01d5cd8df9794fe354b 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 551b9db1246b91d856ea5aae7c6fea6837919dc2..2041a71a82c362a52c6bfe26d4fa4540abfc98f0 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 0000000000000000000000000000000000000000..089b5cd03c1330940289cc7c9f9fc9902db11436 --- /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 0000000000000000000000000000000000000000..f1b3bfe53c137c9c45eebecb4771588c27034844 --- /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 0000000000000000000000000000000000000000..a6acbd192dbed4767fc58d71ccbc5f0e5b6b017d --- /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 0000000000000000000000000000000000000000..6ac3592f6bfd85c838aa52419fef4c6b2ac3ef7e --- /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 0000000000000000000000000000000000000000..65668dce6a202dee2c43ed1964c397e4bef217f7 --- /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 b0e522c0f2998e5f30a9514391c91fc162e4b814..d98ddc716dec740e194254b61685874201fc9664 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 0000000000000000000000000000000000000000..39ff3838f4a8159bb489dfcf90b12dc2074d4ef5 --- /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 0000000000000000000000000000000000000000..c5060bdba75c6660403122b726df0eb32854f002 --- /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 0000000000000000000000000000000000000000..b58aa99721e24a8461776d17df67b2c71be31636 --- /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 47656da099256770421fe2522089d88ba9d72a00..d29ea3d1c692763415084e39c879e6fe7ae50ca3 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 0f48103c93d4374a1277658cb242cd4a4f890986..41f1fb0097fb03c0a0aebb20ccf8096cf427f916 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 3e952f99eb0125344104681b6f82ed3f36ed5a32..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..86942c13f34fa841ad5cb4b3cfd74e408882e8ff --- /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 629ff4a77002fe8cdcb07015ae7c1ec713ec6732..7ca35a8255f9207740d016ca61da953d23c8292b 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 ]; + libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg + gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ]; - postInstall = '' + preFixup = '' 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" - ''; - - preFixup = '' + --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 0000000000000000000000000000000000000000..2eccb9a32cf99f55224f5ec573cf3737ff684167 --- /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 0000000000000000000000000000000000000000..3e68c04cb3ab868edd59bc325d5761e35f54adae --- /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 51d259314a7a3abc9f8a69fec1f7d8f39a174234..0390fc133687d787e73413494b8844ea985f8ea5 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 12d37ab5db50efc2e0652c45bad627a79a9e66ea..17c3b4fa0a8cffb04dbad38c096320827393d132 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 f56e64e2d158ebf8a795831c624dc2ba5a12aeb8..0000000000000000000000000000000000000000 --- 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 b1abdb8afec7db7e8cceead75bb03aa04bfba2a8..0000000000000000000000000000000000000000 --- 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 a478dc975fe9579e66a0348c7216a0a2876a09b5..0000000000000000000000000000000000000000 --- 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 bada0c1cb108e6e17d36547e9fa61da8eb8d46d1..0000000000000000000000000000000000000000 --- 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 bada0c1cb108e6e17d36547e9fa61da8eb8d46d1..0000000000000000000000000000000000000000 --- 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 571674a461ad4354357bfd409806aeb6e0d2fc71..0000000000000000000000000000000000000000 --- 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 e98705da889e0588e733b154a0d8503f7209b04d..0000000000000000000000000000000000000000 --- 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 e7a7cb4c661c6ac34d5bd0969535454b69439560..0000000000000000000000000000000000000000 --- 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 4563012ac67ae49bb8dc0b7623df22553120a8c7..0000000000000000000000000000000000000000 --- 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 bd5ef67529cc871570687b9bfce04ddbda13f424..0000000000000000000000000000000000000000 --- 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 00910ab9d4663ce754f585a89886341a5dd72d11..0000000000000000000000000000000000000000 --- 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 e8790205caeae553132bf2902d3719e9e21c510b..0000000000000000000000000000000000000000 --- 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 efc1e8f0742903d58f02668493cb339d6bd2d55c..0000000000000000000000000000000000000000 --- 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 cd6f3a179c22db22da742565cd0d73f119711073..0000000000000000000000000000000000000000 --- 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 7a1aab85ed72cd359409808981279eed91421f56..0000000000000000000000000000000000000000 --- 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 c40b0bed3105da4b02c1c0f656b663d1965b43ac..0000000000000000000000000000000000000000 --- 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 bada0c1cb108e6e17d36547e9fa61da8eb8d46d1..0000000000000000000000000000000000000000 --- 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 ac28edb8dd98c93823fe5047c89e527a785a08b9..0000000000000000000000000000000000000000 --- 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 bada0c1cb108e6e17d36547e9fa61da8eb8d46d1..0000000000000000000000000000000000000000 --- 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 d5f38096a427501c60fce687a49d40767b06ed31..0000000000000000000000000000000000000000 --- 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 ec003732344fdca2bb2bcc56faa23002fc85588e..0000000000000000000000000000000000000000 --- 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 d6aa9515b76ca24372f53a7a8b6ecd52d158cc9e..0000000000000000000000000000000000000000 --- 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 1755bdbce76d24b3bd8a929b7a592b0a83c5c753..0000000000000000000000000000000000000000 --- 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 b065ae610095056a344e20f6efdd19d87e711eca..0000000000000000000000000000000000000000 --- 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 bada0c1cb108e6e17d36547e9fa61da8eb8d46d1..0000000000000000000000000000000000000000 --- 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 1b7405f10062e74b42ab0405558a7db5caa81515..0000000000000000000000000000000000000000 --- 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 b6c36ea9c158020f48b1901b2351d51d75fcd24c..0000000000000000000000000000000000000000 --- 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 500dffc809e9af48b59fa2d16740f90f4940e361..0000000000000000000000000000000000000000 --- 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 2da3603c3becc9501540ff82be373e394aa3b7ae..0000000000000000000000000000000000000000 --- 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 20925842a32d10fb30557be5800f8489b55d1dea..0000000000000000000000000000000000000000 --- 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 fafdcc55a1f0eb2721db44b2e2b8d0ddadd368cf..0000000000000000000000000000000000000000 --- 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 4c45be6b4fef1ed582ee60c792a41926dda1b5e9..0000000000000000000000000000000000000000 --- 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 0574241353dbbf78ce73cbf65d1cc3af83a125ca..0000000000000000000000000000000000000000 --- 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 1ab9ed49df566d630d6d905e2469385859906a4d..0000000000000000000000000000000000000000 --- 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 5b4f7643bf4527957b07a346d5694521243d7135..0000000000000000000000000000000000000000 --- 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 67abb386a48cb1e673d2211110df7206c8a0727c..0000000000000000000000000000000000000000 --- 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 9862efe0b582c44fe2721261d93804dba87ab46d..0000000000000000000000000000000000000000 --- 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 ef0f871b5a8b81e18a586ffe13f14d1b323e7625..269bdc0d3a7285e96abe2af8ec25e82b4901ecfb 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 0000000000000000000000000000000000000000..d9571a4d83c01a0a5887da2a281e703e04f95e94 --- /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 8a6e8e167517bda864e915481975f5adb7bd2a63..9424a762c8f21472e080e1123d9fbb68a028902f 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 33a4d8c6083c1c61597523b4ede5c61a885d5c5e..86a8b7c0a193f5aa9cf534889a77360575907b52 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 c9fab80bffb4396a1591173b08948c26b107d3c1..fa6406043b1b3dcaa98c43f332595543cdf0f590 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 0000000000000000000000000000000000000000..17236c067b9d37287d0ebc8d16c7f111816d89b6 --- /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 e8efc87775aba2c4157e4443dc7fa0964307f13d..63bfa12c4bb4357e15b956b4bbc6152f0d6b6a9a 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 0000000000000000000000000000000000000000..6d3dd46df354b5e42170697d3ce849fd09bac515 --- /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 b564e339eb157ae417f3a3becfbd329a9e0dd964..c2a256646786c872ea79b894559c7c176a95a837 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 0000000000000000000000000000000000000000..a10582d7142edcc8d13989beea5e8c5492a1b1d0 --- /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 8a6e8e167517bda864e915481975f5adb7bd2a63..6b4e1ba0ad876b5a595a339519a7cc70c394b240 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 a2fef65d75c0357fd3c64eac0dc88bf77aef1422..1c9706f4f4bf5e446318e31b5e95d6a548046b80 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 6e559ad8a6c2f2ed4cc2897f0a1977324ab5d75f..30e68934acf3499b1754ea467b7ce47a0a533437 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 0000000000000000000000000000000000000000..39e9c10a0fbe0ab442c5f48671931ffd77d1b82f --- /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 0000000000000000000000000000000000000000..f585461af381407d6098808ae25303f312da96ca --- /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 0000000000000000000000000000000000000000..88757a6b91c7ba2d6287c25a07b7d882c07e77d6 --- /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 f3b00a5b968c61da2f98f940767277221f3c7f70..6118cf558bbd7cf9c48dea5e20f24f75ca5cca25 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 7028b9db228d4e7bf5fd4b2f4b2ab1b2c51e8f96..84cb008056e4f8a18485f59b0196b5025cd458e7 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 689223e314865637303e250e1f4c3b53121d07f6..48eed141ce64d9f124811d6baf893191004aa38b 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 7f6973c054bbce2f198f5620a95de5749d260eb5..64e196452e318dfc7313f59abb33037ea42286ed 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 18a3703426c9172810b59142d1caf2046bf6ab2c..03e9dc9a007fa9969c50ec966e5d0af75b86ebf5 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 33ec3df6452d4a200b287e59c75a7db4f231dbd3..f0811d335a73af201b97bfc7d64706342f159fb2 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 0a3f2a85efafd4ea8781324c9b50f7699204a420..a80574ff67abe3114794ed1bae30d063bbc54c63 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 d129686b2de144bb140d1c807e95bcebd2380e3c..4474c1d9731eef85347c2140d80a9e52b6a24999 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 e95b686aee2038df4d804961777dbff18d14fcf9..72b267e43c5ed145bc85459314fa59d29a509c3e 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 0000000000000000000000000000000000000000..a8cd2e44957a3cac62c6043984cf6f23bc4d4097 --- /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 78fa8119583e77e8c5173cd3880180b6dd81a6d2..09de79ce1c052d26a21bf5e6dbea86a2dc3bc245 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 0000000000000000000000000000000000000000..37906c32bcb22f7066c408c8f4a3ce49feaf7796 --- /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 18458cf6f0bffe394a71ed73cf2986d7f63e96b1..fc7b0578c27bae87fbccb9928565560237224430 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 ce0a13b969df67c72855a4121f5e90a33533b086..0832dc2121e2955cc158ae233d813b9949bfe2eb 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 4f73472f63141b1aca65ac793c0b09e2f687a629..2dc07d14a0d966e3dd50f62ad2a7d1ca8465ec65 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 91976b840011eaa0a635d5332942fdff47ae16ca..ce30d11fda316ffb90b1f06412ccec7f29e875fb 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 fac9974baf18a4f4876b30810692770bbdb703db..f36ccef9b7cdc80199f35e2a63738e688e4573be 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 555ffe43c451b85f9c845605bdeccd6871022a35..010dbd5d62329da9c91d01ea36e2cf3a5baedcb7 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 0000000000000000000000000000000000000000..b6fd701ac1297bb947c4bfce5e628799093d4ebc --- /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 55bf8309b2a9faf9cedb342136cf7feb089ff764..18c6534eb5c9a537ad797813ddd578a595bad021 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 0000000000000000000000000000000000000000..e7c01f98a8c80238f73d371eb7f55a3c8b5be16b --- /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 0000000000000000000000000000000000000000..aca1691eace6ed93a35f70fb3d269136728fc1fa --- /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 4386317309fd5232c330f1581662e85eb95b3a17..396adf9ba7521bb0bcc5fe4fc4d76250a287718f 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 0000000000000000000000000000000000000000..7e29eebf3b792170a7b6f2c97af1c0622a043a0b --- /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 0000000000000000000000000000000000000000..5d7b1db224ea57f85b1385e1e3b129a1bf40f980 --- /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 0000000000000000000000000000000000000000..0330511a258b64e78b1fbddd21edcce6c7ac2338 --- /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 0000000000000000000000000000000000000000..e838d84fc5eb74469130ce3ad208fe8edcab9a9e --- /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 0000000000000000000000000000000000000000..f65960cc337b92f86fbfc4fdd1d8e2f67fb1b718 --- /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 0000000000000000000000000000000000000000..f986da2de2148d47854af469d4988fa8f767fbd6 --- /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 0000000000000000000000000000000000000000..7d8aec21ce6c301099953246e79636163fe720c9 --- /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 0000000000000000000000000000000000000000..4c6bd65769f71451fcd0b8646d12ee9c9cdc1b72 --- /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 0000000000000000000000000000000000000000..80557e827fe0cbbc4e8903886fad08cfa02ca5bb --- /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 0000000000000000000000000000000000000000..cb4857965a34aca6e9fc117a4d664aee5f7f519d --- /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 8fdd9fc8fa17ef57c4934614812c4fdad451f236..d92e225482065455d00ff384e15244a65b8d9ade 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 dca60d3d4b64882f9714fe399fe472a0e93c4fb7..4f364648d238b64b01f453d6950936165e9f6684 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 7ec1612b1e5f6f0fd1bd96a02c09752b44f5eb02..ca0af9400b11261c96507def3dfa20c8de41af43 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 2bd6f5037db850c3c990c0b7017c9854bc45300d..550099830d91b144ed86148047fa676419ea765f 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 0000000000000000000000000000000000000000..ad8132a850e546ba96f689f9e17be1948392ebb8 --- /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 85b6ea6ac00fe9f5f7d2312e57daeb34a953497e..215c0a3c613a692a3b16f2f51c45e980f961decd 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 0000000000000000000000000000000000000000..98bbce35a97c1ad06bf449fb29140deb5d0015b2 --- /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 f96b0df2b955b6a2763b5cc4fabe9125c038f774..d707fe9038feb26ba2497e07e8f3b64eea9781b6 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 1ddb4b8ea5b9e1751d86ebe7cb096eca50415d59..644c7c48dc9746d542f7085cd32bd0dbd0e06672 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 0000000000000000000000000000000000000000..5933682c70a0161ca38fdee4b420bdb5f51233e2 --- /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 0000000000000000000000000000000000000000..6e46c3e3ab4fe8cbf8e9c0647a2aca30ebb53018 --- /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 0000000000000000000000000000000000000000..3ff1a286ae582ce268f0faebe1e44e85476f5639 --- /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 99feaf3e4f99dea6584d6d2c2c9d6e5fe308162b..ae72becd1e499ed973cd3fba5d6bbdc7644e4b0e 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 21971beb80a01b0c0b3d27aee02be1804417f29a..918512e2b2de241e62a7264457bdba3954107e99 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 c9fab80bffb4396a1591173b08948c26b107d3c1..fa6406043b1b3dcaa98c43f332595543cdf0f590 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 0000000000000000000000000000000000000000..9040e7006fb756662c54cec1d7f3ad7fcf9fe302 --- /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 adee87c831697f1fb60689f5ac9399fccf7ae8b4..626948cb24d1ee3bda84536a7ff331ebd0af7a3f 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 e1d8a5ef9ae7422e2035ee23c0f9548f8684f493..d51996e3bc1eef6f5b7a9bc6ec58b7fd1451808f 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 b54ea8cc623f6bc3be6d44beaa2ca375b5ce6f72..9badeb5370e82123c59c4c1f1e65ca92620907e7 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 c1a4ecd787d868ee00df278b856a633025ebf926..598c503809285b4ed38e9af6c300f586c7cc680e 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 c8916bf502cbab9fd735d1c6bf7e8b6979084695..6e0d9d3e7e714ab7fe83b866d64b447edaffc85d 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 baef68728487185d33fdb65468cdcc6bf0704ebb..df743e4cc9c82e242411f649b6ac3db3353fdae9 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 a97a11c6f123da75465b4bbb51cb8688788b7fbe..0a30d8ac48b5557748ecec2170597cf009bbb36a 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 06902792624ecbe5cb43aeee14e7113b07ca7a2d..8988d072e2c8ace4c84d691b9a566ca213882888 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 0000000000000000000000000000000000000000..6b6f14fdae7827ef1afae2a0d14d8d631ad1fc31 --- /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 5f38308f6d4291d52138b209ec8fb65aed50541f..7740af438d9cd3492c8ae522915ad5ac28502dce 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 57d1bf74154e98ae7fcaf33db14cf1cc9a2c28c9..ddf16bc2219ef27e604b6f86a2b3fd4d50bd88e9 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 0000000000000000000000000000000000000000..a5ed478a879f36bec5380ffe81e576b1524fb2e2 --- /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 0000000000000000000000000000000000000000..93c6fa07d8a69a693070ad4bb6cde0a63f24f212 --- /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 074fc4f334f66eb878f25bd00c52a6d9b48c7046..c1c71b0dfe21ca1883b75515d4fe5c7f5791b5c5 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 f68f918d5850c9c76ddb08316400e681dfd70b08..af93cb13d37a04911ebe6a2ef3b134c6079a03ee 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 539588ac3add3d2f8e1473887d3c2e33fca2ecc2..f37dae8083017b4bc5363391a5c52b4c0513189b 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 3c2a4f779fddfe30d27423b22011596994a84ed0..9787d0da929295de41de8c66f8cccf09ce475cdd 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 760a6f072de16269232a7a0f883e602ce91b953c..fce6f4a26995baff717221bcb6deb05f9faee4d7 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 0f3c4d2ef64339b02043d4e426edfe2e77d2905c..bc9f73b284959dfe0da9f2663638dbe3b7869e11 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 bb9c6d75d44634af546fd1e1ea0672cf779c7be8..1d7955045893ce6239c98528770b19b51d6531bc 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, fetchgit, mono, pkgconfig, autoconf, automake, which }: + stdenv.mkDerivation rec { - pname = "fsharp"; - date = "2011-08-10"; - name = "${pname}-${date}"; + name = "fsharp-${version}"; + version = "3.1.0"; - src = fetchurl { - url = "http://download.mono-project.com/sources/fsharp/fsharp-cc126f2.zip"; - sha256 = "03j2ypnfddl2zpvg8ivhafjy8dlz49b38rdy89l8c3irxdsb7k6i"; + 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 0000000000000000000000000000000000000000..62e08d1fa7c012278bdc696b3355b6db5120ccc7 --- /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 68a174cc5797a310e5f063ce9b5c88691113ba11..69cac159d4a5b5a06afba238a2456e24f98d7ed1 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 0000000000000000000000000000000000000000..bfb9f975372833959b1d27a5b204814880766a6d --- /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 7dd5be78185933e5b12fe3994ce637782f3b2be6..4446876ab1f84611b5434b96090f4d996caee832 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 3ecaf5cb5d295169b93fd3c61b764527c7a39529..99c342da780f706a29ff567d5ae31ee019967daa 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 357cc2634edc77f9bfa209964f75238dc8cc4a8e..5517e7c3b922d5e9e0c8d78b087f033cc7952a60 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 6b0bbb993309a5cb6ad2f80c92488534d9d6cbe2..03297fbadd64f01117660f4d0d3f5d740fa64795 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 37400fba5bf5c3a7d687381172e78124d746f376..b781fa6c7ef6ab4084a157f489cd2fd5d44e036d 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 da2d8c33161faea3e8970c127b1050fcb9a7cf5e..890122fe4770da1754f4d43963675951287324c6 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"; + + 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" + ''} + ''; - # 'iant' at #go-nuts@freenode, gccgo maintainer, said that - # they have a bug in 4.7.1 if adding "--disable-static" - dontDisableStatic = langGo; + 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 0000000000000000000000000000000000000000..bc56ac698f5ac5f23fea31e7a6f8369a47b853e5 --- /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 85da8f72bf8045355e8a9cca13242ce9097a1216..73492fc65b777406396c2ce30f3af9ec5c8f030a 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 0bc2a85530693f1f96428c2e07acf08b9bdbf33f..497a59e17fa5ab6c9eafb79d7eb8050bc945bf00 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 99c93c7a980add608026732b66dde07a11b7e08f..5a63d30390daf5d91613bd9b7c142b0f95ae5b1d 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 ac2810c62b26294e047f64ec6305c663ddaf8234..45f877ffc7c92e5ded364e596c6c99572b2ce234 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 427d21660b890884251fd83f01fcd35eb37ce284..1839c982e991ab4a88d9bf0ac5ce2e80999f5b2c 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 0000000000000000000000000000000000000000..8200c8c759e7bb58d7f986c141acf14c634b96b3 --- /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 9ed1455d23211c80356a0113c3ec51dc5a6c767e..0000000000000000000000000000000000000000 --- 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 f4f8be273679f4927b985b2a241d0b1976eb473f..cc220eb7b1c2d92a5aa1a61fe42c77f3d7a0cbaf 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 0000000000000000000000000000000000000000..cd33d3d79a705b49912517e1be1f2296bbf7ee6d --- /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 2abdc51e4c6afb842a3a9eb254d1e573c3d3866e..7b7e16d837db22a02059034de6ddff5e64ed7f37 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 00c5ef36a3811e2e29b9ee006aed67ab6e2645d4..f2b5a04df98662d2f92cccec3b9c74ff0a29d93d 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 0000000000000000000000000000000000000000..c9697bac36c77a283047f7baf9317db5a30262c3 --- /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 0000000000000000000000000000000000000000..d5fcd9f44565f2e196f02e587ae6b3af1c20730a --- /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 0000000000000000000000000000000000000000..8931c122538f2a22ff150092584de4a829b68649 --- /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 0000000000000000000000000000000000000000..de3a013e7df97314b908b01928cb63d17a8a9d80 --- /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 0000000000000000000000000000000000000000..5def344f1717dbf32ac05c93702588a6c73304a5 --- /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 0000000000000000000000000000000000000000..3bdd42f7274fc6a6287c8a415c9e8ffa5abc51bd --- /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 0000000000000000000000000000000000000000..6600c811786215a8f6d21bd5ca1ed7e5902d07be --- /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 0000000000000000000000000000000000000000..ba3c5fc51ad181e7e419bd15165d742a6a68d3b9 --- /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 4609dd0b442217f6a4f602c306c10fef4679d7bc..c32c14cf5848153bdc5476dbf6dbc200303fd066 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 7ef575ba807b55f2a0745d1de76fb61af58344a3..2d2c07c67ff74590cfb3ec24fb61d3a3084bb640 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 0000000000000000000000000000000000000000..f7d20a1e01f08ad8453cafa6bbea889bb47b8148 --- /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 0000000000000000000000000000000000000000..5e7370718ab49068df7e57e5ade4cdbc72732066 --- /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 0000000000000000000000000000000000000000..ffa67b464eca7a95cb6114fad2711c924356c585 --- /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 0000000000000000000000000000000000000000..c152d2215d800368106b4181bb77179d613f2240 --- /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 0000000000000000000000000000000000000000..60837d58b2958b0e753c47b28878113d7daf1189 --- /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 0000000000000000000000000000000000000000..18c70b56c540bdc8e9fe8a8f75ddbbd913810a9c --- /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 0000000000000000000000000000000000000000..b8e9f946773da3bdb996d13f71f5dd322d9f5d7d --- /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 0000000000000000000000000000000000000000..c373f1c1a4a27c516cb30c64a2b427605b0f6955 --- /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 0000000000000000000000000000000000000000..69ba74dddad893a747ba06b9f623acaad763883a --- /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 0000000000000000000000000000000000000000..e82305189e8fb3ceae5cdf3812de2429013edb0d --- /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 0000000000000000000000000000000000000000..de6a468b239f68a5e2edf5cae6026a70240b7fe9 --- /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 0000000000000000000000000000000000000000..262e0bff2483999d3fc13c9968cfd94a6e846827 --- /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 0000000000000000000000000000000000000000..e40014a960c467eb2a5d6115e728c5268504a5bf --- /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 0000000000000000000000000000000000000000..ea7214febe5a263fd48944874b4191fb256ced91 --- /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 0000000000000000000000000000000000000000..c7021a58f9bb81d2c5c3db1572582b42c917ee03 --- /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 0000000000000000000000000000000000000000..5fb67f169f450eafe06a562b17cf8652a5717010 --- /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 0000000000000000000000000000000000000000..7032056f7e478bc23463826a0adb336fe319c112 --- /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 0000000000000000000000000000000000000000..0a8a72f59a96f92c29b699142be3d3bf092b3d45 --- /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 38d3546d9819a43d09471a825c50f20de6e99ea7..f8ea44793de0bd827b9134151360679fc18aec19 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 0000000000000000000000000000000000000000..22eb02a0e35be4fe96f1053fc6082ac669e655e2 --- /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 0000000000000000000000000000000000000000..7b35119a93fb029a5228873e0c4fdad09c84eaad --- /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 0000000000000000000000000000000000000000..abfc11513cdcc73dbcd7592b26e74ab30fe81b4a --- /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 0000000000000000000000000000000000000000..fad11b7a123ee312d268728c53a5d2c3ebe29f00 --- /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 0000000000000000000000000000000000000000..618dd4dc3b12f673f51cb4c6205e1702ae7eb9cf --- /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 0000000000000000000000000000000000000000..61721ffad67df976c5085485a26d37061b761445 --- /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 1a8fa3097499301d72c04409d6f1975d49029ff9..0000000000000000000000000000000000000000 --- 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 c3ca879c5527ee67b0577887d6cb3f93403e410a..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..34cb63e783ecca31306aea2847d8005409742e1f --- /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 a5ff613a9b456ea698f965dab9ffec14039e1f9c..2fa986375ff8f530ff3138437432360f6d6513b1 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 0000000000000000000000000000000000000000..526986ad12c74fa1f127cf0a7ff40bddc6703e28 --- /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 88bef618f7439d45d90cc84495bb7f4d71b7d209..4ff2dacff18818a2f96df51c91a20fc7ede3124b 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 0000000000000000000000000000000000000000..74f85b1519c6ab687ef6b881caffc34449f37761 --- /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 cbbb5608a46186206dc48a6feb90c1d296cd32eb..76359de657538f9ad3c3272d90735974f4508380 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 9c0b3d1d192189ec15145d645530f1a4a83ecc2a..cffd7c3f54a4fa83216a3d4cc5cd4002b5d16ad3 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 c719abc4abc76d2c256084b1d0e8b1e82a7cf0bd..f916f5a79233226ab05b722bb68c1ea32fb4b1bf 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 d7c14e031b359e05d0aff2f7a0c51b50c8109c0d..8662db70c26c753f3bf2d09c051079192a88cd4d 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 c11bb7536be12fb93bdfb2850dfbe8d291a6f58e..79a7c8cd61f6c1af196501c35793425c4c0f96f2 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 df3e9e73af59d3866daf26a7c6a46df22335cba6..9c5fa3764badcc24574fac830f14e3bc26afb589 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 ff9f12f802324d18f6a3b4418265ddda99af485d..3e4835c8b531d2af9ea475ed2d7371f0edcbf9a2 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 f29ab93996432abf964807272e26c4edc4369bc0..50f01f4137203a19eac714dc18517c7650743afb 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 0000000000000000000000000000000000000000..5def344f1717dbf32ac05c93702588a6c73304a5 --- /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 fd5a85967ed63501b3e2e20e053929ed114b96a4..7dfbe218bb7cc97ecb2f3c9bf70ecbb9ba7c5419 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 4de7683dcdd361a05ae2c60f394e8ad46d6f791f..830fc3fa7f9a22ff4078b2105c333989fcda4958 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 bb4657d8afffec526f874d34fc717b284625e889..37acb4f6d1f25bbbb8c15e1da0ad00e109d3be99 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 a0c8b50ad3fa75e00603d6b74be1f4dd981670cf..ebdd49479e0d0766bb5883a9956c86dbb78deeca 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 0000000000000000000000000000000000000000..1500446cea93d8fd912a2b80cd07d59c029c4508 --- /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 0c653064eacf12d34af3d5d9eefb835ba0427552..36ea8981786e2b9c5a737a0143a99827223b1e30 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 1a51f087a28fcd367ece8655eb8913b42002a690..fe293fbc4b8d20712ebc51f49f34e10f47fee309 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 61655e1bd1f79d6d8e3c4d0b8b42eaa1505e23ff..2070da0bee41ba85a646f8fb69b278e2c17f98f2 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 95c37edb09a24556879487ded128e36575b8020b..38c3ead7bff218731c82d869e1b3d8128dee90b9 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 0000000000000000000000000000000000000000..fc02ab305a384e5fc9fbace74c2801df964438c6 --- /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 521933b0ed1fad240aff53ada9d7ad26769ca230..7b811732a626068e6ee69b3549608ef7a418c8a5 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 34bd63c29abfe6d209dfa0482b420cc7eb89bcbe..0000000000000000000000000000000000000000 --- 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 5f1749f33c9e4a05b77d7781a161f75b1d6b209a..698c75cfd165ca03f5c10ae2ae634801a45ac578 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 9562a0dc45222834bf5f5599b715fbf15367238a..077eaa9093b0b6ec5715554af0ba81cb760ab7f5 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 c18c81caff0514fa4d43e25584e69cbb2289a5e8..ae30d169b507bfb36b9650feaf3ee35a33c9aa37 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 0000000000000000000000000000000000000000..b7754da79baf84b22e2fea3e5356e81020e564cb --- /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 2923a8f960d19654f38c9f0146bc0ba7ee35bf4c..9a57a034ad19cf93d842cc70487512e4a40d24ec 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 0000000000000000000000000000000000000000..ffc3ff34be7028811290ec20d7b5b9089940f6e1 --- /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 70ab0c3bdf8b5d6ad6044008fdc3a2d572eb413b..3e7323e461d1cb749e18ecefd6600a2b3aec4cc6 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 0000000000000000000000000000000000000000..a3f9adb0901728c909906bf7bad1c4513e143ffb --- /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 f74ad18d5e41603a7d22aad6c830a24192c08f1b..46c0b49c3b89e672b53cb6ed5e0e8fb6455a4af1 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 08690e9507fa88e4983ed400777099fb55dbe783..dd4e7acf71f372a03cd0a2431201f0c8dd93cd92 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 0000000000000000000000000000000000000000..b1834ff7a1f2e6011cd0bbe97b1d0ac4538d7db9 --- /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 a3ab0ef4b96f97e27764ce6a4815711ed17ed4b1..bbd9e003b2c79fd8c2689a3b38391f412257880d 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 0000000000000000000000000000000000000000..be45230c8a7334c57ac0ce4b7d4ad3a3b6e8bf61 --- /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 54ffb28e2065eeb5c63dfc22f0fd2d2a4654242e..883b24889c3747e008b06ef992c533053e076d5f 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 bf60e90d634a032745c08151cea5faf861411087..cc6e34b76fed8813e3a61c58ac70f960682f5d15 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 b870522f62975506f943a4688f1dae186cb382a2..2fee7bc74df757da5007b6436c0c9173bffcb3f4 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 7fba70377d7416b1fa47535277b9ed1864d2ab0e..d51838af5ad513a6c4e943c7bdc2c54bff20c509 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 0000000000000000000000000000000000000000..95399bf76073c9eb114ee9ee8a6e178a75dee1ae --- /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 617be4f29f13646e641c76910fd7361df883b98a..eeadc3c8cc7fbf797b68b01c017ce5b3a3fd0657 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 0000000000000000000000000000000000000000..c69efd17f96416bb639b650ba1bb63db2bc90b15 --- /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 e09602e7381ed9e92b8a614a0ed278f8170bb34a..c103b0f59cde3ce76575a430e86dfcb2724607a2 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 36cb8158506fbe9dffe4fd62f69c070710dd679f..d744fa9672f144f889a0bd8ac0f3ab900c7f7bfd 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 0000000000000000000000000000000000000000..0b8774463245e77b7ba796ee175363f7141116d3 --- /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 0000000000000000000000000000000000000000..ae71b4147ab785741607de50ab7ad9d5d05efe30 --- /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 8d783a8c11ea4220db1bc3a6c588706350c93b5e..040dd7531a2b1e956c2fa443bb54cb6724db90ec 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 34af23740d5d27fc64160b0e6c6cc4493424b5e7..ccfbcfcdd42fab1f8393d975615a84171b34f4c7 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 d3eb9824989238848f0510fb4d0af6fc07714b6e..6818a996d62399b203c2e235a51168ebc08248cc 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 60884fce69d1da5ea92958cd773679fd2377d47e..237e58b5f932dcaf2b4a3ea0968f0772ef049fa0 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 c5ab0f5e5e20dd18c5df1c32f1f6abeec11d5c06..10cbf1ecfe562c35e5ece192c46bd713b95ce1ac 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 7dfc6a60a99f6179faa81969ea4d3284de93fbd0..226f792c45a47ab0f5db332d893510f13bbbfd5d 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 a69cee99b2b69c61d16407448797a83c90a0ee06..6b054aaf44b1c8001e4b5174d83a921d1e3aab6c 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 6500e602e8543bc816fd8f456185ffb99c226528..79a75708c1695149ac4cfb1ae1b92e3434aded71 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 a93aaa5a43fc2f1bb8151635d5d995d478819600..2dca2a8e1ec54251a59605391d173971b82c96e1 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 3c5855ea284f27dc13f1cb899226e7992e0a4772..8d87e2ee50dd15d4fe4c8154d8c22cb14c215992 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 abfb3985f261c6339614f90407e1d65d7938479c..180de0e0bd52de9ab31a309907f2058291796429 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 9150df8da7d42d722553364bdb3d839c3234e9b8..d1510e3423809a670ea95f852295cdc85e4ce6b3 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 f5d48df03f840b742533a3da5ad91bce82076891..25d19d089a57d49be51daa3d2f9106ffacf88b1c 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 0000000000000000000000000000000000000000..0abe3f0376b97c6de3d9a50fb8cb2093546ed72a --- /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 0000000000000000000000000000000000000000..aad3656cde8008e2d41c5cd73f603596287ca145 --- /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 5c78296af971cc63dd8bb253085aa93e49aef344..ac0b9d233fa85f918bf245653dbe2d1f940916fb 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 8af725b6b80ff60e798f8a849c0ce46e77196b07..87e0347265945f263dd1818ea3ed9004845e592c 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 bfca4a5230460a32a3e1e9202c2e21808c6f9170..f4c4220a879290d16dc22b7471b639282dde17e1 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 497909cf25c4488f53690fa89c9f2377fc27cde1..a5fd80dc0db9b20d09ae056f374959f76111a35e 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 f502df4e19c3106d5925c2f1bd4f69d912e01f95..fca4249e963da52126a658afd344820a288ff890 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 0000000000000000000000000000000000000000..fce52d479692a844b4e29c20d6006c376deeecf8 --- /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 6027ea5c3939604495c3fb033876fc260bedcb49..96c9216a371b005b07a666f3499d965d90383e8f 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 68ba7d1a9b26df7fdbdcd8665974e79b9da1dc63..6c73b17e6f4ec31f952fe22ae5782ea3b2894a71 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 e47645737b16e859e77fbe858374b4371390bf49..f21abedc1f525f787aad91f773a6e3fc7cb8ed6c 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 0000000000000000000000000000000000000000..d61c82bb7d3b7fcf7596bff78586a4f83be89695 --- /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 a424041dbc231bcd0c427b0b0a9310f2cf05577d..a0e1bcfa6121eef7bb3121a7b47d4b56296f7d1f 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 ab5737b20edee4f0d8b9135cb73e455b5580a371..c3878ef4b78961aefc371414377fd484e94d3a10 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 0000000000000000000000000000000000000000..8297dc9d5da385bfe8eb338c4e687b72821bacf5 --- /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 5873244611170d0e9b5d27a38e6777ec7bbd934b..3614d149489d9a8751d64f650a510ddc1e065c2f 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 1fc1021156d50103025b2b30b30d52bf090ba29e..0f1c1dd82e2d14fdb304019a2394da497566431c 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 2ada024414926e241a3f2ee66c6e9cccd1f51589..f866b2299c1f364077d842ca1f6d85a03a03a9bd 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 0000000000000000000000000000000000000000..be5b8b03b6382726abbddba4d0fe51df3fe27388 --- /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 0000000000000000000000000000000000000000..59de923ad43d0651ef43e9ada60a7d70b65612e1 --- /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 a802f571674601db8f193e70861541dbb2fdd68b..65489ee8c88d4c2e059afd5fd12be8c882597507 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 0000000000000000000000000000000000000000..1aa4be4fe6d00fab9388de2f1ad873646a6526cf --- /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 e90ec422661976c6f769bdc0c8cc9e906f2046d5..712f05b8d651e7bf1c86dac7354caf4038bc7816 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 0000000000000000000000000000000000000000..4a182353f25fad2bd74787389a2b6607052a646d --- /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 0000000000000000000000000000000000000000..6a0a921d8de6755899a9bbee30210810d8bb9bfd --- /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 0000000000000000000000000000000000000000..62ccfd7d3a565c7daec215babacd527cbe2e2c0d --- /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 0000000000000000000000000000000000000000..e77307d6fa5a65e67618461a7b8ae169d2ce8dba --- /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 0000000000000000000000000000000000000000..af16f1ddf5496c0513d2a5ca348827edb8e8c8f1 --- /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 0000000000000000000000000000000000000000..22e858a9d1800ef2b9deeec3106932b72301ef91 --- /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 0000000000000000000000000000000000000000..6217bc461249d19e7615e3db3c25383249302c41 --- /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 b9d48b60803286fb8c326be314dc601e41617db3..0000000000000000000000000000000000000000 --- 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 ab3ffa85cf2793756f4b3c57d9b903e76275af97..0000000000000000000000000000000000000000 --- 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 e5cf6f35a01f04d0909a05b6d0b3d0fe48c8f3ce..0000000000000000000000000000000000000000 --- 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 9fb0d6587c0f7fdde70f18b70b78a90add9736fc..0000000000000000000000000000000000000000 --- 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 a56a42f22ae5160314214bb23fdea473c0fb3b13..0000000000000000000000000000000000000000 --- 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 0a4b80d3f3ea4a4252118fbdbf7e7a3ec1009fb4..2bd4f814985399b74d4e13a77d4fb1dba3f003bc 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 be6cf442a49f974f955b0353a38463087bda2f69..9c774e802fc1336864e0087a384de5dac6477089 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 794128d054a76096ac6b3c9cfbc3152a256e10a7..ff1c9f76cd07a570a3df6d992eb9652bd1df1b06 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 cdc54ef6691614f894a865dde0121d672e40cabf..6326efe1adb8595a24d21aad36e4633103c476a8 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 a9c8c16a9d33035dbab8aea8d5b2fec3ff0c6fa5..be583e08b6bc46579c2db16b0ff90e250eaeafd4 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 a7deb9f4c278cb2956fa9bb4d771d5c98423b83d..22b6cf242c80dfd4d711799e22510fd2df1fd5f7 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 8bfaaf3ea497fd97ebe101f6ea127a256f32b3b3..2c4f8da77835d4be94f21be6f19951e773cb9268 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 edbe99cd8b0764fe559825886ec982922d8e9f72..5e3776afbc05aea8ab07da63ec580893a45f1bb5 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 0000000000000000000000000000000000000000..429405fabdaa9f994c5f6b7da3ecb2db46deac48 --- /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 7d84cf889932c1468c3954a7d2d29920351a9919..bcc3821d5e2697ad8c6b3e4bd43485203e36f04e 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 f51e3ccd3c00695f728c36288959eeaaa33c1c8b..99c823e7b29704062a45e19fa5e214acec89b992 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 34d0a4e49fe7bf02a46edb621ee9ae1c81ea166a..c43cd329956522a7727561a07c2f9d4c9eff739e 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 4e975ea3d82202a9fd72ccf7929e6523e63a411d..919972efb3c4fb1aee37ae29615694bf0f78cca1 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 6db0dc240ba3d6d1e7484f797164a442ef937916..85896cdb5e300c6936daf4668fb817225bc87667 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 c6951db228b4b5bda77e29ef94416c129c726532..8fb4d40b1dbadd801aa13042de7426903a843f8c 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 d85a24fa63ad2a55ce74f4a593d60296ee4eb0dd..ba9bb286cdfa5b1dc5e0fa321d43046d70695383 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 b2afc427b4c0efe4591a6746027b573b716eb8d1..89feb3df8d5a4cc57b6ca7705ed9498fd3513d61 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 68c91596ac5f63a554dd92d052b4662be459aa4c..073e41659312530e31153cbd1da6e5c9b54fb889 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 b39da46e4a26b9e2b421029fdd22eece5633d6be..0d8fa1bd281cda7fffd32bc3c292132eab158ebd 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 0000000000000000000000000000000000000000..40e0388d749ec20d7e074da664941ebc8b465fb3 --- /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 3b982582b54e6ab7e768ffddb990b79d5c17afbc..2ba49162e2f0cacc6ebb948bdcab22c2ccc13e45 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 4b92c6470eb1c4603fc21169839226649ac08500..39be4720eb14ea4bad269c2cbde56af184138758 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 0000000000000000000000000000000000000000..280d9aa4f1ba9d4b6b3224c2133b328a7c64f488 --- /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 a30d5c78e7f234ec4acca2ae8b806c492f9f9250..0649775ad216fa22b20ed5989cc19aaa9cee1d2d 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 8698202541649d3ff5f5e7747c01413769cb56f2..1abcb7c6943d5e83860f07df14ebe82de07752b9 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 cb9a5e758fc8892734cf97cb81d0504b10d3664a..0000000000000000000000000000000000000000 --- 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 99c79227c63050602d05eccdd513e262f655fd35..0000000000000000000000000000000000000000 --- 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 4908662591cb5771a60bb88d3365dab9ed505def..4d400a6ea7dab8d6108c22aa0b2a9a87bd0782a6 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 9daa48eae649ff333d2bd5a8444af2a0f849a3f7..0000000000000000000000000000000000000000 --- 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 35d66b3647b4968f62a71e7214f4bda6399dde08..13cd1c79b6a75c858ac7c1e7c5b729b9a94ddeeb 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 292c15361b6c6c2a3f7581740f3b8a763b654741..8750cd955a654c1939c58db8e20ce9d53c38a7e5 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 0000000000000000000000000000000000000000..ab7e312762fc155417a95bdfd9a9c90d89da37fd --- /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 2c651980eda8431c2a524cd7dc57bbfe6a0c03b6..618b37bae4c5838a6946ca9bf419b785e432fb73 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 e7bae0100a4f7341d55581b2de3ad706c0391a97..033a1def3ce7098414bb3e6d6d071eaf67991714 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 0000000000000000000000000000000000000000..f173744e5ca63928b224dbb19a7cca51c2800d19 --- /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 67ffbbc217b69a39252563e223f3a1f190068ff4..0000000000000000000000000000000000000000 --- 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 f745cb003aa213b680fdf9ab9a553106400a8f5e..0000000000000000000000000000000000000000 --- 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 94d25d7bbe1ce01093057c14c17690c1f25246af..0000000000000000000000000000000000000000 --- 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 bec4acde7548f52e910d8fabeb8c653d4c16b9af..0000000000000000000000000000000000000000 --- 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 cf8c7911f68a958059ba1a92d62348660070a223..0000000000000000000000000000000000000000 --- 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 c390b772b16d0d87e1d72f839befffb0df5c7ef6..0000000000000000000000000000000000000000 --- 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 4eed86ca110979e05245855f50b14b0cf098d3a0..0000000000000000000000000000000000000000 --- 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 cdf4c025316773ab100126fcd0307a0593994c19..0000000000000000000000000000000000000000 --- 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 9271e33cf07b882f22de51194a18b6433e7f8522..b153d91934b37db32a5cd7b35d18bb602f9d85ff 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 - - ./scanf.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 - ./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 0000000000000000000000000000000000000000..fabb6c3ec5e1379f4f0f201bfc5ab4b6066a5cf1 --- /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 0000000000000000000000000000000000000000..516f53954ddd01ff6ea6a148814b918d244f4ba3 --- /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 0000000000000000000000000000000000000000..714e49db560707f0452c19bd90c16e145749441d --- /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 0000000000000000000000000000000000000000..098643ae70f07bb5a6e60a94b008a89919b1ba50 --- /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 df7bd0ea3b9603e6b61478154d46b8cd7972ae83..f003979c701cf04575e5f65ca947223d62235004 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 ec6580942e6e359cf8a706cd604396b4697231a1..a25eabbee86eecab06fdfe07bdb786f053c47756 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 f741a0b4f34dcf558efec4305942d7f7b1faccc1..07c3c668793cd9495279571ecba63ab8b5481330 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 86829a3a44b7fa1db36d16a40410e61878425659..0000000000000000000000000000000000000000 --- 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 0a98a2698fd96892c239cad218cef26b84f409be..1046310946a438c628bc9dfc8a287a3e1c898fe7 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 5a5b6aa94e2b4bd5cd3c513c6757d423d184cc0c..45d0270de5a81436278ae3d5195615880a6f4495 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 da746969ed785f128e378a091034322003215727..7686fb308383966b43b470e280c66916221a9b90 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 0000000000000000000000000000000000000000..3631d4927a38565b3cd89a5c55725489b1f730f1 --- /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 a4a3a01299c089a9ab38b682039ea16b01e1b2c0..70b4ab8639d363d8595688c8a2993112152be300 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 49364f882429bdd399ba5f7a0e90b0c5e8a4148f..eee977e970374babb3594f8fdbd90d2816b5c3d8 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 0000000000000000000000000000000000000000..d5c0d620863e1889ed567029841d787d9ea9d168 --- /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 2c14451ba784d38a65948e26468641375f67c1e5..466406fbe793db1d9db14d636683b31733fd58c9 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 81207155625a4f821254c4849e6970f33e3bc323..eed4c12f254735f5ff36f84c47dcd2c11a5c25ef 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 }: +assert faacSupport -> faac != null; + stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.2.2"; + name = "gst-plugins-bad-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 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 01a75ce52112f54b101ebdcb1b587a4dbbdb664b..0c8dbb21cfb008cbe48b39ee519bc6f1041a0f87 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 5e7548627fe20d2868d1cbdc72322a3858a81075..881f31c66a6a14eba8a1a538f3efe8662f6d7162 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 0000000000000000000000000000000000000000..04863ab3b6128c5cb5e0381f5d107308cf169079 --- /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 1d02e6459ab24b52e1d6550c95d7cc332a04acc8..4796ce078dfb6097812894c59f08c062cf59fd51 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 0000000000000000000000000000000000000000..90233abe31c15085c6e63183151d007d6e0319a4 --- /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 0000000000000000000000000000000000000000..c45c1469cb36e0332ce518b8eb89f1abb30299d5 --- /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 616f63d7da7fea8f8c4f0b67721e1c9bd13941ed..090c84600ab708a86aa99116187c52694a6f8709 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 ad184dc21e9905dc22929b6b3d71648c2db04cf5..10671f9d227c4ee224daa87dba9ee95353fa4633 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 c3510a69a123f03b393ebd65f7a6e83491545dd3..c0cab607062d2b507a7e090ab0523365e6e4aa8d 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 47be4c8f4a059aad8bddc441df7a2e153cc1fc48..ee2cb8830b00618ec520b7a2835761bff7267108 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 0000000000000000000000000000000000000000..9a526de05b1c4bc30fca0333fca5d10e1acac705 --- /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 0000000000000000000000000000000000000000..7326b3630f703316a304b4aa7cefd54cc23424dc --- /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 8dafbf013f3763ea1b39138411136646068d7592..4f16fa4259c8fc0208e42620792909ed813d5b60 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 fdc2c675847fa2f0c32355db59683778b327b0c1..92c6debaa6618ee5779a3e0932a2f94201f7d6f1 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 e3237f83b74b83e1e174c25f015a01b868880f9e..82e2e41aff8743a804daa926e0f5d015202369f8 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 8649abec6378b049ce7d4140f9423a81788f1c6b..600ea1a0278f285c588eba65aae40e66ef697d8c 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 0000000000000000000000000000000000000000..3cbb13972d354cfab9c3abd99c223abe464bc9f6 --- /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 ca92bb82a7337306612ccbd4302acd856eea6f7b..bae0639a61c99374c78ddeb6679f38e1973ecdc8 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 083d0a10cdf837502cbba460437489a66a5aab5f..3f20147d0e97a452e3380fc7fdff4b0a55c8b83c 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 724524e2b263efc7b144bdebfe74d9f77e15e5a3..b8ad3442729146610a5a6106b0d7ca38aba3defe 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 4cee49bea5171586522179e4ad69c47d1cf53eba..f564c4bf1bd08547b889af9f90978abec516b84b 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 749802f95b2552859bf3390f934e9feaeb572e14..5a1f00a995ced5d9286a87107c17b306381e4418 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 bc8e9dca159c5ef9b50a57f3a82fafd19c34121a..bb226733f8a5ae8f41edb6f454e5c825b7360de5 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 024a4d5c13520bee5f8a052399121670dd248b5d..0ef09dc49b155298f5301913f099dbd6d1da2ad6 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 e28ff279083b22006c2995fc3c20f9cd88136351..90f93edd4dcdd9e9584162c0424db8773f0ea37d 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 0000000000000000000000000000000000000000..22e432f2f329ae8ad2e5e6f168445f05da33ff03 --- /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 0c2534c4c3bc6b3194e48512a130ef2166da22d7..8b1ce6b89e734e586068e83dbf27a134356a0378 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 50459dfa0076fb2474cc45bdbaf7c6641c242e23..7604cd28b8e3f5db93e2184811490731329429c1 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 4a413e2e7b8510efaf5e8a2437305af163ff5eb5..ac8ab3d77286637e63f0a4a2dd946a5b47a63691 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 a7e15f2d6b4dc53779d0e42711f6c39babfdebf7..ac5a6636e76d941ac74539f7fc1440d34b3107c2 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 0000000000000000000000000000000000000000..2634f8491141cb60d87a176c36f59c2f102dbd50 --- /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 da2c7f2b863dde0804f69a429779903140dd1c29..1cfd9a37eb0de297107574fbe9d360b62fe89bdc 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 80c0eaa44ab962985fb76c93c791484176141936..d6f07e9168dc20d61293124efe1fffe647545aa8 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 d22273f2030bd44a8f493574f4ca51956a19a6aa..710605c52e336e75176927d5decc1e3854db3b8c 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 a8275c31b8582ae2110ac1e46a93cd720157cf59..08134abf843892db265cd03ce409109d1d0564c0 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 99cb73dcf1f1397d476500666592ae3ac8656722..15a7741d33514982811f844d3d7d46b649fbc91d 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 6f96bbbcb7f4b8c16b5a2f51550fddf69b0eb550..0f02d96fcd400c9481a6e2d45f83330b34d75e2c 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 7abdc9b4730aa1c4f23385c544e274eaa4069865..aeb80822f619d8c9448108b5544cac5d3b62e9b3 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 c893d2f1e750accb21e27d72c1241b1684c05386..b42703a403f447dcab52e7578890527e25b09a40 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 b490cf75d96cc67643a86ddf95f55e791c47391b..996437cbeac25349f5d9ea8370976d9d97717373 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 0000000000000000000000000000000000000000..f20efdae4cfea5154d1554a5d5c39b58ead407b6 --- /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 e2f78497a7a37085d2e4e30a17cac559ce22938e..faaed63399a96a471965cb9a55f4bbba979d4073 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 485a80dadb3c6b7d9a1a0d7a9e7b6dcbe2351e65..95831927a308a67eb50a1010bb5519f9249ee15f 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 f3bd183d13734218f4324da9b87cd5ec00952728..5d8fc314819e5b4cca75c167eb039945ee4ae8b0 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 59656d519781e78d340d205e0529001696c1c73c..303a4852649e514f855e93f7d6ef1721898efb33 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 32c2f9eeffe7cdd49c29605695dd71fa900288f3..3eac88d8880d05e5e54716cda9207fce572b70d8 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 0000000000000000000000000000000000000000..b3acd535d8f5012baadaa86073cfee466a7f4c2d --- /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 0000000000000000000000000000000000000000..509efd61968bf316f22300f424faf0079cb1c94c --- /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 d4cc749027760b0f0e2972df163f2463259e4f36..20c879e0dc4cca63e89200c9caa111b5d09b1935 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 0000000000000000000000000000000000000000..083f438e170dbc74c0175022508a737fca504d8b --- /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 0000000000000000000000000000000000000000..37c1aaf6cef0a75cfd1cf067cb3fa16f4ba7751a --- /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 1cb214b94b01a6031ad0fe407fc52aafca42ddc6..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..66db8b44dc5203f0eb8248a5937c0f3678733aa5 --- /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 263cd049a3daeac8dc525a1ce9b62a266c25b9c0..c9df3b5c86a9c6df08d6d9ae5537222edfa33009 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 99e217ba647dc1c751e5aa0a275ae6ceb9b3f0ff..7bfb0a045ee2d331c00f0be60d0a36d82d9dde6b 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 0000000000000000000000000000000000000000..d0804959ccb6c8f05a814e097f3a258bf1e100c1 --- /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 0000000000000000000000000000000000000000..6b239bd4e776144e363fa35280c673afe9788a2f --- /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 f2d1915e122c85e7932d6d68b26107f5772a9d0c..0000000000000000000000000000000000000000 --- 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 edd2a21040e8f599586d61354b2a57ab06046b8e..960314920a1b7921fdc7ccb3237bb6d9082bd306 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 67ab0275e788518222b050734ce3b2dec2f5e7e0..0e7ef5e2a9f57941725b01088748881c424c5398 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 39123a176dc72197ace8a1ccd86d113c849f6ff9..c4f39cdd7eebb95207c3fb598fe57284a4c73b33 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 432d353a0af69cdaea014bf7aad31d0c63e86370..15079a5ba392a323d8b5b622c96f19ea63c43853 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 0000000000000000000000000000000000000000..f084fda35c57fddfbea2a1c9d73ce54f46a97e2d --- /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 2e9b1c0c25f44f1cf517122898f8020938ab7deb..59eb51845b8b1c00f160164459ea6cf80392075b 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 181937fdd8070c41dcdf456c529d86241361c9b8..082745fadf0730c6707aee6dc6a59fb6262c4c41 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 0000000000000000000000000000000000000000..623657ee762b2bcf39815267be188a24775d06d1 --- /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 0000000000000000000000000000000000000000..16386d939e4676cb52d232a5f2a73b0e0eb4b0c1 --- /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 bfb340147a80369a44734d10c1db851defe494bc..b5cc0bdc4460efc2219b7ddbd02e9881b61dd7f2 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 b542816f05b7e7cc0ba048792482ce7ea1abf2d5..c5bc0dd2b475b32b7a9ea2919e937166c85c0e80 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 c000002d4998b8a7f570524d1a4c8a175e812e2a..2546748ee1ed071a46baed89ca1943dfd5d6ae84 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 0000000000000000000000000000000000000000..4f0bffa5020e57cb7158cc8cf57771bade8b1eb8 --- /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 68b08e50686e1af91af81f0b134ec4ee31cdf823..21a15ea80e72f371f82ea997272ebb73ef2ef545 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 bd7bdc745b28bdf64013bb60d571271b8e6b6f00..2a2117a1a05be36869e148dba4c3c8662162e6c0 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 0000000000000000000000000000000000000000..6a888aa327780478a98cb81354e13cdaab4deae8 --- /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 15c8267ca3e25f72e735e487dcb7536839bbd687..9a75bd0cea50c1b2bae07b618ca6879cbb35427b 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 f0a1969ffbabde224a95321ddf50d98323fdb425..884f4175ba5bbbf0cfc1b6112549db032f390531 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 af8b2785aa9652a4a5517ae8e82a634096ba3217..7394583c66745004417e47fcfff45a5f9c278638 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 6ce94b0d6c0005bb7d10431d73368d94b80c14d7..5ee81698eb5fcba042fec54de0730d53aeed1b9f 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 3f81258f4263fbf40ab12ab40a48d207d5efee24..3de2bdf60ff23ea3db247877ccab3379d4fb01a5 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 3a2d044de64d79b678c345ae2df354241203f62e..0fa5a02d5a5c5b35127929ef4e4da203adb4c20d 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 8d31acb399f852591ec26f634f66bd1d002059d9..b923e444b1ecaa4bc28db536ed3f27d7bd1b573f 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 2857a21a8d98f5cf5928683eb545c4b8ede095e4..96c421b708dd535c67096c9f09ae693831994cb6 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 0149fcabe7247b0c04beccb64e92745a8a756edd..4126910db75238019c25a3549951b6949b85b7d6 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 ed2a631419ab3e8a7bc80ad90c8fb0f753eac593..223760b291aa94a2e783527e2f6a0263a54ca141 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 16c352b7a3327553cbfb1cd0f5d10e560e1f685f..1c6670f17ab6272de191d892d562f33cc1556b8d 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 fd9d364fbb49bb0df31f0fac468cd28a2a56dbb0..81b0023567311b4a1f81805965075518b0920136 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 638a219cb8334a321bfc66da98d019487f6a99b6..904808b78c8f5a3346d45c08dfe67c6a37d01c50 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 7b3ec55dc577592d8b53e56703212eb05a722241..0502f1eabc2825abda2d41e127ece6fe4e99ce7d 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 ede82e5c2ed331e33f8a6d4869861665c7078510..508e68fa045ab5d1e9d5fa7267bdf2250738046d 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 e018ac7a8d288c6f5b235bc8c6c227cdb0193b77..0000000000000000000000000000000000000000 --- 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 af0dbd338989d0490f5fa5d374b0490d9e7e63dd..74a4385aa9280c4d3aec681408c6886e6d238829 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 1fa5f3fb79f5c13ac3bc02c9f6775e44f663e82c..da4629e93fbad4bb1f5c5c111be6f22a576ce54a 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 93c8b2aa229006950e92878966efd0b2bc438b5b..9a013c9f2453e212ae6009445be0e522132ad4ed 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 c73932b3760aa412e7b16060ec434c7bfa619670..e9bb268b9fce89e478ab738b7d0be7bd305f2fdd 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 0000000000000000000000000000000000000000..19b8f15bc6db747a2cfe6b4c40cc9885ce988dbb --- /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 0000000000000000000000000000000000000000..cc9f244261b0f8b6dc5fe859a07803e2f10eb8ea --- /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 90fb53051e2308737a98acc0163ed6f04617fdb9..9313deaf840df62be6cd9737f3d311a9956d4165 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 0000000000000000000000000000000000000000..ac52a88e63b9b260a9455f7b319063925cc89478 --- /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 686cf3b9bcb3563d0598973c26ba352c148d52b0..25029618b2353a75af19163d740113b5e8756491 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 5fd438e320d51dee289a82d1848ff4552561a020..45cc7c11fc284491e3abdff2cb2814f698903681 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 0000000000000000000000000000000000000000..aa8996b0fc3f8ddb2ebc74fbb858f25108e3bbc9 --- /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 0d4022062934c079328ceff35fe91d00e7d0fa4e..5127ca1c8e84eb2fd8b29c89037d73b1216df01b 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 4021b15df9cf9caaadb509981c1ced23805db5c9..fa13321fff770735bdfdd7408bd18b63ee622eaa 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 d2d899180860df3fe76a8a0f768ca34d822088b8..0e6a6a71ae9f4a0822558193c5dea2c065e4b972 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 6907a33744ff6d703ca6f4f4e8e596d0b4560ee8..8a0f1e62179c7a52e6522be1ca9610a9f53a29ff 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 0000000000000000000000000000000000000000..0ef18440e373ebd1819ce7dc7909a3957fff2336 --- /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 4742f5104daadb44e5e06e250760b482ba5aee89..06b89ba85b420381aed55f6f0c8b64d6ce8adc11 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 0000000000000000000000000000000000000000..835747ee8813804b7ec72fe5f7f88da2384cbb6b --- /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 0000000000000000000000000000000000000000..c69994e6868b596cc8f1302b64808167c93c191c --- /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 0000000000000000000000000000000000000000..2705aee7aabd23336b85c8a6b140f07422874cb0 --- /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 d68d2389e0e7207097b8dcfbeb7b193a3f04e39e..52ec2fab7114126f709b334b6f66dc1293af78ea 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 8bb093eb0f816265533e071682e6770b44570814..6bae5a99808d0d1b16d4dea3237782e42f48b2b6 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 af740197765feb7c16f2f1cb10f30928eb4d588e..5324054423b44d4f1f90b807583253b09700657b 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 d2c0ccaf652ea655dfbf4be9b56243bad19e2042..4c142a23f3a2ceeee71dc780a6e43ee65d796ee7 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 9457a2ad44dcdf5631437571d48feee6a5160431..92c70b551561fc90061842085c7e0413bf6e8149 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 0000000000000000000000000000000000000000..fdf5c4625fd81225d04099770495aa688430aca8 --- /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 0000000000000000000000000000000000000000..67b4186e6060a7c634b58b892927512218cb6fb2 --- /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 395b03d268309a6855eb138215dd39b15c0dfb6b..ac6211f2b38d5ecef8159b602cc134051cf39b9c 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 186557d81b07c567ea626a8ad54d069983eb0b0e..69083520c1824c1daa582f2d0aa716b60bb45568 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 1e0dc901aaf53f624847516d1c49c3a3ed9ae849..333d8e6601d2e7d8a98ce035168f2915a789015d 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 0000000000000000000000000000000000000000..93fed5fae060614a8eccc25b6f2134a9e1dea4f9 --- /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 0000000000000000000000000000000000000000..78be057c20119abdd2598a4c69a47ef9b0199070 --- /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 0000000000000000000000000000000000000000..ea316fd29e12e9958e0c77fcd7de5a012e83ec36 --- /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 84eacff71a1c52da4a98e3580174a2c2da7bb2b5..e106138ef2494e566741f614e9cd1d25f97b3a18 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 3668c46dc684c82bde88402ff2bb599d2f146e17..bcc357fbed3c4f2a097e1b1ba76488b754de128e 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 ba5007e789fa938032717eb8aa736c1fff305fc6..264c420842a506f46d2deb4b6f9f7759b1a1697c 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 0000000000000000000000000000000000000000..78c0c10165924f7eae0ec88c9d2d436bddbd94e3 --- /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 e21e026080bf7abd9dd86972561428b6b9080780..020b34298adefb2af1135772cf04a637d597aea0 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 839bf4518a19be557464cbfb4c08e963f713c327..cefa8fbbdf8e6d201d7798eced327ceab8525760 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 f59a80b2b65a80b830cde08a303aa00b87ee2057..9ab9b9f5d2dacb9c03677184234f943a1803b224 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 41bd2347012490173193c4068883434b090b2fcf..89658ead4d58a232c059d6657757cea5f6eb99b8 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 7c1de10b20b0e8275a03ff8ea881d871cea54d4f..8fdde66f5fd618262482faf8a29cccf0520d8c6f 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 0000000000000000000000000000000000000000..c8e4887063c4b02a405c8532867fb1257978e165 --- /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 7ba9e3f9da74f25c79990c308353ce56f917357b..67bd753b302534445a77c1b44e16239390876352 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 0000000000000000000000000000000000000000..ca506bc01e906ad804636ebadb9e5b259a746de8 --- /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 9c4de4a1b84d30e12b5c063acb1f412f136e658f..6eda9ca3c439a8523d0fc5d3376aec55ece1ce69 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 10b3737d88a211ed9b6ef2bf36e8455357aa1523..008cb04f2fa3f18ca6256a24d45569bd12c38a5f 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 a96f1499f974cf8f96d3a360e74168ba3879b3b7..7f0285dfc7aa3b3df175f3d0794c10843a5daef5 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 32a10efc785e579728c19d302efb4a98420b9b9a..f8af7c8e42e820e80574971c7c376ab4800f966f 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 3d33956edcf892dbd5ed85f6b62b7bc4025a3077..a92dd8064dadb5e5f9f8a340d9329c997693ca2e 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 0873e65d9daa4aa8f63ac1a147e2145acecf2f1f..42ca82f4ac1976a2382a2726356b024fe8204e2c 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 ee9b0907347eac2fefbcee3ebaaaf956a7d387f7..bd09b67196b6e68d57865937b5964ade64bbe016 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 c0ce17d63db4e9fac948a5349b28bc2a814c7d4a..aca28a02490821a16854deb37d588a2d4c3d3d87 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 c291ce9a48cc6afcef98262f6fb79a3bb06db826..eb9207a936fe968bc2f8c590fe56cbe94fe50ea3 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 7a0cd53218debae6ee5dc26bf8373645de9fc4d2..6159270379e2836f4a2c12bd09321d16d5205235 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 858e24976421aa50114b803824c893af2cc41d3e..fd839e4285761070ad19c9f088e839f2bdd1837b 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 0000000000000000000000000000000000000000..55e2c975b0ebe148727e1b76a462ba55ba1f7636 --- /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 dea68b93e6d199694f8b2610368ca91947795b3d..663a6287c62334d21118d11d59f951fafbd5c0e9 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 0000000000000000000000000000000000000000..60f27e89d58fd396ff57657100f1cbb313375e60 --- /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 50ff8b005e44b8ff16f7708e94e1721fed48444e..ba0866b72d79b232536ea0c901f1d85ded59dbfd 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 f979926a42a98ccedce4274e1329e16cb091446f..86a6a8560fbd06d74d0d8cc8e69a5ba3a0f5151a 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 6b20ed6ae89e5f217dc2fa9f5fcb4d423573ad8e..4c678da12b9e367fc8f2629bfb5418831224930d 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 43f0c4337e747200c8ed91395852c8f06d32a855..d0bd50e584b8405d70cb93a3aff46ca8f4310b57 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 6bed24f5c40a6a23941e866b1906eef85b8a10a0..4b7117a0e4c22de0cb025c0f2a63a8e61b17e920 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 512ea378b66ed25134c9537a2b2afffd8ca284c9..f3444703c3df51d0f5758c8360e4ad8b7f5361d6 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 9ffd3ca728def1c2f3b03b80252db83ff0001132..14be91cd1bf3499c332e38e7f7be46185925fb09 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 72510e26d36d1d4d5e3a1295582022e2e00a74fa..053f938ae56435e7cb132867b2f947ce12ddbfc5 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 0000000000000000000000000000000000000000..d168c4b35831cddf5ca1c58a089fdf8655523cff --- /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 547ea9f8a478cdc99d9f306e2f07577fb2daed18..bf63239dd81229627104c8f50c3cccd270a96e43 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 9dd35804f43059494cb7511be910c34eff05b131..97a120f21237322e216f7c68419d7c04f0db5f58 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 46e69c95f940447127cb10b7879ed44955652838..ad7bcfe62409b74d05b052424ac7d29fcb52d0b8 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 0000000000000000000000000000000000000000..c16a6888b6b78f36e1c97f1fe3eac49e159125de --- /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 f8ef34a17234fad568caf814bc6947e4445415f3..7b2023c0812d6a76fde60f71af52634d583269bd 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 8b3d2cab677ad6b7a849a19bbecc45845bbe7371..178f01952ea4a19a2aea99ee6da18506ce4e47aa 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 cec991fab3f4a48aeef185bf524be4973e2bf26f..46348d7e4bb4f86b1ec8aa89e390f44f1c261639 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 dd3c40a7d2c625392118546ae764dc860d325d01..28ef546163a5b3c388397c2d7ad0751da59fc0b6 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 3ba059261794caad39ef20d9b0d7108f361c0896..a1b094337823dfa2c0513cf2fdeddc52babde69c 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 0000000000000000000000000000000000000000..113c454d6db1b54ae53d36a0ddf9616558234639 --- /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 5e55f3a6d59cb5c08fcec3cc0a1f05046f424da6..7207bfbb18586cdb8039ef6f132f4ea4d92d7b97 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 5376ac4d7e68fedf3389bcca050d0d8d7472f499..9103480d48f96477c9369437997964b93b3d87c7 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 0665694212b6b201620dce55bf3724f0604ec233..5d58654e51d4b0b64c8f84d2f4ed47f036fbee17 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 bc2821e3e8c581cc36324a6170a1d0249d9a65cc..9c0edece30295d5072da7f54d638c8139e839414 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 90432dfe975014ada3936723fd3ffaeb167cc454..9c9cae45b4b6db2aa119b7468d00ab5076881da9 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 0000000000000000000000000000000000000000..fae2c8ee93f504aff852d9cfbeac5a075a4c1ff8 --- /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 0000000000000000000000000000000000000000..f7bf07b4fbaba178006b9f8c73518a864a5ea496 --- /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 0000000000000000000000000000000000000000..89f8a2121f83af276b6d26d92a732ce5f12b8ba3 --- /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 0000000000000000000000000000000000000000..86f3d7e0d1debf82c1f1bfbe7b2360956cb00af9 --- /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 0cd65bb1905e27322dd2188cac9be7b9237d12ba..7a2b9e75e7f9ca5dedf9ca93bc4b16e360bf42c5 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 04321d34ffa10b3391c5a74bc9abc58fdad9f919..d0056dd9c35a5948f21720d141cbaa13afadee38 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 f1a0554e380c02a9b0502a1ae5b9f7e2a1ba6d53..3d7a1300b58ad969bf1f11ab401eba05ae95ba88 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 efc0aa61d3d3568246f5bc5d01ea723ddf08184b..926c2a812a0b3388b7c53a9f5690a1bd4d62da4c 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 6c1082b0f4b395438af21a7b542cbb11538231a7..a336c2a7e2bb8cb657202fd181d9fc455232206c 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 a481d45197345320571583668de630523b280892..1c7c236ba64fcd45e01303521239e820a5b4c816 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 1ef55d105f794d9989a0a9a8c51e75ff28a21ed5..3d308f6a88faec3c5080095c66fe9001b62a05c1 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 0000000000000000000000000000000000000000..c682c593ea632a9527c8f50bddd66be21e6516e0 --- /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 5081d09939bff9962841d9f5910ca5ad6c6955af..9b1d911638fff3b0c4db405a3c8b07424330b8e2 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 5b7decf9416bbe8f80f247c8c2037620fc4b17a4..a13f56e4b53dd2bd3cbfe59e31cf1b6a88568053 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 d37bfcf0f5a3b0c52bf3483fc58822f6e5fd2392..185f70785e5397be6ae94b28f7bd3e92f6e440c5 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 ea2495f6586aff073a2b8ca889f63583b6a0833c..592961aa554948915d4d72b0a8e6a25e849dc549 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 0000000000000000000000000000000000000000..3f15f394c2c6e40145e9efe52ed96f7060b396e0 --- /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 0000000000000000000000000000000000000000..20fc85b95f18ebfed098348d4403d0bea1cda91a --- /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 6506800a1740910f4e9530744746bf4d08412e65..19d51d93aab5a1d17183c16a956e31228cc321cc 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 0000000000000000000000000000000000000000..9124da6c7a6fc5ab13c5c8d9e0951a254ba4b0d0 --- /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 9db0055922d82330c6261e41a2a16ac4d1104edd..5fd23514583c89a48c96247ca0f25a9c818faa81 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 4761c35127e3e50d24481b68d70b01ecc36c7f86..9ae07187f5af63d34ee96d32d9ba82e515ad5ed9 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 4d1b85669dab827c0fb58f0086a1f09f36221884..4a34c7195c204c4e971f81afebfea9ab42988f28 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 0f0777909e82e2b05029c414f468c155b7b07e58..223a72ec3818ebe9c902435f8e5a9c5a85e8fd62 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 6ae78cf49b6a41418cc83b70ccf3c39c01fd0ea5..9192f6bb29bb89ccd2dd65f55bc5ddc912ff3928 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 0000000000000000000000000000000000000000..f835410dbbd9f95dfc1640bd1927ebf0ec11b84d --- /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 0000000000000000000000000000000000000000..86d25c24fda304f24d57de6f68f9c618bc38aac9 --- /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 0000000000000000000000000000000000000000..f55d9f2edef24ba481d67dd5037ac2dd36262675 --- /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 6acf1fb90c64766c06c764daa0f42403234c2700..081573e722360aec9785f2ff4d875953f8ac1c8f 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 36e56de639c3e002fe0aefdcf6ce0562b2704b11..5e40bb851f08b422e2287f204b40a8376abe4091 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 ca6de3fecfe1c1ef7f3c8f965ab4aa6af7f72cdc..445fb67386e8894a268db47ff461109362500941 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 0000000000000000000000000000000000000000..858512e9add17bcc4a9998e91953d0a2dd61b9a7 --- /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 46edfb8946ac34eaaa31b24d0d50e54c461f7d16..01cf72627835dff3a5332c2cd3da4d979c02d2f3 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 88651c62b59043c4094ea6b2c816cf962948ca13..4b54a002ab07dc4a296ced5d9399756919e0e6fd 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 77a4251259d3e38d35b79965697c5965b1aef959..e2a82e13b3eaa663a771e459907b330a748898b9 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 ac1cf83ac5e9372683b6b0eeb512bfcbf4831a8c..74cfc45309972a615a14e4fc7b964e0591e89b0a 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 537ff52e3ffc1110d2a5eb5338b58ff8fc9dfb70..4081e246a34c0c96045f0d8e140c0ce228c728bd 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 2e0181bd1a7b9622f68e6d1249b8a2384aee5618..f209c39d438a44596408c80d2d776c914d56c28b 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 b044437e527add2b4c3eb2638b384af6073af114..270353b7f767386a5d3d1aa7c42b03cec8378671 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 0000000000000000000000000000000000000000..9e78f2800a7c67b04f789a789a0b28940003eaf1 --- /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 c864c7e0a5ff54a7211e59cce00ac19bd0240fcf..20fc429fc63e5efd509e59b729fc1b5e91bd6dad 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 26ebbb9f8b02bfd84bcb3a4c42479e15cb286978..eff9ada1da54953f4ca4bc78d15b6851b2c5619b 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 5ce91d688076c0c91d8b2d205e7e852743a9acd7..77ebf3fd9af1e20d10993ef481a9776083c1584b 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 0000000000000000000000000000000000000000..624420fb0ca30b8b83a88f57e6aca068ed087240 --- /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 f991bb585862daddfdaaec26e0081b71859a86b6..497d1083f551d241a4df3e58f8c9232c765e65f1 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 3512bce96118babfd826855f45c56138d32168c5..09fdfe232a660ba0ecca4034e68f8ce83a9eab2d 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 9791478d3e81fb091b3b1d30dce06abf1a972de2..abfe150c1637b03b22934b32376a086726401f6c 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 008c1766b9475f0f3cc994bed86523ece159630a..563372fa451bc6dc9f8115b3a3698d22f5eb7848 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 0000000000000000000000000000000000000000..45862bf1679c2e6c2a22b5eb00a96c5addc14c37 --- /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 21dc845b117579d07071fa6b4c01dbac6b38dbd9..58328ae9cf506dd48d58cd4c9bd8c29ed6e1c70b 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 51670f639735d0da7a9d63108a95431308d7d1eb..bb0c48b91183d932712560596742061575f1316e 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 0000000000000000000000000000000000000000..77e848427239d4ba725366614e98df689bfcfcec --- /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 0000000000000000000000000000000000000000..2d7b60b6943aaa7b20d6ab1e90be746a7fba96b6 --- /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 0000000000000000000000000000000000000000..f73733321befb6bddcf2168c4b0472584de42eea --- /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 0000000000000000000000000000000000000000..84d9e93aaa2bb4b43a7e0af9a6f0bb5ab6b9aeaa --- /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 0000000000000000000000000000000000000000..3666ef913987d2110bffd73ff68ec2deb1464ba9 --- /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 0000000000000000000000000000000000000000..55d7523151005a878df268303652816b8123e819 --- /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 7744a705efc391a74891576e459d2bc24fe0e16b..995a4ef5d9a4825c3abeec7ce85b0d12f3d9cab5 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 ba1c86d8d2dccb0eb3805d1c762804a112acb32f..ca2808e5aba04e8c125f0b84da15b77c34b533fe 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 0000000000000000000000000000000000000000..73368a1dd6cf1523f7d757015a1e79de98fd8550 --- /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 0000000000000000000000000000000000000000..9ea5ff57efc7b9ab3a6f070d85e9cecd200d040c --- /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 5374ed7cd80ad5f2589fa681370cee7809c85c5a..c522dc9f9687a02d448c5f1b187e7832a42c04e3 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 10994799c43d01e6d7f70c1a52df159e00ec0706..8d316caf4c85a1494b5ab7ddc059378c743a3bb3 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 3f7b2ad507ac1553e90a6ee3c255714dd4a1ea37..244b1c2dcce256b797428e2f40d67566382e7a9b 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 1c47b68f06ce2242aba71bf551537f2da884a9e1..019136e47ca8dc2de81a3ae05857c5b8c1de2a34 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 068efdcb543d10e47e11e486d3e394b0596d1ef1..9cad23a79991e7b7dacfcde26fe122685656b6eb 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 82866abe9c3566e475a6c6adc2646aafd4ff7b1c..5ec8eecd06c7a44bbeff120907723e97f1fb2b3f 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 092b696dc196e5eb84919f2b012089cb66d9d5e3..8816ec91a83c59cf615f7ac36b1a933fb95b1005 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 bb237f16d5873bdeb8350e6bbe4b1386764aba23..1ea6ebafd8cc125f3a337a8b58178b7facb620cf 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 a8e0afc786ea663c2d1792be06a2bd39fe2be1b5..ff47ba1424140785c8727e8d957bf84dd247a774 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 ed24e1ede7490a37b18ffe0f1fa74a9940d88c27..a3fa1c8c9ee4802ef6f1c4cfd3c729101a9bde2b 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 0000000000000000000000000000000000000000..14867df7fc19248a39f1e47bd7e8c7346e338bde --- /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 fbe402cea5fd0b949ded12ebb2e5e53045fae565..55017c4193ea2d635f85545eb6745d8c12b4c9c9 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 0000000000000000000000000000000000000000..73e350bd77b167e087c289bc055aeef0fc1fccf9 --- /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 820a6549d348b316ad62eeea2e0eedb7bec69637..440be70a60bd1afaa511cd6fabc73dff9817ef5c 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 0000000000000000000000000000000000000000..0ad23b6943735bc26813e806004a8f96f23875ba --- /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 0000000000000000000000000000000000000000..9d54e8531abcf172b92744f280b4aac53a27542e --- /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 0000000000000000000000000000000000000000..6b0ee4b6e3631018b3c7ae124523063d2971f395 --- /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 0000000000000000000000000000000000000000..63ea81058e53984eeed70ac151d6a9031d063ecf --- /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 b48aa8884ad40c1e0d2368b438082111357ff00a..73e1d2d71971b484370d0a95eb620828ff83fe53 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 e582b0bce8ffbcf1b90bebdbec82e82de2724220..fcc39dfad573ce5485cb86e489feae2ecbe6c97d 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 0000000000000000000000000000000000000000..e648ae19c3dc8d8608ae7a053bacd80292940f13 --- /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 045bb64035c4f4a3971217bd676b6cab3739e347..89a576141609d34a1ce310d06f9750335991cdd7 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 89d277d1f40627c5d76bdee5de968951189b59ab..524c2de1f734b880a434140a2a78b4ab7c65cc4e 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 c4438d973644c9330399f6b451cbb9180b729c9a..62bc3f7a2a41baa273c50f57a97917abae996770 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 0000000000000000000000000000000000000000..8e4a92f6dcae9649f9d35de0c885a264935e52f8 --- /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 0000000000000000000000000000000000000000..027cf20064e4ffb0678ff35046971e8907d08123 --- /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 0000000000000000000000000000000000000000..58c3e37c853f92ae0fea8f412eeda6ae2a57fac6 --- /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 94eb72633de309a44dbdc6ace65810d64eacaf8a..3f4ec1e54d82da8bc1a49a9febd3b3c227632af6 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 5b638ea9dab49097223b2a4eb0e950dc8fadf70a..188ca99a5be93f03cc9cfde74033c3f3b82b37ac 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 77165ef104d1edb1f8551796c32e2a8e8b7ab4a2..1a53881fd29e75b2d78f1e5d313994eb50b65b6a 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 abf8df4f5569eb24db599fc6e05cbfbb4ab5b0f3..647c3be498d01d24a0706974bc4fdcfbb0ab2c59 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 da0cafb9ba73e53a91ae6b8cb0d288b312678026..18ea22d6cd0dfcc331547aed7798c7cf69fae8d2 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 7ea890a5eb35c7dfafb725f80fbcbab6209092a5..0000000000000000000000000000000000000000 --- 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 2de451f4177f0b8939867d360dfd9d5658591d85..72781f39cdbcec3485b4705466ea0df9178577f8 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 0000000000000000000000000000000000000000..7bfb401c7565f7a214bc7887ef141d57cb2b5125 --- /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 704ec8db48e0a17d16bcfedaeaf4cba16bb5cf08..1c1fe9b7cd390f2f50e75c9827b92699a6338ea1 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 0000000000000000000000000000000000000000..becd68ba9157a64e5e58d87add4f5f43420f75a0 --- /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 0000000000000000000000000000000000000000..67f0b698d47ba096bed0b3bb9eb6adc8e645e9b8 --- /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 0000000000000000000000000000000000000000..fda68fde5f9234263f9e318a91197936fb2f4c17 --- /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 0000000000000000000000000000000000000000..b30b0714d1fddb9149f9442aced632093cbb2059 --- /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 afdd782fe094dbd57d7dd01a2309f9a780ec676a..320a6f20699d262d5fbe2e5ed87dc155872c17a4 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 cfa51bd39aacfff62e72ede7594ecbbbfa90e260..9dd46754164f1e46f66b39bfb2d90b62886969ce 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 a358528ee28cb283e9e27c2aee8c93292254462f..1abc63c8c4b7a4a16fd3eeb0e848ffa18876159f 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 4eb91c67a476917b2556bf14f5f78500a4637b1d..a7d2a963e0de81f9dca8eb8b243bff159b932cd4 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 0000000000000000000000000000000000000000..bfa0ed43d0e2b8a33b53837527db50327fb46388 --- /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 0000000000000000000000000000000000000000..43a346ebf1915d991691ddb73bacbf2c33f04482 --- /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 ac2114b7f3735d442da975fd6cb90c7aac7afe89..a5106d910f3fef2993a554cb380c776c9a4722f6 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 0000000000000000000000000000000000000000..7cfcf1479572533856c3b8ef165482b44fcc8fda --- /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 9dc4b58797f18a491b57fb6b891744801a485bd2..b0768708429f68091b15052148c5e086f13c8604 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 2d494f4a8969f58fa371d46918d8b3fbaea21ae7..43fdd6caf9925ee2d98ffbc9bdb2b5c9014a78e0 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 7960395eb0983a6995bbbcaf88f590eebe2cf2ee..df1e4be218f04435d7aaed46b55e4f88ea762910 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 0000000000000000000000000000000000000000..bf05cd5e63d0f13274d13437c141266c8b63c936 --- /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 0000000000000000000000000000000000000000..f931262a91e3978781bfd5f84cadf6f6499aa075 --- /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 8180c8bce75303f1238bdee7b675bb60d5616477..b14449626c871d9d226f05b059d063240cd50554 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 e50843c6ff23b2c5f272b7d4ca18f5cf42b3cf4d..9467b567f8294dc6dcd559874247f1a85560c55b 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 4f7353dfdb6f157d7ce15984f8741b6f722ace04..80fc8e1b4af9b78817409aa7212f67aafdcbcf7b 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 5dd5f65c9e74c9ad4b3e2d8fdeb1384b93ea3e60..50c25ada340f319cb4445d65f5b5681ae6846e2c 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 0000000000000000000000000000000000000000..6e1a3482c042c62b3be75cf18306447bff1f6b87 --- /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 346e1c6a428de4a26d1cfea223048bb68ffa9e26..389a79dd6e1e5edf5b6d7d4e1a00dc30faee3717 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 0000000000000000000000000000000000000000..9ffbc37468a72dca28c19c2631c5264abdc9b8d3 --- /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 702aca476fd055168bd7aa94b6fba470d211904b..b2c3212bb174c30189cd8666724a863e01de9b89 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 12657a63b4cc7844797c155e4243ef045d6591cb..e9c6088b5f406ec5c09ef51cfa18ef6c6dea3063 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 0000000000000000000000000000000000000000..9a66c5ab983db6123328cf26b6c93a49734dac54 --- /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 a66ad0faf01f86dec3cf1a5a2ae158a1faacaded..5468f4127fc4da313ca1ba4617def2adfa0a8987 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 60236eaad355a33a4e356bb048c445333c755e24..87bd36503e186fe259d8ca937d52ddd757db3ae4 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 0000000000000000000000000000000000000000..9ff7383565e1f45145cbb1673cc4fccef853e5fb --- /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 ed88e24ffa943646885e13ed376f378a7c0b8e6e..113a4b67b414e611b1804c266e03461db1b77b4c 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 73f720ba4214d1e107013f4e89acf225dba16754..b9987255c0f35c74c7b43076125617875b7b2917 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 0000000000000000000000000000000000000000..e9fa49510c18163788146ecf8962bb819752d243 --- /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 3c5239b4737e97b836ca85764b536265c1f9b66a..e8e608f0e0b11089847d41a7e3608da7c8d7ff76 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 61de0cace5b53e8ea94f7c29f61fdab7310cec27..85c2a671dbf3c4063c589767140ec5c067825b26 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 0c4058eb1119ef2705845cf6cd5a219cd92fa477..12d5d550d10003057ed1b7d26e222ccf1b886121 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 d26980994e714dbe3150f97b546ce7f275d40aa7..995571abc202076817e42d4a4941dc4cf12b439b 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 0000000000000000000000000000000000000000..e61d493cdbec792c824aea8c885c09cf0975b735 --- /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 0000000000000000000000000000000000000000..4deec5bb76765236736f60fc6ad1215cc0a23fcf --- /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 2cb5e5a5cfc8e01e26c99e6b286b2c08cf611a29..e4c5bb7ab6b105b1b7cdf8b395d727ace0beb444 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 c0b8b9dd89e636d9d6d5a7b99fdf3c540a7d630d..1f252c03660d0b0018dd6c2c518a12e8e599417c 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 910d2cc6774b5a2af5314f59b99ec272520a4227..cd56082d8b542d0b1847479ef9ebabe7f9946406 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 72d8c8af8c89287ad04c82e5f195c9dd4b08ed30..cde31643c719e9b54c636dd2687fa8e6d0744bea 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 26ed2d77bd0f94ffb5a3ddcc0f12e1ad0c9dcee3..902ea9ce880969a9e0b673752cb3f1b269a5c8d1 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 9fb5d334a4d5ead9fcda5ec92b8eed14e506d61b..4fac81b01f93cbf1cbd3545968125ad3521cb98a 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 ad7f2d986602b83c26b724806a0b4848a1996266..d317f57efcea20d2807af25c1bbd21108cf42954 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 d35f763d32e2b6aa3e8f14905b587d8d9bd58f5c..25e0a61beb9276d37b78d6c46e1a85d34c661753 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 0000000000000000000000000000000000000000..3772a142a58df309ed2e41b5100439c1c0feed84 --- /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 6f7ef601d61addee93aff6b7f97279fd6b88b8ff..da681b324a7112309f4fadac040b468b30864a34 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 110195fa5185616b97792726d5145b1e6cd77891..ee41d76a417ee342aade5462d8666bcfb35fb9b7 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 94a0ba418eac64d64452b391ad80522747df9b57..5a93cb023c91541cd881c17fa22f34bfbfe78321 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 db426f397247b7a05190afb2886a76a6a0ed0cda..84823b90e4705a9a749c162542791a9fc153f68c 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 406cb610a3e6ea0ccdccbc3962b722d7667cbba4..84e5619167ab8c726b7a6cbaf470552a1fe35869 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 dc42228df66a2994331b61a9f134d488ec7435e8..c5d91f167cc6c1b97fac39c44b07991d2ce1c9d2 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 0000000000000000000000000000000000000000..0f65e3eceed51c630d30b9402cf6c9c4143f80de --- /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 0000000000000000000000000000000000000000..29ccc2b63dac6a0b2dacb0a2a5f66ebfb7d32278 --- /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 0000000000000000000000000000000000000000..7ff8a9de430e906885271a070b98e54382e9a18a --- /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 c4dc0be2a43ffcc1c3991327296778dc96f4c0f9..85b1a10b5ba086d62f43a3509d302261c0a13839 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 fc59c2477edd8306abd89090b61045bec1ff9b41..cb12d9cbe843332f43a28904c0fa01fcb78b394a 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 60ae9a40ca369f9950628f745d6932be2738ed6e..994632c40e2041417775afe80a8d8fc27540a531 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 c9375dc06b4ae4e1a08122e7eae36b8f76ef64c2..b16c89dac7093ff0d65441f495012d102cedb1c5 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 156b89244ee676c12778290c44939916c4ae3df9..899810c1539ebe02b1d016cfe4fad57340263f9a 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 484f210456725cae317352cf49c6d351323d8796..d886d17478bab40a018942fbd5673f0fb9a32673 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 0000000000000000000000000000000000000000..e48ad2a96a48669502e11b1029646cea0cdbe3a3 --- /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 83f08ecf148bdd97859b7f7994fde740c2c6fda2..2a2324027d4b39f599a51c5d3e2b3da398e89c41 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 7136a281f89b67de36b3314ca40dd46dc689c1ff..00336e8077d024298e5390d57c255028916b5b0c 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 0000000000000000000000000000000000000000..5fd5d7e1251deeb6b1d73cb6b52c553dc4976258 --- /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 7a6c21db997a40121d6c753e8205e0224ec5bbd7..1b816a704f26c9933c79d4d27d966130d7c1664e 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 61c0f34a57efd952f04b3e06413538d9a6f96c34..ef615ebb808beed00af17bf3e35414a6f3b9c191 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 aced7c741abd25906a86dd33f06bd57e460fba0c..830f188fed8957c43ae5c699b411d7683110f3b3 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 029bbd158b847a3a8aa0e4be5fe710736b2b7e24..c1d5a603da0c811d15c76a2cc5762f9d86549843 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 171b8c90b561ba7a5c553c86b3f1846f0f08af84..67d08ebcb4a8626e7ecffcf1f4d6213b5f9557ad 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 766393d7b45e600a001d934a9545c60688b90ccd..3ca6969f15914fa0e007dfc67c0c97be062440b8 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 77faceeea923b4fe2ceb47053ef31074f5141a21..cb1682673af8f5badae33731d428ed277c59abee 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 5af2ead5e8e014ebcee99ef5f094606726debb10..aecd54c39986603c30420bf8868e970c29a923cd 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 2208955a9d8f87ed76601c2cda0cf2bcb71941b1..d630f06339132e09f93facd181ff57a3bf910611 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 d1be8d1d896c22fe53da5c07dd4a23fa213911e7..20222609cffa9dfc8734b0866f59259aefd3b3ff 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 0000000000000000000000000000000000000000..8634c4143183644d01b5ee75d21e28d5edfeac4d --- /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 0000000000000000000000000000000000000000..7b96ba87a8e8d147b2fc3c9a0e164c6b80990320 --- /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 0000000000000000000000000000000000000000..c8a01b35a97313ded5fbc14f49b51e82986ba3a6 --- /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 60a191da2511f4c769705f39e171b1bbfe763b1b..7e3e3e25e8a0c4d5f9e5951c857b4bb12f81c922 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 0000000000000000000000000000000000000000..8f1090c09b1ea3daa2c593402b699a38a9eec5a7 --- /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 45ac4495166716da1b528c6d64d148ccf571581c..3ecd88515b2f16635cdafb79c823022422ae2ae7 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 41e4fc6eeb05f9f4b619df8e7d357d52897e764a..300d2e66f89cc41d71d238a4f3c2b44459945ea1 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 f4c9214b0b63584ea55448d669a06876444d5144..58dc06e6aa58b25a44f79633f4978dbf3ec63c13 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 44e912514fc76f179df0d3131c130f5ba7c33127..b45fab000ca56f476bdbe82d778abac97c3846ca 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 b7c33b6d1a0a44e24a4576b3262fa27cd045b362..9e345f800531434c74ec1d6e66beb3685d1b5ae3 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 8dd228ad3db3f35fe1082183595c3681e75b0f28..41999e535e04b6565822738933dab9d5650b3c5c 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 ee408fea48058b10f903608a32bb1fec7214d960..c224da3a339b4619807d9e8895a8328da54bda83 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 0bf7747d46bfb46ae9aa5647720826a673e572c5..535b289a389eed67f7da754eda6e9da53c078494 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 37fb26208f488c9035bc8425ce34a41f0976b724..2d3fb430fe27a6c4156f12500170e88947637c4d 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 bc1bf72beea11fd3a2acc95332848b295151727f..335cee497ea443d29038ce4bdfb9658af88a48dc 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 5f227d60ca8057faa37953732f1411077d8530c2..a02a7ec69075765ebef75be683aaf430b1dba7a9 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 004bd9d705249736436598174bbf177fdece005c..7f9bce42cf6746f30f8de86567f1c615f729b028 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 2460e6bfc7a8aeb1dd12d7b357afed9e9c41174d..0000000000000000000000000000000000000000 --- 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 913e77483e443bb479691bfc98ce1c5a744bec2f..7995227a8c0df521aaa61a31176ee874390973c5 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 0000000000000000000000000000000000000000..d57898593b2700c7ad3bc411c17ec615676ef131 --- /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 6c16af12107d430b01410416ff407e2820298827..49c77c5ea2661764f88bae27e0849bbda8db9966 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 f8acbf1fda8394490fd4302d40b5ba145d142993..8e9478ed5e2ac24485988d11bb4d3e531b6b1654 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 0000000000000000000000000000000000000000..a4450bdc892482f899f54830e57c33a8c8c0e6f2 --- /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 24c0759d6e947d663378eaef4007e3b31b8b5510..523bfce62b5d4ab619e30c0b0d45f59657bc1491 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 0000000000000000000000000000000000000000..7f10ad2d68f1cd6c40d70eb94eda01a4adfa1b5c --- /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 b3ca635ac21328b55599ae8c9fd752f9f548e34a..cc5ae2604777c1a9f68fe87b89635db5ee973efe 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 0000000000000000000000000000000000000000..6caf51edc1ed68cb6d4c7496e33c35baebd9f159 --- /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 e0dbf4568049d19def837fe8a831be29abab1770..c46bfa910b098cd0c8e8015fb427c986d646ea25 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 432eb77ae3eef5f899a351f698695e84d7af7dae..22dfb5e8896f8e5a8700121900a9c188f0c01575 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 b00480279e182d4fa8f063a778b80b005ccbd32e..4b3e75a1731342e7db4d15286040dc554e0d566e 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 411140459ed7d904dad4a6cb5d8801fb5103f481..3e769f5e6015639ada438a26ba1a3d4523c880ed 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 853a6294131f5e92be2ac783eac403a68ab2a39d..8f06ee67361f3f6c003c0ece2b2e6980fb4b2b15 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 ed743d8783244b87280c3fa8cf6a75dd03e48209..12dcea223a903c3e2e682e979992b2486a40c7dc 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 feadafeb29f24394293cd042bea355ea3853b3df..fa5b91dd469322f2467e60c1fbaf55cf54a73988 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 444eae23560093bc5fded3e1bae34358bcdb79dd..0a0a8f18b03e7d8a0069c7bf50fb71d1cc852695 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 5a53a2f64c1ddbe5110f86b4244b12e2f3ce0604..5a7171c461997f51e487547a279c5443437f916f 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 0000000000000000000000000000000000000000..e233dc60cc0e5c72bd782cf893191067420c0704 --- /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 bb7a3a7bc7af2b4d1e36becdfef4934b5723de11..2824c1c8f1c834af3b5851fe950ab1091596bcb1 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 814a89f70c2c634a2c1a3200958d3a10a4796f26..80f18da4c5647e26599dd40911302a707d3be39d 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 0000000000000000000000000000000000000000..eb8d97805a020ae42db0cd0e50f6b97a4f28d833 --- /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 0000000000000000000000000000000000000000..2b7444cd154e41f3824b8f3f77d95112161e02e3 --- /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 0000000000000000000000000000000000000000..d805817838a5c8a399bc08ab498f4a722d30c209 --- /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 7bc8d6e4b573de08260b15376f2d296601de58bf..0a1d1b7c5cf4c4c8f0550c8ab17e84153f06f356 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 abe4d4cc074b8cefbc212eb52e28325fd843863c..ec054cc806533837addb56a8eeb3e6e59082efe7 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 80cffd6b43219cf514fc3f9890a896b973f978c9..4dca1dea284312996e222155c0d74bbf204fb7a8 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 28ce546ee1679a8725b962f9ca2de4bb9ccd1f34..3d361a69b874b10ef4c9f4e3bafdf4bbb45d453d 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 8a9a594e45d7f1d9990e53384ff32c1942d5a67c..4d66f69acd6428d129a9425f6e2841f3878df28c 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 0000000000000000000000000000000000000000..36a4231109df8c97134aaf0b0edbbbc68a5dc43d --- /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 0000000000000000000000000000000000000000..ce0c89d4596dd61f2a0becc991a74638c5f28fad --- /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 0000000000000000000000000000000000000000..f498da219395f7053e1f53925f189753a02f52f8 --- /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 0000000000000000000000000000000000000000..d6d8d43bf24a31a9e06424d841a16e63c79dfa13 --- /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 0000000000000000000000000000000000000000..11d2ff6daa69983b6761e6f6fc663bf4e564bd02 --- /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 e8bd79a9a80a5dccf645bde925ab924d4e66f478..2b8c9d1080aebd6585f382481dac8692a0113c48 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 4ab74d23bc236774baf54e6c5c0577d759234bb7..201a2ea02f97681f6da02ce2daa31bf305d7e970 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 0000000000000000000000000000000000000000..28c3da5cba23b38a813b396e12ee0906c3e88e09 --- /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 0000000000000000000000000000000000000000..4bcb46887bc8c634fb2ae5bf19e30ce0b0a51fb1 --- /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 0000000000000000000000000000000000000000..efab2ee40bb4863cc3991a57804e7e59d0869bf9 --- /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 0000000000000000000000000000000000000000..304cc3df8f7012fb3788c84b9444b6ee3826ba7e --- /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 0000000000000000000000000000000000000000..e18cf7b593712dee9dd15fb43aa04748ffcc294a --- /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 2e060e252dd97df4232a59498c65f76e1be344d0..fba75d7b847d8704469a3e60791628ce29359bed 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 ee808800c55fc8799ee66531e8c8fe0ab65581cb..d62033e8d16a040e7bf0459a542d8fd220253822 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 0000000000000000000000000000000000000000..be56d518121bbeb529fa50467f04ef3b1732aa49 --- /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 5dc83178be0089f2f269b4aca7530c614895956f..b51541d56f6bf4ac5f4ca2286c43f4b0eeb46022 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 ca177a80a101514b765f19cd2c40648efc31d4aa..ecdcbb1b63c1e591da9141e52ae70bb2e4d56b47 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 c77ee5f3a3a0ff2766767b05d0338de4b178c692..695d7edca62520e31dd922ab23d2ae3df254196f 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 0b13bb0dcff6ad983d3b05c2f45a2a9618ebda14..f2fe7cfb0ad9450d9619bcd9510d2591631578c3 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 dfcc5a4bdae9489ddcffcf1415954b8ee2fc08b0..44efd608002218115682fa4028420a7f4fcdc36c 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 e18f3d7cd332d09bdf388589e9eb32a976b5e87b..ee848359509204095add2c9b31401c54c94522c7 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 0000000000000000000000000000000000000000..65d0c73473ad8faf9cdfc51dd094ec3b3a359a35 --- /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 36a9c4280af95f70588b8b2d12102b34025007ed..40a30a6d24f57d513cf5e33864e9efd972c4b4d3 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 2cf62b7cefd753eb2923aa4fc827073c9bdce898..13e4e37e4b064a03da9837a21ce4d904df12b27a 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 5bb668e86a87f8e29b996a3dae68f9452d0ac7bc..585eaf58682d75aff9d595788faa255288b62ae9 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 0000000000000000000000000000000000000000..d33bc7d43173a84fe08db06bc652fcb677eef818 --- /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 0000000000000000000000000000000000000000..5e6a8177d1a147395f7e42100bc20ff155adcfde --- /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 8dd3f5c6fc96b183705e3bed505f8c9e93039bc7..7c97f5b8e3f91970948ceffb522932c815f2faeb 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 b9507d7777ab1728ff38c88c6024fa448d3e4601..b478fb7c515d8bd715ebef3d9c8773abb0e7e16e 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 6dc42beee40829f895a516858030446523a77ea6..222475b24bb9d99365372c52bb28636071f8da21 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 0000000000000000000000000000000000000000..0530804d84b1ad9e39b10d6fa98ad1305dccde27 --- /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 87a89c43be4e2e6c25e884a2167ff51489905443..eecb54f3c68f62e196a02592f2a277c493ec9959 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 0000000000000000000000000000000000000000..79e27f87fc69b93488b13f71e57c1d73d9f50957 --- /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 0000000000000000000000000000000000000000..827828d64741f79147f6e83613ab4bec55c744ce --- /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 dd9fbc198bff9b71e6e1b62b75bcbf1541279f53..9a8d22423a37ef95eff2089f81db569ada575f01 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 11becfeacc74e3dc90dcbb04ee7a219cb9be08a1..1855f49381200f60f2a86e56a18492683ba6d667 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 6f1a6b41bba31fd990a46f68e71157694197d6bb..e321f21b2ca407fd086f2db07ec170006405ece3 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 0000000000000000000000000000000000000000..0e23f84ebfc2ddf9e85cda7ee15a23c8cf91370d --- /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 1e6751101908cc48f0a93eed94f0d7bdd73d60c0..ff9818a387d67657850bfa2b766e3c3d33b325b5 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 0000000000000000000000000000000000000000..57c9c7e3da7d64840383ef824ed983c771cec6a7 --- /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 c46090cda9b106ae5250b87779f501c76e8e161c..6a0e81383f742deeaad3e7e4da3e70df903e0c90 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 6d63c267c61c2441321ae36c891a2d36d05c6bfc..0fdcaf71d5172ed088b97bd8c835c3db2529c5c7 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 0000000000000000000000000000000000000000..15019265f911160db853010848822a1f3efa0302 --- /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 0000000000000000000000000000000000000000..da05e122e529cfb20a727304c218a94ae51e9edc --- /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 0000000000000000000000000000000000000000..7ceefb815d8d04f3c5eaf56948461961c09b89db --- /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 8181c445a5a1d114d6ee5761dab170a0929b1561..0000000000000000000000000000000000000000 --- 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 98772476fc04241fd2e0cbb10617111a38f787da..09f3b112c1b742220fd97099176a18ee104af694 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 0000000000000000000000000000000000000000..4d14ed4582afbd3c43508e20dcf429a0acf1f115 --- /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 0000000000000000000000000000000000000000..05c37c02f417c575ac7a19f4163ae2a2de3fb8ac --- /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 ac97377c6077009e9ac4e6b7fe200ecf155ed87d..55bc6b03a95bb9d17996d432a65658c9ada534ad 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 8dff0ffd58fc573da20020bde4587f384ba52b04..62690186ee8f335f7fca61d37a1d4fa2633c22f9 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 df57bbbdac7002fa4596eb169dafa4a5f46add99..4667ed956f09590d12a6eefabf0bb025845258aa 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 ccccf9d95d38ddacc977942e78c4e4ba54a6edda..78484a2a75aba5c85ad37a262587863c332578b4 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 174fc925aae7411374fc2de343986d675d1dc86a..484ab6148a2a1ec6ac6e79c3cadb72e376c6c66f 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 a52f9fe04fb6857cf75af393c06d36423a34334d..73343bf307bc10713bc379633476465d9b9b6544 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 0ca4ea5f5c2466e5be769773e22428a026f188f7..e329c1ef40676df1c179158f52d081772b6f1ae3 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 0000000000000000000000000000000000000000..aa94c931e54165b47921853e0ed62c4c484ebb50 --- /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 76ce975b11e81bb7f192f8ebdb84af5477e32273..3a407cc4b59f82dfbf637f5801d2b3395c2d0d98 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 0000000000000000000000000000000000000000..2db9e3c83c12b56a89d8a4a0b65c20ee6730d8ee --- /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 0000000000000000000000000000000000000000..45e9524657a9044ab180a84966fc865a76792239 --- /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 0000000000000000000000000000000000000000..b27f61323a290b15e51241e55cd1328554486749 --- /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 0000000000000000000000000000000000000000..33462522c29a57a74061b707fd91048c1b61541d --- /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 2a5c1eb2fc4278cc84c78b4c3ec373403c517819..ca9218bf42c022c965f45fd0ce1a5062d2d8f062 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 8f5ec4b52bf8fd35021dd81c0f6296fc4a1de8c7..db328836616828259ccda3dea81283b74f1a66f5 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 3bcadc78a9786a804b3e3045c5ad5147b4387daf..8a8ed40adb44e425a5687ffc60f9934930f5ed1a 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 8f2c6ebb342c21a77e6e908bca536f8ef292e272..45dd5562a28b47302a6a27d4e54faa7b558c29ef 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 c7b673ecbc9f860abe7651f2afd62cb6f43dadb7..ef91a8726874dc8ba2a06445db5a0956131c268d 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 6612003fa2e630fde64820eb76b108706b0453a6..9767f2d7750dfb6550efc8152e921b78fb15eafb 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 3ba78e162519841bc636ef2d00ae8ae9463e158d..9be5347258250fe194410970a5a34f9c7b1d4986 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 0000000000000000000000000000000000000000..8c0540ee10140ca022040a3bebc39466b360bf39 --- /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 9cae0a85d6c9bf6d8966bc4fcfa82421e3185403..e55bf8805e35cb334736755e514919b639dea4b8 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 0000000000000000000000000000000000000000..5558f2e32ce1d8db922a6d5a422c2049c82ba5dc --- /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 4273e408a7f739e7ca01dc4cfa2ccfe0f2fc4054..18c6e08c0b3699df83eb7f49a9e66cf3371ffdea 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 88e50b2488efd8b212939eb21d4a835c24252930..cca9da9eb3df87749938708c17f8a62ed5ed3372 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 8086ba20ca0129bf22c684ff3e4b904a703bd593..75ccd0e6f5d41cb6a6c1fa2c069afcc1188fcf57 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 ee6c19b0d930d2273fe9ed331d028fa579e74558..ab89944d60fadc96a2581a6be84726a1138be85e 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 76fbf12540af7bdce62641490d0460a14114fbdf..8c84f81bcc98a98788103232a52dab057ad8467e 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 fa623cf60043d7a7c8278711ae3894df07e53181..cc5caddb6ec907af1e81ed8b44db99b32f98786f 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 0000000000000000000000000000000000000000..08c88138101b66b90f611e4b755504801ca5fcab --- /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 38551d24d43fffe4015abdae0cc5555d60a07e03..0000000000000000000000000000000000000000 --- 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 dc030f68059ae808372a9e361a41ff80f051573f..90bfdc5ca0a3186dd41ee6a6a8fbe1df28ec1538 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 d95b07121af1ae438f3417fe80e004e097b8cc7e..b816c3007f99a7195ae355d5857d8e43d65ed1b5 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 5dde5e8fc3f6c49130ced2f42430507027f599ac..ae01992db975b85b47c0fdc3380ca05a6fd4ab0f 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 08512c206255109cc2ad4eb29585d814b604c28a..63bc82d6f67b9f26a2902417018cf7261e129aa7 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 0000000000000000000000000000000000000000..100b5ca283568be78421357e09652ed7deb4a8d2 --- /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 0000000000000000000000000000000000000000..36d1f5bd70632e0a76bb60d81cdd9807401d4c8e --- /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 0000000000000000000000000000000000000000..27f5d6ecbbe0f6cd0ac0bf23ab8ee1d5a791e414 --- /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 0000000000000000000000000000000000000000..d8fd7030f14f13a109525769a234b391edd9a9b7 --- /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 28a5beb966f8875811583851d4a2979b5c1ba51e..d31f1d0e70d7c11315cacb178656df41c49a3dec 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 885620f0648a2907eecfe545873275b624056342..346891cc68d5b05bfa45a4df6292bb2097cdb858 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 0000000000000000000000000000000000000000..7c4496f974f44a46ba275d173842520122cb9fac --- /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 f45b7b4a6a0e216b1c3a4a2d8eff6d00d1504e1e..6bc1a4b6f598c27be31fbc5c9dcdb5c4ec9c48f5 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 83dbdb07f21bf01adc8e729a75ce46c78d41a32e..659da9c8baac71d337904a46c1ebadaae148bc4e 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 0000000000000000000000000000000000000000..d874543a967a95b0149c36f732c716b335fceda4 --- /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 0000000000000000000000000000000000000000..2281520703f26b088301ad0131c2c606f4faff74 --- /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 fb0bd78917ce92c6e64fc4a4b3e44606d2883fb5..31f7a06c1fe220071a8919a4af7da68b0a1daae5 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 fb8709f5a7861dc5b874f112c9607f8ef0c14789..5b0d4ad3f470c1d3da2d8e89ac5233bfafe0918c 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 b261d22ace6ec28998ccb0be55b877e21460ae02..182e6bcf5b2740f3d79f9ccc9e13f371b1ab957e 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 60618be36161f6c49cd8a40204788f252a617655..46b78fcbd8f5dd14338bc9f48232692605200c45 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 afda7d777d60a1f65982b2742a5b06744bce74d4..5051eaff69827af1463728ebfb45ae06ab1cb36a 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 66b2117ee8298e8d9e89f0bea7a640b7ae67ae67..42e1f13242e8b3ab8e12f4d6e3e07754c0192a44 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 42b55bcee6a6d4d2dfc0fab8ec6e0c1d3566bdc2..432adeee9af8cdd5c3adcc9943f008ec0ef93613 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 929dd698b7ddc3d1db670e5ad4cf45c988db2a0d..0000000000000000000000000000000000000000 --- 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 757367b73935da0bc0b13ec5a8bcbdc7a4dc9d17..78d941b371b66a030feb1593ea124a6802e528ff 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 c4ad5b29acdc5d516abb1bcd179b6b0d901c1449..9a9cdc4e295cdd85cd5c1e4d5119eff98678b580 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 b4e935428b2ae6cba61c015b882c6746196f94cb..a3416cf59c6d01aee83580a73644e4a59348b8ee 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 a60bc457f85b99e1e15e387b7694a497acba1365..820f174e1295f5c8c3a50c819c6dd54c1dba0cbc 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 bfe648f449b0c961bbf0be6b557386380565c879..d76de048babdcb18634b4bb75b27803298c54808 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 f69be8ae99e2fc11c3a78e00584d055d6e8dc604..ba4751af2fe3edd13da7b7c6d1ec0f5e869336b1 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 b283c496a2993801863872e137579a7feefba386..3029cc8c3b61bc114d1e50279b653007d520a5a3 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 ca61a00f0344bdd23c7644787f94e64a62d8911d..5ced635aa66c3971f8a42ba561796db3b2425bf0 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 0000000000000000000000000000000000000000..905f11dfdc22750550ea3f5948c97221714537c9 --- /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 3ca8382c2da60c416a29f74bd26d374626c68cba..fa486ba0b3955739c8a742d029e44c22d3164b4a 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 0000000000000000000000000000000000000000..dd8ad8b3561523347aa1df9458082f1b9e334aca --- /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 b1c154badd8e9df8462d32e3825855379b25e892..5b19323f94343d7c4957f3b2ad51bd0ccb23a647 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 aaec37eae8f2506cfbcffc29bda9a50bf78f2cbe..7711d4f170f95c51a9db47cd8ab0536d134cdc3a 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 0000000000000000000000000000000000000000..6fbd1f9d478bef8b8d7d8b67abb999b66d2e3cc0 --- /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 3c408e6bc786fe15168bed6befb2763c861e14cc..987e1a25d35f4819a4cda71e80c10cd55b8145ff 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 bfe10490fc7f4ece7a870ea8a80296700fb198f5..29e15e08f69627f703cc0586bfccc8496f4e2a72 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 a76360ead1e8327dc769a36f2f9e2cad82bc571b..0000000000000000000000000000000000000000 --- 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 7a6db1ad4b30aca49cb07c168b4063fc0aaadbce..888365f789f735abfb28a24d88e83964be85c89a 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 + + junit = fetchurl { + url = http://search.maven.org/remotecontent?filepath=junit/junit/4.11/junit-4.11.jar; + sha256 = "1zh6klzv8w30dx7jg6pkhllk4587av4znflzhxz8x97c7rhf3a4h"; + }; - src = fetchurl { - url = https://github.com/downloads/junit-team/junit/junit4.8.2.zip; - sha256 = "01simvc3pmgp27p7vzavmsx5rphm6hqzwrqfkwllhf3812dcqxy6"; + hamcrest = fetchurl { + url = http://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar; + sha256 = "1sfqqi8p5957hs9yik44an3lwpv8ln2a6sh9gbgli4vkx68yzzb6"; }; - inherit unzip; +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 0000000000000000000000000000000000000000..97fd42d0b81b75065b96cee8a686ec9c62064fa8 --- /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 0000000000000000000000000000000000000000..e49e626aa001835fd36ef42a3d628b4ee6a267c8 --- /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 ec19e381281d02292de2385df9aa25615994ef0e..42bdba7567c5f80664bf9b7afaa36e0bff60a411 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 2ff2fac296d842c67cf268a750fd21adcc4dea34..6f874450fc58fa21fdc8c544de2011aaf247d0af 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 d4728273d34c1954f0e5c022f772a628a0158e07..8f4138282f0f43477e26e79eb0654b53680c7133 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 5c408e9a76c568e7cb87ba369631d04c01eb91d0..647a6b031138d7c031197863b498a7800214f386 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 0000000000000000000000000000000000000000..0cc875e2656f4359afe826f5e470cde9b85c716a --- /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 21b4eac30af376d9324edac059a38ceee46249a0..8d01c2f2f438c7f9554a7b7ef3de11be4c01234e 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 851601fe9639bcf1476d7c116546598ed13c5f61..5e728d9b3dd15749fedf18cfd60225f9a7aa9377 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 499639b3a87c7e40d088fa578eb7bdb9078a525c..15b80053218da5e85293ecd34919020a3af72c35 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 f93a44c2e1d1900a394bdd07fbc8999bf6662b3c..d9775c256104153c124f89d495e8c231034e324a 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 6678984ebbed1084ce1edcbe69e18dcf7c3e15a9..04d51edf53103437ef57e445c984782c2246003b 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 964d3727f8f28270a4e0dbd4c751932167b7b047..70da4462486d386ecd142b628a7665a1f08605f6 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 0000000000000000000000000000000000000000..34441d8fa7f803e6963c58661a0d78551b00f59c --- /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 0000000000000000000000000000000000000000..fc26fb9aca113994d6b958a27f0ac7c4274f3067 --- /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 9a1b4122365ac4d0a74f57e00b232e19a8686071..1b16d361c6dc977a151452b72671882f8b79bea7 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 70a882ff15c11c6dcdc00b0292902264c998fd12..d6c238ff179398a52716a0237fe518f9dbc49405 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 5aa54582fdc76c9cb2900c99ba405887df38c65f..0969b51a168c236a298e384433c5b833303fb32e 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 ee5d2e5e50e01d545dabd068badf6b06688e86a6..2593274d89bbe16a88eb9454257cbf41f671dd3e 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 49624fc6bd27ce6eab7a89dda002d3e490ad61eb..3e4f58a5ce0f445cde86edb955ff3ac3593017ba 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 0000000000000000000000000000000000000000..7a005c9fda2a5865aa836ef0d5a6f8e59fdbee80 --- /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 f5f8297bc6c7a621b9ccf6f991c872d9402c4628..ea981f7ed12758aa5fa0a64c2b54a0cac540b48f 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 997e9cfc5b884d518ad0e2eddce39b84dcbd1bd0..c53b5479b7b22349093fbd0643b95c5c39517759 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 368d873e52a1d82681350127bb536ac47ab131bd..0000000000000000000000000000000000000000 --- 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 6129ef42f3dc39b299cd1e8b8533335532d5da98..8975c4fa0743360fcc2a801ebb70a5d1b48776b2 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 af985ac91fcdefb71951b55d5b7b17d5d94454d5..afab21bc4f0984f5acd92600f899799b7c98357a 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 0c79b20b564535fbc750afcf9e9e53825fe4dfce..dbcdabc8951065468d3a94747f07f897557d93c0 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 c305239e6e215e6b6bb2d888657573d8d2375a85..c7513b0a167fdd80e3c6330820698b5c24422c96 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 8976e7431928e7562095460ddd421e61066cc7b9..bf27e074dd58b371abe73bef9ca707aaa87b3e3e 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 8c0f9c75054a13e53da67a8474c6ba12f58a0cb8..0000000000000000000000000000000000000000 --- 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 3dca6a04af7b442a552ac69ec0eb12cb2560970d..5e0a8560110bc6e13b960daed5e3f1bf5798b12e 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 a452cb7609e152d10fc5de94d614c3d20747afb0..db07775d45eda7d83b7339e9c4895cd174aaaa20 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 b1e8342ca91b7f8a9f82a5cb54ad9098fb9debe1..701b4df3cd81daefd3ac6911ac0349c7d7eb1758 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 ac6d175e73a44de59872321c713914a6318d9c2c..0000000000000000000000000000000000000000 --- 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 33731e5d75572bb7a0ee3a0c3ba1a782eabdbd0c..a1cbf9250c4961e04e343d90381fe88009864096 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 0000000000000000000000000000000000000000..8207051b2a86085f305ffaeb3c7009fd2c8f2708 --- /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 9ab1962806ad4bbda8d03827bd75af5b421015da..ebd0d08717de5c9e19be4e1bae1c6bc40603f112 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 3354161baef08d66626c8d90af5ce619bbca744d..d9dfaa004de80331bcae9dad9a4a66ac0d0fa6c5 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 c8fa978534d9c7c7e65250279bc08284efd85ca6..7f925cd9b2a7eeb64ab659fdaa06bc29a81594f0 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 0000000000000000000000000000000000000000..26dc6be8382c736dc212b6ae4ee890ef66d2cfad --- /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 4ec5e62ea04d8ce6fad016ca31c20b5b0926fa57..77fe3403de77cf7e34de181ed3f985635719aef3 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 0000000000000000000000000000000000000000..46aeab31c842e6a7b6851a7da789f77e364af322 --- /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 d02217afd3e2aee0d45d5b06e152da52694146ad..a49cd95822f67ed04ad08075ed3dd8bb9e4ed674 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 0000000000000000000000000000000000000000..7cdb8fb469109e0ad54148de476b557100927188 --- /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 00308bf9471a7ff54ba24f77b60cc9a3e1089c3d..2b82fe2a4bc5da536f91c5a896b98722a6940613 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 0000000000000000000000000000000000000000..b3eee8ed4342c0cf1b54f7b93441cfb372c7163f --- /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 acd8d9aeabb82daab3a2b85715182a45a6b40bef..0000000000000000000000000000000000000000 --- 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 6b1ceee40f1cc3bcd6a536785c548f3be21e53ba..2e2640e86362be77ddc50f39ba6e4a9985e6dc5e 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 50f72bb428c661fe3ebafe8e98d0b061057d7ef1..0000000000000000000000000000000000000000 --- 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 7682e37105143b8fd745cbb1356e208270318d58..0000000000000000000000000000000000000000 --- 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 920c383c657b6c144dc426d1fcbaed5445d4175e..0000000000000000000000000000000000000000 --- 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 2b39d1fee9a47e396e5e48c75a91d87076bd439b..0000000000000000000000000000000000000000 --- 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 d737b8d9916e4b21e8274685b6c1f3025ded6a62..0d5bdfcc9a75c1795253db33833440094576b2e6 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 87e2a6416547d7b95729516f943df1054800614e..11eccb0a0e31bc663782723c01c9fe3e38e7bb33 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 0000000000000000000000000000000000000000..e56a45c92fce4e58221ba650789f4bc5cf5aa909 --- /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 031e2aa1a91404c4b74618cb0ffcc7cd6b440faf..094483da660af7801cf429428479eab90afee4c2 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 8f62ef1e8dc971c1d7555144aa245ffef6138e48..153517986334c1f5d9f7c21624c2dd4eb1c3eed6 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 f120bca50c621b9cc2210bb41255417408d908fc..52aaeaf93a46dd2614853482f2c0c19bb954e503 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 68c3ac5130df3874214a9f713fbc1fbf76e5ad70..7085236feb52cdae821dc7eb4e2ef7d4c09a2c07 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 0000000000000000000000000000000000000000..aaa39783fa724c6552f45e8f08228c9d565870d1 --- /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 0000000000000000000000000000000000000000..a0292067dbb2003614033837608763a117c7b5e0 --- /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 0000000000000000000000000000000000000000..f0012f552c1d19b5e1b27a80c39f77f1bcb6376b --- /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 26b3de70dcdc5256dc6151235ea0d112d2b8f3b6..4863c928988a852a983b350743d5bf6ff40e3ca3 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 0000000000000000000000000000000000000000..9ef1ada0a424f6e00059f0c6bb4f1ab7f77db333 --- /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 0000000000000000000000000000000000000000..863a42b741ba567d6650269127ecbbf8915cdabf --- /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 0000000000000000000000000000000000000000..6f30932ba6db68fc0d8603731d6421242f44f1f5 --- /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 0000000000000000000000000000000000000000..a66d31d2ec441a9fc8edcbae5f039b907199870b --- /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 a127e7322eb7359095dec000bfa96f7964a3367d..610d14568ae5ded344094b563279330573cde2cf 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 4bef93ff8cd7f6b4a0ba1d56ab3a199cc3ada9f2..0000000000000000000000000000000000000000 --- 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 a5ce0fda2704ab1973f39beef84af17773d659a2..049d6646ec8ade8b4b72ae27d6edd3ecde49132d 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 000112008a33eb303c673aaf6127b07b0df81c2d..56d15cd1e806ce7d6317f709823c0d1d1abb2183 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 0a06452d5d89b0ba8ac118b56023799b653f6f2b..c201eda69e6163182e2d3b1be4c9bf25cac37535 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 42fa2578062d5ecf3f18f80ee91ca126a057caa3..d90e1c2256417bbdbda00a33a6b8da09f2bbe55c 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 035077e12a6f547b06bb409cb1af41cf0be81696..0745313b41e7c072d92324a859d261e68dc4e08d 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 a3de6f99418daad1af12002a636cb195869ab1af..81336aed8aad8a913a9d6f27ac991318f8f60016 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 0000000000000000000000000000000000000000..86f5029e9a59467ab473330b91ab11d037cd7ca6 --- /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 44daabe6a73611618f85f0455e85d3890731bb3e..e7f627f62f7758e98f053b1bcc78f160022ec585 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 dfb8f1c54a16d23476aa51672725a36afb82d520..8be17b289f7e547d653130fe34859c49a44be32b 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 0000000000000000000000000000000000000000..afce119e39612ae6f46d2f5cfd15d536e1aa1147 --- /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 c34934400d0190d34eb322024a340584f803298a..587fbfe48d32f5159260e5360da10c9bf42d3425 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 - ]; - - 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"; - - 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 - ''; + 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 + ''; + + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-init-script=redhat" + "--with-macvtap" + "--with-virtualport" + ]; + + 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 + ''; 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 46e73a121fe3aa3c17d23b4fcd1c0660ee572bca..aa869b4b19d857c7f0a764e1cd1c5838a451d75d 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 ac5c6146cbae80d1f5a33f520ce207e633163c43..18f57473fb91592901b22e5ee1dc27fbb381d561 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 b86df4969c298e94cec638901b5aed256e8b69e4..b235c746e1a0ca879c401954309e9e67a3992559 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 37f03a1dfb698e0551243e96b94ab35bed7affff..aebb81020b3a97bedb5981a26bb2738bd21448fd 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 d8794142b7dcfe4a2c0f15bdbe8e2bd597d23ed8..fd84c53c88fd5c49a0b043abd382801c4e76d176 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 0000000000000000000000000000000000000000..ea75b01178e30d15f58c810d754986e175e26bdd --- /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 cf687c9724300386d3d00b1236a6087b1e465c27..d0ad17048aa5cfd235c228f4dbbaa78a4e29a368 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 0000000000000000000000000000000000000000..25c2117b059d76eb2852e0755e2f6bb696c98f2a --- /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 0000000000000000000000000000000000000000..90692569f0897938743b887e3bb12d72e31c5928 --- /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 914157c7a0cdfbb4d15ae0c0518b35490defa687..be50a58c54a0eb00c5d973cc95766c4b9dec1841 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 e62fa2fa1c5f7bc048d23290d6f155ca05e58d31..b2e13a1e9ab876cf707007fb6dbcc979d935ce6d 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 3b1fd9faa6b25debb6c10f8cd723b25f2fac3843..d8a2ea6ee377360d1c75fd372e4c8c6c3fc16f2a 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 0000000000000000000000000000000000000000..8e2e202f43209a0f5108fa8f81bef14becdab6f6 --- /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 f7ff87b34cc6371c3b97754b8ada3845a0e26337..9452ae0a7c21dc48195d3107e23a38a45102688c 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 9a8b6768277ba6e47fe8e868806dc218f2e5cde0..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..6b123139013d3a7cfea8ed83c6e73b7983c56c3c --- /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 755682d9f1e85e497fc336cbb8e9e8ecda96cf9b..bb3f60eaf88a24bc56149d810b2b3a3ce6770e22 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 4663f68bd7d37fd9522526b49b422a5961bdb0e0..0000000000000000000000000000000000000000 --- 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 33b713239c853478cedaaaf6d969e809dc15b97b..f3b1c2c72a77b01cc268d76d99892b7bb6b60b26 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 3824e3d3755ba035a94587ebc10272778607d0a1..e5d212dc2690004043228276be96597857105059 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 fd164cf91052706105b2dbc6923a53d0f4996b52..0000000000000000000000000000000000000000 --- 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 faa2e1b1a71ed1046f345422bbe4259e3a61b84c..8e3281c862ae803be3dbdd5d16ba641513bd8c7f 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 0000000000000000000000000000000000000000..6e1e8c8e11388b769a3b0dfeafd185b637a0a3e7 --- /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 854becf6bb5583efc402e1e6ea9cfc25d9a7c26b..f92fe373043540c85bc8019773a8b8dd7ca6834e 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 569d7fe2a3287fe16c44c7ee36b5492f05984b82..993993cecd0702efd71abfb2a7760b54e9a1e139 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 0000000000000000000000000000000000000000..73578f8a36758c576401f17cb706799a6acffd8f --- /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 0000000000000000000000000000000000000000..255468e781038dec111d03910c8dc90e752aca76 --- /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 2b6f952696cdd86ea8b10d3691803b9df1b6a79b..8aa8edfd3b915cfbb2b085b3a61295d633e7848b 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 0000000000000000000000000000000000000000..4268231380c19056164755ff2820955a5b366d8c --- /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 64c07d9cb2e2ae87d389909a8b8d217b5b517cbe..92cc12fe1be853998e84f3800268f0f2c2d88eab 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 abf6c7112a5cc6597119311a519318f0c3dea38c..67df3645eb906b4b634c842a5c4ed995b8e788b3 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 513b340e132a87ffe7d3cb2156ac4a3e82d7ef64..28d361ea7b8d181055edb9083acc6f309d923e31 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 60b9c7738a0b20a60c6fe03169d9d770933da699..c8e8ff3527732ae5497aa82d87d02d773d7cef95 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 6e61b743a5686a83944990aee3fd3fcd0ddcda74..678a439fe0acf4556576ecf16550e79b4ab3652f 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 640b99df5473c1e556a00a5eaa720e2715cd2d1a..0d57018dcd6fd6e03f06c99871e73eefede366d1 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 67be64921e7596412e6cb30791292249ece2536f..be6216b758c924e91760383608421bfa7f66d366 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 f57ee931fafabddc995a8774e6f9211137e4f501..2dc71bb2d11b85b4c712afbe72ce75a8831fba05 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 f71c52e670bf61acd9c7783a3975d40a47d57b36..ab598f47a52dc592c92b2274fb699623a3d7258e 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 e59c249348a829da378b51f698d47c3fe1451b02..51279701d4a569d6f8ef16a7edefc3d57b7d3407 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 c57b050ebc6760657546536e6d328af52a70b885..3111f71369a0a43922a36d4612387f6d38cdd28e 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 821e66ea0b309d8990f6d796f587d7e38095faa8..d5d1614ec8f4195d47ef926bf749bddf777c16f7 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 123d229f2ba5e750b261f7c74507d17ac068b3f8..0000000000000000000000000000000000000000 --- 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 34d5bac6adb31114666a66dff6cbed8e5a05a0e8..f405e30433fbe4e7fde89baa46c99803675a5a91 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 2ba6b5cb9078ce28c668c431c8d6ceddd61d4f10..cbdb7b128b4579265dbc57c79acc10f3ff365a97 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 0000000000000000000000000000000000000000..551050f67bf98722e862af73102cd6f477ae7378 --- /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 1da9ef193b5f790b60c4043733b03d0a97df4b47..952bdfa29cee7b55bb00c9ae364bf470d713af1b 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 0000000000000000000000000000000000000000..08711884a5703c2cd7159ab8cf35147227f475b3 --- /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 153d3ba574678d8354b59fce7d1ccfd0a51462ca..d2b8778aa142230d8116da49a36c3b5019959bf6 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 e593200d1599ad80485af4c5281a82bfb5955ea8..e94aecc41e43fdc3038722407a0c58f82cb13826 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 0000000000000000000000000000000000000000..84a7a9b4ccf7f557c3d147057e7c13e254cf56cb --- /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 719face2135515efa6fde47572fef3aafcd89462..9fdcb3743b7255c6a3f61a5bf132880d99c5a394 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 0000000000000000000000000000000000000000..2f99b9d7218336b0bf873e74f8704d68ff975a68 --- /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 9e606967ab116ee8061c8af7d0dfb17feab7c671..b0707ad15f06680b35ba7c97e7f649fe5bc8807f 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 67041ad06078157aec457758e730b8207ad46585..8d55bafeb20d2b1f7a8c62f9247704de0ef83bfe 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 12662b9dea94a69664a3b00fc7d7c8e6441ca8ee..06411c1f22a8318d0e750256604945847aa70788 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 0000000000000000000000000000000000000000..cd56287f6ca0d5a9815d8221bdee87c7d4263fb9 --- /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 63733a35b20433bc62f520ed2187e40127e8160a..2fd5c9ad493daa77f80416b0676efb988242ab22 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 e758fe34c36229e8a75c9e983356f1ebbe4e8b84..b511a841d1900991c3dfd55a5039d5b1858e59ce 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 db018cca4656a4a39e89aceef36998f7a45db0d4..8e8cdc0ce1cfa70c5d58de51ebbf0a0e03f0a708 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 3212d13ce352ffba0966b5a1947cb8eb6b405dce..f874804c0010c9d701f3c0e4f8b8ef597baaff43 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 0f2326420cbb1e3fcf4d912342eccdf65c43b1a8..8f122cb699acb78bafea5fbb6ee19d179fa8c8a9 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 dafa82bad34797fd0e87d2538db94c6a1b22c317..1841fcbe4a13b363aba0c675b587e43e91b9c9b7 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 60bf24dfd7844c5df0926e75ea332487446a61ce..adb1fe90558e1ddc730f8553302381c2cd3471c8 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 de96ab58eaef40c2ae1f71b8d72281056d6f18f2..ec392e7153159373d4f0f57c1a274529f0bd6680 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 fc8dc123032ad442efad398a1a7a8b970eeb1126..6b8b611d3f7a3617567151b64e1165e80abf1d3d 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 0000000000000000000000000000000000000000..4c6b34fe1bec473ae23c92547f7e28d31f55dc43 --- /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 bd177ffc6600c4f30ebabeeb3b50a63f002af12c..f8c5a213ee3b31231066f4cca13bda13e7e24445 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 0000000000000000000000000000000000000000..7b55de75b646a8c7489c8957a49634ec946ffd14 --- /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 9a4ba00e1d33f6cfd409ad7944c8186963481eee..ebd8699dc17cad06c692756479face8c66594bd1 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 cd083f0d80adbdad465f9c1d27186e2f2dfa23ac..41087044e49d90758b6323dcf457d4696610135e 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 a6a624c0a87807be125abb09bec52f7585f7c923..a5185689ee0a1ea19fd1e91561a73f539c72d7a3 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 f44e4cbcd8b20af99fdfe7fa1c439dedab10d280..6c0806ec4cd1485a00ffd633c332db4937f43e8f 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 0000000000000000000000000000000000000000..f6e57c626c3049bdcb814071e1037b30aadf6954 --- /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 b535961357b0dc4cabfe3f22193daa27e6eaa267..f2e0d19456202c87bbe372877dc6d868b2aa04f8 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 0000000000000000000000000000000000000000..86d392fe1ac89e1504bfe82e61bd987be653e45b --- /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 2b555db328214df1388ce2045c88ad6b12f85701..e1129d25ef4e9d2bcdd8999164ceca80c3f8d881 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 47925520ab477333b2cc366f12d8c145780c1aac..11dc34176f533b44bfad30c5f38d3239b4136376 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 0000000000000000000000000000000000000000..7f05daab0210221bba8fc9fe9539b7e035059cca --- /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 5ac2487c9edcac711625b2d2e8515c7f7c180bb4..0564e68879574993213373969fdc3f6d26ba3e4e 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 fb24ba98b450bfbb841e5639a96a95f466d6c233..9a81b840b35d8f6f2e92a446853a53ad96eaa837 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 83b921dd49b925d9282e2b211a371f6ff9e6ba4b..97251e15c49718e149a2de1e859f212972a71305 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 e9ad56bdbf16030eba7ed86335b682bc04d64029..58631e83217003cb3aba3ee4f32309f37bffee5c 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 95898adeb8a68da43f52050d312f4cc4095c85b1..0000000000000000000000000000000000000000 --- 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 ef4d259cb029900fa2fa45e2e9714ab82f2457e7..0000000000000000000000000000000000000000 --- 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 c2e3b9b06dd6f163559e7c63aecbdb0d196ae141..0000000000000000000000000000000000000000 --- 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 65bcd43509608df5c3bb9691ae5a3493a1d1edec..0000000000000000000000000000000000000000 --- 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 65bcd43509608df5c3bb9691ae5a3493a1d1edec..0000000000000000000000000000000000000000 --- 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 f90bafbf6dc35513875c578fcea9763fd85a9e92..0000000000000000000000000000000000000000 --- 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 c4e5b8a6fd6e035d61f914e0abe6b4baf532b510..0000000000000000000000000000000000000000 --- 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 994cae544cb269f0fa3f78581f4887df3ffd5c13..0000000000000000000000000000000000000000 --- 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 766bb7154746101d14fa524a405067537501984d..8497ea9ae942ce7bbb6e1efdfbf10a58ce20a1b0 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 eb55d1d60f41dc4277535db8ff779e397db3e836..5b3f9e03ac7a1c92c0546367702d0dff4861e6b2 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 0b551b753f5740b8eeaee5d915d5c62a0aeebb6c..ecfc9b88a0e45a9379d1b41dfe0a3c7526d0b1c1 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 847ca6510e5aa6066b8a9ff49817251b5ada1468..81447276db79dbaed2352840ba58b13f1bf07447 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 07220d6e1a65d1012c36264d9f78ba34ef467d9e..fcdab133e2f8e0171aeb5042fc97c95fe8b9d737 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 ef7a65599a9247b25d87169a549011a4f2237f05..9f578e4b9dded2411c4a46418312d18f1c9d3f09 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 0000000000000000000000000000000000000000..29e92d0b6ecefab64db22af8bc3e906a5fb561d0 --- /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 ec47c35c153043c5c275df64edf4495ea18498e4..0d4abaf25e0a11d787c603c48444fbfd62df9fcb 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 69e53d4e8f64199cc100bf3e95f103f587209cdc..055a491f46015a1a9ffa1ce1468e794ceb365bbb 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 0ae4ce13064c646990cf69d1c511ef3e66d2af94..efaadf5606e1907bb5998351fd2717c1011d9af3 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 57939526f565175a647e91379f050509b97067d0..ae0dab1ec9d4768ee26fc5aff982062fd87571e7 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 d311b6b722a9e53f3977f652e4fd69a5077c04e0..c177d8fe03fd103532f62b8235281241003b228f 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 9c843fa8c37352be2f74fe5b454769c8907ff657..278c073dc586f38030c5928c3881cf845e26bfb1 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.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} + ${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 0000000000000000000000000000000000000000..92b8c9a18456bed82c9a4dafed93a7d4090e2040 --- /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 068a9acedda49fac19bdb39c3c2d085c550aafbd..1e32cce9c722fc5df1e1cd19fcec763a7b1ce595 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 - - 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 + # 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 - ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py distribute 7.0 $(pwd) ${appId} "${_appName}" "$provisioningId" "${iosCertificateName}" $out universal "$HOME/Library/Keychains/$keychainName" + # 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 - # Remove our generated keychain + cp -av ${titaniumsdk} $TMPDIR/titaniumsdk - ${deleteKeychain} - '' - else - if release then - '' - export HOME=/Users/$(whoami) - export keychainName=$(basename $out) + 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 5187b0e0238778e06ef4778f56910aa87ec01f68..cad4503dc96ee9631050130882bf06956a40345d 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 001b91f551d2b699f35394bd57391e453cf52790..95dd09be30dc6bf3ff7dd03c077650ab2bf047fb 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 abf06a00fc9c6f61107c3df52554232558be764a..fa01dadc775611def5bebf0973c668114e55f370 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 0000000000000000000000000000000000000000..1f0d53e99fe581a0512b4f21d6a064f3ed6568fa --- /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 299e7729b91e6433b07ab848144c799a021f5989..33e30f5d5c8ea5ce395167c03440a99314a2722e 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 01f698da2326e813d81e7f2e7b58d0c4085fc198..a6af84a6581dfddda2d0bf2fef0c31704f41ecfb 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 9310e3ca0816e7b66dab65a04fa247c1efa6091b..5d22970155b65c03c7b42a416fa388e3196e7b4e 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 be5faa330aea8145537a636a5c8ce548f2bfcbd7..619f2f14b96bb5578175ef61f1cecbaa604aa519 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 06688ded22a513f40e2e8b13d916cbdf573b7ee9..7b1741c3d1e9b0024c859d92f36abadfc2b45b74 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 4017d8f5ca5365e288a4de79e93d5f162a6c1820..4195f8d613e70645fb74aa2771d3ee9bbe02a457 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 ? [] -, preConfigure ? "true" +# passed to "python setup.py install" +, setupPyInstallFlags ? [] -, 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 a7c839799b1f70a29c7cee429618b3d1b47f2e98..282aeca9ed1c998bec0631abc43fbe37f40db873 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 269f67bf5cd039f015218e06af865809f624561c..0000000000000000000000000000000000000000 --- 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 1dfdfee08fb6303d023d4c1350d686bdf291e2dc..0b462cb4e52138fb76c7052f239f09a2813226e6 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 1e8ceed6878f87ad46f829e3a3d2db916ad90c91..54a50a2b71f1f12e1a5050b87b6b09bc1b1e4386 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 0000000000000000000000000000000000000000..04f7e434a54b1284c0899f604b0582882c1ea9fa --- /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 ec741ba247e502719d666714a740a53cdd1c07b4..5da727a08db130e578b94ce0eee92476e7f2948d 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 e291544911ccbb4e747140b6060ebc9555eda69a..dfe805ec9e40a990dfd23fe0f4dc3c778621f626 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 d45d724ae589c6ce7093dfb967b49c8237b849aa..df95e56377d72207f6fe532fdc1f39a13a083208 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 0000000000000000000000000000000000000000..d410f09072f71113a916a3019f7227337963b8b5 --- /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 8ddf0e9329f6593d0791600640e5dec01858ee4b..e33c815d23bc8cde7e43cdf5c432898abbbe844e 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 96a4f81ee5819955bc9488685959db6f8bee968e..0000000000000000000000000000000000000000 --- 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 34e7b478595e89a2aca7712f826b031dc5c1a81a..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..e45ffdfb2e1740403158e8e3bd524090b8d8905d --- /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 0000000000000000000000000000000000000000..337ad49f97152ddec52e5058e7f8b8e1b64641d7 --- /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 d3e588bd1cd2ceaeeee223f2404a09db2bca2407..958187f982fe95d4999494b50dcf204d97bb340f 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 0000000000000000000000000000000000000000..9aa6148643bdda4b5697b65ea2dcfa035e4d1937 --- /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 0000000000000000000000000000000000000000..7403c67d0912511c0e7eaf6b7ecc726bbac1cbe6 --- /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 5b2de20e33f4c7daefeeaa221fe07f4ea4f3614d..b3769245bbe81e654fac31c5fd8d91850d4c4d44 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 2adaaf3c0317295da660df0a73da8bcf68944d3c..cf60f1af76738b42b85b56496bdcb9978a938a8b 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 a8d376ef23c8dfa1a923546394680406695aea11..9ad34097d0b17daeef32873a21479f49775aac0b 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 0000000000000000000000000000000000000000..6c8d8664d02b77760d6595ad9c13871a5741333e --- /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 0000000000000000000000000000000000000000..fa1f476fba0f7ccef3beb181b490ac68674cc809 --- /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 b4fdd4c09d4ded23a8aa24992314d8e91b07863b..4be166f97682963a0d7c874c14c3409313c2a378 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 97565bec98e74c1dc319abab11d20d4abbcbf23d..a6ea2c2f59d4a68d6e001cf1cfc089a6abd967f5 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 0000000000000000000000000000000000000000..137b0a325b04097751aad67fd0ed872cd08c6f25 --- /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 19c664c2ea7e46192a2fd970138bac5dda4bde33..0dfb634c59441fde26269effb5bc3c86059f3885 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 b28c4d9296fa27308a3d6cb3f4549e779e139d04..f21be7cc48c7b4c8095e70393bebaee465c50e41 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 c872d67146b344c75c27af48d87682403c796c3a..2d7c63fdc7de9199a72d34b872d2364ae3cc39c6 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 0000000000000000000000000000000000000000..3ef27a09b5c21a057c61f42bb432a43ed2209798 --- /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 d66149a950961538f75843d7cb5e9ec9c80fe760..9ce69374cd88b858a64d65b0baa5009369311fe8 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 ef8a9eef7c181d4d200c4a1d25ae388353523f98..31c85d6f5220e2d8b136522ff3ab149d650d18e5 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 175e538e5193292decdb796282b5e49eae9b58f9..abc0b070a7643d67a5d4ba482b585a5806ca8994 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 97b50d0019fa42765f5f74ae5306c30d8e549ae0..f8466e5aafda76e2c96698c45c2713c100255ea1 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 6a66466506cbbe2e371ac1114d596b7ae261ec2a..c28854ca0896db4842ea2d33144ea76c0fa92126 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 a41cf69ad23859225f7c01dc44663db5f7f52638..ff21e518936c5c6e55779a33de27dd919db9c04a 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 b5c0b0a03daef336ad6a3d3f3258fd375998746e..75c2da8a28de974f1db89ba2323a113f46c22409 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 ac6951785416bfb2e986942fe6c819d357811ad4..a64360c57274e1c461794cd8e150eb08230bd8a2 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 8139d6e28c78735458e40a40900fc1b6f34ea672..c6856dae565124cd07bb040988626d85436912ff 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 0000000000000000000000000000000000000000..5194684261c9a554e29987204629131e967133f3 --- /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 f530ed70e37f943a136f2931ab0586f482b2b347..0000000000000000000000000000000000000000 --- 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 69c1f4181cc70a973652a11e8dbc05c84529a380..9a8979aaa6cf06524a25cf5c9e94cc912b059977 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 0000000000000000000000000000000000000000..c4677f202ddd3683d66fb87155d0e9d59e9d3b1c --- /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 0d298558e5ee0b9ba8b96bfcc2855efb198e08da..2e5701375a4790f9b09602fcece084086fe80cb5 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 3cb85b86acbdbc989df3ce7d34d87619852edfeb..ebe8d2c3e24c703fe7783667df8b2b8f08182b4e 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 6c24b509db5659186cd001b97621328c4bb47bce..7cbc663058474a348fc23a1e59b808dcd596f734 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 0000000000000000000000000000000000000000..65a7b4d3211a02639170b95d9d80473a642744b5 --- /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 0000000000000000000000000000000000000000..62048e2893b34c4066ba10bb4841b7d42644ce4d --- /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 d0d7e7b39b24059a59899c84fe50a61483b9a730..7ad20ee066b2125b521d7a589844b86a265ce631 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 0000000000000000000000000000000000000000..c5c35ac571cbdb00a133bb84ae608773f9151e59 --- /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 0000000000000000000000000000000000000000..7744a3071cce78bf568ceda5f3600cd9ae857f6f --- /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 cd27fb5fbc4db013e5ff2a1422d249afa8d3be21..036c308a71219ee84e8e8b082c80c014cb96a6b9 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 b78785f8fc1384aeb762dd2ffd67a5aff835a8cb..17ae7d508d3f6043fcb1618b45b47f319c18dbe6 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 53e2c5a74194171856d0756daab7859cf2271eb5..1cffefd6da311cd710867cf729a7e8ea976d216f 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 0000000000000000000000000000000000000000..016070f66c33eeefe39d93720f5d5a2d5d5b3a2d --- /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 fc8c0e3f0526ed49916580e6a92782829954785b..84444522d1954c0b52a651e0d71c9eb868bc3f3d 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 0000000000000000000000000000000000000000..172949818a60e0f60798c0cdd20370bf28afbccf --- /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 c173010928dced7e9c2198c3551e1b8b5422a9b6..291bc29e1b70097e58f86b36e9d9da0e1e49c2d7 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 2d8169d408fe65336e94c1089f67b2b59c6d8876..f6793e3aeec02368a994c69126b76c321394b52d 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 308183cb6fc0c55f8862e53850888cb0065f8dde..a26c1fdd199536f6f09a39596b212c6cdaa30669 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 80b033425a13b12c9d62136711c85c9f5a55113a..0000000000000000000000000000000000000000 --- 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 8bee4790bcb755b2ce448e99415d01640c618b7f..269d423f2fab79180e0602fb583a0e5ee9ed9f98 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 d19bb24eb37089f4a549e6e200e51d89e75fc782..aa8e70b5edc5003a1bee39a137286c8b8018e165 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 6b93240ba0576e0c7ecd9e38d12c0b0cf2a432a3..6db4abbf446bea3d9a93efcbcf2b5bef41bef007 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 adabcec9898166a9a00cbb0367fe87071fd7d1b7..d313d271afbbf51dd5a9cefd32a1374edb2744d6 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 3978d96400cd4f98bd7cdf605fb806156c61aa7d..5d7da48ccedecad63d14be480331e437cd45a02d 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 1ff5daca02c5b011f53230a8dbabcc88b0448964..ff7ee9446d28da10cd7b5c407cccab2f200089ec 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 e5c9df96aab955ad902c016d41403ba769fa2d75..72a6571f3ccf626f0f7bb3c5f8098ff84a14b3d9 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 0000000000000000000000000000000000000000..93dceb60f8d9ed80425ea43828c2b3b69f22b76f --- /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 0000000000000000000000000000000000000000..6553dea7b4c3fdf0a334b33c7a9da9ef511515a5 --- /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 526a66e0280480205be1cffc0081ea2d5462f6a6..53e4bd6821f28113b09b80bffa1b15d1e1382f4b 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 d67407eb03dfe9808982612f032641506c872070..b3a86a03d97cfdb7a983db8c4cdbe19dbceb0da5 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 0000000000000000000000000000000000000000..e9da8035ef5bb4f9ce0691dbee44513480d989f0 --- /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 d1cd59d8828a4438a87e26793b35e31854e6b31b..fdb5f72af83066da557cdcf19f653dcb1312b274 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 d1b0d0e376edc6578842b8323af2ecd405c4ac5e..75e8e2dfe4fd9e0555ba7a1f281cac858a1af20b 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 dd371584a798f94374e9f70eb5102c20b418a264..0000000000000000000000000000000000000000 --- 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 a3e1348f940ddc4bbda78d67183cfeb31b22dcc6..2d60a06fb3e1d0191ad98ef736b9e7c3c837209b 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 bdd35dc50f05ef26728314317d48e9524b9f21e9..ec3a5e9bcbf6e149db92a3444a3dbd9811a5903b 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 a436f29df14cb44f3a4d0b452a59e0e58412882a..1d20d8eef45686a8cde285241a721fa72a028fae 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 42d11ebe7c57a7854fd14f7252f15e4db063733b..541385d8bec274e977c2893f0188fc1115edf9f1 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 7d9edbda97aef7f4c34be86c35ec303c164e6b5a..0000000000000000000000000000000000000000 --- 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 014a97a91581181a5eda33522386740e9a0a72f1..0cba211f28b99ede27ad2f2d834735a0b8e552d8 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 5cf8b6649418287f26dc95d688aebbb66a31c7be..0096cbdbabf568c647ce3879bb26447c2ff87b23 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 356b004aa4e55c0f4971e4387d06e9ae837b35a7..953035342fd8e874957e867cbaa94ec7493b500d 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 c625f1474006b60aa0eb54fd175c3d2e940b71bd..36a57e8fe96e8bf0a70f9dee6b94822830ffa5fc 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 857aa1cabcf95adb35c2a648e1e74b21a8ff8e13..06b5c2ef516d33867264f35ef9ba5a629360f9dc 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 aa8418496eaabac6ececf9741ab0ff07c441f06c..0000000000000000000000000000000000000000 --- 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 8fcf254e8ca3ebc57bd933ed493e4fb15880cc83..2fa7194cf0735e51a3976be3d9ed1b082ba972db 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 bdf3a7d056164cf120a579450afd8886cd39bbc1..732423da5cd4b34b89e7c8aefe576dc79ba3a4db 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 2066ead51a1418b2099a6d6c8872d5a1e67012e5..b51ce0f2d5afb8fb4729a1f2c462237906aeb210 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 0000000000000000000000000000000000000000..653fb0616034ab5505c2262bac4ce4891f98a8ff --- /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 1f37fd87f8a8059b892b49971790eec00b9504af..d489feba4dc5aeafae29cf0c9c4ca74935376f69 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 0000000000000000000000000000000000000000..9902cd03453950210af12efe288a5896336f0ccc --- /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 fd42093e561df0a822d6d0e6ea2b6ac2412ca862..0000000000000000000000000000000000000000 --- 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 2f318f18d54240fcd062562e3f0891ca9ecfeef4..0a7446fe5344770a8df08fd2886fa87ba82619f3 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 d49077a5ef6df94e1de02f9be568578b93aea13a..67ef086941e34a9a24ec210b1f6b1b241824a2b5 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 384e724dfad84878dc141047af277449f9d62e4a..8b00d17ac7d1ba6786331852193b1d4e9f9e0da5 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 0000000000000000000000000000000000000000..be125801bd50d3bfcbd4d07b3980ff9b83bb005b --- /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 0000000000000000000000000000000000000000..3ab935705a2d6f4312ef1ef17f0b232399fa1565 --- /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 0000000000000000000000000000000000000000..88b7451e0f00db02d8731b351d298f1a0008cbf1 --- /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 0000000000000000000000000000000000000000..d72df18f8992a3c86879080c445585d6cad00e25 --- /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 c5093db107d00d3540707f0a803965e3bd3779c5..2c71f8ba49f5656fbcc1d43a1d099bca4518f4bc 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 7dc17cd4153a4a11f0e53be2a9a3479ceb50bcda..b38979256c664d6e8af734d7413062a6af7f86e4 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 5d10dbd69951c1b43d36fc3bcf546992ab0c01da..dc4a0261c4a9acc23895cc03d02701f4d3625200 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 bbe413d478ff90356b2867bf89248f6d30cbd3bd..146f784463e4a2b0776e1c5a0eec3f535b6dc19c 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 3fb843e69557d2ae15a3cdf4dfd63a8e724ba4f9..65faf84aa2cb2fa210004d56e79b7afb7812a845 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 0000000000000000000000000000000000000000..1e5942bfbefb924b0d55a56a903f3324c8ff9df6 --- /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 77ba164f07aef913fe687df4209450f49fe1a74c..5660d51f060662a21587aca2a8be2d6fc9f88842 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 e3bd4ac7a5a951a577f1876c87050e10e250d591..284223905f6493d36460d483a07c90b5c4d6a95c 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 21180e7d185ef256b7761509ff3a91df34cabbca..8047080a125dede71ac9b11834f5678741008034 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 0000000000000000000000000000000000000000..f12f89f6e24c81f31f2f44ad9dbf2c6624bdf464 --- /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 9be98689aeaa24a868428c9714a53c6860d028de..0000000000000000000000000000000000000000 --- 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 d56cf0c88a2e68b08f9ad49b635f318cf395804c..0000000000000000000000000000000000000000 --- 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 13bb683497905094eb11b9bed9f8fca563f9d2d8..0000000000000000000000000000000000000000 --- 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 401c4d1475ce0d2d3ce76b173d8180339a065c0d..5ebac4303e7575e8593b894196f1a9dc6cfa9b40 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 d64d8983e9cba25673439bfb4938ef1c90f0495f..7463a9f94a0aa7666d28bccfc6dd391feff19cfc 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 fdc483fe571461ec9c9bbbb2e69486144857eabc..3a3795c90db681afc81e9696a81f6aa7f06aceae 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 decc992809a27e57ee79427472221b6ad18fadad..141205d19402286d0f6156c3379b043afe50ac5f 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 0000000000000000000000000000000000000000..b1a03fa3b9f85e9cff7b292a38012dc0f84f9c2a --- /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 0000000000000000000000000000000000000000..8bc4db0f405e483e4821de99570c48d16d17498a --- /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 7eea3bedcef0fd35a9ce376c0763da1721ce96b8..6fc53595efbd8912944f0095f147a0d805da2812 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"; + }; + + buildInputs = if stdenv.isDarwin then [ unzip ] else []; - buildPhase = '' + 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 bccaa70ead7ca7cc47c9c145a9b12c61016ce5df..90f7647aa05f5ed2232e9eeb78b706b69d1ae7a3 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 0000000000000000000000000000000000000000..efb1e85c2d730e2b3d23bcdefedc4a76e90ff930 --- /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 80fc093822fd1ebeac97e1aecb9de0a2660b588e..d0870e82b72304305a84d845e186bd7abf0188e5 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 7c10bcb51decafd4194cec1780dd583c1ea2ec43..062d7f4ec066e983e387da715e76213fa4da9dee 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 c0e8ec92493362d876529f6b30a00e204fab5a49..e88168b68a77cb2b6d0f726efbd59fb724d4f7d2 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' -- 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' ++ if self.isIOS: + return 'i386' -+ except: ++ version, build = self._XcodeVersion() ++ if version >= '0500': + return 'x86_64' + return 'i386' +- version, build = self._XcodeVersion() +- if version >= '0500': ++ except: + 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 0000000000000000000000000000000000000000..f0966357d93df8c211201082cbc25f253e15cfd2 --- /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 c9fd9706c0e3ac0d7708e80288ebc9e335fa77a8..93277eb15a27f3166af94ff832832ba7b6e5b96e 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 e039291882c57c4238c2324a4706ae7177651958..720be6fb1d248a5dee3dca69ec5e6c341b157db0 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 86cf929aede70d96d75a1ff5841c0fdc8bbf604e..bf2fb1e89c21013cd7d601c0a99f82e6e4602ef0 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 19567918377629cdf08659fe369c5e8cbbc86221..3db7aecfe1a57fb44fe5b5879429f5b4f261db29 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 0000000000000000000000000000000000000000..bfa5a69dfc329f1b9ba3f8495c51567020d7df00 --- /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 1f80998da92dbf40068037a41eef31652685f292..b4ec7eb311ffae08012d30139502b1979cdf3903 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 0000000000000000000000000000000000000000..1d23640ce8b1130b983d229e82e4bd8a43eafbb0 --- /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 6b385bc2e564546e95896fed7e75dfb81f29903d..7e2b4221d523123eae7bc39ff82ad584457e3174 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 0000000000000000000000000000000000000000..009d07d4456cc03815926d5e7e03ddb8e03c25d1 --- /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 65a61cb6cabc08920df0cc6d1d28037f8a0ff7ba..196561d1e3790f07930cbf75a8a8bde47fb62119 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 70cffaa192e2d169186d738edc4330838cd81266..f9d380d9cd52b4fa26a788296ddcb7ce6d657809 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 f522eef8eb91acc088018659309aaf5818a9b44a..b5c8ef0154c28fea0e70ec48b087433831db9ce0 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 130f1f905a444f4149d85c2118c6e6a9b3081962..6a54dd7512f635c9b2b3fcfb1fde287d1f721e0f 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 46f22d332ccbde47129ca2846c01de9e814e6fcf..cd2698665f62851805bb373d37a6446f75bfa966 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 dc221f37dd629ba29b73ac6cda53abae0241e987..4b1cab6531c789f7e4f3072ea3f01a52c0881c56 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 f008be35e37867892db02a17697a4b353c4a94b0..0000000000000000000000000000000000000000 --- 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 65c991340728b45b1869c23ad8ea508ddb8d4b8f..b6008bd7e76aea8db731acf21295243ca6c5a5fe 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; - }; - - 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"]; +stdenv.mkDerivation { + name = "widelands-18"; - 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"; - }; + + + src = fetchurl { + url = "https://launchpad.net/widelands/build18/build-18/+download/" + + "widelands-build18-src.tar.bz2"; + sha256 = "1qvx1cwkf61iwq0qkngvg460dsxqsfvk36qc7jf7mzwkiwbxkzvd"; }; -}) x + 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 454112638768d4937b5728f4ef5877f78e570c99..97414c07bda75edc2a5c1304e6dbe25d7f2d44b2 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 ed37227bb0395db4a02441387cf688d1f2757f14..5695bb5b42943971e9f12061b3f824cabefd936b 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 0000000000000000000000000000000000000000..8f0830be1862517e761e4902b8d1a746cdb4c055 --- /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 5d891c381001b662f523773a410958ae6ea72ac9..bf55f93db5b7e0ca1446b3c5b1d933ae148ad1a3 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 eaab4276c1a312632aa269cb0dd04d87d80a676a..c3bced292005240f3e8584e439fa3e48e0c8e92f 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 0000000000000000000000000000000000000000..b32c30967547ad40b31fd5ed44a47a848922eb98 --- /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 0000000000000000000000000000000000000000..d5d681ae67a8e057e822d5e1f1ace2b1de635bda --- /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 b3c71c8919126b9cb14f31b84766401e20726a8d..7e750d9c9b377b51809792fa3eb8e8889714194f 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 0000000000000000000000000000000000000000..7966d1e683b962035ef44a03eecadfe7bbc584c4 --- /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 0000000000000000000000000000000000000000..53092e3a8b74eb7dbcad141eb45dff825d2bc81c --- /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 b40ebe84bcb19dca1cdc92579e8cf282b03ebbe5..9426684165db6467b3aeacc668243acf209864a6 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 ece31bbaa74f6e9dd0fb8c58a6275b5321c826c6..981c01e2b4a7e08545674cfd9725d0773961d234 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 fb51985afd1e863afb42cf0996859e3e69219ee5..c3d846c566ce8ee2cbc09bfc123b02c537b9043d 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 017a47349a9cb681926cb3a428964ba869e3c404..ec5feb27c85b9fefa035c0afd6e4c6d993e72309 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 40a0d7af49684fcd59c9182d65885b3a6a127174..f410f25e8cb7e52008f29d6e7a119170764c1e08 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 671e51542d06323a578ee5af6106c405107da380..e0793664a9c8a070b53915461933e41f991dec5f 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 2a774949530db55d716bde75f7ee23e6788c70ab..a3400ee0823fc012eb7486c1862e0f693cb9fdb8 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 c1f92476b87993dbb842052ac6423d15bb21a074..c9d45835cfd08eadaadf844e5311717df132cf61 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 9924779d92abdcce443d28051e273b4e0ea844be..93d77819e57acffe918246c72ff276b706141e01 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 0000000000000000000000000000000000000000..546a27892f0d61a090e40a3926cbb37a286b9e07 --- /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 484ecd06bb0b09aec1c6dd84934ed67c1ccf912d..6167696f336c7209ce0bdaf787a3e8f0b4cfd2fb 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 2a20aa29fcc935e3f2271e43dcefdb66d63bf868..d1ca1b354522efbeed2993fb07ef3f13238327bc 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 8f5ecb71205918898afa0e277d7ac2439f97c58a..0aa67dba2378b922ef94403353666a1afd638db6 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 -assert stdenv.system == "x86_64-linux"; +# 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 ce4871c0658bcba4800d5f5a7082200e008013e3..392c2a8c29e30e248547d62f47d1edf1737bff53 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; + #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 + } + + +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; +- } + } -+ -+ return root; -+} ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1) ++ ((acpi_tbl_table_handler)handler)(hdr); +#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; - } + ((acpi_table_handler)handler)(hdr); +#endif - - static int firegl_proc_cleanup( int minor, - struct proc_dir_entry *root, + 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 0000000000000000000000000000000000000000..8bd24b1d022b5eb7092f3b89ea3a5b3b0f0ce22f --- /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 373f814f6e024a6ea2a45a870169b7025fd1730d..e12c80e08864d2ba5a65657de9fb9fa3c71c114d 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 4938f7f447061fcca02e67eff32f5d9cbbb4d91e..f9f5c185bbd053e3fce02aff275af55131c885e4 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 fd1e83100ed5aa08ba5fe0f0cb922f0d9112d165..7226acf0e5798eb480c624767cb939930f0178ae 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 0000000000000000000000000000000000000000..6a3fbd33d689d308a6e8810c1b53bcb523d4810e --- /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 0000000000000000000000000000000000000000..2caf52f3c0a3ea8051a6cde091070c5892141c98 --- /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 0000000000000000000000000000000000000000..4701d774dfdcf43e4725740c01e56f9c0ce84ab1 --- /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 bef8de495ad3bf849933b1547103408ef40ab446..ce609c5be476141e2a0868b5fe7f35344e154bb4 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 086b792b4cd4cceb5492640de473b015aaa83d4e..3e95daba29e329c8bb7329ba9f1e8e725896d00d 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 3f0b714a1f0cbaf5e970cac1a82b4d0cccea675b..0000000000000000000000000000000000000000 --- 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 c94e22adb381b05a381192b377a1b7c1228042cb..d056e60f2da37ba54629d54a98e7ce47af149526 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 0000000000000000000000000000000000000000..0116ed9eab0c06f180470226fefbe7f9f0f9071b --- /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 0000000000000000000000000000000000000000..bf6e8c36f3dfbf840dd399e18159c09b90d48054 --- /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 0000000000000000000000000000000000000000..349d690e4d199ad72e40530fea4a1358d0be02b3 --- /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 834f98960dfbd52d81ff09ddf0b2210229310c1c..e024a608a0b6e5aa88ed18eb94864a5ad3e52cfc 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 b6465c0d794312036247cd2a096e97ba160a7460..5019491d3fdb004ca045e8b1d1095da7dcc376c1 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 f941d9275c01364dfc81f36099d013f39476cf79..436f40712fc2035f9a88a6ff5cc0fe4ac0707f9e 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 f5efc565753c1cec28f798646ac3c960e2dd9ed5..5afa2cbe4ebf552dbd254560db22e7daa0136487 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 183d2d86d4c6d07ec3060c39da33f1fc9fdb167b..d6513f7ebb5345f00bf8eb102f5547132e11af98 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 d7acc6778b4d51c4244397ce3a6e4bab7cfdd143..a9278f0c7ce0d9d676d2c25475a300e6a27857e6 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 0000000000000000000000000000000000000000..62a3cfa631e721ab1c311c683c360be4994b2e57 --- /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 0000000000000000000000000000000000000000..6e4a2caba18d8c976310ae1a3023965b9a771ff6 --- /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 410fa6a7ad64a571d56f0d555a6a9f2ded02b4f0..a8988f0a452983975b9734d4a0b230e596a96805 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 8e181d3d5cf5ab1d47d31074907d30e4d88fee27..7481edeee7b0be809972d7d6222c7ac9d08d909d 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 9e8faa6a02e362dbcfdf9ac5007aa9d5c9733d22..2cfbc2a1df1f9812b15aa6a7db885f2dd406920e 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 b28320c0625212a340ddf9b048ae542a7932e4a3..6a42784d1f08dbee2a86a2144356add0c8217a38 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 2609e1880b42ee3c10dd4d5e2c3b5de6f329e3da..ab01231f33493ecb96e2028c093669afb8550ca5 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 1ba03010f8abf4404b2e504c403bd2865e17baad..d9d0ce7e3b3d80e4d045c6fb5437bbbb2f8799eb 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 4371bf7df9c552ace0ada24124afbd015ba5fa87..e6fbf9bb9bc1a64798260d0da113661c6abacdf1 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 8b96a321634d6672492641472dce4b74d0cc801b..db654fc0505c6bd5f287a2362d4192de8f5a3cba 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 42ec3de93691c567096d111faebe7968921bb9cb..ff0ca0050fbcad5fe42097348dcf9c27f2184f5f 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 be242779548fbbf072f4d75eb3c6cec10a93bd26..6f59cf8d80bd755d6c9b39cee28bc57f2de49134 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 4cb600b5238e2521996e93b0fa32b31445b75f18..138dad2eda5d8245d615b5643fada66d7af95118 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 fbf0df2ee2fd7d0876cbba23089bb87dd835ce40..e997e1951efb2bf15aa1301c661f2412367727b5 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 967de85b7b3fcd0c53982017f06a3e3d4430daf6..e63756a8c68e66c65e3a760877d988232267eb0a 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 2ef1eb98365b818ad18cba48326844adfa5d0937..e81619becdfcc5511375a31254b28fc339f0226e 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 d7598b53b1bf99a04eae6e35ef3baee96fa39cea..a73ded41edfc4d8e721018c36e839d3013fd0359 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 37d652a44e328bc2b1be70fe9690771876e4a41e..07712b4d01c70f2e4c755f3031320cdf39992d7c 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 b387efd5c4104d286544b6f5f947f8ff6e527417..30e2a37cb91b7654c5b69a262959dd73c57babeb 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 efa23f67846bbdf4b25ce57fb4af6e79e2de8417..f42bf440c3b9125a98215d9415ef87a30cff4bf5 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_stable = grsecPatch + { kversion = "3.2.57"; + revision = "201404131252"; + branch = "stable"; + sha256 = "1yic257h2vy3175c34i54873lc93y0m57rw1d059wz1wxy9waiwl"; + }; - 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_vserver = grsecPatch + { kversion = "3.2.57"; + revision = "vs2.3.2.16-201404131253"; + branch = "vserver"; + sha256 = "0grhd9hbk952dwr91syi5pda1iccmcd8s0l3ki13689z8ns35f7k"; }; - 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_unstable = grsecPatch + { kversion = "3.13.10"; + revision = "201404141717"; + branch = "test"; + sha256 = "1vraf9g7za0syx5c1x1ks7kgaxc9mjspy6pvgrs0vi326v12sqnx"; }; - grsec_path = - { name = "grsec-path"; + 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 0000000000000000000000000000000000000000..88d0381784fd5c5ed16758b7e42ad28bc0a73e15 --- /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 3fb18a2347291158016577bbfc28999fd6e4248b..a7337760b79e3934e03cc11446affe42cee74840 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 de9b29949c3d9e8ae81ca37823f560183804610e..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..682c36401de870740f230925479a04654fe91b63 --- /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 acea2e4435cc38812fe87a9c51748f4d0f980557..380b4a35f1c2b92725e7233199347c0b74ffe618 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 95d08da458048107da09b212ce90ef9084cee32e..0c4ab4bd4c446c66b31d95f959c31ce4c69c4502 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 0000000000000000000000000000000000000000..a82804cb83793e98c22fb87d7d25e0ded299587e --- /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 df98b5260c6b7bf63f6edb4985b934f551308bbe..202831309f0ec16fedd2211caca6fe705f34513e 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 2dd5bdfb24ceb7e78bbd854bbf05cb898a205d54..e125ac3fe8e9dc924b01ef4b8f0f2be0d3395623 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 354027dbd714383704af566a323da859bd3f2011..388ec857b4aba910de4df8016ada0309bd2f7f99 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 0000000000000000000000000000000000000000..77cb43a7b53c75f935777b8a037218ad47f63202 --- /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 b9cc34345dffbe70cbd97fbab40a57715af9a8d9..8e20bf1e3d3f46f8d6194ed7cd63fa89aab663fa 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 bd748dadf6163c99b89d3bf81732be8b7e6206fa..9e2b0c9007947f6921201de93684253bddb50ee9 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 01fd04e2ad6e0b9266599a3202c2333e414a4a69..12305687c2997da73d64edff5d00ed8ab7f1712c 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 d96a494362519688e140a0f62b5dda2a41e3c49c..8de75fbc734e05bf60bce438db5a42575ac61dfb 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 0000000000000000000000000000000000000000..014591f0b55f6af107dcc98e648e4e14fbc127d3 --- /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 c89e5550f3ecfaf637b8da072c4490fc37d64368..2eb5c7e480a248075b41389fa46cb2b3a9d3617f 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 0000000000000000000000000000000000000000..07fb7652d32d7a08b64e5374d098876cb02121fd --- /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 0000000000000000000000000000000000000000..6260134bf111015630f011e28aa72c775eff4c74 --- /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 43300425c004a7da783c69a8019e6b8a5de94a2a..afc125556fe2edeaf5b63dc7a9c89ce78d98ab70 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 5f95811e0f6ae924cb43a87b6017a7f8970f6aa5..ad60e63c263bf7b6cf3ca31f4f42d68950e67929 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 0000000000000000000000000000000000000000..83f0dc1e82d2c6983b28b5d060f8d76591be3db4 --- /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 0000000000000000000000000000000000000000..69656f510423ee3e6d9be24b0d0c5c18e4d72d57 --- /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 bf3da19546762c81f41286ff03cd2d2c723f708a..4c51c4fea6cbf7ca65977babdc2cb7f8460779d5 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 d6c06eca12fb0f2cbabc71661e2dc5ea835671e9..89e9ff66342304130f3cd306a3207d1c28036a1d 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 0b3389f903a8b92f6119a0a15a25cd27a0bde1af..cd8a8eaec133ca9507597e2d9cc07da75b9a1a84 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 0000000000000000000000000000000000000000..2547e26def4bf8ac0b692377a49efb3ef353edf4 --- /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 0e423f85d66f79a424cf4e071d1db4ad16e47109..1215c5261f4ffafbefed764027665bbd8d15c2f5 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 573f1a578c72a7b5cc8d61a6fedf5b5582fa0219..e5e579081f67f1f1da721139ce2b5a1f884d2d1e 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 0e0f5a3ff0c6f16555dcb7a8dc43dac9457f51e6..48be4fbc34384d8f7684003e797acb4d03e0890d 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 d07c72981831765a499c85dc1bd72bf907956f47..bf6e679660c98140c62c4c90e16d86dd61e20050 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 1055fccd8aa35b3bc847d0d439335ee6df8619d7..9d024ae3109c11504b3e67b1e740ccf4b955d0d9 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 0000000000000000000000000000000000000000..b196098b7df2d2abfec6d1eb7e9245480911468a --- /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 0000000000000000000000000000000000000000..40946931c802788b6257c9409cd4bfecff0b902f --- /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 0000000000000000000000000000000000000000..1f487f042f8171c2e447551f784d9b46afc20027 --- /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 ee264f67127a5a6eb54e15eb224945b05853a73a..1d70a76a001c317459cc56bb46e9997c14d3874f 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 0000000000000000000000000000000000000000..6f5bb3869bb23f3710eff97eb7634e376f5b708b --- /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 0000000000000000000000000000000000000000..7071d9825007803b5733e22f03937f71be4d78cc --- /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 2c2ed582083f6a9dfdc65e67adb8186f65738b06..262fde749843f866e0566d4050f4ee11e0edbac2 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 0ad420cd35cc433ef32198e567545d2bd829f8fb..c33d05da55a6f5033967253283beb678878b7b62 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) { - - 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; - } - -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; -+ } +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; + + 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; + } - 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( - - osize = offsetof(Object, field.payload) + size; - r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); -+ if (r < 0) -+ return r; - - 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; - } - -@@ -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) { + } else { ++#if 0 + 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; + p = strappenda(arg_directory, +@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) { + goto finish; - 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; + } ++#endif } - - 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; +@@ -2561,7 +2561,7 @@ static int start_unit_one( - 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); + log_debug("Adding %s to the set", p); + r = set_consume(s, p); +- if (r < 0) ++ if (r < 0 && r != -EEXIST) + return log_oom(); + } - 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); +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 - if (*result) - d->result = strdup(result); -@@ -1867,7 +1875,7 @@ static int start_unit_one( - return log_oom(); + [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 - r = set_consume(s, p); -- if (r < 0) { -+ if (r < 0 && r != -EEXIST) { - log_error("Failed to add path to set."); - return r; - } + [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 7cde2260189abd7e43798900b6cc954e14e80365..0000000000000000000000000000000000000000 --- 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 b53af52755fad50e45d5286d3bbf5968baf82d66..09731d54ab75d1c116855d55cef1e8c3be4fe61d 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 537b17550da189926f9ded042917f41d14e7a967..6c9b743fe177541a10441694e23b239f75d32306 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 0000000000000000000000000000000000000000..ce907507538f7ef7fa315cb4c39aa66beaf9b99a --- /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 cba4a510ff0607c51cae732ca90a259635027414..e9fa2b4adb1ad0959506c6f333dd7de4043f9004 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 3f676d37dd87f372d8f73e623d06ab233943cc28..cdc384f3ee8caa5cffd830b47264b8e8a14da9b3 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 0000000000000000000000000000000000000000..5b88d4c75560cbc2404a00faaa2398f61cfe44f6 --- /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 ec2c704cfb5c572d7ab061d5e86994550df9d6e2..5ee25ea976acd812622e9d792e87407e88f63878 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 eb9d09d2a119662a7319bf7c588f111bfdfc3c19..7decd42b376b777f68d1b837e0d2270ce3f30315 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 4f74ce57ea849f1de4adee26b25e88db617c9514..f84088a930285c655b0cb0ca6b184b89fa290f90 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 c5cc5f3b68f0cf657f0da20eec08a42305ce4b9e..ae24e32a1577f05ccde1a454e632bfb02542968c 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 4350694c13a6f1622576ccf47a272716fdec26c4..e59fd695f780f1388e54cea4427156f5b821bd60 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 8ac5cdb696964242e6b068e994714448037c20b0..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..f89d38f72acc5ff360047ec967ae98bd2483293c --- /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 67ed1312826a7ec06118c3c84662d52632fc4804..f8f3c9ed3165c4e32b5e87d9d2873fd32c1a6ae0 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 0000000000000000000000000000000000000000..341360163761d46a0f5d035310bbaf40ad5d5cbc --- /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 0000000000000000000000000000000000000000..894bf395ce85619cb5ce8a5f342bf3b10df0dfae --- /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 0000000000000000000000000000000000000000..d0995ffc662af660ac62afb2db9d2a99672674c4 --- /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 9fc3520002c92be402e23051c33674f97308478f..69c0a3dff41c0adfa105f8c76887d41bd65f95eb 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 59788be15d11f1772c299ed5637d0507b3cbf1b8..45a6c2189db6a2766e7b53147ed36894f0f8deb0 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 4ccb1b069c93f3d5b959da241b69748feaa22541..ad8685d3d4228c16883e000b47fde287ceb29f92 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 0000000000000000000000000000000000000000..e30fcb2b03802470b865b2c94a0c55d7181ba51f --- /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 0b78bb9ae948edf46ceb47361d2c7682814983f7..1fb7c24418f0bbc685f9dae8ac86f1ff20aeaca8 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 48aaf187605e0a30bd2173ce4827538317c80b73..9e9c05d2f915aa1edf8583688246b55853aead44 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 0000000000000000000000000000000000000000..c63306e1ff4f872b34dd1181738cd481cc6cd849 --- /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 b609c6686a25aeccf26e58cdc7830b3fe8cf2d31..db8db908d1ec5db494b91dad8be9d5f4905bff3e 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 3a905a82db8b575c7458c058e554aeaf4847b4d9..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..3a38340f43a3d2de68770e1e232e725a8a415190 --- /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 0000000000000000000000000000000000000000..f12d7a52ba0c86f8e97900df09027d319cb84bdd --- /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 25051167ca51f41d5b2dc0521553a9340bd45780..62fbd3337f7adb203ae0ac764a0144b2f71694e2 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; - postInstall = "wrapPythonPrograms"; + 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 + ''; - meta = { - description = "`gpsd', a GPS service daemon"; + postInstall = "wrapPythonPrograms"; + 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 f6b31177157c4c57c7f90830f725f6fe14b8fee2..64dd15be3df7febe80767a100c75301f834d689d 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 2bbe9798de464274366adbafdf945d076832a227..7deab6584f8338831960faf28e188f7465164b82 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 0000000000000000000000000000000000000000..06f12820a10d8b4c0735a0e4b5cc37d6e9d38fc5 --- /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 08bc45443a344e6d0dc400a52c8e2b2feab9c712..808a86946b04ab2d621396f3f14149fb6c704263 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 6e07077d3332750bdcce4ba275b6bd1d3d2305d1..0000000000000000000000000000000000000000 --- 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 5904bdcb232f7faec06bb5e04bc7fb60ee221500..0000000000000000000000000000000000000000 --- 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 4a50acd3379ff0c3dc609329faf2a57393561324..899914b6446d10ba9397eba964d548c397e9a1e6 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 b16911cfb5d960e949e38d5524a4deaaaeb69e2d..757d4cb9566d88d84ee82d4ddc164a2bdc20fed6 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 d8304ba4dbeeb397efd8c1fe82099ac9177d42c5..ee0049ce08f6922a1f8b71cd7eab43dc09b395f8 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 0208420d1328fdc52803ba6b45b8bf9e61c6328e..f263c8c2e7e9e71af5d2697ac93e52c2092ba94b 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 0000000000000000000000000000000000000000..8991a220a76da6ef6ae8801bdda0694acc8c129e --- /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 0000000000000000000000000000000000000000..738881e2aafe187aed545ce56a434e35c1f5fdfc --- /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 cce63fe250c66ab9ccaa6df2cb5600704eaedc53..3ba11d41b1bd8da98c9c3f11d1202c124a5b5e4f 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 06635e33954f657085897db6ecd3138141f668f8..2b1aca3e92698772a8a5b17b222b02f47f276f12 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 fc518e4f889d4ad2948f107befbd0765f22fbf6a..522d0b60f00cfe1adc31de0df4dfd272ac135380 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 25ac0d5f9e3d12743b3584ace822952cef0554f8..3dcfa3a22db2e016a7c3a653bb373b66caa3bbd5 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 a435eea86639dfb679d6dd44cf4f42ab2f9940be..0bfc31580e14bc6cbfc098e702ac2f58945a5825 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 dc316267e6cc031add38b02a1fa82c284bec33be..03e579bda2096eb6f2ef85fd530c53bce2f69789 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 ef77c3191cabaf1173c32f6c9f5fc893ad4f4993..b45bef0cce8cfaa72576644ea0fac52bfef30ced 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 a0c0423042e85a71feaa330ff4c9bc634a69b91c..8d1b03ddf34491c1427da46a44179540337b1e5a 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 29b1a1db5af028aa2901be9aa6c0f3546686ef35..c466813b23b0bc43f66546e4287d324214f47de5 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 a9d1578495aba5d66154cafdffd6e594752119ec..30317d25cff7e1d4df5c13a561127b20afd30df5 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 0000000000000000000000000000000000000000..541c377c404950274d3542707720c32e19760267 --- /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 cc05730cee5fa7d58cba9428e04628e383531371..399fb54875a4f7583838d0d47f2bff68ad398c7e 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 71d4a963d7ad30a29161ee2593d7544904d66ff7..424001ea377b21fdad1d01292dde0281d9cf5ce3 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 bf0366f20b10e68f3fb9b77e28b6945d19eb2ecc..1e46ffdbc85ba4889897956b612096716123f9a4 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 612ec0456f2abfe5de443d35c2d1d08a6ed16e59..cd65234855f376ab915cd7200f538f0268c579bf 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 3b0069b8118aa4bc9b32a81517ee5c03bd626f6e..7a2f3538fb8c940f08c8a35c31c711a4370984a9 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 0000000000000000000000000000000000000000..9da83fe891feb304c793d3b9e45e4ebff806f70a --- /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 ba0b80fc61e8869aae24622b91d9572033688e6f..47c8c12edef6747c4ec850114655b9f1f5c6ecbd 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 8a23e480e1f7b4db6d9efd11fe6ecb5492a102f8..a398a3ccdf98c4956402038dba2abeb53f15ceee 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 0000000000000000000000000000000000000000..66a0743b367f8fb23096aa628bf9a8f69bab93be --- /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 0000000000000000000000000000000000000000..5b80e77bb2e0110e01d8a596abefdb9062a761b0 --- /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 f99ecded098b17433cc6aceea8cba0177fe558ef..c6939ce5f7a404be2c332df58a0ff8331eebf57c 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 d75a5a8c052fcc0766cdf73088ba2d14a4e32e24..9b96149e5ad8f2339e377bfea7ca477453dcdad0 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 0000000000000000000000000000000000000000..443e7af71ad7d6bd2069c1885cde0e0ccc4a4be5 --- /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 0000000000000000000000000000000000000000..274fc89f94d070a971de7cfe82cf6e4419b5c7c7 --- /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 49d7810a3c20af1d01fc3f825af47f017b8e7e4e..acff3a84a31eb81f11c4f286118ad5aa23532798 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 0000000000000000000000000000000000000000..2e30bd9c8aa195ce0e1788c5934824df5695d074 --- /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 a5d31ca354d073a68e72fcb21f617eca5ef923af..2e0a4e84f6c7f9fe40d16427f029d9376ffcc363 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 12137204f455a23de12d8fc60a26e91252ef3a0b..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..a6105c128906326900a301fd7eb52db3a55b38b5 --- /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 c210c9965327f926f820e56536295761df4f6329..c309158a6705e26c09b948d8136f36ab2b14d6a7 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 bd30b7db75ff763bd27b088a22cbd299c628d321..782019f8ee06985bd3fa41d2a9af243d0b041c74 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 b027d0093e8818c9a311a5da2a422d4d30ebd673..58d7159034ad39888faedf7ea33074b9996f6ffb 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 40878fc6e78361de039f381db2187e1e4c67f331..033328cbcfe1e5acdf569c4f65f0e505553e3bb3 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 9eefe708798f3f5e6707a77f1598ccd014166e58..7e876322808ba5c097bb3f723e517ed0e8fbb05d 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 8f78dffb4ba3beb9583d306d64bf13d821a7ae71..da0516a961811fb555ea830ce72a10b6f44ef775 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 0000000000000000000000000000000000000000..672eeb8da6e14a33601391c0d5f16e465a49c520 --- /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 0000000000000000000000000000000000000000..d640d24bdaad69102d8e9d089015e3044c4827e0 --- /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 a41343c0cf903782bb3ba4479725e6f0c5d65445..18778aa80db691a6c90977b93a93dd043c9b991a 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 13c17cebde3cd573f76806e2b2ad4deeeb2acad5..c341cd691501c5ed276d0f4113f620d49e5fa945 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 ;}; + 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/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.16"; + name = "glproto-1.4.17"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2; - sha256 = "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal"; + 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 2372df2701e8eddc38f439e3cde2804ef2050c56..3abfed675f83759a45b9835d247a43c15f459fee 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 68c88594932bbd26ace17a57659e6b6c802561ec..7019273dd11aa8b0fbfbf6fdec49f82c647c19de 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 08dc5a92b7d00ed009e9272c612fd36a82f67a35..3f591cb7c0e3c4f92a7ab8595cd5f4b970b9b95b 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 175c989469431152c348a86fb3e81f2d51cbb877..74aa31ea9356461b75446506d64cbdc0295d2b78 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 0000000000000000000000000000000000000000..5877643fb1b14a31069df41e8e7662c7d30e8acb --- /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 52392f4b32c631dbec808c88694ab1be6553432e..ac6e9e97f180be23d9b1acc90313f46fe07dfc83 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 27f2b032476e4511caed39a4e2e47a74cf10719c..7b70e98d2cd4bfdb6a825397bd952059b406fd45 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 b9b9129cb486d374efc9c17c143a712ca397d548..cb0cc95c4cedd4e3e231ea3644a854b276ec7a61 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 50a33700b3b26c943e70497b801690487dd1c92f..37ffb09288e095cc386d963cdba4048a6f06397e 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 662f3307b4632464941990f09adca792dfd6e67f..0e45ad05531c55a8884682403c994ae6c0a2da1f 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 ca90b46192e3c3a1812b4776169e840bda1c523c..a2723f5575c0606c63f1487ba4909fa9cb85caee 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 a139d47a8ccdade4fb1ce5e475332e9394cc68c9..b0031178bbd42fa822c49f7f59a32dbc41b2b59d 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 -}: - -if ! builtins ? langVersion then - abort "This version of Nixpkgs requires Nix >= 1.2, please upgrade!" +, setupScript ? ./setup.sh -else +, extraBuildInputs ? [] +}: let - lib = import ../../../lib; - - allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; + allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_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 = - - derivation { - inherit system name; - - builder = shell; - - args = ["-e" ./builder.sh]; - - setup = setupScript; - - inherit preHook initialPath gcc shell; - - propagatedUserEnvPkgs = [gcc] ++ - lib.filter lib.isDerivation initialPath; - - __ignoreNulls = true; - } - - // rec { - - 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; - }))) ( + # The stdenv that we are producing. + result = + + derivation { + inherit system name; + + builder = shell; + + args = ["-e" ./builder.sh]; + + setup = setupScript; + + inherit preHook initialPath gcc shell; + + propagatedUserEnvPkgs = [gcc] ++ + lib.filter lib.isDerivation initialPath; + + __ignoreNulls = true; + } + + // rec { + + 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. 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 {})); - - # 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"; - - # Utility function: allow stdenv to be easily regenerated with - # a different setup script. (See all-packages.nix for an - # example.) - regenerate = stdenvGenerator; - - # For convenience, bring in the library functions in lib/ so - # packages don't have to do that themselves. - inherit lib; - - inherit fetchurlBoot; - - 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; - - }.result; - - -in stdenvGenerator ./setup.sh + 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 ++ 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 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; + + inherit fetchurlBoot; + + 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; + +in result) diff --git a/pkgs/stdenv/generic/setup-repeatable.sh b/pkgs/stdenv/generic/setup-repeatable.sh deleted file mode 100644 index 3b2e015193201ffb944c0e0705c429936b72e37a..0000000000000000000000000000000000000000 --- 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 a474b6a8eaf12b960dbbd46f91c8a4241a0a948f..1d79a45678c21645f520a32557aae9cf01bd2ade 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 0000000000000000000000000000000000000000..6d18b3bd8cb15cc6e78e00efe9d3eba05440e921 --- /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 5c9be292fe8b8aa9fc1778588dc5ed5a824b056c..0000000000000000000000000000000000000000 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 3d69f9e5bd86c54a7286d3004b2f766a8271c722..0000000000000000000000000000000000000000 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 1f2985bd347b0967278c5ca3046a0115c8c79c91..0000000000000000000000000000000000000000 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 1d4d53a38ee6cacac0c0c0cc8bdfc4b915f54a3f..0000000000000000000000000000000000000000 --- 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 f2c0db16401088c1f466617b6c1cf33ed358f716..0000000000000000000000000000000000000000 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 c551673d32a52559d3075c7ab9e384c81cff1716..0000000000000000000000000000000000000000 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 74d82aa94f202bf2c6b5cafebd1d70c9af8b9428..0000000000000000000000000000000000000000 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 ecda6be8bd32b3488bde89a26717a455d29e6e24..85b868359052b4d3e44f686f9ced30577fca43cf 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 0fc2002068efc0e42e87b7b1238511137cca225d..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..7b6b3ee803443d7e70437bb88ff66dae5be3de5f --- /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 6cd5273c3336f1fca1f4ab1554f5ae08cbfca490..0000000000000000000000000000000000000000 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 387b67664f6c67a51ec8f93925acdaaf515f5210..0000000000000000000000000000000000000000 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 a6dd7502b5a34a17910afb78e3b01e71c924a044..0000000000000000000000000000000000000000 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 dc4fee1beccbf39dce4b577bda53a0f5cc10f73b..0000000000000000000000000000000000000000 --- 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 57ddcf8dcf735128f65181da0a08842064db535f..0000000000000000000000000000000000000000 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 18c35db0aff1cceee355c393d09ead99f85ada8a..0000000000000000000000000000000000000000 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 13e681ed1a9e2833d6c33405ff2cd362b72b74ce..0000000000000000000000000000000000000000 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 0000000000000000000000000000000000000000..8e22a274974a1cb4e385c42d499bae7b7f828241 --- /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 f86964d119c2807748d279f2c550513e9149e6fa..0000000000000000000000000000000000000000 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 bf6fd66be238398b96290226e77bb3638e495b89..0000000000000000000000000000000000000000 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 f227a24bf7188fa132666faaa96cc4d4c95071ab..0000000000000000000000000000000000000000 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 b9a294e133255ebe5ab79f9a42a87f7a1e6d6e25..0000000000000000000000000000000000000000 --- 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 d8afd276424f18762eac163b28346e82ea7f45bc..0000000000000000000000000000000000000000 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 3a95ccf18d6e5540339a62645662d5a069b4e361..0000000000000000000000000000000000000000 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 f8ef0a74d6bf9fcd1dee756cd2c978fd1e7be826..0000000000000000000000000000000000000000 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 7e3e0a5c79bb35b4f36607809b3fff2c5ee078aa..0000000000000000000000000000000000000000 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 a9eb626e1ca2aae48704232756b9820bc4dc35cf..0000000000000000000000000000000000000000 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 972a653851c1ea5fb4f1e52c03341d07338c242c..0000000000000000000000000000000000000000 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 4f0d64341e8ab2b8c5305d634092b439bf9d8758..0000000000000000000000000000000000000000 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 d3569362b6c510f400c350e87f83ceafd1107172..0000000000000000000000000000000000000000 --- 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 c014e9cc044eac1edc13d6f26b3f6f629eef7fee..0000000000000000000000000000000000000000 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 eb8c1834a3af85b9cd54c072f4b7c3b83b749674..71961e6961e60c7685ccc3ccdbbf74bd41b636fa 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 84af23a263cd16cb4aa7de7e2ca426e918708b34..1c6a93b222d2eaf8e3a29983651ab8d689c8a3ad 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 aeea4b53c15c01b0c31f6a22dcbe0de70126ca0f..9ea63a46be3e9c9f8f8fe26d9b25f08d8616ed6b 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 e7594f208ea13d44b075899ee7b1dcc5cdd0ee80..0000000000000000000000000000000000000000 --- 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 592580a829e38ff02820ff87f9bb5643b4f5dc36..c757eb7ae54ca10401fc8df11b7cd3900afe7400 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 524b2a53337b56f818555d58ba6bdb4163a650ad..715bc02758bc054ebd709d97de01f07a6f2fa73e 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 d0f7d60f101cc35cbd2e25baa433e2509c04a143..b16c51f7580bca4a3a1f45ba0bb58ed644153981 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 61b671f80c1ccddcb9a6e8b718c4e60874d4148e..0000000000000000000000000000000000000000 --- 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 74e3e7b1f82dcf51a0bea4c00b65041cec3d9be7..58db0c13abb2da6c9605339821794d3b72c7baed 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 9e44a8e9fd1ae2479ab626574ff407b131acda87..f24b2a205627154433b8d2236734d1339867c992 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 31c417d6971ed8e3501eabbcd6b00cab31774ed8..0000000000000000000000000000000000000000 --- 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 bd160940b5737dbac0d6059e23e32e0b67534be2..2db0d17217358a50a47fd2ebba3e6fada66b3d43 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 0000000000000000000000000000000000000000..bb26c0f46cebfd6e5d95bd62a793e062fd7234c1 --- /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 d7d1533b3be30dc0828fe54695552cf1429d811c..f96fa5773230a72443162b9219de6692a329ba49 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 aa8361c737f1ef215b7958beda600f314e1423ce..a25303190145cc3922aeaf8a8001549f7251b90c 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 44a421e2ba3dfc5b4df1d8f5d26a26fc82ff15be..c3a82b2e4a27bb3e82af42721a9da5b6e1bdcd29 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 1700f03d7bd8ef77c8d8ca4e3c599bb8615808bc..2f3a1b97487847ad65bb6d56928ecd75686edc38 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 456c08b56c34ed1a1527f978535b9d1a595938ad..f7a9be324df425b690cc828adb1b9502b9502c5b 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 24249e38395164c2fee296c959074b53f45e34aa..6428fbaa9dc49aeb3b49a70384a61dfc7102edf3 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 301a09dde128d7f93e348b12152c883f8b8e6ae8..0000000000000000000000000000000000000000 --- 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 c790f767f12e39fbec39ddf4b78b7a6b8c8b4fdf..bd52a70eaf2457e12cdd79f055264aeca728cb8d 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 0000000000000000000000000000000000000000..fc5b984bd9059f240dbbf9194e14a3c594301224 --- /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 ccfea341771f109aa57e574afde64159086ada20..c77517fa17723e06727ffe097a9d412687906c84 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 0000000000000000000000000000000000000000..311e420c6a31a347e7a0d6279c5df9f6057db628 --- /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 48f2757db867f87ed02ab3f6732fcb275982734a..8a9db4e5701fb1d3a3ba9f4bac414aa13d869d2f 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 b184dff11cd24a434acfdc6fd3c607a54d93c1b1..73ef23059f4584ef647ee486732b38582f049e4c 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 4fa3345d220aad5a3c50ed7aed8019c8498dabaa..a77689c85fcac080c0db1331a298da911afcdcef 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 f6a51eb31931781a5ba56935c1d78e7b21d509bd..854801a3edd2f60d08e98ac687ff6275fbe6b4c6 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 0000000000000000000000000000000000000000..b1cc248e1a520c0e8036c1b42b52cd8c7b275f8b --- /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 790b57f4a76d22b71d24ef58c53b721e3a520280..53e854c34ebc6d95b9f66a0ed152b03a98e528f8 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 0000000000000000000000000000000000000000..b5fde8db589c289289dd49014b4db6987dbd5103 --- /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 0000000000000000000000000000000000000000..30ae07f9dbd183f2a3cb4aec65896ab253ec0a7f --- /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 f2792a40a60c95e17259f14ddd567f10afced107..0000000000000000000000000000000000000000 --- 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 81210490883fcc77f2adb4dc38931afdebebe0df..1d693f781e6c19e815f9a60d5cf60e7cf2b8ce23 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 0000000000000000000000000000000000000000..d070a8bb0f856af780f14c0754ddba3c4fbec3c4 --- /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 0e67422534413e8b8418429fd2df3906ff279f4c..b1d127635f6168e792199c43cb1d948a217cdef5 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 2dd4d7eb7945df9d24857978898758304efcff13..283b751cf26a744102dab0ff4ac19571c200a7fd 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 26c1597f2aa86c474a96f3f146b1a255525a6f4b..b644f46dff86042bba407f564bb1821520b36382 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 0000000000000000000000000000000000000000..183b889da9b37714dcce05684795d69db153e26d --- /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 16c5b58c38daf107a176144bee3a24428fabb247..a41b2f28d85473d5b3136c0cc6ec4af8a5a47c2e 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 b9f1010591861a1370687e685ba1efe19b906886..6bd6bfe368c0fd99a233a65f54523fa8774516ee 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 9e1fa728e1753e1ba30f131c752133d75510021f..dcbf7235e49c4381e48970ab31934c97e2270f92 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 0000000000000000000000000000000000000000..f52ead32acd4e4c0496b39e8e3fe7a523040b555 --- /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 9d4168b2d7dad498746287f2b2231c1b5d5b931f..2cb599f6a64a9eed55b473213220833dcc16347c 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 f5c07b031b80fe12e3d4998a9ebef34c39c25ff1..0b666f3894204ffc5ab00ed2338cad33e7d9d3cc 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 0000000000000000000000000000000000000000..7725b0d7af8e9b6478017abbb7a30c5e4443bf2e --- /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 26ffc9d50c252128a9246884d776d7d836e5dac8..850e168124888e36eb6cf878bc8efa38e73e0f91 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 4befab17b6fad55e06806ecc8c1620d4fbe23701..98cf3c533ae758e403b1fb1554369c1db4277e4f 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 0000000000000000000000000000000000000000..1c1be59f515551f15fee656b7b5c5acb099a97c6 --- /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 e9f61228bedb95273f8d486625690f47e7400508..b4bb49758a42f45a3df0616699095c7ce687edef 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 9b0a83725eaac35be4dfcc411bb5607bd6ae65d8..fbd1778faefd768124f69d99bb191ae361b448c7 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 2abc84e78e4131d6179a3ff211ab18c7127b53e6..e5c7fbeb0d7cb6eb2c036abca5e68a98cbe18e97 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 efdeffe1ad7938184ef6f8de6235b2e58ffef855..62816705b8f08ad781b0eff5b111eb3ebebbaccf 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 3b83a18fd36edea8b438d2145e3197b8ab00206f..892ef54cdeee0db4eca1384f6f34d20e885c8be2 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 0000000000000000000000000000000000000000..693ca27a88d961bd7915d128e11a3aa78109624f --- /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 0000000000000000000000000000000000000000..219cb2139f58ae29dd91608d2ac0652e9b95424c --- /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 0000000000000000000000000000000000000000..f8adedc7c24190b636ac3069f77a14e5114b2089 --- /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 2c7505260a6941d3fe0f0ca32b6312b48a3c776d..960d85ab6be63617b39c63c87d3aba3278fef0cf 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 09d8e888837e33aa72ea3e81a045405b05c2efd4..f7c121d825e29fcfd1bca7738bcbee584c545501 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 0000000000000000000000000000000000000000..f46bf3ef7a48d1d1b080c1cb7c4b4544fc764350 --- /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 525c3ba9f2c49ec745aa09909f3cd13a41e87eed..a744adbe05c17d9fadf9cfcf941b5cc9c6f8fe37 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 65a3bec555efaa586693e6b07e07ed1d68cbd073..b0dbb049cbf75f623a1c5253fff3455423a22dd7 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 0000000000000000000000000000000000000000..9f3cbaa40ff1fdba393c1ae8d63f765001dc9e85 --- /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 aa586945cb91b8ff32b376274a9110ceddd62be8..35e4c3ab4d481b0fa537ff4ddd6be07ce2144d8c 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 48baa8bff0182236e4c818ea797456d4472840d4..fe5985b96982ef2d8ac0acf384cfafb4ca4cee63 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 0000000000000000000000000000000000000000..77d1d58c30c211dad8e8cad89255f5285afaf104 --- /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 8b141fea82629bd3114291d96cc2bfaa55f06924..8d6cbc1359bbec4af8309d8e6eb7fc7fdb52c3cb 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 00d2f759be4fd23cf17d69860373e0d43a3aa423..50af2a12c24ba5fb0a7395bcca7c47b1d3398edf 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 91933224467064dff2c4edcb9016a393221e19e7..ae3fe14876420446f06e11bca93192b4b2a08b1c 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 1098e9d0920795947a316ce1cab6dfe2d329fcd4..502d9044c5d1865eeefe43aa7901bebd5bcc21eb 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 0000000000000000000000000000000000000000..08e012128c24257bb063ed7ac7ff33dcbffba767 --- /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 e9f0af2815a9e953266cdb85d4e68ccb636aa37a..873d2adde7f98422cb07e71ed1baa9c78d208f27 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 fa391880a101cf166db5cf3332c8d75aadb36d49..c51219839b22b2b7cab0c962801efc6a7b007759 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 0000000000000000000000000000000000000000..52180c75c98147e5804d5a4defcfbc8a76df79ce --- /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 5374cb7436181e0ed8691accefa86d83f266bdf5..f664bcc6917d6902b3b45ca97c263409f037b263 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 95582a50269d24d85a565ea05a80d447a3f4dbb3..0000000000000000000000000000000000000000 --- 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 88194ec0fdf3669b49b75c24daa7a834551fcfff..594947ba13d5dc82bd0656d36e61f979d133c2be 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 e7342d9b3e6199077bbc55314da8524f80631348..2805514965ead0aa6db7028ac52461739735b76f 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 978bb2729f84cf28ea7dc5f4625ecff7f761e648..ebf0a89a7075b912311e90389014774778b92252 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 2ab1195020c310ad99c63e0d138e5e718f6a8b6e..8ede3aa918b1aac04f4e93174de9acadf8cfca47 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 805dbd3f17c2508482469695ec8b08bc03bc9afb..96d3764abd46ea045805011a8e32c61c0a16679e 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 62d4ee2579f0dd5234408b071bab45fc5f7dbed2..0000000000000000000000000000000000000000 --- 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 47b96023ce0f13b781a56b1d7d6861c5d0473558..ff751eb40da30a5bce53894ef3b56c814c813d48 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 d58b57196d218006d85a72533c1a2c3a313770ee..fa6f147efe490411831ac29a5c4b045e03c83e63 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 0000000000000000000000000000000000000000..cf41de29c500810112a27bb0ee087e017fd2e7ae --- /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 10886e969a2c305c75f2e00eb7d23da968b0669d..6ba3d9a4f59f17aab04f685236de97f69c05f6b4 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 bf0c44de14192401e76c19feddc27bb8c3ab54d3..480e00c850d37dc94b20c9d529263b9908cc4912 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 6f4e031e44191779e48b5c6da0bf1aa88389077f..0000000000000000000000000000000000000000 --- 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 adb2a456b88ffd877905cb3e1dec2c9db4df480e..eac12bae381e1a802ac43a0b4fe3ceae12bc2327 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 b0da497c322e06469f71447c3d0bdd7a906ccb31..51cb1d22a49e632cd42a65d4376d412cf05bdd01 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 0d1a962cbf66e6a677b644b88854917c37ff03f6..84f0f63bd2526df7bf9f9ffa0be63b13a96fade9 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 5c8d6f37c7c66cefa1ab74e84230b8cc89086902..74eadaf5e2e9705314a9e19e8a765216ab4fd801 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 f4c59c023649d9c3097ab04b5d3f5f83cb71f3f7..1a99cb291c47bfcd91d41b5a3aa989e5d1f99f8b 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 2cd3892eedebefc338ef2dcf401dcdab974e748c..c7ccefd045b47744d31376a301dbef96dc4ed005 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 d2e53d677e2490c756c936a2e674c89e37756733..64f669a480e2b014733e07f8d96e4919ae6d4df3 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 1c746698fefe4e52371a51a97d592d32609414ab..2a85ba7cb5193a8bb50fa300544e75e4923cafed 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 0000000000000000000000000000000000000000..f667d772ac443c9765f303b8cba7f8f26f445329 --- /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 0000000000000000000000000000000000000000..83cdbad7bbacc3a01fbb7ecd5ecb78ec85f3891b --- /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 0000000000000000000000000000000000000000..14b88ddafe843a5e6e5ef1b936334333774124e7 --- /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 0000000000000000000000000000000000000000..0d9fea552bcde65aa9f44f9251d301a405b11a8f --- /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 41eb1a8f77af36f2cd94cfeb75b8c7860867e6ee..ac7055e20f2a00d1e7311225be215069a597779c 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 0000000000000000000000000000000000000000..c2e3701c04682a08f4e1ef0486dbc0d203694324 --- /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 ffe22a93d0d4a24f5651cabd7964a631f8305df2..48e21f4507e5b51ec1fdecc5a73e51ff9c26ba12 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 3fee2507b864866e55fcb01dd47e616e22be9a07..10bfc0e21ec5f74bb5518d362205a44902c05942 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 ae0007c1f2d05ed7007a0fb8eb44d07435096204..1e0f26cc92cd119c0968800f7191a71472d2b06a 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 ad0b62d19f812329c5765edaff0b62a54dbbbf97..d247dbe38aa6858d1dc5295139d2b6aa28e16bd5 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 0c5dfc6fd748cd26d208babaaaa5d1e23b8d2826..d8f62913ad5059a60dfb7feb4df636453cbd8585 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 99cfb92a18b62e73c34c86e5baaa5a5856291232..e49c32aac704bb1a0feae7fb90c5f22043373b7d 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 80d29835da53d7228051386b6217c2d3c59a2f9e..6d9666506b887ee25e17a035aa45c400ef237670 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 8346be2ceb57090409b640332f05e440e58155fc..54f3e860e0c78d82df1e47e3a1fcfeff2793fedd 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 e4a32e14260cf70489fc14aaa597bf16b9b795bf..42760da5d4aedfe34a9fc2de8c4ae9b5d989e342 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 a1f5026fb28b0ad6f997274818402a542503bb96..c40764866eb52113f6bd291988740a848040104d 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 24d73ff4d6fed789774e022232ede9bafefffc86..295cb0bf1391ba900d47a8104bb13f0652a2c3f0 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 2ee8a90cb4af1b5d86e6be6f36ee3e699c41b3e3..33d8ee2fd636acd63f917f33023eb1b575156318 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 9587dfee613bf270b39a4ad3c441c2940a215e9d..ed01ccacd7972a8cdf471286d0332db08f77d8f9 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 2bc575bbd02b5200b3990b9dafffb01b41aa7ba1..434ddbce3e718e56f141ece9e8ee565c16149d4f 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 b91282c9a2b425fc66a3e184c6da077c61e78ecd..991d75c66ae41ea30ff14c9945c2929296edcb7e 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 3a84516cd370d74aea8dbdffc30c48fcc6a13194..3ac82e51bf8b5cd0f6ce600a37e84fc7031d4c17 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 b5002d229903d5480c284faac8fe70dfabf58260..ef3db0a4a21ff413e39f27f566aa69564a9a6694 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 bfa673eff09f2ae570eb570cc1d3d770f06e904f..0640f55bc9eb24795c42b67f33e090e713c0b479 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 2708210af80582c694312d1b7dc9b3096073e5a4..e781af7c235af3e47e60f2d07d28f328575acb79 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 45dcb087bd76b8eee716293389fa213403045e05..c463c94d61098324e0f427052b8a65e7e700c83c 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 0000000000000000000000000000000000000000..b950cacd2e5720fbd58231298bb3669639c5b413 --- /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 99793c139cbd98d54f004a007fbf888dd4c17841..b2943eb2aced5ad57fe2625dbe0361f2e6ea7129 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 0000000000000000000000000000000000000000..e2dc1fd1eafd8084b9014a3a5e0bc9e8f20f9281 --- /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 0c2d02a5e77587eccba05b99b2c7f3a2cdf46438..8d0d4521b8687b8b8dc5ee100ab1b1600b003a84 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 217397600946b51a85e800939fa3baa8ba3ab065..20102aedeb912a99b93d7b1a4b885eae3775e07f 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 94224fc63bd6f0ba2137dde65dfbce7132e46b3e..ff4c853512d6d24787183f73df1b83df957b5704 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 55ade68dd41c7b5f15040e54191da3dce33f91fa..88af666b6580d3e1170fa76815ee731d8cc89fdb 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 a3b347f64235bbf7f29392998680fc0ada0af01a..465f15184f143effa9a8ba5abaf901b7650cea9e 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 2cc52fe981b2c7770717f035535a4f099f36ec2c..c523e0004d7f0467b3f43116a0aab619dccc5348 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 3271941f884b966241f03934f2db76b4fde03fad..98a76dc98b181bd4ff0af2f85bab8e68ace0898c 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 8796dbd076e7c2ad80c6cf56cf5a78aa3e4c9cf5..76a4a0eae62d963637cc764c634393d459a5b4bb 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 4b111475e69671de5b83c674fa78e4bce80dc6ae..6058639e412ab431f4219dcdc52f9de1701b8c85 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 23aa30554362477b496e3b43967543c9a3116e91..fee3db878ac783f5b4aa218b0aad026d0a631696 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 7a73314d0e37930cac32091cd987e4381e8a9061..b4cdd0d0b99a69c5cd2d52dc0b6672851d2d6211 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 6218031344266bae703aad0c456615be30ce64f2..74b9b1bdf6aae746e5d64b9ee3acd110ef5f6d40 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 45de7015d7abf554053b369ff6444c4e7ca04fbf..84ba2106a26adbb7e6a850494589bc9a178413e6 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 26b4b680a6e9c6611a5d402d4a892c052bdbcb6a..4f54404b713ad1fec69fd6ea15ba0df042056a95 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 0000000000000000000000000000000000000000..ac2736ffb19e191224c2e66090ea71140678bf86 --- /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 0000000000000000000000000000000000000000..742a2e483d4c236799f2a3e3425f09e6f7a4e85e --- /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 0000000000000000000000000000000000000000..fa3221a775989fbacfef4501267f16765d08e16b --- /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 0000000000000000000000000000000000000000..342da193ffc7e5bb1cf943babca489a851a1bdc9 --- /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 cb93e8a504b8825ee86dab7c081f80f966d7054d..0ea7a948c8d59e8e9735619922abf8cd449d6e27 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 acea2d6da6a948d68f5ae690a1dda947db83115e..2e27c2b2dc339a3480c98ebcf0f00004d977d3e3 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 0000000000000000000000000000000000000000..9c5f6f44ae0553a1a91556927b3a0b151a4669d5 --- /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 0000000000000000000000000000000000000000..72802e4d0469cc9564cb637e6655a64a2e865dae --- /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 c0dbf710ffb949ffec4cd379c8e7866d5eb4c1bb..9827b62c6c4ad0efd954bfeb5ec9d38836c37f01 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 efa29e81407326e72f5015b076691a78f47ef1b4..99fde38712909f141841097ebc415d46a3e47aa0 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 5ae85adbec7e536920e181aa1023407a7dd53162..c8698215525451c49b4425577e25cc459b1401e7 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 3c1c6ddd133df230c674329b50a448230f35d4f0..041cc471cab591e2d7959f40e90025220d46cd91 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 2fbf5282ee1202dec7e6b49f74f4b4aae49afd8f..1320720ed170a7adbf7d8bbe6d4bc46ac56f05a4 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 0000000000000000000000000000000000000000..a860607fcf66b53bf3645e38f98729ded83ee4fb --- /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 5c9120cf33ed509acdd9316568301d6ee31e4c14..ff29316edbf290dd6303f094b2f2be6d81763337 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 4c811dd3f71f7b2daf7d0b82a9fd28d7c1bc0322..7420353499f5bf59314a6f24c256f9bec3141cc5 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 2a5852863f960cbf98032b054f5768fa188bdd65..5c937bc8aef4b5facea8438a9a0151a4d88e0bcd 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 e801bcfb2c2915c99d0bc091e92fa8f7464097f0..01dea9c35e3104439947ecc082925a07b7e8950d 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 648abe882c4f9f78a67e7e4968ed57ec176c529c..f812ea58a0b083fe76b82e2a7b54c3363364f0d6 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 b02d80078aae0d6efd02e064eedf1fb237fca22b..16a276273cc345bb6f3ac9bb82847e8e39df70f6 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 421ebb70a4f833b01a4f0a0626c02b751ccecd84..0000000000000000000000000000000000000000 --- 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 aad734cd61964d1239b2e3c7802f72adc94f70f9..c9cf7dc7916704298a7aa18578448da4cc3fd62a 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 b35d3b66ad833f6df28d5e5f007a150923ce3bbc..7997603a706c09a3a64c9bfe019709c18e81884a 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 0000000000000000000000000000000000000000..546ace2d8ed33f65085e6aff9b9ad89f560b1a83 --- /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 ad1cb6bec906e0ae6ae3b57e4b905ba55e136bec..458111be4006fe106f5a6d131c69fe9b8d3286f5 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 8315078c80f9ad9ddd8335035311836de57faa3b..fc43f01b344f78cc59f45acdcde14ecadd80d8c7 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 0000000000000000000000000000000000000000..078e7cc06e0b71105b77702d63d34aa6f2f48ccb --- /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 ffa204b8944c2b32a69ad871f3885b529a6f9f1f..8d6a6241ad3f9c0c6ecd33c605a0d31ab96190dd 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 0000000000000000000000000000000000000000..5e17372419040bdfb74a2d92f4d03b76f02d43d6 --- /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 b27707a001599094d310b6d02576248fe9aeb4a8..624fcdbe6c6a0581473717227a87b870ccd8d60f 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 73b6f660bf94344814ac7dbeb86fd2d81d1a315e..56964c1f692369ca951ef9ead4eeec3e569a4c7f 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 f6f062011ab6cd4cea18135faab9c3bb598de248..df5bffe3dfba29dd1a6369601be450f946d37f89 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 0000000000000000000000000000000000000000..377639ce2e60d50b8e218e83877916fe190dc873 --- /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 de0fef9b73f3a1a0569c6b5a416a48328486770c..2737cc435752bb73b33e0fd18d02ac5bf228f6eb 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 81efd4841a6ffa7268fbaf8111b335ce1ad28840..4d1d55244c0bc3780a3d79210b8b2ea0020b4387 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 ca2c9f43dfcd4d23f97fa36432a00abf75f07dbc..fe2a19491d99ba1bb8d6cc0a90cf0fc37c56f474 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 0000000000000000000000000000000000000000..c5c474417046c5bcefca7747f2339273820760fd --- /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 0000000000000000000000000000000000000000..bc87c091a58fff5cee3e792b10a224ae854cbd4f --- /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 0000000000000000000000000000000000000000..373316c784062d644e602543beffa65d3db3564e --- /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 0000000000000000000000000000000000000000..a8df1735e9d4dc66b25dc6372951013acefd7190 --- /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 0000000000000000000000000000000000000000..ca66b9c544f52e17c07a8eea6cc5daf6d6f1a30a --- /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 eed69eb98090edc115ff7f4c7c3b08217305e442..6d82744e1f9f45873dcbd6617c963c4b1973fc70 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 e8c27c5f2b1e6ce34f2121ff8152225e08fbf2ee..dd4d797825f37c7b7d49af31912237a8558d4425 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 cd1fda47e437baa4455b5bb5457b57ce2968c25e..2554e999e0d31e95eaa49fc1130f1428e4108e7f 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 4d216bee0b60070d67ca8ea60bfb5739a9f564c2..f221a1b89e66215dbcc4115aa1ad62649630f950 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 0000000000000000000000000000000000000000..4c163af760c66a02bbe175db432b6382a149e3a9 --- /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 37283fc18a47a59d93f3d7f6be097a8ed027d2df..c76a1a136771d0f86c2cc43709374a50440608aa 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 57f9a1a57d519fed1fbe535bf117ccb40dcc2ee2..9c7f041342103ba5433da7dee618cc5ceb0bd0be 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; - }; - passthru = { - updateInfo = { - downloadPage = "http://www.garloff.de/kurt/linux/ddrescue/"; - }; + maintainers = with maintainers; [ raskin iElectric ]; + platforms = with platforms; linux; }; -}) x - +} diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix index 9afad675bb91d951d25ec04424f202adae7a153d..d2ace27b1fd694eb223aa347ddda6db785e86c2f 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 0000000000000000000000000000000000000000..a652a1e84ef4b242f695da0c42cc3674eac4b987 --- /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 d5252116f64075caed2d61dc4f7510aab00dff9a..c5f33c323594fbac2ba7adfe01a82831e9ab490a 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}"; - inherit (sourceInfo) name version; - inherit buildInputs; + src = fetchurl { + url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; + sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27"; + }; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "fixMakefile" "doMakeInstall"]; + buildInputs = [ openssl ]; - 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 7d15ade348cf355d6464f0e7b7db1548878c01b6..208ff837b3460db6ac1fef7bd90f4db60f201bdd 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 bf5e6eeffa5a975a24bd1c5a218304f00d40355a..729da7015d9a13013cb2a38151a191e6d377a9dd 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 e1e515aaf0139445b1ca08b63db8b4b541fb1cfa..f166f198b70db21fa7ce32685164387135030a1c 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 0000000000000000000000000000000000000000..49fd9c04231b1f85f3ba187b48f1f037d96c5e5f --- /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 0000000000000000000000000000000000000000..9be2a709af5746f06fc8ceeee12995598bc4989d --- /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 fc4293ad7cff48d9919e592a215c3b0731a3fb87..f8413b9a0d0f3661eea4f12f110460f22766ed02 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 b6cdc77caa8491e77ed639723bdde49351b5d538..0000000000000000000000000000000000000000 --- 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 eba1dc2ac7fdb085e13e8f8254c3c0ba704acd09..b231f2875c092aec7e48b6380316df94cbe03c0b 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 5a31d0096107b9010872a16cf3c9938a661ef6f5..bdf19161e43120e01965ea40225b3e7662aeff3f 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 0000000000000000000000000000000000000000..f5efaf222217a7033e6b7ef2aafdbca2f043ff21 --- /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 0000000000000000000000000000000000000000..1a2cfbd8e4a2d158a5b2cdbe13462aec3537fd45 --- /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 e494eba13ce3847f0c1d1bcf76fad2ecfe4a6ee2..1ad40a4a5fa01129d496fb1b3fc19455c468dbff 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 d34ed00d436a04165f831f578c185a33af3d3d8a..cf30169acef14116c8b1babc59e08a48cded272e 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 0000000000000000000000000000000000000000..b73654da405416370182eb0e01b8d2e5c1df0e11 --- /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 fc9e3785cf3e38ee8041b784a53288da370353e1..ccfeabaa73bd0fdb446c327ce38e52ea1048a033 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 3e9d9152d36a3d42d35b4854636b2d4c17a72e9c..164982811811dbf4bac5f0e7824eaece1be04073 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 83a89cfb6028b084f4b59ed0b32842b512210a05..fa780b11f68833e794624abf973ab87cbda1b22c 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 0f54644eba56fee2e48526c3bd587d595ac18bd2..c81e02b4399539eed59c232ddfdc49b6f0952655 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 70b9bf69e290e65eca969a2862345135a03ddb9e..3981f67aefb91cd946f88a9eb0a981bfae7b192d 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 f52855dfc538d6dfc9bbb2ede35fd1e9035b7d50..b8f2f4696aead730b6a0aa3a547fe3e3322e80d0 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 ffeb9a8cd7c1b0221b79ed0162c82852e27a9cd6..db7ebfbb77a88feee35dc312c643e202e37d2aae 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 0000000000000000000000000000000000000000..1769a59520ba30cbd4bbb08324b07c9650ae84fb --- /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 0d1602143764b7463e596739684b831b7cff1979..61e94d4d6185a68148fe8c61e8b56f70e69e80fc 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 e9b46eaa985b87442245dabf52fe0ec0ace88508..426cef3c85d153b3ebed8fbcc983459c3d8bddc0 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 2d1de93fed87f321b1fbd501631180b9631f1f5b..e001a36cab03b5ea25fb6b29efd57935d796f462 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 4cb03e7d2c5410f42cc2104d588f7f5b23336e7f..8b06cbb5a2bde94c6e7c855c6821e8773580342d 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 b5e3c981e1cc684c2d4f8b7c9d2f2819ba5728fb..85de3dc08cfd4222a1fdd5f4a3de2ad31ada2866 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 c6624e469e5d477e8ad05cb1b7f8577b866a4438..10b9962936dd637067089ac91c641513e0b6a219 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 b70d8f4c9ba408b1ffec6a7ea545122f465e335d..33b497fa3eb4d1549ec69d689bdb07bf69c48133 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 00cc4e7733fb8125ab88dae4b25aa134e781c3cc..27f4ce4476fd61da8989b893300ef51fe72626e2 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 94e323d356efd90e7dabcbc1a5805f0562212f6b..23cfaf25e6a60aefa1130734a2b56df5bec2bb19 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,41 +2654,9 @@ let stdenv = allStdenvs.stdenvNative; }); - gfortran = gfortran46; - - gfortran42 = wrapGCC (gcc42.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - inherit gmp mpfr; - }); - - gfortran43 = wrapGCC (gcc43.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); - - gfortran44 = wrapGCC (gcc44.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); - - gfortran45 = wrapGCC (gcc45_real.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - profiledCompiler = false; - }); + gfortran = gfortran48; - gfortran46 = wrapGCC (gcc46_real.gcc.override { + gfortran48 = wrapGCC (gcc48.gcc.override { name = "gfortran"; langFortran = true; langCC = false; @@ -2651,27 +2664,13 @@ let profiledCompiler = false; }); - gcj = gcj45; + gcj = gcj48; - 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,8 +2750,20 @@ 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 @@ -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,24 +6868,24 @@ 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 { }; - - linuxHeaders37 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + linuxHeaders = linuxHeaders_3_7; - linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { + linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { inherit stdenv fetchurl perl; cross = assert crossSystem != null; crossSystem; }); - linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { + linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.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 else if ver == "2.6" then linuxHeaders26Cross @@ -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 - ]; - }; - - 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 - ''; + inherit fetchurl stdenv perl buildLinux; + kernelPatches = []; }; - # 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,36 +6953,27 @@ 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") + linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.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 ]; }; - 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") + linux_3_13 = makeOverridable (import ../os-specific/linux/kernel/linux-3.13.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 ]; }; - 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") + 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,25 +9938,25 @@ let hsetroot = callPackage ../tools/X11/hsetroot { }; - kde4 = recurseIntoAttrs pkgs.kde410; + kakasi = callPackage ../tools/text/kakasi { }; + + kde4 = recurseIntoAttrs pkgs.kde411; - kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde411 ); + kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); - kde410 = kdePackagesFor (pkgs.kde410 // { + kde411 = kdePackagesFor (pkgs.kde411 // { boost = boost149; eigen = eigen2; libotr = libotr_3_2; libusb = libusb1; libcanberra = libcanberra_kde; - }) ../desktops/kde-4.10; + }) ../desktops/kde-4.11; - kde411 = kdePackagesFor (pkgs.kde411 // { - boost = boost149; + kde412 = kdePackagesFor (pkgs.kde412 // { eigen = eigen2; - libotr = libotr_3_2; libusb = libusb1; libcanberra = libcanberra_kde; - }) ../desktops/kde-4.11; + }) ../desktops/kde-4.12; kdePackagesFor = self: dir: let callPackageOrig = callPackage; in @@ -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 a3c3a10b44c0575ec7c3cdbee43ed0dc9742d669..5a84b4339e22a2072432b09526880ef5d30ff52f 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 cbeeb3b089f9c2e2a5f3baf613d070e78dfe1f66..cacc9589325600825e4aa9d56b2a260cfa8e4252 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 {}; + + aes = callPackage ../development/libraries/haskell/aes {}; - aesonLens = callPackage ../development/libraries/haskell/aeson-lens {}; + 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 b50f064af0c62fb2d748fdb5c99d03ebabed8399..70330f4304f14fb81f512c8a62440a7afce07405 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 07bfa153125577f06f371675a0908f9a718c0ab5..281541787706f87d0a26c2a8f4ecaa464aa2ab27 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."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/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.4.0"; - by-version."CSSselect"."0.4.0" = lib.makeOverridable self.buildNodePackage { - name = "CSSselect-0.4.0"; + 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.4.0.tgz"; - name = "CSSselect-0.4.0.tgz"; - sha1 = "0ddaecd7d157f482d101dfbe154d3accd9166331"; + 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"; + 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/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.1"; - by-version."CSSwhat"."0.4.1" = lib.makeOverridable self.buildNodePackage { - name = "CSSwhat-0.4.1"; + 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.1.tgz"; - name = "CSSwhat-0.4.1.tgz"; - sha1 = "fe6580461b2a3ad550d2a7785a051234974dfca7"; + 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."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/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.2.9"; - by-version."async"."0.2.9" = lib.makeOverridable self.buildNodePackage { - name = "async-0.2.9"; + 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.2.9.tgz"; - name = "async-0.2.9.tgz"; - sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619"; + 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"; + 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/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-rc7"; - by-version."aws-sdk"."2.0.0-rc7" = lib.makeOverridable self.buildNodePackage { - name = "aws-sdk-2.0.0-rc7"; + 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-rc7.tgz"; - name = "aws-sdk-2.0.0-rc7.tgz"; - sha1 = "4b367185bd093f2681aea2cfb1e3e85a06fa04cd"; + 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,14 +1352,14 @@ passthru.names = [ "boom" ]; }; by-spec."bower"."*" = - self.by-version."bower"."1.2.8"; - by-version."bower"."1.2.8" = lib.makeOverridable self.buildNodePackage { - name = "bower-1.2.8"; + 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.2.8.tgz"; - name = "bower-1.2.8.tgz"; - sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f"; + url = "http://registry.npmjs.org/bower/-/bower-1.3.2.tgz"; + name = "bower-1.3.2.tgz"; + sha1 = "ae1eeea5c3ba9300e10e55b193e9d2fd5407fb7b"; }) ]; buildInputs = @@ -973,55 +1370,113 @@ 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."chalk"."0.4.0" 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."handlebars"."1.0.12" - self.by-version."inquirer"."0.3.5" + 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.7.1" + self.by-version."mout"."0.9.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."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"."0.9.7" - self.by-version."request"."2.27.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.5" - self.by-version."semver"."2.1.0" - self.by-version."stringify-object"."0.1.7" - self.by-version."sudo-block"."0.2.1" + 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.7" + 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.2.8"; + "bower" = self.by-version."bower"."1.3.2"; by-spec."bower".">=0.9.0" = - self.by-version."bower"."1.2.8"; + self.by-version."bower"."1.3.2"; by-spec."bower".">=1.2.8 <2" = - self.by-version."bower"."1.2.8"; + 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"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/bower/-/bower-1.2.8.tgz"; + name = "bower-1.2.8.tgz"; + sha1 = "f63c0804a267d5ffaf2fd3fd488367e73dce202f"; + }) + ]; + 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.2.1" + 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.0.12" + self.by-version."inquirer"."0.3.5" + self.by-version."junk"."0.2.2" + self.by-version."mkdirp"."0.3.5" + 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.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.6" + self.by-version."semver"."2.1.0" + 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.8" + self.by-version."which"."1.0.5" + self.by-version."p-throttler"."0.0.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "bower" ]; + }; 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."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/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.0.8"; - by-version."browserchannel"."1.0.8" = lib.makeOverridable self.buildNodePackage { - name = "browserchannel-1.0.8"; + 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.0.8.tgz"; - name = "browserchannel-1.0.8.tgz"; - sha1 = "96da83d139d8943f5bd616c334f148bd008dbac4"; + 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,26 +1860,67 @@ 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 = + (self.nativeDeps."bson" or []); + deps = [ + ]; + peerDependencies = [ + ]; + 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,10 +2237,32 @@ ]; passthru.names = [ "chainsaw" ]; }; + by-spec."chalk"."^0.4.0" = + self.by-version."chalk"."0.4.0"; + by-version."chalk"."0.4.0" = lib.makeOverridable self.buildNodePackage { + name = "node-chalk-0.4.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"; + name = "chalk-0.4.0.tgz"; + sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"; + }) + ]; + buildInputs = + (self.nativeDeps."chalk" or []); + deps = [ + self.by-version."has-color"."0.1.6" + self.by-version."ansi-styles"."1.0.0" + self.by-version."strip-ansi"."0.1.1" + ]; + peerDependencies = [ + ]; + 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 = "chalk-0.1.1"; + name = "node-chalk-0.1.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz"; @@ -1565,7 +2273,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"."0.1.2" ]; peerDependencies = [ @@ -1575,7 +2283,7 @@ 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"; + name = "node-chalk-0.2.1"; src = [ (fetchurl { url = "http://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz"; @@ -1586,19 +2294,17 @@ 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"."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"; + name = "node-chalk-0.3.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/chalk/-/chalk-0.3.0.tgz"; @@ -1609,7 +2315,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"."0.2.0" ]; peerDependencies = [ @@ -1618,30 +2324,10 @@ }; 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"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz"; - name = "chalk-0.4.0.tgz"; - sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"; - }) - ]; - buildInputs = - (self.nativeDeps."chalk" or []); - deps = [ - self.by-version."has-color"."0.1.2" - self.by-version."ansi-styles"."1.0.0" - self.by-version."strip-ansi"."0.1.1" - ]; - peerDependencies = [ - ]; - passthru.names = [ "chalk" ]; - }; 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,59 +2777,81 @@ ]; 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."color" or []); + (self.nativeDeps."collections" or []); deps = [ - self.by-version."color-convert"."0.2.1" - self.by-version."color-string"."0.1.2" + self.by-version."weak-map"."1.0.4" ]; peerDependencies = [ ]; - passthru.names = [ "color" ]; + passthru.names = [ "collections" ]; }; - 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"; + 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-convert/-/color-convert-0.2.1.tgz"; - name = "color-convert-0.2.1.tgz"; - sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c"; + 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.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "color" ]; + }; + 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 = "node-color-convert-0.2.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz"; + name = "color-convert-0.2.1.tgz"; + sha1 = "363cab23c94b31a0d64db71048b8c6a940f8c68c"; }) ]; buildInputs = @@ -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,15 +3006,15 @@ ]; 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"; + by-spec."commander"."0.6.1" = + self.by-version."commander"."0.6.1"; + by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-0.6.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz"; - name = "commander-2.1.0.tgz"; - sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781"; + url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz"; + name = "commander-0.6.1.tgz"; + sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"; }) ]; buildInputs = @@ -2214,20 +3025,21 @@ ]; 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"; + 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-0.6.1.tgz"; - name = "commander-0.6.1.tgz"; - sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"; + 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 = [ ]; @@ -2236,7 +3048,7 @@ 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,34 +3320,41 @@ ]; 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"; + 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.12.0.tgz"; - name = "connect-2.12.0.tgz"; - sha1 = "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a"; + 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."batch"."0.5.0" + 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."cookie-signature"."1.0.1" - self.by-version."buffer-crc32"."0.2.1" - self.by-version."cookie"."0.1.0" - self.by-version."send"."0.1.4" + 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."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."methods"."0.1.0" - self.by-version."raw-body"."1.1.2" - self.by-version."negotiator"."0.3.0" + self.by-version."debug"."0.8.1" + self.by-version."raw-body"."1.1.3" self.by-version."multiparty"."2.2.0" ]; peerDependencies = [ @@ -2439,7 +3364,7 @@ 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"; + name = "node-connect-2.3.9"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-2.3.9.tgz"; @@ -2457,7 +3382,7 @@ 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" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -2466,7 +3391,7 @@ 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"; + name = "node-connect-2.7.5"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz"; @@ -2486,7 +3411,7 @@ 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" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -2495,7 +3420,7 @@ 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"; + name = "node-connect-2.7.6"; src = [ (fetchurl { url = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz"; @@ -2515,20 +3440,92 @@ 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" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "connect" ]; }; by-spec."connect"."~2" = - self.by-version."connect"."2.12.0"; + 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 = "node-connect-2.12.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/connect/-/connect-2.12.0.tgz"; + name = "connect-2.12.0.tgz"; + sha1 = "31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a"; + }) + ]; + buildInputs = + (self.nativeDeps."connect" or []); + deps = [ + self.by-version."batch"."0.5.0" + self.by-version."qs"."0.6.6" + self.by-version."cookie-signature"."1.0.1" + self.by-version."buffer-crc32"."0.2.1" + self.by-version."cookie"."0.1.0" + self.by-version."send"."0.1.4" + self.by-version."bytes"."0.2.1" + 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.8.1" + self.by-version."methods"."0.1.0" + self.by-version."raw-body"."1.1.2" + self.by-version."negotiator"."0.3.0" + self.by-version."multiparty"."2.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "connect" ]; + }; 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-signature"."1.0.0" = - self.by-version."cookie-signature"."1.0.0"; + 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/csurf/-/csurf-1.0.0.tgz"; + name = "csurf-1.0.0.tgz"; + sha1 = "a68d5718b988032e270abf1f4b34f272753d745b"; + }) + ]; + buildInputs = + (self.nativeDeps."csurf" or []); + deps = [ + self.by-version."uid2"."0.0.3" + ]; + peerDependencies = [ + ]; + 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/cssom/-/cssom-0.2.5.tgz"; - name = "cssom-0.2.5.tgz"; - sha1 = "2682709b5902e7212df529116ff788cd5b254894"; + url = "http://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz"; + name = "csurf-1.1.0.tgz"; + sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2"; }) ]; buildInputs = - (self.nativeDeps."cssom" or []); + (self.nativeDeps."csurf" or []); deps = [ + self.by-version."uid2"."0.0.3" + self.by-version."scmp"."0.0.3" ]; peerDependencies = [ ]; - passthru.names = [ "cssom" ]; + 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"; - 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"; + 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/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-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-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.6"; - by-version."deep-extend"."0.2.6" = lib.makeOverridable self.buildNodePackage { - name = "deep-extend-0.2.6"; + 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.6.tgz"; - name = "deep-extend-0.2.6.tgz"; - sha1 = "1f767e02b46d88d0a4087affa4b11b1b0b804250"; + 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."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/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.7"; - by-version."download"."0.1.7" = lib.makeOverridable self.buildNodePackage { - name = "download-0.1.7"; + 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.7.tgz"; - name = "download-0.1.7.tgz"; - sha1 = "d2a941a878a6d2fdaba60588ffffadab32b788b4"; + 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,128 +5263,382 @@ ]; 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"; + name = "es5-ext-0.9.2.tgz"; + sha1 = "d2e309d1f223b0718648835acf5b8823a8061f8a"; + }) + ]; + buildInputs = + (self.nativeDeps."es5-ext" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "es5-ext" ]; + }; + by-spec."escape-html"."*" = + self.by-version."escape-html"."1.0.1"; + by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-escape-html-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"; + name = "escape-html-1.0.1.tgz"; + sha1 = "181a286ead397a39a92857cfb1d43052e356bff0"; + }) + ]; + buildInputs = + (self.nativeDeps."escape-html" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "escape-html" ]; + }; + "escape-html" = self.by-version."escape-html"."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.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 = + (self.nativeDeps."escodegen" or []); + deps = [ + 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.33" + ]; + peerDependencies = [ + ]; + passthru.names = [ "escodegen" ]; + }; + 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/escope/-/escope-1.0.1.tgz"; + name = "escope-1.0.1.tgz"; + sha1 = "59b04cdccb76555608499ed13502b9028fe73dd8"; + }) + ]; + buildInputs = + (self.nativeDeps."escope" or []); + deps = [ + self.by-version."estraverse"."1.5.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "escope" ]; + }; + 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"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz"; + name = "esprima-1.0.4.tgz"; + sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"; + }) + ]; + buildInputs = + (self.nativeDeps."esprima" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "esprima" ]; + }; + 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."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/es5-ext/-/es5-ext-0.9.2.tgz"; - name = "es5-ext-0.9.2.tgz"; - sha1 = "d2e309d1f223b0718648835acf5b8823a8061f8a"; + 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."es5-ext" or []); + (self.nativeDeps."esprima-fb" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "es5-ext" ]; + passthru.names = [ "esprima-fb" ]; }; - 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"; + 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/escape-html/-/escape-html-1.0.1.tgz"; - name = "escape-html-1.0.1.tgz"; - sha1 = "181a286ead397a39a92857cfb1d43052e356bff0"; + url = "http://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz"; + name = "esrefactor-0.1.0.tgz"; + sha1 = "d142795a282339ab81e936b5b7a21b11bf197b13"; }) ]; buildInputs = - (self.nativeDeps."escape-html" or []); + (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 = [ "escape-html" ]; + passthru.names = [ "esrefactor" ]; }; - "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."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/escodegen/-/escodegen-1.0.1.tgz"; - name = "escodegen-1.0.1.tgz"; - sha1 = "84c92c4a07440271b90e6b78e620973bf721226e"; + url = "http://registry.npmjs.org/esshorten/-/esshorten-0.0.2.tgz"; + name = "esshorten-0.0.2.tgz"; + sha1 = "28a652f1efd40c8e227f8c6de7dbe6b560ee8129"; }) ]; buildInputs = - (self.nativeDeps."escodegen" or []); + (self.nativeDeps."esshorten" or []); deps = [ - 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."escope"."1.0.1" + self.by-version."estraverse"."1.2.0" ]; peerDependencies = [ ]; - passthru.names = [ "escodegen" ]; + passthru.names = [ "esshorten" ]; }; - 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."estraverse".">= 0.0.2" = + self.by-version."estraverse"."1.5.0"; + by-version."estraverse"."1.5.0" = lib.makeOverridable self.buildNodePackage { + name = "node-estraverse-1.5.0"; 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/estraverse/-/estraverse-1.5.0.tgz"; + name = "estraverse-1.5.0.tgz"; + sha1 = "248ec3f0d4bf39a940109c92a05ceb56d59e53ee"; }) ]; buildInputs = - (self.nativeDeps."escodegen" or []); + (self.nativeDeps."estraverse" or []); deps = [ - self.by-version."esprima"."1.0.4" - self.by-version."estraverse"."0.0.4" - self.by-version."source-map"."0.1.31" ]; peerDependencies = [ ]; - passthru.names = [ "escodegen" ]; + passthru.names = [ "estraverse" ]; }; - by-spec."escodegen"."1.0.x" = - self.by-version."escodegen"."1.0.1"; - by-spec."esprima"."1.0.x" = - self.by-version."esprima"."1.0.4"; - by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage { - name = "esprima-1.0.4"; + 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/esprima/-/esprima-1.0.4.tgz"; - name = "esprima-1.0.4.tgz"; - sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"; + url = "http://registry.npmjs.org/estraverse/-/estraverse-1.2.0.tgz"; + name = "estraverse-1.2.0.tgz"; + sha1 = "6a3dc8a46a5d6766e5668639fc782976ce5660fd"; }) ]; buildInputs = - (self.nativeDeps."esprima" or []); + (self.nativeDeps."estraverse" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "esprima" ]; + passthru.names = [ "estraverse" ]; }; - 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"."*" = - self.by-version."estraverse"."1.5.0"; - by-version."estraverse"."1.5.0" = lib.makeOverridable self.buildNodePackage { - name = "estraverse-1.5.0"; + 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.5.0.tgz"; - name = "estraverse-1.5.0.tgz"; - sha1 = "248ec3f0d4bf39a940109c92a05ceb56d59e53ee"; + url = "http://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz"; + name = "estraverse-1.3.2.tgz"; + sha1 = "37c2b893ef13d723f276d878d60d8535152a6c42"; }) ]; buildInputs = @@ -4016,7 +5652,7 @@ 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,50 +7060,142 @@ ]; passthru.names = [ "generator-webapp" ]; }; - "generator-webapp" = self.by-version."generator-webapp"."0.4.6"; - by-spec."getmac"."~1.0.6" = - self.by-version."getmac"."1.0.6"; - by-version."getmac"."1.0.6" = lib.makeOverridable self.buildNodePackage { - name = "getmac-1.0.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 { + name = "getmac-1.0.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/getmac/-/getmac-1.0.6.tgz"; + name = "getmac-1.0.6.tgz"; + sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522"; + }) + ]; + buildInputs = + (self.nativeDeps."getmac" or []); + deps = [ + self.by-version."extract-opts"."2.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "getmac" ]; + }; + by-spec."getobject"."~0.1.0" = + self.by-version."getobject"."0.1.0"; + by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-getobject-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz"; + name = "getobject-0.1.0.tgz"; + sha1 = "047a449789fa160d018f5486ed91320b6ec7885c"; + }) + ]; + buildInputs = + (self.nativeDeps."getobject" or []); + deps = [ + ]; + peerDependencies = [ + ]; + 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/getmac/-/getmac-1.0.6.tgz"; - name = "getmac-1.0.6.tgz"; - sha1 = "f222c8178be9de24899df5a04e77557fbaf4e522"; + url = "http://registry.npmjs.org/gh/-/gh-1.9.1.tgz"; + name = "gh-1.9.1.tgz"; + sha1 = "1862071cddc13cfd31545c64256ab731bb334194"; }) ]; buildInputs = - (self.nativeDeps."getmac" or []); + (self.nativeDeps."gh" or []); deps = [ - self.by-version."extract-opts"."2.2.0" + 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 = [ "getmac" ]; + passthru.names = [ "gh" ]; }; - 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"; + "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/getobject/-/getobject-0.1.0.tgz"; - name = "getobject-0.1.0.tgz"; - sha1 = "047a449789fa160d018f5486ed91320b6ec7885c"; + url = "http://registry.npmjs.org/github/-/github-0.1.16.tgz"; + name = "github-0.1.16.tgz"; + sha1 = "895d2a85b0feb7980d89ac0ce4f44dcaa03f17b5"; }) ]; buildInputs = - (self.nativeDeps."getobject" or []); + (self.nativeDeps."github" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "getobject" ]; + 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,22 +7789,22 @@ 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" = - self.by-version."handlebars"."1.0.12"; - by-version."handlebars"."1.0.12" = lib.makeOverridable self.buildNodePackage { - name = "handlebars-1.0.12"; + 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.0.12.tgz"; - name = "handlebars-1.0.12.tgz"; - sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc"; + url = "http://registry.npmjs.org/handlebars/-/handlebars-1.3.0.tgz"; + name = "handlebars-1.3.0.tgz"; + sha1 = "9e9b130a93e389491322d975cf3ec1818c37ce34"; }) ]; buildInputs = @@ -5941,15 +7817,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"; + 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"; src = [ (fetchurl { - url = "http://registry.npmjs.org/handlebars/-/handlebars-1.2.1.tgz"; - name = "handlebars-1.2.1.tgz"; - sha1 = "0a9016379064f8957779bdc2812869120aba9d98"; + url = "http://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz"; + name = "handlebars-1.0.12.tgz"; + sha1 = "18c6d3440c35e91b19b3ff582b9151ab4985d4fc"; }) ]; buildInputs = @@ -5962,17 +7840,17 @@ ]; 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."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/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.0"; - by-version."insight"."0.3.0" = lib.makeOverridable self.buildNodePackage { - name = "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.0.tgz"; - name = "insight-0.3.0.tgz"; - sha1 = "9d922133f560f7633abfc8f91451bda5e2cf2f71"; + 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,67 +8747,67 @@ 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"; + 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 = "node-is-promise-1.0.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/is/-/is-0.2.7.tgz"; - name = "is-0.2.7.tgz"; - sha1 = "3b34a2c48f359972f35042849193ae7264b63562"; + url = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz"; + name = "is-promise-1.0.0.tgz"; + sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f"; }) ]; buildInputs = - (self.nativeDeps."is" or []); + (self.nativeDeps."is-promise" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "is" ]; + passthru.names = [ "is-promise" ]; }; - 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"; + 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-object/-/is-object-0.1.2.tgz"; - name = "is-object-0.1.2.tgz"; - sha1 = "00efbc08816c33cfc4ac8251d132e10dc65098d7"; + 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-object" or []); + (self.nativeDeps."is-root" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "is-object" ]; + passthru.names = [ "is-root" ]; }; - 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"; + 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/is-promise/-/is-promise-1.0.0.tgz"; - name = "is-promise-1.0.0.tgz"; - sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f"; + url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"; + name = "isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; }) ]; buildInputs = - (self.nativeDeps."is-promise" or []); + (self.nativeDeps."isarray" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "is-promise" ]; + 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"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/istanbul/-/istanbul-0.2.3.tgz"; - name = "istanbul-0.2.3.tgz"; - sha1 = "bbce67c1d540610e7021becda51d7cbbbecc68cc"; - }) - ]; - 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."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.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"; + 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.1.46.tgz"; - name = "istanbul-0.1.46.tgz"; - sha1 = "cefeb1c787d125a6db23bd0f63b0eb9390b0b40d"; + 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"."0.0.23" - self.by-version."handlebars"."1.0.12" + 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.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,17 +9086,15 @@ ]; 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-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 { - name = "js-yaml-2.0.5"; + 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-2.0.5.tgz"; - name = "js-yaml-2.0.5.tgz"; - sha1 = "a25ae6509999e97df278c6719da11bd0687743a8"; + url = "http://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz"; + name = "js-yaml-3.0.1.tgz"; + sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe"; }) ]; buildInputs = @@ -7206,15 +9107,17 @@ ]; 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"; + 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 { + name = "js-yaml-2.0.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz"; - name = "js-yaml-2.1.3.tgz"; - sha1 = "0ffb5617be55525878063d7a16aee7fdd282e84c"; + url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz"; + name = "js-yaml-2.0.5.tgz"; + sha1 = "a25ae6509999e97df278c6719da11bd0687743a8"; }) ]; buildInputs = @@ -7227,6 +9130,8 @@ ]; 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."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/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.1"; - by-version."jsontool"."7.0.1" = lib.makeOverridable self.buildNodePackage { - name = "jsontool-7.0.1"; + 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.1.tgz"; - name = "jsontool-7.0.1.tgz"; - sha1 = "d5a705e46e305d7377ede769707c072e6d957977"; + 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."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/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.8"; - by-version."knox"."0.8.8" = lib.makeOverridable self.buildNodePackage { - name = "knox-0.8.8"; + 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.8.tgz"; - name = "knox-0.8.8.tgz"; - sha1 = "aeeadd22b0a4b1e4d858a15174af2da060ab6774"; + 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/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.4.tgz"; - name = "lcov-parse-0.0.4.tgz"; - sha1 = "3853a4f132f04581db0e74c180542d90f0d1c66b"; + 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,15 +9932,17 @@ ]; passthru.names = [ "lockfile" ]; }; - 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"; + 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-0.10.0.tgz"; - name = "lodash-0.10.0.tgz"; - sha1 = "5254bbc2c46c827f535a27d631fd4f2bff374ce7"; + url = "http://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"; + name = "lodash-2.4.1.tgz"; + sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420"; }) ]; buildInputs = @@ -7924,15 +9953,15 @@ ]; passthru.names = [ "lodash" ]; }; - 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"; + by-spec."lodash"."~0.10.0" = + self.by-version."lodash"."0.10.0"; + by-version."lodash"."0.10.0" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash-0.10.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"; - name = "lodash-0.9.2.tgz"; - sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c"; + url = "http://registry.npmjs.org/lodash/-/lodash-0.10.0.tgz"; + name = "lodash-0.10.0.tgz"; + sha1 = "5254bbc2c46c827f535a27d631fd4f2bff374ce7"; }) ]; buildInputs = @@ -7943,15 +9972,15 @@ ]; 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"; + by-spec."lodash"."~0.9.2" = + self.by-version."lodash"."0.9.2"; + by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage { + name = "node-lodash-0.9.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz"; - name = "lodash-1.0.1.tgz"; - sha1 = "57945732498d92310e5bd4b1ff4f273a79e6c9fc"; + url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"; + name = "lodash-0.9.2.tgz"; + sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c"; }) ]; buildInputs = @@ -7965,7 +9994,7 @@ 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"; + by-spec."lodash"."~2.4.1" = + self.by-version."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.3.0.tgz"; - name = "lodash-2.3.0.tgz"; - sha1 = "dfbdac99cf87a59a022c474730570d8716c267dd"; + 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"."~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._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/-/lodash-2.4.1.tgz"; - name = "lodash-2.4.1.tgz"; - sha1 = "5b7723034dda4d262e5a46fb2c58d7cc22f71420"; + 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" or []); + (self.nativeDeps."lodash._isnative" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "lodash" ]; + 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,31 +10467,94 @@ }; by-spec."lru-cache"."~2.5.0" = self.by-version."lru-cache"."2.5.0"; + 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/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.7"; - by-version."mailcomposer"."0.2.7" = lib.makeOverridable self.buildNodePackage { - name = "mailcomposer-0.2.7"; + 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.7.tgz"; - name = "mailcomposer-0.2.7.tgz"; - sha1 = "173ba58e9bca0e4c43ca25f44f2dfecf16ef98aa"; + 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."he"."0.3.6" - self.by-version."punycode"."1.2.3" - self.by-version."follow-redirects"."0.0.3" - self.by-version."dkim-signer"."0.1.0" + self.by-version."mimelib"."0.2.14" + self.by-version."mime"."1.2.11" + self.by-version."he"."0.3.6" + self.by-version."punycode"."1.2.4" + self.by-version."follow-redirects"."0.0.3" + self.by-version."dkim-signer"."0.1.0" + ]; + peerDependencies = [ + ]; + 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 = [ "mailcomposer" ]; + 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,29 +10622,30 @@ ]; passthru.names = [ "merge-descriptors" ]; }; - 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"; + 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/methods/-/methods-0.0.1.tgz"; - name = "methods-0.0.1.tgz"; - sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c"; + 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."methods" or []); + (self.nativeDeps."method-override" or []); deps = [ + self.by-version."methods"."0.1.0" ]; peerDependencies = [ ]; - passthru.names = [ "methods" ]; + passthru.names = [ "method-override" ]; }; - by-spec."methods"."0.1.0" = + by-spec."methods"."*" = self.by-version."methods"."0.1.0"; by-version."methods"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "methods-0.1.0"; + name = "node-methods-0.1.0"; src = [ (fetchurl { url = "http://registry.npmjs.org/methods/-/methods-0.1.0.tgz"; @@ -8403,10 +10661,31 @@ ]; 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 = "node-methods-0.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz"; + name = "methods-0.0.1.tgz"; + sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c"; + }) + ]; + buildInputs = + (self.nativeDeps."methods" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "methods" ]; + }; + by-spec."methods"."0.1.0" = + self.by-version."methods"."0.1.0"; 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."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/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.0-rc4"; - by-version."mongodb"."1.4.0-rc4" = lib.makeOverridable self.buildNodePackage { - name = "mongodb-1.4.0-rc4"; + 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.0-rc4.tgz"; - name = "mongodb-1.4.0-rc4.tgz"; - sha1 = "0d17168ec9b4e51a13300d4528478273b632aec5"; + 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/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.0.69.tgz"; - name = "natural-0.0.69.tgz"; - sha1 = "60d9ce23797a54ec211600eb721cc66779b954d3"; + 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-version."nopt"."2.1.2" = lib.makeOverridable self.buildNodePackage { + name = "nopt-2.1.2"; + src = [ + (fetchurl { + 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."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-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.8.tgz"; - name = "normalize-package-data-0.2.8.tgz"; - sha1 = "95dc1bcb54c8d46b3be345c05afbab27e48e2f69"; + 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."ansicolors"."0.3.2" + self.by-version."ansistyles"."0.1.3" + 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."sha"."1.2.3" + self.by-version."columnify"."0.1.2" 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."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."ansicolors"."0.3.2" - self.by-version."ansistyles"."0.1.3" - self.by-version."path-is-inside"."1.0.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-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.2.0.tgz"; - name = "object-keys-0.2.0.tgz"; - sha1 = "cddec02998b091be42bf1035ae32e49f1cb6ea67"; + 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"; @@ -10507,8 +13005,27 @@ ]; passthru.names = [ "open" ]; }; - by-spec."open"."~0.0.3" = - self.by-version."open"."0.0.4"; + by-spec."open"."~0.0.3" = + 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,37 +13301,77 @@ ]; 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.1.18"; - by-version."passport"."0.1.18" = lib.makeOverridable self.buildNodePackage { - name = "passport-0.1.18"; + 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.1.18.tgz"; - name = "passport-0.1.18.tgz"; - sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1"; + 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."pkginfo"."0.2.3" + 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.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"; + "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 = "node-passport-0.1.18"; src = [ (fetchurl { - url = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz"; - name = "passport-0.1.17.tgz"; - sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc"; + url = "http://registry.npmjs.org/passport/-/passport-0.1.18.tgz"; + name = "passport-0.1.18.tgz"; + sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1"; }) ]; buildInputs = @@ -10787,14 +13384,12 @@ ]; 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"; + "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/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.0"; - by-version."path-is-inside"."1.0.0" = lib.makeOverridable self.buildNodePackage { - name = "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.0.tgz"; - name = "path-is-inside-1.0.0.tgz"; - sha1 = "8ec1c42a4c1a039e3e75f6e9e6029bd0c699016e"; + 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.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.2.3.tgz"; - name = "punycode-1.2.3.tgz"; - sha1 = "b4e304471082d783c73b3bafabf2fd9b6a486266"; + 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,50 +14299,51 @@ ]; passthru.names = [ "raw-body" ]; }; - 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"; + 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-socket/-/raw-socket-1.2.2.tgz"; - name = "raw-socket-1.2.2.tgz"; - sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886"; + 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-socket" or []); + (self.nativeDeps."raw-body" or []); deps = [ + self.by-version."bytes"."0.2.1" ]; peerDependencies = [ ]; - passthru.names = [ "raw-socket" ]; + passthru.names = [ "raw-body" ]; }; - 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"; + 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 = "node-raw-socket-1.2.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/raw-stacktrace/-/raw-stacktrace-1.0.0.tgz"; - name = "raw-stacktrace-1.0.0.tgz"; - sha1 = "f308881f17667785a9acd7c8fbd442e1b2acf1db"; + url = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.2.tgz"; + name = "raw-socket-1.2.2.tgz"; + sha1 = "c9be873878a1ef70497a27e40b6e55b563d8f886"; }) ]; buildInputs = - (self.nativeDeps."raw-stacktrace" or []); + (self.nativeDeps."raw-socket" or []); deps = [ - self.by-version."traceback"."0.3.0" - self.by-version."underscore"."1.5.2" ]; peerDependencies = [ ]; - passthru.names = [ "raw-stacktrace" ]; + passthru.names = [ "raw-socket" ]; }; 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"; @@ -11576,129 +14429,114 @@ self.by-version."read"."1.0.5"; by-spec."read"."~1.0.1" = 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"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.2.tgz"; - name = "read-installed-0.2.2.tgz"; - sha1 = "f570ac84fb29c75f16faa3940a8c1e602c8eecab"; - }) - ]; - 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"."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"; + by-spec."read"."~1.0.4" = + self.by-version."read"."1.0.5"; + 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.5.tgz"; - name = "read-installed-0.2.5.tgz"; - sha1 = "134df8b326d8b54b11e18f7dd8c81bf5e976ef86"; + 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"."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."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/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.2"; - by-version."redeyed"."0.4.2" = lib.makeOverridable self.buildNodePackage { - name = "redeyed-0.4.2"; + 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.2.tgz"; - name = "redeyed-0.4.2.tgz"; - sha1 = "f0133b990cb972bdbcf2d2dce0aec36595f419bc"; + 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,50 +14889,21 @@ ]; 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"; + 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 = "node-request-2.27.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.25.0.tgz"; - name = "request-2.25.0.tgz"; - sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9"; + url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz"; + name = "request-2.27.0.tgz"; + sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668"; }) ]; buildInputs = @@ -12061,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" @@ -12076,15 +14926,15 @@ ]; passthru.names = [ "request" ]; }; - 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"; + by-spec."request"."~2.30.0" = + self.by-version."request"."2.30.0"; + by-version."request"."2.30.0" = lib.makeOverridable self.buildNodePackage { + name = "node-request-2.30.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/request/-/request-2.27.0.tgz"; - name = "request-2.27.0.tgz"; - sha1 = "dfb1a224dd3a5a9bade4337012503d710e538668"; + url = "http://registry.npmjs.org/request/-/request-2.30.0.tgz"; + name = "request-2.30.0.tgz"; + sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861"; }) ]; buildInputs = @@ -12092,30 +14942,30 @@ 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."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."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"."~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"; + 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.30.0.tgz"; - name = "request-2.30.0.tgz"; - sha1 = "8e0d36f0806e8911524b072b64c5ee535a09d861"; + url = "http://registry.npmjs.org/request/-/request-2.33.0.tgz"; + name = "request-2.33.0.tgz"; + sha1 = "5167878131726070ec633752ea230a2379dc65ff"; }) ]; buildInputs = @@ -12123,10 +14973,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" @@ -12141,7 +14991,7 @@ 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,16 +15048,16 @@ 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"; + 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 = "node-resolve-0.6.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/resolve/-/resolve-0.5.1.tgz"; - name = "resolve-0.5.1.tgz"; - sha1 = "15e4a222c4236bcd4cf85454412c2d0fb6524576"; + url = "http://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz"; + name = "resolve-0.6.1.tgz"; + sha1 = "b7fc874a8fe240b44de2c92b7f885a2e8598b652"; }) ]; buildInputs = @@ -12219,14 +15069,14 @@ passthru.names = [ "resolve" ]; }; by-spec."resolve"."0.6.x" = - self.by-version."resolve"."0.6.1"; - by-version."resolve"."0.6.1" = lib.makeOverridable self.buildNodePackage { - name = "resolve-0.6.1"; + 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.1.tgz"; - name = "resolve-0.6.1.tgz"; - sha1 = "b7fc874a8fe240b44de2c92b7f885a2e8598b652"; + url = "http://registry.npmjs.org/resolve/-/resolve-0.6.2.tgz"; + name = "resolve-0.6.2.tgz"; + sha1 = "7404e59e3c02980aa172272186521db3cf0a15f5"; }) ]; buildInputs = @@ -12237,10 +15087,10 @@ ]; passthru.names = [ "resolve" ]; }; - by-spec."resolve"."~0.3.1" = + 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"; + 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/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.4"; - by-version."s3http"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "s3http-0.0.4"; + 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.4.tgz"; - name = "s3http-0.0.4.tgz"; - sha1 = "e7cc4b7e9f9bacaa7ee3a5af81917fd0ca8ce8da"; + 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."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/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.39.0"; - by-version."selenium-webdriver"."2.39.0" = lib.makeOverridable self.buildNodePackage { - name = "selenium-webdriver-2.39.0"; + 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.39.0.tgz"; - name = "selenium-webdriver-2.39.0.tgz"; - sha1 = "546225f2f4f53f1f490a3077e5f14092fad3d205"; + 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 { @@ -12648,136 +15589,262 @@ name = "semver-2.0.11"; src = [ (fetchurl { - url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz"; - name = "semver-2.0.11.tgz"; - sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced"; + url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz"; + name = "semver-2.0.11.tgz"; + sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced"; + }) + ]; + buildInputs = + (self.nativeDeps."semver" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "semver" ]; + }; + by-spec."semver"."~2.1.0" = + self.by-version."semver"."2.1.0"; + by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage { + name = "semver-2.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/semver/-/semver-2.1.0.tgz"; + name = "semver-2.1.0.tgz"; + sha1 = "356294a90690b698774d62cf35d7c91f983e728a"; + }) + ]; + buildInputs = + (self.nativeDeps."semver" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "semver" ]; + }; + by-spec."semver"."~2.2.1" = + self.by-version."semver"."2.2.1"; + by-spec."send"."*" = + 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.2.0.tgz"; + name = "send-0.2.0.tgz"; + sha1 = "067abf45cff8bffb29cbdb7439725b32388a2c58"; + }) + ]; + 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.2" + self.by-version."range-parser"."1.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "send" ]; + }; + by-spec."send"."0.0.3" = + self.by-version."send"."0.0.3"; + by-version."send"."0.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-send-0.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/send/-/send-0.0.3.tgz"; + name = "send-0.0.3.tgz"; + sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184"; + }) + ]; + buildInputs = + (self.nativeDeps."send" or []); + deps = [ + 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" + ]; + peerDependencies = [ + ]; + passthru.names = [ "send" ]; + }; + by-spec."send"."0.1.0" = + self.by-version."send"."0.1.0"; + by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-send-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz"; + name = "send-0.1.0.tgz"; + sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640"; + }) + ]; + buildInputs = + (self.nativeDeps."send" or []); + deps = [ + 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" + ]; + peerDependencies = [ + ]; + passthru.names = [ "send" ]; + }; + by-spec."send"."0.1.4" = + self.by-version."send"."0.1.4"; + 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 = "node-sequence-2.2.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz"; + name = "sequence-2.2.1.tgz"; + sha1 = "7f5617895d44351c0a047e764467690490a16b03"; }) ]; buildInputs = - (self.nativeDeps."semver" or []); + (self.nativeDeps."sequence" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "semver" ]; + passthru.names = [ "sequence" ]; }; - by-spec."semver"."~2.1.0" = - self.by-version."semver"."2.1.0"; - by-version."semver"."2.1.0" = lib.makeOverridable self.buildNodePackage { - name = "semver-2.1.0"; + 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/semver/-/semver-2.1.0.tgz"; - name = "semver-2.1.0.tgz"; - sha1 = "356294a90690b698774d62cf35d7c91f983e728a"; + 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."semver" or []); + (self.nativeDeps."serve-index" or []); deps = [ + self.by-version."batch"."0.5.0" + self.by-version."negotiator"."0.4.2" ]; peerDependencies = [ ]; - passthru.names = [ "semver" ]; + passthru.names = [ "serve-index" ]; }; - 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"; + 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/send/-/send-0.1.4.tgz"; - name = "send-0.1.4.tgz"; - sha1 = "be70d8d1be01de61821af13780b50345a4f71abd"; + 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."send" or []); + (self.nativeDeps."serve-static" or []); deps = [ - self.by-version."debug"."0.7.4" - 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."send"."0.1.4" ]; peerDependencies = [ ]; - passthru.names = [ "send" ]; + passthru.names = [ "serve-static" ]; }; - 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"; + 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/send/-/send-0.0.3.tgz"; - name = "send-0.0.3.tgz"; - sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184"; + 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."send" or []); + (self.nativeDeps."serve-static" or []); deps = [ - self.by-version."debug"."0.7.4" - self.by-version."mime"."1.2.6" - self.by-version."fresh"."0.1.0" - self.by-version."range-parser"."0.0.4" + self.by-version."send"."0.2.0" ]; peerDependencies = [ ]; - passthru.names = [ "send" ]; + passthru.names = [ "serve-static" ]; }; - 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"; + 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/send/-/send-0.1.0.tgz"; - name = "send-0.1.0.tgz"; - sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640"; + 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."send" or []); + (self.nativeDeps."serve-static" or []); deps = [ - self.by-version."debug"."0.7.4" - self.by-version."mime"."1.2.6" - self.by-version."fresh"."0.1.0" - self.by-version."range-parser"."0.0.4" + self.by-version."parseurl"."1.0.1" + self.by-version."send"."0.2.0" ]; peerDependencies = [ ]; - passthru.names = [ "send" ]; + passthru.names = [ "serve-static" ]; }; - by-spec."send"."0.1.4" = - self.by-version."send"."0.1.4"; - by-spec."sequence"."*" = - self.by-version."sequence"."2.2.1"; - by-version."sequence"."2.2.1" = lib.makeOverridable self.buildNodePackage { - name = "sequence-2.2.1"; + 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/sequence/-/sequence-2.2.1.tgz"; - name = "sequence-2.2.1.tgz"; - sha1 = "7f5617895d44351c0a047e764467690490a16b03"; + url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz"; + name = "setimmediate-1.0.1.tgz"; + sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7"; }) ]; buildInputs = - (self.nativeDeps."sequence" or []); + (self.nativeDeps."setimmediate" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "sequence" ]; + passthru.names = [ "setimmediate" ]; }; - by-spec."sequence".">= 2.2.1" = - self.by-version."sequence"."2.2.1"; 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,36 +16525,34 @@ ]; 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"; + 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 = "node-stack-trace-0.0.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/ssh2/-/ssh2-0.2.16.tgz"; - name = "ssh2-0.2.16.tgz"; - sha1 = "f0e2fe7f4e3223c74ddd430dac82506ed3d747c7"; + url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz"; + name = "stack-trace-0.0.7.tgz"; + sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff"; }) ]; buildInputs = - (self.nativeDeps."ssh2" or []); + (self.nativeDeps."stack-trace" or []); deps = [ - self.by-version."streamsearch"."0.1.2" - self.by-version."asn1"."0.1.11" ]; peerDependencies = [ ]; - passthru.names = [ "ssh2" ]; + passthru.names = [ "stack-trace" ]; }; by-spec."stack-trace"."0.0.x" = - 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"; + 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/stack-trace/-/stack-trace-0.0.7.tgz"; - name = "stack-trace-0.0.7.tgz"; - sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff"; + url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz"; + name = "stack-trace-0.0.9.tgz"; + sha1 = "a8f6eaeca90674c333e7c43953f275b451510695"; }) ]; buildInputs = @@ -13356,15 +16563,73 @@ ]; 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.0"; - by-version."statsd"."0.7.0" = lib.makeOverridable self.buildNodePackage { - name = "statsd-0.7.0"; + 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.0.tgz"; - name = "statsd-0.7.0.tgz"; - sha1 = "13354345392c50a30221d3ab524bffcdda90272e"; + 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,91 +16730,129 @@ 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"; + name = "stream-counter-0.2.0.tgz"; + sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de"; + }) + ]; + buildInputs = + (self.nativeDeps."stream-counter" or []); + deps = [ + self.by-version."readable-stream"."1.1.12" + ]; + peerDependencies = [ + ]; + passthru.names = [ "stream-counter" ]; + }; + 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 = "node-stream-splitter-transform-0.0.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz"; + name = "stream-splitter-transform-0.0.4.tgz"; + sha1 = "0de54e94680633a8d703b252b20fa809ed99331c"; + }) + ]; + buildInputs = + (self.nativeDeps."stream-splitter-transform" or []); + deps = [ + self.by-version."buffertools"."1.1.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "stream-splitter-transform" ]; + }; + "stream-splitter-transform" = self.by-version."stream-splitter-transform"."0.0.4"; + by-spec."string"."1.6.1" = + self.by-version."string"."1.6.1"; + by-version."string"."1.6.1" = lib.makeOverridable self.buildNodePackage { + name = "node-string-1.6.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"; - name = "stream-counter-0.2.0.tgz"; - sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de"; + url = "http://registry.npmjs.org/string/-/string-1.6.1.tgz"; + name = "string-1.6.1.tgz"; + sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55"; }) ]; buildInputs = - (self.nativeDeps."stream-counter" or []); + (self.nativeDeps."string" or []); deps = [ - self.by-version."readable-stream"."1.1.10" ]; peerDependencies = [ ]; - passthru.names = [ "stream-counter" ]; + passthru.names = [ "string" ]; }; - 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"; + 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/stream-splitter-transform/-/stream-splitter-transform-0.0.4.tgz"; - name = "stream-splitter-transform-0.0.4.tgz"; - sha1 = "0de54e94680633a8d703b252b20fa809ed99331c"; + 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."stream-splitter-transform" or []); + (self.nativeDeps."string_decoder" or []); deps = [ - self.by-version."buffertools"."1.1.1" ]; peerDependencies = [ ]; - passthru.names = [ "stream-splitter-transform" ]; + passthru.names = [ "string_decoder" ]; }; - "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"; + 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/streamsearch/-/streamsearch-0.1.2.tgz"; - name = "streamsearch-0.1.2.tgz"; - sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a"; + 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."streamsearch" or []); + (self.nativeDeps."string_decoder" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "streamsearch" ]; + passthru.names = [ "string_decoder" ]; }; - 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"; + 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/string/-/string-1.6.1.tgz"; - name = "string-1.6.1.tgz"; - sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55"; + 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."string" or []); + (self.nativeDeps."stringify-object" or []); deps = [ ]; peerDependencies = [ ]; - passthru.names = [ "string" ]; + passthru.names = [ "stringify-object" ]; }; - 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."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.1.7.tgz"; - name = "stringify-object-0.1.7.tgz"; - sha1 = "bb54d1ceed118b428c1256742b40a53f03599581"; + 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."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/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.0"; - by-version."strong-data-uri"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "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.0.tgz"; - name = "strong-data-uri-0.1.0.tgz"; - sha1 = "a41235806b8c3bf0f6f324dc57dfe85bbab681a0"; + 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.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/temp/-/temp-0.5.1.tgz"; + name = "temp-0.5.1.tgz"; + sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df"; + }) + ]; + buildInputs = + (self.nativeDeps."temp" or []); + deps = [ + self.by-version."rimraf"."2.1.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "temp" ]; + }; 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.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/text-table/-/text-table-0.1.1.tgz"; - name = "text-table-0.1.1.tgz"; - sha1 = "9aa4347a39b6950cd24190264576f62db6e52d93"; + url = "http://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz"; + name = "tempfile-0.1.3.tgz"; + sha1 = "7d6b710047339d39f847327a056dadf183103010"; }) ]; buildInputs = - (self.nativeDeps."text-table" or []); + (self.nativeDeps."tempfile" or []); deps = [ + self.by-version."uuid"."1.4.1" ]; peerDependencies = [ ]; - passthru.names = [ "text-table" ]; + 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/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.1.0.tgz"; - name = "through2-0.1.0.tgz"; - sha1 = "54e756cc6a543c72bb5adf55e8a248686b84c9cc"; + 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,49 +17584,50 @@ ]; passthru.names = [ "touch" ]; }; - 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"; + 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.9.15.tgz"; - name = "tough-cookie-0.9.15.tgz"; - sha1 = "75617ac347e3659052b0350131885829677399f6"; + 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.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"; + 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 = "node-tough-cookie-0.9.15"; src = [ (fetchurl { - url = "http://registry.npmjs.org/traceback/-/traceback-0.3.0.tgz"; - name = "traceback-0.3.0.tgz"; - sha1 = "4e147f07cd332fbd0330ba510b942a5c9256a0ab"; + url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz"; + name = "tough-cookie-0.9.15.tgz"; + sha1 = "75617ac347e3659052b0350131885829677399f6"; }) ]; buildInputs = - (self.nativeDeps."traceback" or []); + (self.nativeDeps."tough-cookie" or []); deps = [ + self.by-version."punycode"."1.2.4" ]; peerDependencies = [ ]; - passthru.names = [ "traceback" ]; + passthru.names = [ "tough-cookie" ]; }; 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,92 +17871,98 @@ 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" = - 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"; + 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.2.5.tgz"; - name = "uglify-js-2.2.5.tgz"; - sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7"; + 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."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.2" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; - 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 { - name = "uglify-js-2.3.6"; + 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"; src = [ (fetchurl { - url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz"; - name = "uglify-js-2.3.6.tgz"; - sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a"; + url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz"; + name = "uglify-js-2.2.5.tgz"; + sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7"; }) ]; 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."source-map"."0.1.33" self.by-version."optimist"."0.3.7" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; - by-spec."uglify-js"."~2.3.6" = + 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-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"; + by-version."uglify-js"."2.3.6" = lib.makeOverridable self.buildNodePackage { + name = "uglify-js-2.3.6"; src = [ (fetchurl { - url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.8.tgz"; - name = "uglify-js-2.4.8.tgz"; - sha1 = "70e33bd9bce9a27b896fd4fead4c7da434fcca09"; + url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz"; + name = "uglify-js-2.3.6.tgz"; + sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a"; }) ]; 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" ]; peerDependencies = [ ]; passthru.names = [ "uglify-js" ]; }; + 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.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."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/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.5.2"; - by-version."underscore"."1.5.2" = lib.makeOverridable self.buildNodePackage { - name = "underscore-1.5.2"; + 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.5.2.tgz"; - name = "underscore-1.5.2.tgz"; - sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08"; + 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"; + 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/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.7"; - by-version."useragent"."2.0.7" = lib.makeOverridable self.buildNodePackage { - name = "useragent-2.0.7"; + 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.7.tgz"; - name = "useragent-2.0.7.tgz"; - sha1 = "a44c07d157a15e13d73d4af4ece6aab70f298224"; + 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."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/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.38.0-0"; - by-version."webdrvr"."2.38.0-0" = lib.makeOverridable self.buildNodePackage { - name = "webdrvr-2.38.0-0"; + 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.38.0-0.tgz"; - name = "webdrvr-2.38.0-0.tgz"; - sha1 = "b5388a672ac512e09df24d00f80b3d619dc15e5c"; + 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-version."winston"."0.7.2" = lib.makeOverridable self.buildNodePackage { + name = "node-winston-0.7.2"; + src = [ + (fetchurl { + 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.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"; + 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-0.4.2.tgz"; - name = "wiredep-0.4.2.tgz"; - sha1 = "42d4cf07422576f26e3a04045edc163da101a66f"; + 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"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/yaml/-/yaml-0.2.3.tgz"; - name = "yaml-0.2.3.tgz"; - sha1 = "b5450e92e76ef36b5dd24e3660091ebaeef3e5c7"; - }) - ]; - buildInputs = - (self.nativeDeps."yaml" or []); - deps = [ - ]; - 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"; + 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/yeoman-generator/-/yeoman-generator-0.13.4.tgz"; - name = "yeoman-generator-0.13.4.tgz"; - sha1 = "066798dd978026d37be6657b2672a17bc4f4ce34"; + url = "http://registry.npmjs.org/yargs/-/yargs-1.1.3.tgz"; + name = "yargs-1.1.3.tgz"; + sha1 = "c44ed2bb9c86d55b557f2179fea7c7013fe4c42a"; }) ]; buildInputs = - (self.nativeDeps."yeoman-generator" or []); + (self.nativeDeps."yargs" 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" + self.by-version."minimist"."0.0.8" ]; 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/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.1.tgz"; - name = "zlib-browserify-0.0.1.tgz"; - sha1 = "4fa6a45d00dbc15f318a4afa1d9afc0258e176cc"; + 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 2f9adca15f32aafaffb248dda88dc17b64e4d055..45447127dca0f777b19cb3ac64283394486706c6 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 ef2372b501253871851d9674c29f9a44d6ec224b..ad5a5bf9fed60926eb64a4c916c3acded2cc74b7 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; { }; }; + DateSimple = buildPerlPackage { + name = "Date-Simple-3.03"; + src = fetchurl { + url = mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz; + sha256 = "29a1926314ce1681a312d6155c29590c771ddacf91b7485873ce449ef209dd04"; + }; + meta = { + license = "unknown"; + }; + }; + DateTime = buildPerlModule { - name = "DateTime-1.04"; + name = "DateTime-1.08"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.04.tar.gz; - sha256 = "1krnrp8hv0m4v1lxrvwgc3vvcycld21ygvjy5p7vaf5h1jpjzrwz"; + 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 ]; }; + TieCycle = buildPerlPackage { + name = "Tie-Cycle-1.19"; + src = fetchurl { + 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.22"; + name = "Tie-IxHash-1.23"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz; - sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7"; + 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 ]; }; + XMLLibXMLSimple = buildPerlPackage { + name = "XML-LibXML-Simple-0.93"; + src = fetchurl { + 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.70"; + name = "XML-LibXSLT-1.89"; src = fetchurl { - url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz"; - sha256 = "0x8lqlxr6xhgwwa6zj4shrwrqlgbgs0piripc1fsnw4z1yl2gf9p"; + 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 0000000000000000000000000000000000000000..654a071a182b102077d713790c0dd372b6678133 --- /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 e7308e2b8164eccf636225075173206aefead79c..193928513cb4bdb8e2b1db990e3bad97e59b79c3 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 aefd911a55834e2f97b6fc3ff9ed62635c6e74db..b8ddcee3a47fda38b2a167cc361c3fd260521410 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 18d323111739c4c18fc8fa6b20017e2fc85e59e8..ce019a8464e4299c23e784511110b43b7edf559e 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; - buildInputs = [ python pkgs.notmuch ]; - #propagatedBuildInputs = [ python pkgs.notmuch ]; - - configurePhase = "cd bindings/python"; + sourceRoot = "${pkgs.notmuch.name}/bindings/python"; - buildPhase = "python setup.py build"; - - installPhase = "python setup.py install --prefix=$out"; + buildInputs = [ python pkgs.notmuch ]; 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,7 +5800,21 @@ 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 ]; - # error: invalid command 'test' - doCheck = false; - # TODO: add ATLAS=${pkgs.atlas} - installCommand = '' + preConfigure = '' 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 + 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; + 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 + # 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 + # # tox = buildPythonPackage rec { - # name = "tox-1.4.3"; + # name = "tox-1.7.0"; # - # buildInputs = [ py virtualenv ]; + # 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; + }; + }; + + 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 eggs -} // pkgs.lib.optionalAttrs (python.majorVersion == "2.7") { +# 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 e371d894ae1cb00dba5f94872fea5814dc77197a..dfdbb1db8bdf722fe55a47634f5f68575eff2548 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 921a6e7413437c92947aa0b0a48ea83aecfefabb..df0480bf82cb797d7070d441fa91878f0603048e 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 29818892375374f41b9db9d649455f0052306134..cb22983e6c37cbb0b2fa93b52cb5db61b5173715 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;